《数字信号处理》实验讲义(信息计算).doc

上传人:风**** 文档编号:967495 上传时间:2024-03-19 格式:DOC 页数:30 大小:7.89MB
下载 相关 举报
《数字信号处理》实验讲义(信息计算).doc_第1页
第1页 / 共30页
《数字信号处理》实验讲义(信息计算).doc_第2页
第2页 / 共30页
《数字信号处理》实验讲义(信息计算).doc_第3页
第3页 / 共30页
《数字信号处理》实验讲义(信息计算).doc_第4页
第4页 / 共30页
《数字信号处理》实验讲义(信息计算).doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、数字信号处理实验指导书实验一 常见离散信号的产生一、实验目的1. 加深对离散信号的理解。2. 掌握典型离散信号的Matlab 产生和显示。二、实验原理及方法在MATLAB 中,序列是用矩阵向量表示,但它没有包含采样信息,即序列位置信息,为此,要表示一个序列需要建立两个向量;一是时间序列n,或称位置序列,另一个为取值序列x,表示如下: n=,-3,-2,-1,0,1,2,3,x=,6,3,5,2,1,7,9,一般程序都从0 位置起始,则x= x(0), x(1), x(2),对于多维信号需要建立矩阵来表示,矩阵的每个列向量代表一维信号。数字信号处理中常用的信号有指数信号、正弦信号、余弦信号、方波

2、信号、锯齿波信号等,在MATLAB 语言中分别由exp, sin, cos, square, sawtooth 等函数来实现。三、实验内容1. 用MATLAB 编制程序,分别产生长度为N(由输入确定)的序列:单位冲击响应序列:可用MATLAB 中zeros 函数来实现;单位阶跃序列:u(n)可用MATLAB 中ones 函数来实现;正弦序列:;指数序列:复指数序列:用exp 函数实现+ ,并给出该复指数序列的实部、虚部、幅值和相位的图形。(其中.)参考流程图:四、实验报告要求1. 写出实验程序,绘出单位阶跃序列、单位阶跃序列、正弦序列、指数序列的图形以及绘出复指数序列的实部、虚部、幅值和相位的

3、图形。2. 序列信号的实现方法。3. 在计算机上实现正弦序列。实验二 离散信号的运算一、实验目的1. 掌握离散信号的时域特性。2. 用MATLAB 实现离散信号的各种运算。二、实验原理及方法在数字信号处理中,离散信号由序列表示,则离散信号的运算表现在序列上就是序列的各种运算,信号的基本运算包括加法、乘法、加权移位、翻转、尺度变换、卷积等。设有两个序列x1(n)和x2(n):1 将两序列相加,在MATLAB 中可用“+”来实现,但是和的长度必须相同,如果序列长度不同,或者长度相同的序列而样本位置不同,也不能直接用算符+。首先必须对和扩大或延长以使它们具有相同位置的向量n。此时可以用函数sigad

4、d 来实现。2 相乘可用“.*”实现,对+算符所加的限制同样对算符.*使用,此时用函数sigmult 实现。3 加权在MATLAB 中可用“*”来实现;4 移位在MATLAB 中可用来实现,其中时所移动的位数。5 翻转,样本值可由函数fliplr(x) 实现, 翻转序列y(n) 可由函数y,n=sigfold(x,n)实现。6 尺度变换可用类似于y(n)=x(2n)的式子实现;7 卷积可由函数y=conv(x,h)实现但conv 函数默认两个序列都是从n=0 开始。其简单扩展conv_m 能完成任意位置序列的卷积。(所使用的各种库函数见教材,可直接使用)三、实验内容1、先输入两个序列(长短不一

5、),然后变成相同长度的序列,再分别实现相加和相乘。1) 已知序列: 用MATLAB 编程计算,并画出其序列波形。2) 已知序列:用MATLAB 编程计算并画出其序列波形。3)已知序列:用MATLAB 编程计算,并画出其序列波形参考流程图:2、计算机上输入一个序列,然后实现该序列的翻转。n 的范围0:4序列x1 2 3 4 5四、实验报告要求写出实验程序,绘出原序列及运算后序列的实验结果图形。并与自己数学运算的结果进行比较,验证实验的准确性。word文档 可自由复制编辑实验三 序列的傅里叶变换一、实验目的1. 学习并掌握序列的傅里叶变换及其性质2了解其在计算机上的实现方法二、实验原理及方法所谓傅

