《数字信号处理》课程基本实验.docx
数字信号处理课程基本实验实验1信号及系统基本特性分析1.1实验目的1、学习MatIab编程的基本方法;掌握常用函数用法。2、了解不同信号的频域特性,理解时域特性与频域特性之间的关联性。3、掌握典型信号序列的时域和频域基本特性。4、熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。5、了解离散系统的时域/频域特性及其对输出信号的影响,掌握系统分析方法。1.2实验原理1.2.1 连续时间信号的采样采样是从连续时间信号到离散时间信号的过渡桥梁,对采样过程的研究不仅可以了采样前后信号时域和频域特性发生的变化以及信号内容不丢失的条件,而且有助于加深对拉氏变化、傅氏变换、Z变换和序列傅氏变换之间关系的理解。对一个连续时间信号进行理想采样的过程可以表示为该信号的一个周期冲激脉冲的乘积,即丸=Xaa)MO)(I-I)其中九(0是连续信号Xa的理想采样,M(Z)是周期冲激脉冲MQ)=Eba-T)(1-2)W=-OO它也可以用傅立叶级数表示为:1MMQ)=工产(1-3)T/J=-OC其中T为采样周期,CS=2万/7是采样角频率。设X“(S)是连续时间信号/(/)的双边拉氏变换,即有:÷X“(s)=JXa(r)e-adr讨-此时理想采样信号(0的拉氏变换为÷30Xa(s)=jxa(t)e-adt(1-5)作为拉氏变换的一种特例,信号理想采样的傅立叶变换1-KC£(4)=7XJJ(-hv)J(1-6)m="<c由式(1-5)和式(1-6)可知,信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期等于采样频率。根据Shannon取样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频谱混冷现象。在计算机处理时,不采用式(1-6)计算信号的频谱,而是利用序列的傅立叶变换计算信号的频谱,定义序列x(n)=j("T)=K=Xa加,根据Z变换的定义,可以得到序列x(n)的Z变换为:¥X(Z)=ZX(1-7)W=-OO以出代替上式中的z,就可以得到序列x(n)的傅立叶变换X(ej)jx(n)e(1-8)W=-CO式(1-6)和式(1-8)具有如下关系:Xrt(j)=X(>)(1-9)由式(1-9)可知,在分析一个连续时间信号的频谱时,可以通过取样将有关的计算转化为序列傅立叶变换的计算。1.2.2 有限长序列分析一般来说,在计算机上不可能,也不必要处理连续的曲线X(e"),通常,我们只要观察、分析X(e")在某些频率点上的值。对于长度为N的有限长序列f(n)fiN-1x(n)=<(1-10)0,其领般只需要在0-2之间均匀地取M个频率点,计算这些点上的序列傅立叶变换N7X(ej0jk)=Yx(n)e'in(I-II)W=O其中以=2成M,k=0,l,.,M-loX('dt)是一个复函数,它的模就是幅频特性曲线。1.2.3 信号卷积一个线性时不变离散系统的响应y(n)可以用它的单位冲激响应h(n)和输入信号Xm)的卷积来表示:>,(n)=x(n)*h(n)=x(w)(n-th)(1-12)m=-根据傅立叶变换和Z变换的性质,与式(1-12)对应应该有K(Z)=X(Z)H(Z)(1-13)y(e"°)=X(ej)H(ej)(1-14)式(1-12)告诉我们可以通过对两个序列的移位、相乘、累加计算信号响应;而式(1-14)告诉我们卷积运算也可以在频域上用乘积实现。1-3实验内容1.3.1 Matlab操作与使用根据所提供的MatIab操作指南学习Mauab的使用。完成文件操作;矩阵运算;绘图;图形界面的实现等功能,学会使用MatIab联机帮助查找信息。1.3.2 理想采样信号序列的特性分析对信号/=Ae-Rsin(Oof)进行理想采样,可以得到一个理想的采样信号序列:xa(t)=Ae-arsin(oH7),On<50,其中A为幅度因子,是衰减因子,Qo是频率。T为采样周期。产生理想采样信号序列(),使4=444.128,=5OE,Co=5O2r0(1)首先选用采样频率为IOOOHz,T=IZlOOO,观察所得理想采样信号的幅频特性,并做记录;(2)改变采样频率为300Hz,T=l300,观察所得到的频谱特性曲线的变化,并做记录;(3)进一步减小采样频率为200Hz,T=l200,观察频谱“混淆”现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。1.3.3 典型信号序列的特性分析1.3.3.1信号序列产生产生如下基本信号:(1)高斯序列:均()=<n-p>1eq,0150,else(2)衰减正弦序列:F5)="ec°,sin2协,0n150,else(3)三角波序列:+1,038-nAnl0,eIse(4)反三角序列:4-,0n3一3,470,eIse1.3.3.2观察高斯序列的时域和频域特性固定信号Xm5)中的参数p=8,改变q的值,使q分别等于2,4,8。观察它们的时域和幅频特性,了解q取不同值的时候,对信号时域特性和幅频特性的影响。固定q=8,改变P,使P分别等于8,13,14,观察参数P变化对信号序列时域及幅频特性的影响。注意P等于多少时,会发生明显的泄漏现象,混淆现象是否也随之出现?记录实验中观察到的现象,绘制相应的时域序列和幅频特性曲线。1.3.3.3观察衰减正弦序列的时域和幅频特性针对信号打():令=0.1并且f=0.0625,检查谱峰出现的位置是否正确,注意频谱的形状,绘制幅频特性曲线。改变f=0.4375,再变化f=05625,观察这两种情况下,频谱的形状和谱峰出现的位置,有无混漪和泄漏现象发生?说明产生现象的原因。1.3.3.4观察三角波序列和反三角波序列的时域和幅频特性针对信号飞和Xdd():用8点FFT分析信号Xcc(H)和Xdd()的幅频特性,观察两者的序列形状和频谱曲线有什么异同?(注意:这时候的X血5)可以看作是4CS)经过圆周移位以后得到的)绘制两者的序列和幅频特性曲线。在的毛CS)和ZW()末尾补零,用16点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化?两个信号之间的FFT频谱还有没有相同之处?这些变化说明了什么?1.3.3.5*选作内容将4()信号的长度N设为63,用MatLab中randn(l,N)函数产生一个噪声信号w(n),计算将这个噪声信号叠加到xh(n)上以后新信号y(n)=%()+以)的频谱,观察发生的变化并记录。在步骤2的基础上,改变参数和f,观察在出现混淆现象和泄漏现象的时候有噪声的y(n)信号的频谱有什么变化,是否明显?13.4离散信号、系统和系统响应的分析1.3.4.1信号序列产生产生如下信号序列:(1)理想采样信号序列:对信号ZQ)=AeFSin(C(/)进行理想采样,可以得到一个理想的采样信号序列:xa(t)=Aea,sin(oT),On<50,其中A为幅度因子,。是衰减因子,Co是频率。T为采样周期。(2)单位脉冲序列hn=n)=l,n=O0,n0(3)矩形序列a=Rn=Jn<N-I八廿/L,其中N=IO0,其他产生如下系统单位脉冲响应序列,本实验中用到两种FIR系统:A(n)=(n)(2)hh(n)=(ti)+2.5(n-1)+2.5(n2)+(n-3)1.3.4.2离散信号、系统和系统响应的分析(1)观察信号项,5)和系统4()的时域和幅频特性;利用线性卷积求信号通过系统以后的响应。比较系统响应和系统4()的时域及幅频特性。注意它们之间有无差异,绘出图形。(2)观察信号线()和系统儿伽)的时域和幅频特性,利用线性卷积求系统响应。判断响应序列图形及序列非零值长度是否与理论结果一致,说出一种定性判断响应序列图形正确与否的方法(提示:天伽)=4()=RK)O2)。利用序列的傅立叶变换数值计算子程序求出,观察响应序列的幅频特性。定性判断结果正确与否。改变信号七()的矩形宽度,使N=5,重复以上动作,观察变化,记录改变参数前后的差异。(3)将实验步骤2-(2)中的信号换为儿(),其中A=La=O.4,Co=2.07347=1。重复实验2-(2)各步骤,改变与5)的参数=0.1再重复实验2-(2)各步骤;改变参数o=1.2516,重复实验2-(2)各步骤。在实验中观察改变和°对信号及系统响应的时域和幅频特性的影响,绘制相应的图形。1.3.4.3卷积定律的验证利用式(1-14)将/5)和系统7245)的傅氏变换相乘,直接求得y(伙),将得到的幅频特性曲线和实验2-(3)中得到的曲线进行比较,观察二者有无差异。验证卷积定律。1.3.5*选作内容改变信号5Q)中的衰减因子,先定性估计频谱可能产生的变化,然后观察其频谱的变化,记录结果,变化是否你所想的一致,这说明了什么?一个LTI系统的冲激响应为h(n)=(0.9)w(rt),输入序列为ZS),求系统响应Hd)和输出信号y(n)及其频谱如果()=%(),其结果又如何?编写一个程序,将天()分解为奇偶序列,绘制奇偶序列时域图形并求出它们频谱Xaem)和Xae切),同天5)的频谱Xa进行比较,可以得出什么结论?针对信号x(Z)=cos600("+Cosl00("分析采样率、信号功率。1.4实验报告要求1、记录实验内容中要求观察、分析、比较的内容及结果并进行分析。2、总结在上机实验内容中要求比较时域、幅频曲线差异差异部分内容的结果,定性分析它们正确与否,并简要说明这些结果的含义。3、在实验报告中附上在实验过程中记录的各个典型信号序列的时域和幅频特性曲线,分析所得到的结果图形,说明各个信号的参数变化对其时域和幅频特性的影响。4、总结一下你在用MatLab进行数字信号处理实验项目的时候常用的函数及其功能。5、总结实验中根据实验现象得到的其他个人结论。实验2FFT算法实现2.1 实验目的1、加深对快速傅里叶变换的理解。2、掌握FFr算法及其程序的编写。3、掌握算法性能评测的方法。2.2 实验原理一个连续信号ZQ)的频谱可以用它的傅立叶变换表示为Xa(j)=(2-1)-OO如果对该信号进行理想采样,可以得到采样序列x(fi)=xa(nT)(2-2)同样可以对该序列进行Z变换,其中T为采样周期产X(Z)=ZX()Zf(2-3)-QO当Z=e"”的时候,我们就得到了序列的傅立叶变换X(ej)=x(n)ej6jn(2-4)-OO其中3称为数字频率,它和模拟域频率的关系为ty=T=v(2-5)式中的工是采样频率。上式说明数字频率是模拟频率对采样率工的归一化。同模拟域的情况相似,数字频率代表了序列值变化的速率,而序列的傅立叶变换称为序列的频谱。序列的傅立叶变换和对应的采样信号频谱具有下式的对应关系。Xd)=泞Xg纥署)(2-6)即序列的频谱是采样信号频谱的周期延拓。从式(2-6)可以看出,只要分析采样序列的频谱,就可以得到相应的连续信号的频谱。注意:这里的信号必须是带限信号,采样也必须满足Nyquist定理。在各种信号序列中,有限长序列在数字信号处理中占有很重要的地位。无限长的序列也往往可以用有限长序列来逼近。对于有限长的序列我们可以使用离散傅立叶变换(DFT),这一变换可以很好地反应序列的频域特性,并且容易利用快速算法在计算机上实现当序列的长度是N时,我们定义离散傅立叶变换为:NTX(Z)=DF7x(n)£工伽)优"(2-7)n=0其中叱V=J'万,它的反变换定义为:1N-Ix(n)=IDF7X(2)=R3X(Z)WN6(2-8)根据式(2-3)和(2-7)令Z=畋则有N-IX(Z)I*=>5)W=DFlxn(2-9)w=0.2可以得到X(Q=X(Z)z=W-k=JR,W-k是z平面单位圆上幅角为。=Mk的点,就是将单位圆进行N等分以后第k个点。所以,X(k)是Z变换在单位圆上的等距采样,或者说是序列傅立叶变换的等距采样。时域采样在满足NyqUiSt定理时,就不会发生频谱混湘;同样地,在频率域进行采样的时候,只要采样间隔足够小,也不会发生时域序列的混淆。DFT是对序列傅立叶变换的等距采样,因此可以用于序列的频谱分析。在运用DFT进行频谱分析的时候可能有三种误差,分析如下:(1)混淆现象从式(2-6)中可以看出,序列的频谱是采样信号频谱的周期延拓,周期是2冗“,因此当采样速率不满足NyqUiSt定理,即采样频率£=1/7小于两倍的信号(这里指的是实信号)频率时,经过采样就会发生频谱混淆。这导致采样后的信号序列频谱不能真实地反映原信号的频谱。所以,在利用DFT分析连续信号频谱的时候,必须注意这一问题。避免混淆现象的唯一方法是保证采样的速率足够高,使频谱交叠的现象不出现。这就告诉我们,在确定信号的采样频率之前,需要对频谱的性质有所了解。在一般的情况下,为了保证高于折直频率的分量不会出现,在采样之前,先用低通模拟滤波器对信号进行滤波。(2)泄漏现象实际中的信号序列往往很长,甚至是无限长序列。为了方便,我们往往用截短的序列来近似它们。这样可以使用较短的DFT来对信号进行频谱分析。这种截短等价于给原信号序列乘以一个矩形窗函数。而矩形窗函数的频谱不是有限带宽的,从而它和原信号的频谱进行卷积以后会扩展原信号的频谱。值得一提的是,泄漏是不能和混淆完全分离开的,因为泄露导致频谱的扩展,从而造成混淆。为了减小泄漏的影响,可以选择适当的窗函数使频谱的扩散减到最小。(3)栅栏效应因为DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数。这样就产生了栅栏效应,从某种角度来看,用DFT来观看频谱就好像通过一个栅栏来观看一幅景象,只能在离散点上看到真实的频谱。这样的话就会有一些频谱的峰点或谷点被“栅栏”挡住,不能被我们观察到。减小栅栏效应的一个方法是在源序列的末端补一些零值,从而变动DFT的点数。这种方法的实质是认为地改变了对真实频谱采样的点数和位置,相当于搬动了“栅栏”的位置,从而使得原来被挡住的一些频谱的峰点或谷点显露出来。注意,这时候每根谱线多对应的频率和原来的已经不相同了。从上面的分析过程可以看出,DFT可以用于信号的频谱分析,但必须注意可能产生的误差,在应用过程中要尽可能减小和消除这些误差的影响。快速傅立叶变换FFT并不是与DFT不相同的另一种变换,而是为了减少DFT运算次数的一种快速算法。它是对变换式(2-7)进行一次次的分解,使其成为若干小点数DFT的组合,从而减小运算量。常用的FFT是以2为基数,其长度N=2"。它的运算效率高,程序比较简单,使用也十分地方便。当需要进行变换的序列的长度不是2的整数次方的时候,为了使用以2为基的FFT,可以用末尾补零的方法,使其长度延长至2的整数次方。IFFT一般可以通过FFT程序来完成,比较式(2-7)和(2-8),只要对X(k)取共挽,进行FFT运算,然后再取共短,并乘以因子1/N,就可以完成IFFT。2.3 实验内容1、编制自己的FFr算法。2、选取实验1中的典型信号序列验证算法的有效性。3、对所编制FFT算法进行性能评估。(从哪些方面进行?有无具体要求?)2.4 实验报告要求1、总结自己实现FFT算法时候采用了哪些方法减小了运算量。2、给出自己的FFT算法与实验1中自己的DFT算法的性能比较结果。3、给出自己的FFT算法与Matlab中FFT算法的性能比较结果。4、总结实验中根据实验现象得到的其他个人结论。实验3滤波器设计与滤波器特性分析3.1 实验目的1、掌握MaUab下滤波器设计工具(fdalool)的使用方法。2、掌握IIR漉波器设计方法与FIR漉波器设计方法。3、了解HR滤波器设计与FlR滤波器设计方法的差异。4、掌握滤波器特性分析的方法。3.2 实验原理本实验利用Matlab的工具fdatool完成,请仔细阅读Matlab中滤波器设计工具箱fdatool的联机帮助。R与FIR滤波器设计的原理请参考课程内容。3.3 实验内容3.3.1HR滤波器设计1、采样频率为1Hz,设计一个ChebySheV高通数字滤波器,其中通带临界频率力,=0.3%,通带内衰减小于0.8dB(.=0.8dB),阻带临界频率f=0.2"z,阻带内衰减大于20dB(a,=2(WB)o求这个数字滤波器的传递函数H(z),输出它的幅频特性曲线,观察其通带衰减和阻带衰减是否满足要求。2、采样频率为1Hz,设计一个数字低通滤波器,要求其通带临界频率力,=0.2"z,通带内衰减小于ldB(ap=dB),阻带临界频率f=0.3"z,阻带内衰减大于25dBM=25dB).求这个数字滤波器的传递函数H(z),输出它的幅频特性曲线。3、设计Butterworth带通数字滤波器,其上下边带IdB处的通带临界频率分别为20kHz和30kHz(pl=20kHz,fp2=3OkHzf%,=IdB),当频率低于15kHz时,衰减要大于40dB(fs=5kHz,as=40dB),采样周期为IOus,求这个数字混波器的传递函数H(z),输出它的幅频特性曲线,观察其通带衰减和阻带衰减是否满足要求。33.2FIR滤波器设计1、用Hanning窗设计一个线性相位带通滤波器,其长度N=15,上下边带截至频率分别为l=0.3,2=0.5,求h(n),绘制它的幅频和相位特性曲线,观察它的实际3dB和20dB带宽。如果N=45,重复这一设计,观察幅频和相位特性的变化,注意长度N变化对结果的影响。2、改用矩形窗和BlaCkman窗,设计步骤(1)中的带通滤波器,观察并记录窗函数对滤波器幅频和相位特性的影响,比较这三种窗函数的特点。3、用KaiSer窗设计一个专用的线性相位滤波器。N=40,理想的幅频特性如下图所示:当£值分别4,6,8时,设计相应的滤波器,比较它们的幅频和相位特性,观察并分析夕值不同的时候对结果有什么影响。3.3.3滤波器特性分析针对IIR滤波器设计实验内容中的三款滤波器(低通、高通和带通),采用基于Blackman窗函数的FIR设计方法重新设计,比较用IIR与FIR方法得到的滤波器的幅频特性、相频特性、零极点、群延时、相位延时。对比较的结论进行原理性解释。3.4实验报告要求1、记录在在上机实验内容中所设计的IIR滤波器的传递函数H(Z)及对应的幅频特性曲线定性分析它们的性能,判断设计是否满足要求。2、记录在实验过程中FIR滤波器设计结果的h(n)的幅频和相位特性曲线,比较它们的性能,说明滤波器N和窗函数对滤波器性能的影响。3、记录滤波器特性分析中滤波器特性比较的结论并进行解释。4、对IIR滤波器设计和FIR滤波器设计的优缺点进行总结。5、总结实验中根据实验现象得到的其他个人结论。