实验二 快速傅里叶变换算法实验
快速傅里叶变换(含详细实验过程分析)
快速傅⾥叶变换(含详细实验过程分析)[实验2] 快速傅⾥叶变换 (FFT) 实现⼀、实验⽬的1、掌握FFT 算法和卷积运算的基本原理;2、掌握⽤C 语⾔编写DSP 程序的⽅法;3、了解利⽤FFT 算法在数字信号处理中的应⽤。
⼆、实验设备 1. ⼀台装有CCS 软件的计算机; 2. DSP 实验箱的TMS320C5410主控板; 3. DSP 硬件仿真器。
三、实验原理(⼀)快速傅⾥叶变换傅⾥叶变换是⼀种将信号从时域变换到频域的变换形式,是信号处理的重要分析⼯具。
离散傅⾥叶变换(DFT )是傅⾥叶变换在离散系统中的表⽰形式。
但是DFT 的计算量⾮常⼤, FFT 就是DFT 的⼀种快速算法, FFT 将DFT 的N 2步运算减少⾄ ( N/2 )log 2N 步。
离散信号x(n)的傅⾥叶变换可以表⽰为∑=-=10][)(N N nk N W n x k X , Nj N e W /2π-=式中的W N 称为蝶形因⼦,利⽤它的对称性和周期性可以减少运算量。
⼀般⽽⾔,FFT 算法分为时间抽取(DIT )和频率抽取(DIF )两⼤类。
两者的区别是蝶形因⼦出现的位置不同,前者中蝶形因⼦出现在输⼊端,后者中出现在输出端。
本实验以时间抽取⽅法为例。
时间抽取FFT 是将N 点输⼊序列x(n) 按照偶数项和奇数项分解为偶序列和奇序列。
偶序列为:x(0), x(2), x(4),…, x(N-2);奇序列为:x(1), x(3), x(5),…, x(N-1)。
这样x(n) 的N 点DFT 可写成:()()∑++∑=-=+-=12/0)12(12/02122)(N n kn NN n nkNW n x Wn x k X考虑到W N 的性质,即2/)2//(22/)2(2][N N j N j N W e e W ===--ππ因此有:()()∑++∑=-=-=12/02/12/02/122)(N n nkN k NN n nkN W n x WWn x k X或者写成:()()12()kN X k X k W X k =+由于X 1(k) 与X 2(k) 的周期为N/2,并且利⽤W N 的对称性和周期性,即:kNNkNWW-=+2/可得:()()12(/2)kNX k N X k W X k+=-对X1(k) 与X2(k)继续以同样的⽅式分解下去,就可以使⼀个N点的DFT最终⽤⼀组2点的DFT来计算。
快速傅里叶变换(含详细实验过程分析)
一、实验目的1、掌握FFT 算法和卷积运算的基本原理;2、掌握用C 语言编写DSP 程序的方法;3、了解利用FFT 算法在数字信号处理中的应用。
二、实验设备 1. 一台装有CCS 软件的计算机; 2. DSP 实验箱的TMS320C5410主控板; 3. DSP 硬件仿真器。
三、实验原理 (一)快速傅里叶变换傅里叶变换是一种将信号从时域变换到频域的变换形式,是信号处理的重要分析工具。
离散傅里叶变换(DFT )是傅里叶变换在离散系统中的表示形式。
但是DFT 的计算量非常大, FFT 就是DFT 的一种快速算法, FFT 将DFT 的N 2步运算减少至 ( N/2 )log 2N 步。
离散信号x(n)的傅里叶变换可以表示为∑=-=10][)(N N nk N W n x k X , Nj N e W /2π-=式中的W N 称为蝶形因子,利用它的对称性和周期性可以减少运算量。
一般而言,FFT 算法分为时间抽取(DIT )和频率抽取(DIF )两大类。
两者的区别是蝶形因子出现的位置不同,前者中蝶形因子出现在输入端,后者中出现在输出端。
本实验以时间抽取方法为例。
时间抽取FFT 是将N 点输入序列x(n) 按照偶数项和奇数项分解为偶序列和奇序列。
偶序列为:x(0), x(2), x(4),…, x(N-2);奇序列为:x(1), x(3), x(5),…, x(N-1)。
这样x(n) 的N 点DFT 可写成:()()∑++∑=-=+-=12/0)12(12/02122)(N n kn NN n nkNW n x Wn x k X考虑到W N 的性质,即2/)2//(22/)2(2][N N j N j N W e e W ===--ππ因此有:()()∑++∑=-=-=12/02/12/02/122)(N n nkN k NN n nkN W n x WWn x k X或者写成:()()12()kN X k X k W X k =+由于X 1(k) 与X 2(k) 的周期为N/2,并且利用W N 的对称性和周期性,即:k N N k N W W -=+2/可得:()()12(/2)kN X k N X k W X k +=-对X 1(k) 与X 2(k)继续以同样的方式分解下去,就可以使一个N 点的DFT 最终用一组2点的DFT 来计算。
快速傅立叶变换(FFT)算法_DSP实验
快速傅立叶变换(FFT)算法实验摘要:FFT(Fast Fourier Transformation),即为快速傅里叶变换,是离散傅里叶变换的快速算法,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
这种算法大大减少了变换中的运算量,使得其在数字信号处理中有了广泛的运用。
本实验主要要求掌握在CCS环境下用窗函数法设计FFT快速傅里叶的原理和方法;并且熟悉FFT快速傅里叶特性;以及通过本次试验了解各种窗函数对快速傅里叶特性的影响等。
引言:快速傅里叶变换FFT是离散傅里叶变换DFT的一种快速算法。
起初DFT的计算在数字信号处理中就非常有用,但由于计算量太大,即使采用计算机也很难对问题进行实时处理,所以并没有得到真正的运用。
1965年J.W.库利和T.W.图基提出快速傅里叶变换,采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。
从此,对快速傅里叶变换(FFT)算法的研究便不断深入,数字信号处理这门新兴学科也随FFT的出现和发展而迅速发展。
根据对序列分解与选取方法的不同而产生了FFT的多种算法,基本算法是基2DIT和基2DIF。
FFT 的出现,使信号分析从时域分析向频域分析成为可能,极大地推动了信号分析在各领域的实际应用。
FFT在离散傅里叶反变换、线性卷积和线性相关等方面也有重要应用。
一、 实验原理:FFT 并不是一种新的变换,它是离散傅立叶变换(DFT )的一种快速算法。
由于我们在计算DFT 时一次复数乘法需用四次实数乘法和二次实数加法;一次复数加法则需二次实数加法。
每运算一个X (k )需要4N 次复数乘法及2N+2(N-1)=2(2N-1)次实数加法。
所以整个DFT 运算总共需要4N^2次实数乘法和N*2(2N-1)=2N(2N-1)次实数加法。
如此一来,计算时乘法次数和加法次数都是和N^2成正比的,当N 很大时,运算量是可观的,因而需要改进对DFT 的算法减少运算速度。
数字信号处理_快速傅里叶变换FFT实验报告
数字信号处理_快速傅里叶变换FFT实验报告快速傅里叶变换(FFT)实验报告1. 引言数字信号处理是一门研究如何对数字信号进行处理、分析和提取信息的学科。
傅里叶变换是数字信号处理中常用的一种方法,可以将信号从时域转换到频域。
而快速傅里叶变换(FFT)是一种高效的计算傅里叶变换的算法,广泛应用于信号处理、图象处理、通信等领域。
2. 实验目的本实验旨在通过编写程序实现快速傅里叶变换算法,并对不同信号进行频谱分析。
3. 实验原理快速傅里叶变换是一种基于分治策略的算法,通过将一个N点离散傅里叶变换(DFT)分解为多个较小规模的DFT,从而实现高效的计算。
具体步骤如下: - 如果N=1,直接计算DFT;- 如果N>1,将输入序列分为偶数和奇数两部份,分别计算两部份的DFT;- 将两部份的DFT合并为整体的DFT。
4. 实验步骤此处以C语言为例,给出实验的具体步骤:(1) 定义输入信号数组和输出频谱数组;(2) 实现快速傅里叶变换算法的函数,输入参数为输入信号数组和输出频谱数组;(3) 在主函数中调用快速傅里叶变换函数,得到输出频谱数组;(4) 对输出频谱数组进行可视化处理,如绘制频谱图。
5. 实验结果与分析为了验证快速傅里叶变换算法的正确性和有效性,我们设计了以下实验:(1) 生成一个正弦信号,频率为100Hz,采样频率为1000Hz,时长为1秒;(2) 对生成的正弦信号进行快速傅里叶变换,并绘制频谱图;(3) 生成一个方波信号,频率为200Hz,采样频率为1000Hz,时长为1秒;(4) 对生成的方波信号进行快速傅里叶变换,并绘制频谱图。
实验结果显示,对于正弦信号,频谱图中存在一个峰值,位于100Hz处,且幅度较大;对于方波信号,频谱图中存在多个峰值,分别位于200Hz的奇数倍处,且幅度较小。
这与我们的预期相符,说明快速傅里叶变换算法能够正确地提取信号的频谱信息。
6. 实验总结通过本次实验,我们成功实现了快速傅里叶变换算法,并对不同信号进行了频谱分析。
快速傅里叶变换(含详细实验过程分析)
[实验2] 快速傅里叶变换 (FFT) 实现一、实验目的1、掌握FFT 算法和卷积运算的基本原理;2、掌握用C 语言编写DSP 程序的方法;3、了解利用FFT 算法在数字信号处理中的应用。
二、实验设备 1. 一台装有CCS 软件的计算机; 2. DSP 实验箱的TMS320C5410主控板; 3. DSP 硬件仿真器。
三、实验原理 (一)快速傅里叶变换傅里叶变换是一种将信号从时域变换到频域的变换形式,是信号处理的重要分析工具。
离散傅里叶变换(DFT )是傅里叶变换在离散系统中的表示形式。
但是DFT 的计算量非常大, FFT 就是DFT 的一种快速算法, FFT 将DFT 的N 2步运算减少至 ( N/2 )log 2N 步。
离散信号x(n)的傅里叶变换可以表示为∑=-=10][)(N N nk N W n x k X , Nj N e W /2π-=式中的W N 称为蝶形因子,利用它的对称性和周期性可以减少运算量。
一般而言,FFT 算法分为时间抽取(DIT )和频率抽取(DIF )两大类。
两者的区别是蝶形因子出现的位置不同,前者中蝶形因子出现在输入端,后者中出现在输出端。
本实验以时间抽取方法为例。
时间抽取FFT 是将N 点输入序列x(n) 按照偶数项和奇数项分解为偶序列和奇序列。
偶序列为:x(0), x(2), x(4),…, x(N-2);奇序列为:x(1), x(3), x(5),…, x(N-1)。
这样x(n) 的N 点DFT 可写成:()()∑++∑=-=+-=12/0)12(12/02122)(N n kn NN n nkNW n x Wn x k X考虑到W N 的性质,即2/)2//(22/)2(2][N N j N j N W e e W ===--ππ因此有:()()∑++∑=-=-=12/02/12/02/122)(N n nkN k NN n nkN W n x WWn x k X或者写成:()()12()kN X k X k W X k =+由于X 1(k) 与X 2(k) 的周期为N/2,并且利用W N 的对称性和周期性,即:kNNkNWW-=+2/可得:()()12(/2)kNX k N X k W X k+=-对X1(k) 与X2(k)继续以同样的方式分解下去,就可以使一个N点的DFT最终用一组2点的DFT来计算。
快速傅立叶变换(FFT)算法-DSP实验
快速傅立叶变换(FFT)算法实验摘要:FFT(Fast Fourier Transformation),即为快速傅里叶变换,是离散傅里叶变换的快速算法,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
这种算法大大减少了变换中的运算量,使得其在数字信号处理中有了广泛的运用。
本实验主要要求掌握在CCS环境下用窗函数法设计FFT快速傅里叶的原理和方法;并且熟悉FFT快速傅里叶特性;以及通过本次试验了解各种窗函数对快速傅里叶特性的影响等。
引言:快速傅里叶变换FFT是离散傅里叶变换DFT的一种快速算法。
起初DFT的计算在数字信号处理中就非常有用,但由于计算量太大,即使采用计算机也很难对问题进行实时处理,所以并没有得到真正的运用。
1965年J.W.库利和T.W.图基提出快速傅里叶变换,采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。
从此,对快速傅里叶变换(FFT)算法的研究便不断深入,数字信号处理这门新兴学科也随FFT的出现和发展而迅速发展。
根据对序列分解与选取方法的不同而产生了FFT的多种算法,基本算法是基2DIT和基2DIF。
FFT 的出现,使信号分析从时域分析向频域分析成为可能,极大地推动了信号分析在各领域的实际应用。
FFT在离散傅里叶反变换、线性卷积和线性相关等方面也有重要应用。
一、 实验原理:FFT 并不是一种新的变换,它是离散傅立叶变换(DFT )的一种快速算法。
由于我们在计算DFT 时一次复数乘法需用四次实数乘法和二次实数加法;一次复数加法则需二次实数加法。
每运算一个X (k )需要4N 次复数乘法及2N+2(N-1)=2(2N-1)次实数加法。
所以整个DFT 运算总共需要4N^2次实数乘法和N*2(2N-1)=2N(2N-1)次实数加法。
如此一来,计算时乘法次数和加法次数都是和N^2成正比的,当N 很大时,运算量是可观的,因而需要改进对DFT 的算法减少运算速度。
实验二快速傅里叶变换(FFT)及其应用
《数字信号处理》课程
(2010-2011学年第1学期)成绩:
实验二快速傅里叶变换(FFT)及其应用
学生姓名:闫春遐
所在院系:电子信息工程学院自动化系
年级专业:2008级自动化系
学号:00824049
指导教师:王亮
完成日期:2010年9月27日
实验二快速傅里叶变换(FFT )及其应用
一、实验目的(1)在理论学习的基础上,通过本实验,加深对
FFT 的理解,熟悉MATLAB 中的有关函数。
(2)应用FFT 对典型信号进行频谱分析。
(3)了解应用FFT 进行信号频谱分析过程可能出现的问题,以便在实际中正确应用FFT 。
(4)应用FFT 实现序列的线性卷积和相关。
二、实验内容
实验中用到的信号序列:
a )高斯序列
2
()015()0
n p q a e n
x n 其他b )衰减正弦序列
sin(2)
015()0an b e fn n x n 其他
c )三角波序列
03()847
0c n
n x n n
n 其他d )反三角波序列
4
03()447
0d n n x n n
n 其他上机实验内容:
(1)观察高斯序列的时域和幅频特性,固定信号()a x n 中参数8p ,改变q 的值,使q 分别等于2、4、8,观察他们的时域和幅频特性,了解当
q 取不同值时,对信号的时域和幅频特性的影响;固定8q ,改变p ,使p 分别等于8、13、。
实验二应用快速傅里叶变换对信号进行频谱分析
实验二应用快速傅里叶变换对信号进行频谱分析引言频谱分析是一个常见的信号处理技术,它可以将一个信号分解成一系列不同频率的成分。
其中,傅里叶变换是一种常用的频谱分析方法。
在本实验中,我们将学习并应用快速傅里叶变换(FFT)算法对信号进行频谱分析。
一、理论背景快速傅里叶变换(FFT)是一种基于离散傅里叶变换(DFT)的算法,它能够快速计算出信号的频域表达。
傅里叶变换的公式为:X(k)=Σ(x(n)*e^(-j*2π*n*k/N))其中,X(k)代表频域上的第k个频率成分,x(n)代表时域上的第n个采样点,e为自然对数的底,j为虚数单位,N为采样点的总数。
快速傅里叶变换的主要思想是将信号分解成一系列长度为2的子序列,再通过迭代地应用DFT对这些子序列进行变换。
这样可以大幅度减少计算量,使得FFT算法在实际应用中具有较高的效率。
二、实验目的1.掌握快速傅里叶变换(FFT)算法的原理及实现方法。
2.学习如何使用FFT进行频谱分析,并理解频谱图的含义。
3.通过实验对比分析,了解FFT与其他频谱分析方法的差异。
三、实验步骤1.准备实验材料和仪器:一台电脑、MATLAB或其他信号分析软件。
2. 定义并生成需要分析的信号。
可以使用MATLAB中的sin、cos、randn等函数生成均匀分布或正态分布的随机信号,设置采样率和采样点数。
3.对信号进行FFT分析。
使用FFT算法对信号进行傅里叶变换,并得到频谱图。
4.对频谱图进行分析。
观察频谱图中的主要频率成分,并分析信号的频谱特征。
四、实验结果及分析1.生成信号并进行FFT分析。
通过MATLAB或其他信号分析软件,生成需要分析的信号,并进行FFT变换。
2.绘制频谱图。
根据FFT的结果,绘制出信号的频谱图。
频谱图通常以频率为横坐标,幅度为纵坐标进行绘制。
3.频谱分析。
观察频谱图,分析信号的频谱特征。
可以通过主要频率成分、频谱能量分布等参数来进行分析。
五、实验注意事项1.确保信号的采样率和采样点数足够满足信号分析的要求。
数字信号处理实验快速傅里叶变换
数字信号处理实验——快速傅里叶变换一、概述数字信号处理是一门涉及数字信号采集、处理和分析的学科。
在数字信号处理中,傅里叶变换是一个非常重要的工具,可以将时域信号转换为频域信号,帮助我们理解信号的频谱特性。
而快速傅里叶变换(FFT)是一种高效的计算傅里叶变换的算法,广泛应用于信号处理领域。
本文将介绍数字信号处理实验中快速傅里叶变换的基本原理、算法实现和实验过程。
二、快速傅里叶变换的原理快速傅里叶变换是一种通过递归分治策略减少计算量的傅里叶变换算法。
对于长度为N的离散信号序列,其快速傅里叶变换可以分解为若干个长度为N/2的子序列的快速傅里叶变换的线性组合。
通过这种分治的方法,可以将原始的傅里叶变换计算复杂度从O(N^2)降低到O(NlogN)。
三、快速傅里叶变换的算法实现快速傅里叶变换的算法实现主要分为递归方法和迭代方法两种。
递归方法是一种自顶向下的计算方法,通过将长度为N的信号序列分解为两个长度为N/2的子序列,并利用子序列的快速傅里叶变换计算原始序列的傅里叶变换。
迭代方法则是一种自底向上的计算方法,通过不断合并较短序列的傅里叶变换结果来计算较长序列的傅里叶变换。
在实际应用中,迭代方法通常比递归方法更加高效,特别是对于长度为2的幂次方的信号序列。
四、数字信号处理实验在数字信号处理实验中,快速傅里叶变换通常作为一种重要的信号处理工具使用。
实验过程中,我们首先需要准备一段离散的时域信号序列,然后利用快速傅里叶变换算法将其转换为频域信号序列。
通过对频域信号序列的分析,我们可以获取信号的频谱特性,包括频率成分、谐波分量等信息。
五、实验流程1. 准备一段离散的时域信号序列,可以是从传感器获取的实际物理信号,也可以是由数学函数生成的合成信号。
2. 对时域信号序列进行快速傅里叶变换,得到频域信号序列。
3. 分析频域信号序列,获取信号的频谱特性,如主要频率成分、谐波分量等。
4. 对频域信号序列进行反变换,将其恢复为时域信号序列进行进一步分析。
实验二:用FFT做谱分析
实验二:用FFT做谱分析一、实验目的1.进一步加深DFT算法原理和基本性质的理解(因为 FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。
2.熟悉FFT算法原理和FFT子程序的应用。
3.学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
二、实验原理1.快速傅立叶变换(FFT)算法长度为N的序列的离散傅立叶变换为:N点的DFT分解为两个N/2点的DFT,每个N/2点的DFT又可以分解为两个N/4点的DFT。
依此类推,当,可分解为一系列2点DFT运算。
当,为了使用以2为基的FFT,可以用末尾补零的方法,使其长度延长至2的整数次方。
序列的离散傅立叶反变换为并无实质性区别,因此可将FFT和快速傅立叶反变换(IFFT)算法合并在同一个程序中。
2.利用FFT进行频谱分析若信号本身是有限长的序列:幅度谱相位谱若信号是模拟信号,首先必须对信号进行采样,使之变成离散信号,然后就可按照前面的方法用FFT来对连续信号进行谱分析。
三、实验步骤1.复习DFT的定义、性质和用DFT作谱分析的有关内容。
2.理解FFT与DFT之间的关系:FFT并不是一种新的变换,而是DFT的一种快速算法。
3.理解 MATLAB实验流图图 2.1 主程序框图4.编制信号产生子程序,产生以下典型信号及调用FFT子程序绘制|X(K)|:信号一:x1(n) = R4(n)实验代码:n=[0:1:3];x1=ones(1,4);figure(1);stem(n,x1);xlabel('n');ylabel('x1');title('时域波形');figure(2);k1=0:7;X11=fft(x1,8);X11=abs(X11);subplot(2,1,1):stem(k1,X11); xlabel('k1');ylabel('X11');title('8点FFT频域波形');k2=0:15;X12=fft(x1,16);X12=abs(X12);subplot(2,1,2):stem(k2,X12); xlabel('k2');ylabel('X12');title('16点FFT频域波形');图1.时域波形图2.8点及16点FFT频域波形信号二:x2(n) =实验代码:n=[0:1:7];x2=[1:1:4,4:-1:1];figure(3);stem(n,x2);xlabel('n');ylabel('x2');title('时域波形');figure(4);k3=0:7;X21=fft(x2,8);X21=abs(X21);subplot(2,1,1):stem(k3,X21); xlabel('k3');ylabel('X21');title('8点FFT频域波形');k4=0:15;X22=fft(x2,16);X22=abs(X22);subplot(2,1,2):stem(k4,X22); xlabel('k4');ylabel('X22');title('16点FFT频域波形');图3.时域波形图4.8点及16点FFT频域波形信号三:x3(n) =实验代码:n=[0:1:7];x3=[4:-1:1,1:1:4];figure(5);stem(n,x3);xlabel('n');ylabel('x3');title('时域波形');figure(6);k5=0:7;X31=fft(x3,8);X31=abs(X31);subplot(2,1,1):stem(k5,X31); xlabel('k5');ylabel('X31');title('8点FFT频域波形');k6=0:15;X32=fft(x3,16);X32=abs(X32);subplot(2,1,2):stem(k6,X32); xlabel('k6');ylabel('X32');title('16点FFT频域波形');图5.时域波形图6.8点及16点FFT频域波形信号四:x4(n) = cos(πn /4)实验代码:n=0:1:15;x4=cos(pi*n/4);figure(7);stem(n,x4);xlabel('n');ylabel('X4');title('时域波形');figure(8);k7=0:7;X41=fft(x4,8);X41=abs(X41);subplot(2,1,1):stem(k7,X41); xlabel('k7');ylabel('X41');title('8点FFT频域波形');k8=0:15;X42=fft(x4,16);X42=abs(X42);subplot(2,1,2):stem(k8,X42); xlabel('k8');ylabel('X42');title('16点FFT频域波形');图7.时域波形图8.8点及16点FFT频域波形信号五:x5(n) = sin(πn /8)实验代码:n=0:1:15;x5=sin(pi*n/8);figure(9);stem(n,x5);xlabel('n');ylabel('X5');title('时域波形');figure(10);k9=0:7;X51=fft(x5,8);X51=abs(X51);subplot(2,1,1):stem(k9,X51); xlabel('k9');ylabel('X51');title('8点FFT频域波形');k10=0:15;X52=fft(x5,16);X52=abs(X52);subplot(2,1,2):stem(k10,X52); xlabel('k10');ylabel('X52');title('16点FFT频域波形');图9.时域波形图10.8点及16点FFT频域波形信号六:x6(t) = cos8πt + cos16πt + cos20πt 实验代码:Dt=1/64;t=0:Dt:(1-1/64);x6=cos(8*pi*t)+cos(16*pi*t)+cos(20*pi*t);figure(11);subplot(2,1,1):plot(t,x6);xlabel('t');ylabel('x6');title('时域波形');n=0:1:63;subplot(2,1,2):stem(n,x6); xlabel('n');ylabel('x6');title('时域抽样波形');figure(12);k11=0:15;X61=fft(x6,16);X61=abs(X61);subplot(3,1,1):stem(k11,X61); xlabel('k11');ylabel('X61');title('16点FFT频域波形');k12=0:31;X62=fft(x6,32);X62=abs(X62);subplot(3,1,2):stem(k12,X62); xlabel('k12');ylabel('X62');title('32点FFT频域波形');k13=0:63;X63=fft(x6,64);X63=abs(X63);subplot(3,1,3):stem(k13,X63); xlabel('k13');ylabel('X63');title('64点FFT频域波形');图11.时域波形(连续信号)及抽样波形图12.16点、32点及64点FFT频域波形注意:如果给出的是连续信号xa(t),则首先要根据其最高频率确定抽样频率fs以及由频率分辨率选择抽样点数N,然后对其进行软件抽样(即计算x(n)=xa(nT),0≤n≤N-1),产生对应序列 x(n)。
实验二、快速傅里叶变换实验
实验二、快速傅里叶变换实验一、实验目的1.加深对几个特殊概念的理解:“采样”……“混叠”;“窗函数”(截断)……“泄漏”;“非整周期截取”……“栅栏”。
2.加深理解如何才能避免“混叠”,减少“泄漏”,防止“栅栏”的方法和措施以及估计这些因素对频谱的影响。
3.对利用通用微型计算机及相应的FFT软件,实现频谱分析有一个初步的了解。
二、实验原理为了实现信号的数字化处理,利用计算机进行频谱分析――计算信号的频谱。
由于计算机只能进行有限的离散计算(即DFT),因此就要对连续的模拟信号进行采样和截断。
而这两个处理过程可能引起信号频谱的畸变,从而使DFT的计算结果与信号的实际频谱有误差。
有时由于采样和截断的处理不当,使计算出来的频谱完全失真。
因此在时域处理信号时要格外小心。
时域采样频率过低,将引起频域的“混叠”。
为了避免产生“混叠”,要求时域采样时必须满足采样定理,即:采样频率fs必须大于信号中最高频率fc的2倍(fs>2fc)。
因此在信号数字处理中,为避免混叠,依不同的信号选择合适的采样频率将是十分重要的。
频域的“泄漏”是由时域的截断引起的。
时域的截断使频域中本来集中的能量向它的邻域扩散(如由一个δ(f)变成一个sinc(f),而泄漏的旁瓣将影响其它谱线的数值。
时域截断还会引起“栅栏效应”,对周期信号而言,它是由于截断长度不等于周期信号的周期的整数倍而引起的。
因此避免“栅栏”效应的办法就是整周期截断。
综上所述,在信号数字化处理中应十分注意以下几点:1.为了避免“混叠”,要求在采样时必须满足采样定理。
1.为了减少“泄漏”,应适当增加截断长度和选择合适的窗2.对信号进行整周期截取,则能消除“栅栏数应”。
3.增加截断长度,则可提高频率分辨率。
三、预习内容熟悉Matlab语言、函数和使用方法;利用Matlab所提供的FFT函数编写程序。
四、实验内容及步骤调通所编写的程序,对下列信号〔函数〕进行离散FFT变换,根据题目的要求……FFT变换点数〔截断长度〕及采样频率,计算各点的傅里叶变换值,画出频谱图,对典型的谱线标出其幅值及相角。
实验二 快速傅里叶变换算法实验
快速傅里叶变换算法实验院系:电子与信息工程学院班级:电信10-2姓名:张玥学号:10071201026指导老师:郜参观快速傅里叶变换算法实验一、实验目的1、加深对DFT算法原理和基本性质的理解;2、熟悉FFT算法原理和FFT子程序的应用;3、学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
二、实验设备计算机 CCS2.0版软件实验箱 DSP仿真器三、基本原理1、离散傅里叶变换DFT的定义:将时域的采样变换成频域的周期性离散函数,频域的采样也可以变换成时域的周期性离散函数,这样的变换称为离散傅里叶变换,简称DFT。
2、FFT是DFT的一种快速算法,将DFT的步运算减少为步,极大地提高了运算速度。
3、旋转因子的变化规律。
4、蝶形运算规律。
5、基2FFT算法。
四、实验步骤复习DFT的定义、性质和用DFT作谱分析的有关内容;1、复习FFT算法原理与编程思想,并对照DIT-FFT运算流程图和程序框图,了解本试验提供的FFT子程序;2、阅读本实验所提供的样例子程序;3、运行CCS软件,对样例程序进行跟踪,分析结果;记录必要的参数。
4、填写实验报告。
5、提供样例程序实验操作说明。
A、实验前准备:⑴、开关K9拨到右边,即仿真器选择连接右边的CPU:CPU2;⑵、“A/D转换单元”的拨码开关设置;⑶、拨码开关设置:JP3拨码开关:SW2拨码开关:S23拨码开关:⑷、检查:计算机、DSP仿真器、实验箱是否正确连接。
正确完成计算机、DSP仿真器和实验箱的连接后,系统上电。
B、实验⑴、启动CCS2.0,project/open打开“algorithm”目录“exp01_cpu2”中子目录下“exp01.pjt”工程文件;双击“exp01.pjt”及“source”可查看各源程序;加载“exp01.out”;在中断子程序中,flag=0处设置断点;单击“run”运行程序,程序将运行至断点处停止,如图(一)所示;图(一)⑵、用view/graph/time/frequency打开一个图形观察窗口;设置该观察图形窗口变量及参数;采用双踪观察在起始地址分别为x和mo,长度为128的单元中数值的变化,数值类型为32位浮点数,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行FFT变换的结果如图(二)所示;图(二)单击“animate”运行程序,或按F10运行;调整模拟信号源的频率、幅值、种类观察窗口并观察输入信号波形及其FFT变换结果,如图(三)、图(四)所示;单击“Halt”暂停程序运行,关闭窗口,本实验结束。
实验二 离散付里叶变换与快速付里叶变换
实验二 离散付里叶变换与快速付里叶变换一.实验目的(1) 掌握DFT 的理论,通过DFT 对典型信号进行的频谱分析,加深对DFT 的理解。
(2) FFT 对典型信号进行的频谱分析,加深对FFT 的理解。
(3) 通过对同一信号,作相同点数的DFT 与FFT 的频谱和运行时间的比较,掌握两者的异同点。
(4) 通过对同一信号,作不同点数的FFT ,比较其对应的频谱,比较两者的异同点。
二.实验原理1.离散傅里叶变换: 正变换:()()1N knNn X k x n W-==⋅∑ 其中 2jkn knNNW eπ-= 01k N ≤≤-反变换:()()101N knN k x n X k W N --==⋅∑ 其中 2j kn kn N N W e π-= 01n N ≤≤-2. 离散傅里叶变换DFT 与快速傅里叶变换FFT 的关系快速傅里叶变换FFT 是离散傅里叶变换DFT 的快速算法,其原理与DFT 完全一样。
FFT 算法分两大类:按时间抽取的FFT 与按频率抽取的FFT 。
如:基-2 按时间抽取的FFT ,其原理简述如下: 将x(n)按n 的奇、偶分成两组:()()()()1120N kn kN N n X k x n W X k W X k -==⋅=+∑其中:x(n)的偶数组:()()()11221122002N N rk rkN Nr r X k x r Wx r W --===⋅=⋅∑∑x(n)的奇数组:()()()1122222221NN rk rkN Nr r X k x r Wx r W --===⋅=+⋅∑∑ 这样就把N 点的DFT 分解成两个2N点的DFT ,从而减少计算量。
依此类推,直至n 分解至2。
三.实验中调用的函数Xk=fft (x , N):表示对x 作N 点FFT 运算,得到x 的频谱Xk 。
四.实验内容(1)()()()cos 0.4cos 0.52x n n n ππ=+ 063n ≤≤ 分别作N=64 的DFT 与FFT 先编写DFT 函数dfs.m 文件: function [Xk]=dfs(xn,N) n=[0:1:N-1]k=[0:1:N-1]wn=exp(-j*2*pi/N) nk=n'*kwnnk=wn.^nk Xk=xn*wnnk调用dfs()函数及fft()函数求DFT 与FFT : N=64n=0:N-1; k=0:N-1;xn=cos(0.4*pi*n)+cos(0.52*pi*n); Xk=dfs(xn,N); subplot(1,2,1) stem(k,abs(Xk)) title('DFT') XK=fft(xn,N); subplot(1,2,2) stem(k,abs(XK)) title('FFT') 输出:()cos(0.4)cos(0.52)0n n x n ππ+⎧=⎨⎩其中06364255n n ≤≤≤≤ 程序如下:n=0:1:255 k=0:1:255len=length(n)for i=1:len %分段函数的表达 if (0<=n(i)<=63)xn=cos(0.4*pi*n)+cos(0.52*pi*n); elseif (64<=n(i)<=255) xn=0 end endXk=dfs(xn,len); subplot(1,2,1) stem(k,abs(Xk)) title('DFT') XK=fft(xn,len); subplot(1,2,2) stem(k,abs(XK)) title('FFT') 输出:(2)()()x n u n = 063n ≤≤ 分别作N=64 的DFT 与FFT 程序如下: N=64 n=0:N-1 k=0:N-1xn=ones(1,N) Xk=dfs(xn,N) stem(n,xn)subplot(1,2,1) stem(k,abs(Xk)) title('DFT') XK=fft(xn,N) subplot(1,2,2) stem(k,abs(XK)) title('FFT') 输出:()() 0u nx n⎧⎪=⎨⎪⎩其中06364511nn≤≤≤≤分别作N=512 的DFT 与FFT程序如下:n=0:1:511k=0:1:511len=length(n)for i=1:lenif(0<=n(i)<=63)xn=ones(1,len)elseif(64<=n(i)<=511) xn=0endendXk=dfs(xn,len);subplot(1,2,1)stem(k,abs(Xk))title('DFT')XK=fft(xn,len);subplot(1,2,2)stem(k,abs(XK))title('FFT')输出:(3)()()0x n n n δ=- 063n ≤≤ 0n n < 分别作N=64 的DFT 与FFT 程序如下:编写一名为sigshift.m 的函数文件function[y,n]=sigshift(x,m,n0) % Implements y(n)=x(n-n0) n=m+n0;y=x;然后调用sigshift()函数: N=64 n=0:N-1 k=0:N-1xn=zeros(1,N) xn(1)=1[xn1,n1]=sigshift(xn,n,20) subplot(1,3,1) stem(n1,xn1)title('x(n-20)') Xk=dfs(xn1,N) subplot(1,3,2) stem(n1,abs(Xk)) title('DFT') XK=fft(xn1,N) subplot(1,3,3) stem(n1,abs(XK)) title('FFT') 输出:()()00n n x n δ-⎧⎪=⎨⎪⎩其中 06364255n n ≤≤≤≤ 0n n <分别作N=256 的DFT 与FFT程序如下: n=0:1:255 k=0:1:255len=length(n) for i=1:lenif (0<=n(i)<=63) xn=zeros(1,len) xn(1)=1elseif (64<=n(i)<=255) xn=0 end end[xn1,n1]=sigshift(xn,n,20) Xk=dfs(xn1,len); subplot(1,2,1) stem(n1,abs(Xk)) title('DFT')XK=fft(xn1,len); subplot(1,2,2) stem(n1,abs(XK)) title('FFT') 输出:(4)()0.8n x n = 063n ≤≤ 分别作N=64 的DFT 与FFT 程序如下: N=64 n=0:N-1 k=0:N-1 xn=0.8.^nsubplot(1,3,1) stem(n,xn) title('x(n)') Xk=dfs(xn,N) subplot(1,3,2) stem(k,abs(Xk)) title('DFT') XK=fft(xn,N) subplot(1,3,3) stem(k,abs(XK)) title('FFT') 输出:()()220/10j n N x n e π⋅⋅= 063n ≤≤分别作N=64 的DFT 与FFT 程序如下: N=64 n=0:N-1 k=0:N-1xn=10*exp(j*2*pi*n*20/N) subplot(1,3,1) stem(n,xn) title('x(n)') Xk=dfs(xn,N) subplot(1,3,2) stem(k,abs(Xk)) title('DFT') XK=fft(xn,N) subplot(1,3,3) stem(k,abs(XK)) title('FFT') 输出:五.实验思考题:1.用MATLAB 实现在相同条件下的DFT 与FFT 的运算时间比较,试说明原因。
实验二_快速傅里叶变换FFT与DFT计算时间
以基2时间按抽选法为例,分解递推公式为:
k X ( k ) Xk ( ) W Xk () 1 N 2 N k X ( k ) Xk ( ) W Xk () 1 N 2 2
N k 0 , 1 2
X1(K)和X2(K)分别对应时间序列 x(n)的的偶、奇序 列 N/2点长的DFT,以此方法分解下去,得到两点长 N/2为组的离散时间分组结果。在一次由两点DFT复合 产生4、 8、16……到N点的最后结果。运算量由N*N次 N N 降为 2 l o g 2 次乘法。
计算结果比较N=10000点时:
direct convolution result
2
1.5
1
0.5
0
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
两个长度为N/2=10000/2=5000点的序列直接线性卷积
fft method circle convolution
0.4
0.2
0
7994
7995
7996
7997
7998
7999
8000
8001
N=8000点时圆周卷积的结果
(3)两个长度为N/2=10000/2=5000点的序
列直接线性卷积与N点的圆周卷积,两过程 的计算时间与计算结果比较 计算时间比较: direct_convolution_time =0.2500s fft_convolution_time =0.0470s
实验数据和结论
(1)两个长度为N/2=4096/2=2048点的序列
实验二快速Fourier变换
实验二快速傅里叶变换(FFT)及其应用一、实验目的1・在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉MATLAB中的有尖函数。
2・熟悉应用FFT对典型信号进行频谱分析的方法。
3. 了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFTo4・熟悉应用FFT实现两个序列的线性卷积和相尖的方法。
二、实验原理与方法在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier变换(DFT)。
这一变换不但可以很好的反映序列的频谱特T生,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N时,它的DFT定义为:反变换为:有限长序列的DFT是其Z变换在单位圆上的等距采样,或者说是序列Fourier变换的等距采样,因此可以用于序列的谱分析。
FFT并不是与DFT不同的另一种变换,而是为了减少DFT运算次数的一种快速算法。
它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。
常用的FFT是以2为基数的,其长度。
它的效率高'程序简单'使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末位补零的方法,使其长度延长至2的整数次方。
(-)在运用DFT进行频谱分析的过程中可能的产生三种误差1 -混叠序列的频谱是被采样信号频谱的周期延拓,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。
避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。
2・泄漏实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。
实验二_快速傅里叶变换FFT与DFT计算时间
FFT提高运算速度的原理
FFT算法将长序列的DFT分解为短序列的 DFT。N点的DFT先分解为2个N/2点的DFT, 每个N/2点的DFT又分解为N/4点的DFT,等 等。最小变换的点数即所谓的“基数”。因 此,基数为2的FFT算法的最小变换(或称蝶 型)是2点的DFT。一般地,对N点FFT,对 应于N个输入样值,有N个频域样值与之对应。
实验数据和结论
(1)两个长度为N/2=4096/2=2048点的序列
直接线性卷积与N点的圆周卷积,两过程的 计算时间与计算结果比较 计算时间比较:direct_convolution_time =0.0460s fft_convolution_time =0s 计算结果如下所示
fft method circle convolution 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -0.1 -0.2 4091 4092 4093 4094 4095 4096 4097 4098
计算结果比较N=10000点时:
direct convolution result
2
1.5
1
0.5
0
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
两个长度为N/2=10000/2=5000点的序列直接线性卷积
fft method circle convolution
实验二 FFT与DFT计算时间的比 较及圆周卷积代替线性卷积的有 效性实验 一 实验目的 二 实验内容及要求 三 预做实验
一 实验目的
1:掌握FFT基2时间(或基2频率)抽选法,
快速傅里叶变换及其应用实验文档及程序
试验二快速傅里叶变换及其应用一、试验目的(1).在理论学习的基础上。
加深对FFT的理解,熟悉matlab中的有关函数。
(2).应用FFT对典型信号进行频谱分析。
(3).了解应用FFT进行信号频谱分析过程中可能出现的问题。
(4).应用FFT实现序列的线性卷积和相关。
二、实验内容1.观察高斯序列的时域和幅频特性,固定信号xa(n)中参数p=8,改变q的值使q分别等于2、4、8,观察他们的时域和幅频特性,了解当q取不同值时,对信号序列的时域和幅频特性的影响;固定q=8,改变p,使p分别等于8、13、14,观察参数p变化对信号序列的时域和幅频特性的影响,注意p等于多少时会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。
(1)固定p=8,使q=2和4的时域和频域图n=0:15x=exp((16*n-n.^2-64)./2)subplot(2,2,1);plot(n,x,'-o')title('时域特性');xlabel('n');ylabel('y(n)')y=abs(fft(x))subplot(2,2,2);stem(n,y,'-o')xlabel('k');ylabel('y(k)')title('幅频特性');x=exp((16*n-n.^2-64)./4)subplot(2,2,3);plot(n,x,'-o')title('时域特性');xlabel('n');ylabel('y(n)')y=abs(fft(x))subplot(2,2,4);stem(n,y,'-o');xlabel('k');ylabel('y(k)')title('幅频特性');使q=8的时域和频域图n=0:15x=exp((16*n-n.^2-64)./8)plot(n,x,'-o')title('时域特性');xlabel('n');ylabel('y(n)')y=abs(fft(x))stem(n,y,'-o')xlabel('k');ylabel('y(k)')title('幅频特性');(2)固定q=8,使q=8和13的时域和频域图n=0:15x=exp((16*n-n.^2-64)./8)subplot(2,2,1);plot(n,x,'-o')title('时域特性');xlabel('n');ylabel('y(n)')y=abs(fft(x))subplot(2,2,2);stem(n,y,'-o')xlabel('k');ylabel('y(k)')title('幅频特性');x=exp((26*n-n.^2-169)./8) subplot(2,2,3);plot(n,x,'-o')title('时域特性');xlabel('n');ylabel('y(n)')y=abs(fft(x))subplot(2,2,4);stem(n,y,'-o')xlabel('k');ylabel('y(k)')title('幅频特性');使p=14的时域和频域图x=exp((28*n-n.^2-196)./8)plot(n,x,'-o')title('时域特性');xlabel('n');ylabel('y(n)')y=abs(fft(x))stem(n,y,'-o')xlabel('k');ylabel('y(k)')title('幅频特性');实验结果分析:由图形可知,当固定p,q取不同值时,随着q的增大,其相对应的时域幅值会增大,而且容易看出,它们的时域图关于n=8对称。
快速傅里叶变换概要
实验二快速傅立叶变换一、实验目的1.学习和掌握快速傅立叶变换(FFT)的实现过程和编程技术2.运用FFT分析正弦信号的频谱3.测试FFT的运算时间,比较FFT与DFT的运算速度,获得对FFT“快速”的感性认识。
4.锻炼和提高数字信号处理的程序设计和调试能力。
二、实验原理与方法FFT并不是与DFT不同的另一种变换,而是为了减少DFT运算次数的一种快速算法。
它是对DFT 变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。
常用的FFT是以2为基数的,其长度N=2M。
它的效率高,程序简单,使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末尾补零的方法,使其长度延长至2的整数次方。
本实验运用时间抽取基2 FFT,其原理、信号流图和运算过程可参阅课堂笔记、教材和其它教科书。
FFT的实现要比DFT复杂,通常采用三个嵌套循环来实现。
最外面的循环是分级循环,N=2M 点的FFT分为M级计算。
中间一层是分组循环,一级内蝶形系数W k相同的蝶形构成一组。
最内层为蝶形计算的循环,一组内不同输入数据的蝶形逐个计算。
编程时要注意各级蝶形组之间的间隔、组内蝶形之间间隔、以及系数W k变化。
有不少书中有FFT程序可供参考,但要注意理解和弄懂,不可一味照搬,要尽量自己去编。
三、实验内容1.设计说明编制时间抽取基2 FFT程序计算前面DFT程序分析过的正弦信号,与DFT计算的结果进行比较,以验证所编程序的正确性。
FFT为复数运算,若用实数运算来实现,需要设置两个数组来存放输入输出数据。
其中一个用于存放数据的实部,另一个存放数据的虚部。
正弦输入信号为实数,则令其虚部为零。
同样,碟形运算也要化成实数来进行,分别算出实部和虚部。
当然也可以直接用复数数组和语句实现。
程序设计的难点和重点在于要合理安排和正确设置碟形运算的分级循环、级内分组循环和组内分碟形循环。
要注意乘法系数W N k的变化以及各循环变量的变化和调整。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
快速傅里叶变换算法实验
院系:电子与信息工程学院
班级:电信10-2
姓名:张玥
学号:10071201026
指导老师:郜参观
快速傅里叶变换算法实验
一、实验目的
1、加深对DFT算法原理和基本性质的理解;
2、熟悉FFT算法原理和FFT子程序的应用;
3、学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能
出现的分析误差及其原因,以便在实际中正确应用FFT。
二、实验设备
计算机 CCS2.0版软件实验箱 DSP仿真器
三、基本原理
1、离散傅里叶变换DFT的定义:将时域的采样变换成频域的周期性离散函数,频域的采样也可以变换成时域的周期性离散函数,这样的变换称为离散傅里叶变换,简称DFT。
2、FFT是DFT的一种快速算法,将DFT的步运算减少为
步,极大地提高了运算速度。
3、旋转因子的变化规律。
4、蝶形运算规律。
5、基2FFT算法。
四、实验步骤
复习DFT的定义、性质和用DFT作谱分析的有关内容;
1、复习FFT算法原理与编程思想,并对照DIT-FFT运算流程图
和程序框图,了解本试验提供的FFT子程序;
2、阅读本实验所提供的样例子程序;
3、运行CCS软件,对样例程序进行跟踪,分析结果;记录
必要的参数。
4、填写实验报告。
5、提供样例程序实验操作说明。
A、实验前准备:
⑴、开关K9拨到右边,即仿真器选择连接右边的CPU:CPU2;
⑵、“A/D转换单元”的拨码开关设置;
⑶、拨码开关设置:
JP3拨码开关:
SW2拨码开关:
S23拨码开关:
⑷、检查:计算机、DSP仿真器、实验箱是否正确连接。
正确完成计算机、DSP仿真器和实验箱的连接后,系统上电。
B、实验
⑴、启动CCS2.0,project/open打开“algorithm”目录“exp01_cpu2”中子目录下“exp01.pjt”工程文件;双击“exp01.pjt”及“source”可查看各源程序;加载“exp01.out”;在中断子程序中,flag=0处设置断点;单击“run”运行程序,程序将运行至断点处停止,如图(一)所示;
图(一)
⑵、用view/graph/time/frequency打开一个图形观察窗口;设置该观察图形窗口变量及参数;采用双踪观察在起始地址分别为x和mo,长度为128的单元中数值的变化,数值类型为32位浮点数,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行
FFT变换的结果如图(二)所示;
图(二)
单击“animate”运行程序,或按F10运行;调整模拟信号源的频率、幅值、种类观察窗口并观察输入信号波形及其FFT变换结果,如图(三)、图(四)所示;单击“Halt”暂停程序运行,关闭窗口,本实验结束。
图(三)
图(四)五、子程序流程图:。