6、立叶变换就以时间为自变量的“信号”与频率为自变量的“频谱”函数之间的某种变换关系。当自变量“时间”或频率取连续形式和离散形式的不同组合就可形成各种不同的傅立叶变换对。离散时间非周期信号及其频率之间的关系,可以用序列的傅立叶变换对来表示。设x(n)是非周期序列,它的傅里叶变换对定义如下:正变换:反变换:式(3-1)、式(3-2)表示了非周期序列与频谱的相互关系,称为傅立叶变换对式(3-1)成立的充分条件是序列x(n)满足绝对可和的条件,即满足下式: 由于n 取整数,当M 也取整数时有它表明x(n)的傅立叶变换是w的周期函数,周期为2p。序列的傅立叶变换的性质主要有以下几方面:1.周期性:离散时间

7、傅立叶变换是w的周期函数,周期为2p。 所以分析时仅需要的一个周期,而不需整个域。2.线性性DTFTx(n):对任何a ,b ,和有:3时移与频移 4对称性:对于实值x(n), 是共轭对称的,即或者: (偶对称) (奇对称) (偶对称) (奇对称)所以分析时仅需要的半个周期,一般都选。三、实验内容1. 设求x(n)的DTFT. 并绘制图形显示其幅度和相位。2分析的对称性,并绘制其波形进行验证参考流程图:实验内容1:实验内容2:四、实验报告要求1总结序列的离散傅立叶变换的性质2在计算机上验证序列的离散傅立叶变换的时移与频移性质,并绘制图形比较其形状有什么区别3写出实验程序实验四 模拟信号的数字处

8、理(采样定理)一 实验目的1掌握信号的采样的方法。2分析信号的采样频率对频率特性的影响。二实验原理及方法在现实世界里,声音、图像等各种信号多为模拟信号,要对它进行数字化处理,首先要将模拟信号经过采样、量化、编码,变成数字信号,即进行A/D 转换,然后用数字技术进行数字信号处理,最后经过D/A 转换成为模拟信号,这一处理过程称为模拟信号的数字信号处理在这一过程中最主要的是采样定理采样定理是指对于一个的带限信号,只要采样频率高于带限信号最高频率的两倍,即时,则可以由其采样信号惟一正确地重建原始信号严格地说,在MATLAB 中不能分析模拟信号,但当采样时间间隔充分小的时候,可以产生平滑的曲线,当时间

9、足够长,可显示所有的模型,即近似的分析三实验内容及步骤已知,分别取采样频率为和,绘出X(j)曲线,并对比两次结果说明采样频率对曲线的影响。参考流程图:四实验报告要求1简述实验原理及目的2写出程序并绘制图形,分析图形并指出频谱混迭的原因实验五 离散傅里叶变换一、实验目的1通过实验加深对DFT 的理解。2理解如何用DFT 计算离散信号频谱。二、实验原理及方法我们知道,在信号的时域表示形式和频域表示形式之间,一个域的周期性对应于另一个域的离散性,一个域的非周期性对应于另一个域的连续性。所以,周期的离散时间信号的频谱是离散频率的周期函数。当信号在时域和频域中都是抽样的离散函数时,按照傅里叶变换的概念,

10、他们在两个域中也必然是周期的。但是,用计算机去完成这样无限长序列的运算,显然是不可能的。同时,由于这些序列的周期性,他们的信息均包含在一个周期之中,因此也没有必要作无限长序列的运算。这样,就有必要从时域和频域都缩减到一个限定的范围内来进行。这个范围,就是时间函数的一个周期和频谱函数的一个周期。把离散信号在时域和频域的函数中各取一周期,并定义他们是离散傅里叶变换对,如以DFT 表示离散傅里叶正变换,IDFT 表示离散傅里叶反变换,则有由此可见,离散傅里叶变换已经不是通常意义的傅里叶变换了。这种变换的特点,是信号在频域和时域中都只取有限个离散数据,只有当这些数据按一定的周期分别构成周期性的离散时间

11、函数和周期性得离散频率函数时,他们才成为通常意义的傅里叶变换对。说明了离散傅里叶变换的意义后,现在可以来进一步研究如何计算离散傅里叶变换,既由x(n)计算X (k)。有了周期的离散信号的频谱函数,按定义,只要取的一个周期X (k),它就是一个周期x(n)的离散傅里叶变换。对非周期离散信号的频谱进行抽样可得:现在根据离散傅里叶变换的定义,只取频谱函数的一个周期,于是得:X (k)就称为x(n)的离散傅里叶变换DFT。k从0到N-1 之间每取一整数值,即可算出频谱函数的一个样点,总共有N 个样点。三、实验内容及步骤用DFT 分析各种离散信号的幅频特性。1. 已知连续信号,其中取抽样频率,其抽样点数

