文档详情

哈工大数字信号处理实验报告.doc

发布:2015-12-23约9.15千字共38页下载文档
文本预览下载声明
Harbin Institute of Technology 实验报告 课程名称: 数字信号处理 实验题目:用FFT作谱分析、用窗函数法设计数字滤波器 院 系: 电子与信息工程学院 班 级: 哈尔滨工业大学 一、实验目的 (1) 进一步加深DFT算法原理和基本性质的理解。 (2) 熟悉FFT算法原理和FFT子程序的应用。 (3) 学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。 二、实验步骤 (1) 复习DFT的定义、性质和用DFT作谱分析的有关内容。 (2) 复习FFT算法原理与编程思想,并对照DIT-FFT运算流图和程序框图。 (3) 编制信号产生程序,产生以下典型信号供谱分析用: (4) 按实验内容要求,上机实验,并写出实验报告。 三、实验原理 1、FFT产生背景。 离散傅立叶变换从理论上解决了傅立叶变换应用于实际的可能性,但若直接按DFT公式计算,运算量太大(与N2成比例)。快速傅立叶变换(FFT)是离散傅立叶变换的快速算法,它大大减少了离散傅立叶变换的运算次量,一般可缩短一、二故数量级,且N越大改善越明显,从而使DFT的运算在实际工作中才真正得到广泛应用。 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 在一般情况下,复数乘法所需时间比复数加法多,因此以复数乘法为例将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时域图像);box off subplot(2,2,2); stem(0:(N1-1),abs(y11)); title(N=8,x1的DFT图像);box off subplot(2,2,3); stem(0:(N2-1),abs(y12)); title(N=16,x1的DFT图像);box off 实验误差分析:理论的DFT函数应为抽样函数,由实验结果可以看出,随着FFT点数的增加,FFT图像包络函数越趋近于抽样函数。 2、 实验结果: 实验程序: N1=8; N2=16; xa=1:1:4; xb=4:-1:1; 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);box off stem(0:(N1-1),abs(y21)); title(N=8,x2的DFT图像);box off subplot(2,2,4); stem(0:(N2-1),abs(y22)); title(N=16,x2的DFT图像);box off 实验误差分析:理论的DFT函数应为形如抽样函数的平方的函数,由实验结果可以看出,随着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);box off stem(0:(N1-1),abs(y31)); title(N=8时,x3的DFT图像);box off subplot(2,2,3); stem(0:(N2-1),abs(y32)); title(N=16时,x3的DFT图像);box off 实验误差分析:随着N的增加,曲线接近理论值,具体的分析和2中的信号相同 4、 实验结果: 实验程序: N1=8; N2=16; n=0:1:19 x4=cos(0.25*pi*n); n=0:1:7; x411=c
显示全部
相似文档