资源描述:
《哈工大数字信号处理实验报告材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案HarbinInstituteofTechnology实验报告课程名称:数字信号处理实验题目:用FFT作谱分析、用窗函数法设计数字滤波器院系:电子与信息工程学院班级:哈尔滨工业大学一、实验目的(1)进一步加深DFT算法原理和基本性质的理解。(2)熟悉FFT算法原理和FFT子程序的应用。(3)学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。二、实验步骤(1)复习DFT的定义、性质和用DFT作谱分析的有关内容。精彩文档实用标准
2、文案(2)复习FFT算法原理与编程思想,并对照DIT-FFT运算流图和程序框图。(3)编制信号产生程序,产生以下典型信号供谱分析用:(4)按实验内容要求,上机实验,并写出实验报告。三、实验原理1、FFT产生背景。离散傅立叶变换从理论上解决了傅立叶变换应用于实际的可能性,但若直接按DFT公式计算,运算量太大(与N2成比例)。快速傅立叶变换(FFT)是离散傅立叶变换的快速算法,它大大减少了离散傅立叶变换的运算次量,一般可缩短一、二故数量级,且N越大改善越明显,从而使DFT的运算在实际工作中才真正得到广泛
3、应用。2、FFT原理。减少离散傅立叶变换运算次数的方法基于的对称性和周期性。(1)对称性(2)周期性由此可得这样可以将DFT运算中有些项进行合并,利用的对称性和周期性,将长序列的DFT分解为短序列的DFT。3、FFT运算量。在采用按时间抽取法的情况下,当N=2M时共有M级蝶形,每级都有N/2个蝶形运算。计算每个蝶形需要一次复数乘法和两次复数加法,因而每级运算需N/2次复数乘法和N次复数加法,这样M级运算总共需要:复数乘法次数:mF=N/2.M=N/2.log2N复数加法次数:aF=NM=Nlog2N
4、在一般情况下,复数乘法所需时间比复数加法多,因此以复数乘法为例将DFT运算量与FFT运算量进行对比。直接进行DFT运算复数乘法次数为N2次,利用FFT运算复数乘法为N/2.log2N次。计算量之比为:精彩文档实用标准文案四、实验结果、源程序及误差分析1、精彩文档实用标准文案实验程序:N1=8;N2=16;x1=[1,1,1,1];y11=fft(x1,8);y12=fft(x1,16)subplot(2,2,1);stem(0:3,x1);title('函数x1时域图像');boxoffsubplo
5、t(2,2,2);stem(0:(N1-1),abs(y11));title('N=8,x1的DFT图像');boxoffsubplot(2,2,3);stem(0:(N2-1),abs(y12));title('N=16,x1的DFT图像');boxoff实验误差分析:理论的DFT函数应为抽样函数,由实验结果可以看出,随着FFT点数的增加,FFT图像包络函数越趋近于抽样函数。2、实验结果:精彩文档实用标准文案实验程序:N1=8;精彩文档实用标准文案N2=16;xa=1:1:4;xb=4:-1:1;
6、x2=[xa,xb];y21=fft(x2,8);y22=fft(x2,16);subplot(2,2,1);stem(0:7,x2);title('函数x2时域图像');subplot(2,2,2);boxoffstem(0:(N1-1),abs(y21));title('N=8,x2的DFT图像');boxoffsubplot(2,2,4);stem(0:(N2-1),abs(y22));title('N=16,x2的DFT图像');boxoff实验误差分析:理论的DFT函数应为形如抽样函数的平
7、方的函数,由实验结果可以看出,随着FFT点数的增加,FFT图像包络函数接近抽样函数的平方。3、实验结果:精彩文档实用标准文案实验程序:N1=8;N2=16;xa=4:-1:1;xb=1:1:4;x3=[xa,xb];y31=fft(x3,8);y32=fft(x3,16);subplot(2,2,1);stem(0:7,x3);title('函数x3时域图像');subplot(2,2,2);boxoffstem(0:(N1-1),abs(y31));title('N=8时,x3的DFT图像');b
8、oxoffsubplot(2,2,3);stem(0:(N2-1),abs(y32));精彩文档实用标准文案title('N=16时,x3的DFT图像');boxoff实验误差分析:随着N的增加,曲线接近理论值,具体的分析和2中的信号相同4、实验结果:精彩文档实用标准文案实验程序:N1=8;N2=16;n=0:1:19x4=cos(0.25*pi*n);n=0:1:7;x411=cos(0.25*pi*n);n=8:1:15;x412=cos(0.25*pi*n);n