12、N=32时的DFT。2. 已知有限长序列,求其N=16 时的DFT。3. 已知序列,绘出相应的幅频和相频曲线,并计算N=8,16 时的DFT,由此说明N 点DFT 的物理意义参考流程图1:参考流程图3:4设x(n)为长度N=5 的矩形序列,求离散傅立叶变换X (k)(1) 绘出有限长序列x(n);(2) 由x(n)形成的周期序列;(3) 对应于的傅立叶级和x(n) 的傅立叶变换的幅度特性;(4) x(n)的DFT X (k)。若将长度改成N=10的矩形序列,绘出有限长序列x(n);周期序列x (n);DFT的幅值。程序流程图:四、思考题1. 用连续傅里叶变换分析(被抽样的)连续信号,将其结果与

13、抽样信号的离散傅里叶变换结果相比较,你能发现什么问题?如何解释?2. 计算抽样序列的连续傅里叶变换,将其结果与抽样序列的离散傅里叶变换结果相比较,你又能发现什么问题?五、实验报告要求1. 简述实验原理及目的。2. 有能力者自行编制信号频谱的相频特性程序,分析信号的相频特性。3. 写出实验程序绘制图形,总结DFT 的物理意义4 简要回答思考题。实验六 离散信号的DTFT和DFT一、实验目的加深对离散信号的DTFT和DFT的及其相互关系的理解。二、实验原理及方法在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier变换(DFT)。这一变换不但可以很好的反映序

14、列的频谱特性,而且易于用快速算法在计算机上实现。DTFT和DFT的主要区别就是DFT在时域和频域都是离散的,它带来的最大好处就是适合于数值计算,适合于计算机处理,DTFT和DFT有许多相似的性质。利用MATLAB工程计算语言按要求编写程序算法,实现对有限长序列的离散时间傅立叶变换(DTFT)和离散傅立叶变换(DFT)的求解。三、实验内容1. 已知序列:1) x(n)的16点和32点DTFT,绘出幅度谱图形;2) x(n)的16点和32点DFT,绘出X (k)幅度谱图形;讨论对正弦信号抽样及DTFT 和DFT 之间的相互关系,试说明实验产生的现象的原因。2. 已知序列: x(n)=1,2,3,4

15、,5,6,6,5,4,3,2,11)计算x(n)的DFT 为X (k),绘出它的幅度和相位图;2)计算x(n)的DTFT 为,绘出它的幅度和相位图;3)利用hold 函数,比较并验证X (k)是的采样。参考流程图:四、实验报告要求1简述实验原理及目的2写出实验程序,绘制实验结果3总结实验结论实验七 分段卷积一、实验目的1学习分段卷积的概念及其应用。2掌握如何来实现分段卷积。二、实验原理及方法在某些场合下,可能要求将一个有限长度的序列与一个长度不定或相当长的序列进行线性卷积,若将整个序列存储起来再作大点数的运算,不但运算量大,而且往往时延也不允许,并且在实际应用中,往往要求实时处理。在这些情况下

16、,就要将长序列分段,每一段分别与短序列进行卷积,即分段卷积。有两种方法:重叠相加法和重叠保留法。1重叠相加法设序列h(n)长为M,x(n)是长序列。这种方法是将x(n)分段,每段长与h(n)接近设为N1,将每一段分别与h(n)进行线性卷积,再将分段卷积各段重叠的部分相加构成总的卷积输出。设x(n)分为,第k段 表示为故 其中为第k段线性卷积的结果。2重叠保留法这种方法在长序列分段时,段与段之间保留有互相重叠的部分,在构成总的卷积输出时只需将各段线性卷积部分直接连接起来,省掉了输出段的直接相加。设序列h(n)长为M,x(n)是长序列,将x(n)分段,每段长为N1,然后各段再往前多取个M-1样值,

