金陵科技学院·信息技术学院1《数字信号处理》实验指导书实验序号:1实验名称:利用FFT进行谱分析和实现快速卷积适用专业:通信工程、电子信息工程学时数:4学时一、实验目的1.加深DFT算法原理和基本性质的理解。2.熟悉FFT算法原理和FFT子程序的应用。3.学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT。4.加深理解FFT在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT进行数字信号处理。5.掌握循环卷积和线性卷积两者之间的关系。二、实验原理1.在工程技术的许多分支中,要掌握的基本内容之一就是正确理解时域和频域的关系。对于数字系统来说,就是要精通离散傅立叶变换,因此离散傅立叶变换在数字信号处理中占有十分重要的地位。在实际应用中,有限长序列有相当重要的地位,有限长序列的离散傅氏变换(DFT)的定义:10)(1)()(10)()()(1010NnWkXNkXIDFTnxNkWnxnxDFTkXNknkNNnnkN快速傅里叶变换(FFT)并不是一种新的变换,而是离散傅里叶变换(DFT)的一种快速算法。用FFT对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行谱分析的信号是模拟信号和时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D和分析误差。频谱分辨率直接和FFT的变换区间N(即x(n)长度为N)有关,因为FFT能够实现的频率分辨率是N/2,因此要求DN/2。可以根据此式选择FFT的变换区间N。误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。如果不知道信号周期,可以尽量选择信号的观察时间长一些。对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。如果是模拟周金陵科技学院·信息技术学院2期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。2.数字滤波器根据系统的单位脉冲响应h(n)是有限长还是无限长可分为有限长单位脉冲响应(FiniteImpulseResponse)系统(简记为FIR系统)和无限长单位脉冲响应(InfiniteImpulseResponse)系统(简记为IIR系统)。对于FIR滤波器来说,除了可以通过数字网络来实现外,也可以通过FFT的变换来实现。首先我们知道,一个信号序列x(n)通过FIR滤波器时,其输出应该是x(n)与h(n)的卷积:mmnhmxnhnxny)()()(*)()(当h(n)是一个有限长序列,即h(n)是FIR滤波器,且10Nn时10)()()(Nmmnxmhny在数字网络类的FIR滤波器中,普遍使用的横截型结构就是按这个卷积公式构成的。应用FFT实现数字滤波器实际上就是用FFT来快速计算有限长度序列的线性卷积。这种方法就是先将输入信号x(n)通过FFT变换为它的频谱采样值X(k),然后再和FIR滤波器的频响采样值H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积H(k)X(k)通过快速傅里叶变换(简称IFFT)还原为时域序列,即得到输出y(n)。现以FFT求有限长序列间的卷积及求有限长度序列与较长序列间的卷积为例来讨论FFT的快速卷积方法。序列x(n)和h(n)的长差不多。设x(n)的长为N1,h(n)的长为N2,要求10)()()()()(Nmmnxmhnynxny用FFT完成这一卷积的具体步骤如下:①为使两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积X(k)x(n)FFTIFFTH(k)H(k)X(k)y(n)FFTh(n)金陵科技学院·信息技术学院3长度121NNN,若采用基2-FFT完成卷积运算,要求mN2(m为整数)。②用补零方法使x(n)和h(n)变成列长为N的序列。1010)()(11NnNNnnxnx1010)()(22NnNNnnhnh③用FFT计算x(n)和h(n)的N点离散傅里叶变换④完成X(k)和H(k)乘积,)()()(kHkxkY⑤用FFT计算Y(k)的离散傅里叶反变换得*10*10)(1)(1)(NknkNnkNNkWkYNWkYNny三、主要实验仪器及材料微型计算机、Matlab6.5以上版本的编程环境。四、实验内容一、实验内容1.编写并运行程序,观察频谱。(1)对以下序列进行谱分析。其它nnnnnnxnRnx,074,830,1)()()(241选择FFT的变换区间N为8和16两种情况进行频谱分析。分别打印其幅频特性曲线。并进行对比、分析和讨论。(2)对周期序列进行谱分析。5()cos(/4)cos(/8)xnnn选择FFT的变换区间N为8和16两种情况分别对以上序列进行频谱分析。分别打印其幅频特性曲线。并进行对比、分析和讨论。2.数字滤波器的脉冲响应为)(2/1)(2nRnhNn,N2取8。用FFT计算)(ny输入序列x(n)可选下列几种情况金陵科技学院·信息技术学院4①)()(1nRnxN,N1取8。②)(31)(1nRnxNn,N1取8。当20212NN,和40212NN时,直接计算线性卷积和利用FFT计算线性卷积的时间。要求:1.实验前,预先计算好)(*)(nhnx的值。预先编制一个应用FFT计算频谱和一个实现数字滤波器的通用程序。2.上机独立调试,并打印或记录实验结果。3.将实验结果与预先笔算的结果比较,验证其正确性。五、思考题1.对于周期序列,如果周期不知道,如何用FFT进行谱分析?2.如何选择FFT的变换区间(即x(n)长度为N)?(包括非周期信号和周期信号)3.分析直接计算线性卷积和利用FFT计算线性卷积的时间。六、实验报告要求1.简述实验原理及目的。2.记录调试运行情况及所遇问题的解决方法。3.给出实验结果,并对结果作出分析。4.简要回答思考题。金陵科技学院·信息技术学院5实验序号:2实验名称:数字滤波器的设计适用专业:通信工程、电子信息工程学时数:4学时一、实验目的1.掌握双线性变换法设计IIR数字滤波器的具体设计方法及其原理和窗函数设计FIR滤波器的设计原理与基本方法。2.观察双线性变换的频域特性。熟悉Butterworth滤波器的频率特性。3.了解各种不同窗函数对滤波器性能的影响。4.熟悉Matlab计算机编程。二、实验原理1.用双线性变换法设计IIR数字滤波器方法(1)设计思想:将模拟滤波器转换成数字滤波器的实质是,用一种从s平面到z平面的映射函数将Ha(s)转换成H(z)。对这种映射函数的要求是:(1)因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。(2)数字滤波器的频率响应模仿模拟滤波器的频响,s平面的虚轴映射z平面的单位圆,相应的频率之间成线性关系。脉冲响应不变法和双线性变换法都满足如上要求。s平面与z平面之间满足以下映射关系:1111zzss平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完全映射到z平面的单位圆内。双线性变换不存在混叠问题。双线性变换时一种非线性变换)/ω(tg2,这种非线性引起的幅频特性畸变可通过预畸而得到校正。(2)以低通数字滤波器为例,将设计步骤归纳如下:·确定数字滤波器的性能指标:通带临界频率fp、阻带临界频率fs;通带内的最大衰减Ap;阻带内的最小衰减As;·确定相应的数字角频率,ωp=2πfp;ωs=2πfs;·计算经过预畸的相应模拟低通原型的频率,)2/(tg;·根据Ωp和Ωs计算模拟低通原型滤波器的阶数N,并求得低通原型的传递函数Ha(s);金陵科技学院·信息技术学院6·用上面的双线性变换公式代入Ha(s),求出所设计的传递函数H(z);·分析滤波器特性,检查其指标是否满足要求。2.用窗函数设计FIR滤波器的基本方法FIR滤波器的设计问题在于寻求一系统函数)(zH,使其频率响应)e(Hωj逼近滤波器要求的理想频率响应)(jdeH,其对应的单位脉冲响应)(nhd。(1)设计思想:从时域从发,设计)(nh逼近理想)(nhd。设理想滤波器)(jdeH的单位脉冲响应为)(nhd。以低通线性相位FIR数字滤波器为例。deeHnhenheHjnjddjnndjd)(21)()()()(nhd一般是无限长的,且是非因果的,不能直接作为FIR滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断)()()(nwnhnhd,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即21/)N(a)n(w)n(h)n(hd用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs)效应。为了消除吉布斯效应,一般采用其他类型的窗函数。(2)典型的窗函数·矩形窗(RectangleWindow))n(R)n(wN其频率响应和幅度响应分别为:2122Nωjωje)/ωsin()/ωNsin()e(W,)2/sin()2/sin()(NWR·三角形窗(BartlettWindow)12112221012NnN,NnNn,Nn)n(w其频率响应为:212])2/sin()4/sin([2)(NjjeNNeW金陵科技学院·信息技术学院7·汉宁(Hanning)窗,又称升余弦窗)n(R)]Nπncos([)n(wN12121其频率响应和幅度响应分别为:)]12()12([25.0)(5.0)()()]}12()12([25.0)(5.0{)()21(NWN·汉明(Hamming)窗,又称改进的升余弦窗)n(R)]Nπncos(..[)n(wN12460540其幅度响应为:)]12()12([23.0)(54.0)(NWN·布莱克曼(Blankman)窗,又称二阶升余弦窗)n(R)]Nπncos(.)Nπncos(..[)n(wN140801250420其幅度响应为:)]Nπω(W)Nπω(W[.)]Nπω(W)Nπω(W[.)ω(W.)ω(WRRRRR14140401212250420(3)利用窗函数设计FIR滤波器的具体步骤如下:·按允许的过渡带宽度△ω及阻带衰减AS,选择合适的窗函数,并估计节数N:其中A由窗函数的类型决定。·由给定的滤波器的幅频响应参数求出理想的单位脉冲响应)(nhd。·确定延时值·计算滤波器的单位取样响应)(nh,)()()(nwnhnhd。·验算技术指标是否满足要求。三、主要实验仪器及材料微型计算机、Matlab6.5以上版本的编程环境。四、实验内容1.知识准备在实验前复习数字信号处理理论课中有关滤波器设计的知识,认真阅读本实验的原理部分。熟悉滤波器的特性,掌握设计数字滤波器的具体步骤。金陵科技学院·信息技术学院82.编制用双线性变换法设计IIR数字滤波器的程序。采样周期、通带和阻带临界频率以及相应的衰减等参数在程序运行时输入;根据这些输入参数,计算阶数N、传递函数;输出分子分母系数;绘制幅频和相频特性曲线。设计Butterworth低通滤波器,指标为π.ω20p,1RpdB,π.ω30st,阻带衰减15sAdB。3.