17、这样,取出的各段长度为。为了保证最前面的一段之长也为N,取出开始的N1个样值之后,再在其前面补上M-1个0。设为其中的一段,将其取出后要与h(n)进行N点循环卷积,故h(n)的后面要补个0 使其长度为N。令为这段的循环卷积,则%即为周期为N 的周期卷积。再令为该段的线性卷积,则的长度应为,周期卷积%应是线性卷积的周期延拓,延拓的周期为N。由于之长度NN ,因此必然产生混叠,即的每一个周期的前M-1个值都是( ) 的前一个周期的后M-1个值与后一个周期的前M-1个值的混叠。也就是说,该段循环卷积的N个值中,前M-1个值是线性卷积前面的M-1个值与后面的M-1个值的混叠,后N1 个值才与的中间的N

18、1 个值相同。并且由于是往前M-1个点混叠取出的,故这N1个值也正是要求的线性卷积y(n)相应于此段的N1个值。因此,只需将每一段所得的循环卷积的前M-1个值去掉,保留后面的N1个值,再将各段保留的N1个值前后拼接起来,就得到所要求的线性卷积y(n)。三、实验内容1设,按N =7用重叠保留法计算线性卷积。2用重叠相加法( N = 7 )重复上面的计算,看结果是否相同?参考流程图:四、实验报告要求1简述实验原理及目的。2写出实验程序及结果,比较重叠保留法与重叠相加法及与直接线性卷积有无异同?实验八 FFT 及信号的谱分析一、实验目的通过实验加深对FFT 的理解,熟悉FFT 程序、结构及编程方法。

19、熟练应用FFT 对典型信号进行谱分析的方法。了解应用FFT 进行信号频域分析可能出现的问题以便在实际中正确应用FFT。4. 理解FFT 与IFFT 的关系。5. 熟悉应用FFT 实现两个序列的线性卷积的方法。二、实验原理及方法在各种信号序列中,有限长序列信号处理占有很重要的位置,对有限长序列,我们可以使用离散Fourier 变换(DFT)。这一变换不但可以很好地反映序列的频谱特性,而且已于永快速算法在计算机上实现,当序列x(n)的长度为N时,它的DFT 定义为:反变换为:有限长序列的DFT 是其Z 变换在单位圆上的等距采样,或者说是序列Fourier 变换的等距采样,因此可以用于序列的谱分析。

20、FFT 并不是与DFT 不同的另一种变幻,而是为了减少DFT运算次数的一种快速算法。它是对变换式进行一次次的分解,是其成为若干小点数的组合,从而减少运算量。常用的FFT 是以2 为基数的,其长度。它的效率高,程序简单,使用非常方便,当要变换的序列长度不等于2 的整数次方时,为了使用以为基数的FFT,可以用末位补零的方法,是其长度延长至2 的整数次方。(一)、在利用DFT 进行频谱分析时可能会出现三种误差。(1) 混叠为了利用计算一个连续信号的频谱,首先需要对这个连续信号进行取样,如果取样频率太低,也即抽样周期太大,在频域内将产生混叠现象,这样就不可能无失真的恢复原连续信号。对带限信号,当所处理

21、模拟信号最高频率与抽样频率满足 时就不会出现频谱混叠现象。然而,时域内有限长的信号,其频谱宽度是无限的,为了使有限长信号满足抽样定理,在进行抽样之前,可以先用低通模拟滤波器对信号进行滤波,从而保证高于折叠频率的分量不会出现。(2)泄漏实际信号序列往往很长,甚至是无限长序列。为了方便,我们往往用截短的序列来近似他们。这样可以使用较短的DFT 来对信号进行频谱分析。对序列x(n)截短的过程就是将原信号序列与矩形窗函数相乘的过程,在频域就是两者频谱的卷积。一般情况下这样都会造成由此得到的频谱不同于信号原来的频谱,这种现象叫做泄漏。在实际应用中,可以选用频谱主瓣小、旁瓣小、尽量接近于的窗函数来减少泄漏

22、。泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。为了减少泄漏的影响,可以选择适当的窗函数是频谱的扩散减至最小。(3)栅栏效应DFT 是对单位园上z 变换的均匀取样,所以它不可能将频谱视为一个连续函数。这样就产生了栅栏效应。就一定的意义上看,用DFT 来观看频谱就好像通过一个尖桩的栅栏来观看一个图景一样,只能在离散点上看到真实的频谱。这样就有可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所挡住,不能被我们观察到。减小栅栏效应的一个方法是借助于原序列的末端增加一些零值,从而变动DFT 的点数。这一方法实际上是人为的改变了对真实频谱采样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置

23、,从而使得原来看不到的频谱的峰点或谷点就有可能看到了。IFFT 一般可以通过FFT 程序来完成,只要对Xk取共轭,进行FFT 运算,然后再取共轭,并乘以因子1/N,就可以完成IFFT。实验中用到的信号序列:a) Gaussian 序列: b) 衰减正弦序列: 三、实验内容1用三种不同的DFT 程序计算的傅里叶变换,并比较三种程序计算机运行时间。(1)用for loop 语句的M函数文件dft1.m,用循环变量逐点计算X (k);(2)编写用MATLAB 矩阵运算的M 函数文件dft2.m, 完成下列矩阵运算;(3)调用FFT 库函数,直接计算X (k);(4)分别利用上述三种不同方式编写的DF

24、T 程序计算序列x(n)的傅立叶变换,并画出相应的幅频和相频特性,再比较各个程序的计算机运行时间。M 函数文件如下:dft1.m:functionAm,pha=dft1(x);N=length(x);w=exp(-j*2*pi/N);for k=1:Nsum=0;for n=1:Nsum=sum+x(n)*w(k-1)*(n-1);endAm(k)=abs(sum);pha(k)=angle(sum);enddft2.m:functionAm,pha=dft2(x)N=length(x);n=0:N-1;k=0:N-1;w=exp(-j*2*pi/N);nk=n*k;wnk=w.(nk);Xk

25、=x*wnk;Am=abs(Xk);pha=angle(Xk);2、编制信号频谱分析的主程序(见参考流程图)和产生信号的子程序。(1)观察高斯序列的时域和频域特性,固定信号 中参数p=8,改变q 的值,使q 分别等于2,4,8,观察它们的时域和频域特性,了解当q 取不同值时,对信号序列的时域幅频特性的影响;固定q=8,改变p,使p 分别等于8,13,14,观察参数p 变化对信号序列的时域及幅频特性的影响,观察p 等于多少时,会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。(2)观察衰减正弦序列x (n) b 的时域和幅频特性,a=0.1,f=

26、0.0625,检查谱峰出现位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f,使f 分别等于0.4375 和0.5625,观察这两种情况下频谱的形状和谱峰出现为止,又无混叠和泄露现象?说明产生现象的原因。(3) 用FFT 对如下信号进行谱分析:选择抽样频率,抽样点数分别取16,32,64。(4)、实现序列的内插和抽取所对应的傅里叶变换。给定序列,做点的傅里叶变换,并求对应的傅里叶变换(N=128 点)。比较这三个计算结果得到的幅频特性图,分析其差别产生的原因。参考流程图:四、思考题FFT 在什么条件下也可以用来分析周期信号序列的频谱? 如果正弦信号,用16 点来做FFT 运算,得到的频谱是

27、信号本身的真实谱吗?为什么?五、实验报告要求1简述实验原理及目的。2给出所编制的实验主程序、实验信号序列的时域和频域图形并分析所得图形,说明参数改变时对时域和频域信号波形的影响。3简要回答思考题。实验九 IIR 数字滤波器三种结构形式的软件实现一实验目的1. 掌握IIR 数字滤波器设计的方法;2. 掌握IIR 数字滤波器直接型、级联型和并联型的基本特点并根据给定的传递函数形式正确选择是否采用直接型、级联型和并联型。3. 熟悉直接型、级联型和并联型软件实现的编程方法。二实验原理一个IIR 滤波器的系统函数给出为:其中bn和an是滤波器系数。不是一般性假定a0 =1。如果,N 就是这个IIR 滤波

28、器的阶。其差分方程表示是:有三种结构用于实现一个IIR 滤波器。1 直接型:结构数字滤波器按给出的差分方程式直接与以实现。有两种型式:直接型和直接型结构。直接型结构用两个行向量来描述:含有系数bn的向量b和含有系数an的向量a,MATLAB 中其结构实现是用filter 函数。2 级联型:将系统函数H(z)写成具有实系数的二阶节的乘积。即将分子分母多项式分解为它们各自的根,然后将一对复数共轭根或者任意两个实数根组合成二阶多项式。一般假定N为偶数,有: 式中K 是等于, 都是代表实数的二阶节系数。整个滤波器作为双二阶节的级联实现。已知直接型滤波器系数和,必须求得系数b0,。MATLAB 中用函数

29、dir2cas 来完成。然后利用函数casfiltr 实现级联型式。3并联型:这种型式中,利用部分分式展开将系统函数H(z)写成二阶节之和:其中K 是等于,是代表实数的二阶节系数。MATLAB 中用函数dir2par将直接型系数和,。转换为并联系数。然后利用函数parfiltr 实现并联型式。三实验内容1. 根据程序参考流程图,分别编制以下给出的IIR 数字滤波器直接型、级联型和并联型结构的单位脉冲响应,单位阶跃响应及频率特性的程序。2. 利用所编的程序,对以下IIR 数字滤波器,给出三种结构形式下的滤波器结构及信号流图,并画出此结构下单位脉冲响应和单位阶跃响应曲线。 参考流程图:四、思考题(

30、1)对于实验中的三种结构形式,你认为哪一种在计算机上实现更方便些,为什么?(2)所给出的IIR 数字滤波器是低通、高通还是带通?3dB 截止频率大约是多少?是否是线性相位的?(3)为何要将系统函数转换为三种不同的结构,三种结构的优缺点各是什么?五、实验报告要求1.简述实验目的及原理。2.给出数字滤波器三种结构形式的结果。3.对三种结构形式滤波器的优缺点进行分析比较。4.简要回答思考题。实验十 FIR 滤波器四种结构形式的实现一、实验目的1 掌握FIR 滤波器的各种实现形式。2 了解FIR 滤波器的各种实现形式之间的转化。3 学会用MATLAB 工具实现FIR 滤波器二、实验原理FIR 滤波器的

31、结构特点是没有环路,它的单位脉冲响应的长度是有限的,设它的长度为N,它的系统函数为= + +L+ = (1)FIR 滤波器的结构稳定,且比IIR 滤波器容易实现。它包括:直接型,级联型,线性相位型和频率采样型。1 直接型FIR 直接型的系统函数为= + +L+ = (2)FIR 滤波器的直接型结构由行向量b 表示,分母向量a 置1。MATLAB 中用filter 函数实现这个结构。2 级联型FIR 级联型的系统函数为具有实系数的二阶节的积,每个二阶节均用直接型实现,然后整个滤波器就是所有二阶节的级联。系统函数为:( (3)级联型FIR 滤波器可以用MATLAB 函数dir2cas 从直接型转化

32、而来。3线性相位型对于一个具有在0,M-1 区间上的脉冲相应的因果FIR 滤波器来说, 满足的脉冲响应称为对称脉冲响应,满足的脉冲响应称为反对称脉冲响应。线性相位型的结构就是利用这些对称条件。在MATLAB 中线性相位结构的实现是等效于直接型的。4.频率采样型由于FIR 滤波器的系数为实数,利用H(k)和的对称性,它的系统函数可以表示为 (4)当N 为奇数时,;当N 为偶数时,。 (5)根据(4),(5)两式,可以自己编写函数dir2fs 实现从直接型转化为频率采样型。三、实验内容1. 参看教材第五章有关内容,并阅读本实验原理。2. 若FIR 滤波器的直接型结构为b=1 3 5 3 1,把它转

33、化级联型结构。(提示:可以直接调用函数dir2cas)。3 编写MATLAB 函数dir2fs,存入库函数,然后直接调用该函数将直接型FIR 滤波器转化为频率采样型。设h=1,3,5,-3,-1/9。参考流程图四、思考题(1) FIR 滤波器的直接实现形式有什么缺点?(2) FIR 滤波器的级联形式在那些方面比直接形式有改进?为此它付出了什么代价?(3) 频率采样结构有什么优缺点?为了克服它的缺点,可以采用什么改进方法?五、实验报告要求1. 简述实验目的及原理。2. 整理好经过运行并证明是正确的实验程序并加上注释。绘出相应的图形。3. 简要回答思考题。实验十一 FIR 滤波器的相位特性和幅度特

34、性一、实验目的1. 了解FIR 滤波器具有线性相位的条件。2. 了解四种类型FIR 滤波器的幅频特性和相频特性及用途。3. 学会用MATLAB 工具分析FIR 滤波器。二、实验原理与方法实验八中已经讲过脉冲相应的对称与反对称,即满足为对称,满足为反对称。当在M 为奇数和偶数下结合对称和反对称的情况,就可以得到四种类型的线性相位FIR 滤波器。对其中每种类型其频率响应函数都有特有的表达式和独特的形状。可将写成:式中是振幅响应函数。线性相位实系数FIR滤波器按其M值奇偶和h(n)的奇偶对称性分为四种:1、类线性相位FIR 滤波器:h(n)为对称,N奇数。可以证明:式中a(n)由h(n)求得为:且振

35、幅响应函数该幅值关于0,p , 2p成偶对称。MATLAB中用函数Hr_Type1 来计算振幅响应。2、类线性相位FIR 滤波器:h(n)为对称,N偶数.可以证明:式中且幅频响应应函数= 可得。所以该幅值关于成奇对称,不适合作高通或带阻滤波器。MATLAB 中用函数Hr_Type2 来计算振幅响应。3、类线性相位FIR 滤波器:h(n)为反对称,M为奇数。可以证明:式中且振幅响应函数可得所以该幅值关于0,p , 2p成奇对称,不适合作高通和低通滤波器,而非常适合于近似一个理想的希尔伯特变换器和微分器。MATLAB 中用函数Hr_Type3来计算振幅响应。4、类线性相位FIR 滤波器:h(n)为

36、反对称,N为偶数。可以证明: 式中且振幅响应函数= 可得,不适合作低通。也是适合用来设计数字希尔伯特变换器和微分器的。MATLAB 中用函数Hr_Type4 来计算振幅响应。三、实验内容1. 复习课本中的有关内容,并阅读本实验原理。2. 设一个FIR 滤波器的单位脉冲响应为h=1,2,3,2,1,编写一个MATLAB 函数验证它具有线性相位。可能用到的MATLAB 函数有:freqz求频率特性,real求复数的实部,atan求反正切。3. 当h=1,2,3,-3-2,-1时,重复实验内容2,并比较两者的差异。4. 当FIR 滤波器的单位脉冲响应分别为h=1,-2,3,5,3,-2,1 , h=

37、1,-2,3,3,-2,1 ,h=1,-2,3,5,-3,2,-1,h=1,-2,3,-3,2,-1时,指出它们各属于何种类型的滤波器,并编写MATLAB函数画出它们的幅频特性曲线和H(z)的零点位置。参考流程图1. 线性相位2. 幅频特性四、思考题什么FIR 滤波器必须具有对称性?分别有哪几对称性?在四种类型的滤波器中,那种滤波器的应用最为广泛?为什么?型滤波器,型滤波器,型滤波器各不能用于何种滤波器?五、实验报告要求1.简述实验目的及原理。2.整理好经过运行并证明是正确的实验程序并加上注释。绘出相应的图形。3.简要回答思考题。实验十二 窗函数法设计FIR 数字滤波器一、实验目的1 熟悉线性

38、相位FIR 数字滤波器特性。2 了解各种窗函数对滤波特性的影响。3 掌握用窗函数法设计FIR 数字滤波器的原理、方法及计算机编程。二、实验原理FIR 数字滤波器设计中最简单的方法是窗函数法,它在时域中进行,是用一定形状的窗函数截取理想滤波器的单位脉冲响应,得到有限长的单位脉冲响应h(n),实际上是用有限长的h(n)去逼近,通过这种方式得到频率响应。近似于理想频率响应函数为,它在整个通带内有单位幅度增益和线性相位特性,而在阻带内具有零相应。一理想带宽为的LPF 由下式给出:如果所希望的滤波器的理想频率响应函数为,则其对应的单位脉冲响应为w 是截止频率,a为样本延迟,是关于a对称的从而保证线性相位

39、。因为是无限长的,所以这种滤波器是物理不可实现的。所以用窗函数w(n)将其截断,并进行加权处理,得到:其中w(n)是长度为N的窗函数。从而有 此时的h(n)是有限长的,物理可实现。因此用h(n)作为实际滤波器的系数。最后所得滤波器的性能主要由所选窗函数w(n)的类型和它的长度M决定的。这种运算就称为“加窗”。 以低通滤波器为例,说明用MATLAB 实现窗函数法设计FIR 滤波器的步骤:1 确定数字滤波器的性能要求:临界频率wk,滤波器单位脉冲响应长度N;2 根据性能要求,合理选择单位脉冲响应h(n) 的奇偶对称性,从而确定理想频率相应的幅频特性和相频特性;3 求理想单位脉冲响应(在实际计算中,

40、可对按NN(NN 远大于N)点等距离采样,并对其求IDFT 得,用代替;4 选择适当的窗函数w(n),根据求所需设计的FIR 滤波器单位脉冲响应;5 求,分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述设计过程已得到满意的结果。窗函数的傅式变换的主瓣决定了过渡带宽,的旁瓣大小和多少决定了在通带和阻带范围内波动幅度,常用的几种窗函数有:矩形窗:;Hanning 窗:Hamming 窗:Blackmen 窗:Kaiser窗:式中为零阶贝塞尔函数。三、实验内容1. 复习用窗函数法设计FIR 数字滤波器的有关内容,阅读本实验原理与方法,掌握设计步骤。2. 用矩形窗和汉明窗设计一线性

41、相位低通数字滤波器,截止频率。窗口长度N=25,49。要求在两种窗口长度情况下,分别求出h(n)及其频率响应函数,并画出幅频特性和相频特性曲线,观察3dB 带宽和20dB 带宽。讨论窗口长度N对滤波特性的影响。设计低通FIR 数字滤波器时,一般以理想低通滤波特性为逼近函数。实验原理中已给出 提示:该理想滤波器的脉冲响应 以a为中心对称。根据线性相位条件实际滤波器的脉冲响应长度为N=25,分别使用矩形函数和哈明函数对其进行截断。1) 用矩形窗函数得 2) 使用哈明窗函数得参考流程图:3. 分别用三角、汉明窗、布莱克曼窗设计FIR 低通滤波器,设N=13, ,比较三种窗函数对滤波特性的影响。参考流

42、程图:4. 根据以下指标设计一个FIR 低通滤波器:通带截止为,阻带截止频率,通带最大衰减为,阻带最小衰减为。选择一个合适的窗函数实现之,并画出该窗函数的频谱、实际单位脉冲响应频谱、理想滤波器单位脉冲响应频谱及FIR 滤波器的幅度特性曲线。(提示:可以根据阻带的最小衰减来选定窗函数,然后根据所得窗函数的过渡带宽计算公式来确定窗的长度)程序流程跟3 的基本相同,只是要通过分析设计结果选择一个最好的窗函数用来做最后的设计。5根据下列技术指标设计一数字带通滤波器:下阻带:下通带:上通带:上阻带:选择一个恰当的窗函数,确定单位冲激响应,绘出实际单位脉冲响应频谱、理想滤波器单位脉冲响应频谱及所设计的滤波

43、器的幅度响应。参考流程图:四、思考题 为什么用矩形窗来截取理想单位脉冲响应时会产生截断效应?能否用增大截取长度N 的方法来减小这种效应? 为什么用三角、海明窗、布莱克曼窗来截取时能减小通带和阻带的波动?你能否用窗函数法设计一个带通滤波器?简述设计的方法。 自己试验涉及一定条件的带阻滤波器及高通滤波器。进一步熟悉窗函数法设计滤波器方法的应用。五、实验报告要求1、简述实验目的及原理。2、总结用窗函数法设计FIR 滤波器的主要特点。3、简要回答思考题。实验十三 频率采样法设计FIR 数字滤波器一、实验目的1. 掌握用频率采样法设计线性相位FIR 数字滤波器的方法。2. 熟悉频率取样理论,熟悉内插函数

44、及其应用。3. 了解FIR 数字滤波器的频率特性和相位特性,观察过渡带取样点对滤波器幅频特性的影响。4如何由线性相位条件决定采样值。二、实验原理1. 前面介绍的窗函数法设计FIR 滤波器是一种从时域出发的方法,而频率采样法则是一种从频域出发,对所给定的理想频率响应进行等间隔采样以后,用有限的采样点来设计所期望的滤波器(在频域内采用插值的办法逼近)。设h(n)是一N点FIR 滤波器的脉冲响应,将理想频率响应加以等间隔采样: 然后以此作为实际FIR 数字滤波器的频率特性的采样值H(k),即令由H(k)通过IDFT 可得有限长序列h(n)为:- 将上式带入到Z 变换中去可以得:- = 其中)是内插函数f w以上就是用频率采样法设计FIR滤波器的基本方法,另外FIR滤波器具有线性的条件是h(n)是实序列,且,设,其中是幅度特性,为相位条件。它们满足:, M为奇数; , M为偶数q w w 经过采样后,设,它们满足:, M为奇数; ,M为偶数q 2. 最优设计法:为了得到更大的衰减,就必须增大N,并让过渡带的样本作为自由样本;也就是说,改变他们的值可以优化给定N值下的最大衰减及其过渡带宽。通过下面的实验来验证过渡带内样本变化对设计造成的结果。三、实验内容

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 建筑施工 > 施工组织方案

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922