通信08-数字信号处理实验指导书

更新时间:2023-03-15 21:09:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数字信号处理》

实验指导书

《数字信号处理》实验指导书 莆田学院电信系

目 录

实验一 离散时间信号与系统的傅立叶分析…………………………………………1 实验二 时域采样定理…………………………………………………………………4 实验三 用DFT(FFT)对时域离散信号进行频谱分析……………………………7 实验四 用DFT(FFT)对连续信号进行频谱分析…………………………………10 实验五 实验六

IIR数字滤波器设计…………………………………………………………13 FIR数字滤波器设计…………………………………………………………18

1

《数字信号处理》实验指导书 莆田学院电信系

实验一:离散时间信号与系统的傅立叶分析 学时安排:2学时

实验类别:验证性 实验要求:必做

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、教学目的和任务

用傅立叶变换对离散时间信号和系统进行频域分析。

二、实验原理介绍

对信号进行频域分析就是对信号进行傅立叶变换。对系统进行频域分析即对它的单位脉冲响应进行傅立叶变换,得到系统的传输函数;也可以由差分方程经过傅立叶变换直接求它的传输函数;传输函数代表的就是系统的频率响应特性。但传输函数是?的连续函数,计算机只能计算出有限个离散频率点的传输函数值,因此得到传输函数以后,应该在0~2?之间取许多点,计算这些点的传输函数的值,并取它们的包络,该包络才是需要的频率特性。当然,点数取得多一些,该包络才能接近真正的频率特性。

注意:非周期信号的频率特性是?的连续函数,而周期信号的频率特性是离散谱,它们的计算公式不一样,响应的波形也不一样。

三、实验仪器及设备

计算机、MATLAB软件。

四、实验内容和步骤

1.已知系统用下面差分方程描述:

y(n)?x(n)?ay(n?1)

试在a?0.95和a?0.5两种情况下用傅立叶变换分析系统的频率特性。要求写出系统的传输函数,并打印 H(ej?)~? 曲线。

2.已知两系统分别用下面差分方程描述:

y1(n)?x(n)?x(n?1) y2(n)?x(n)?x(n?1)

试分别写出它们的传输函数,并分别打印 H(ej?)~? 曲线。

3.已知信号x(n)?R3(n),试分析它的频域特性,要求打印 X(ej?)~? 曲线。

?(n),试分析它的频率特性,并4.假设x(n)??(n),将x(n)以2为周期进行延拓,得到x画出它的幅频特性。

下面对实验用的MATLAB函数进行介绍。 1.abs

1

《数字信号处理》实验指导书 莆田学院电信系

功能:求绝对值(复数的模)。

y=abs(x):计算实数x的绝对值。当x为复数时得到x的模(幅度值)。 当x为向量时,计算其每个元素的模,返回模向量y。 2.angle 功能:求相角。

Ph=angle(x):计算复向量x的相角(rad)。Ph值介于 -?和 +?之间。 3.freqz

功能:计算数字滤波器H(z)的频率响应。

H=freqz(B,A,w):计算由向量w指定的数字频率点上数字器H(z)的频率响应H(ejw),结果存于H向量中。向量B和A分别为数字滤波器系统函数H(z)的分子和分母多项式系数。

[H,w]=freqz(B,A,M,’whole’):计算出M个频率点上的频率响应,存放在H向量中,M个频率点存放在向量w中。freqz函数自动将这M个频点均匀设置在频率范围 [0,2?]上。缺省whole时,M个频点均匀设置在频率范围 [0,?]上。

调用参数B和A与系统函数的关系由下式给出:

H(z)?B(z)A(z)?B(1)?B(2)z?1?1???B(M)z???A(N)z?(N?1)?(N?1)?B(M?1)z?A(N?1)z?M?NA(1)?A(2)z

缺省W和M时,freqz自动选取512个频率点计算。不带输出向量的freqz函数将自动绘出幅频和相频曲线。其他几种调用格式可用命令help查阅。

freqz函数用于计算模拟滤波器的频率响应函数,详细功能及调用格式用help命令查看。 例如:八阶梳状滤波器系统函数为:

H(z)?B(z)?1?z?8

用下面的简单程序绘出H(z)的幅频与相频特性曲线如图1所示。

% example for freqz B=[1 0 0 0 0 0 0 0 -1]; A=1; freqz(B,A)

10Magnitude (dB)0-10-20-3000.10.20.30.40.50.60.70.8Normalized Frequency (?? rad/sample)0.91100Phase (degrees)500-50-10000.10.20.30.40.50.60.70.8Normalized Frequency (?? rad/sample)0.91

图1 八阶梳状滤波器幅度和相位曲线

五、注意事项和要求

2

《数字信号处理》实验指导书 莆田学院电信系

实验报告要求:

(1)严格按照学院的《学生实验报告》格式和内容要求书写;实验报告原理及思考题回答等内容只能手写,图件和程序可以打印并粘贴在报告上;实验报告内容不得雷同,否则一律做零分处理。

(2)简述实验原理及目的;对各实验内容进行理论分析和推导;分析各实验内容,并和理论分析推导结果进行对比。

(3)对于每一项实验内容要求有MATLAB仿真结果图及整理好经过运行并证明是正确的程序,并且加上关键的注释。

(4)回答思考题。

(5)总结实验所得主要结论。

六、作业及预习要求

思考题:

(1)对各实验内容进行理论分析和推导。

(2)分析各实验内容,并和理论分析推导结果进行对比。 预习要求:

用DFT(FFT)对时域离散信号进行频谱分析。

七、参考书目

《数字信号处理》(第二版),丁玉美、高西全,西安电子科技大学出版社,2001年。

《MATLAB在数字信号处理中的应用》,薛年喜,清华大学出版社,2003年。

3

《数字信号处理》实验指导书 莆田学院电信系

实验二:时域采样定理 学时安排:2学时

实验类别:验证性 实验要求:选做

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、教学目的和任务

熟悉并加深采样定理的理解,了解采样信号的频谱和模拟信号频谱之间的关系。

二、实验原理介绍

模拟信号经过理想采样,形成采样信号。采样信号的频谱和模拟信号频谱之间的关系如下:

?(j?)?1XaT??m???Xa(j(??m?s))

此式告诉我们,采样信号的频谱是由模拟信号的频谱按照采样角频率周期性的延拓形成的,由此得到结论:采样频率必须大于模拟信号最高频率的两倍以上,才不会引起频率混叠。但用此式在计算机上进行计算不大方便,下面我们将导出另外一个公式,以便在计算机上进行实验。

对模拟信号xa(t)进行理想采样的公式如下式:

??a(t)?xa(t)x?n????(t?nT) (1)

对上式进行傅立叶变换,得到:

?(j?)?Xa??????a(t)e?j?tdt x? ????[xa(t)?n????(t?nT)]e?j?tdt

将上式的积分号和求和号交换次序,得到:

?(j?)?Xa?n????????xa(t)?(t?nT)e?j?tdt (2)

在上式的积分号内,只有当t=nT时,才有非零值,因此:

?(j?)? Xa??n???xa(nT)e?j?nT

式中,xa(nT)在数值上等于由采样得到的时域离散信号x(n),如果再将???T代入,得到:

?(j?)?Xa??n???x(n)e?j?n (3)

4

《数字信号处理》实验指导书 莆田学院电信系

上式的右边就是序列的傅立叶变换X(ej?),即:

?(j?)?X(ej?)Xa???T (4)

上式说明采样信号的傅立叶变换可用相应的序列的傅立叶变换得到,只要将自变量?用

?T代替即可。

?(j?)是将模拟信号的频谱按照采样角频率为周这里有个问题要解释,采样信号的频谱Xa期,进行周期延拓形成的,而序列的傅立叶变换是以2?为周期,这里是否一致?答案是肯定的。因为按照公式???T?2?f/fs,当f?fs时,??2?,因此序列的傅立叶变换以2?为周?(j?)的折叠频率,如果产期,转换到模拟域就是以采样频率fs为周期。另外,f?fs/2是Xa生频率混叠,就是在该处附近发生,在数字域中,就是???附近易产生频率混叠。

有了以上的公式和概念,就可以用计算机研究对模拟信号的采样定理。

三、实验仪器及设备

计算机、MATLAB软件。

四、实验内容和步骤

1.给定模拟信号如下:

xa(t)?Ae?atsin(?0t)u(t)

rad/s,将这些参数代入式中,对

假设式中A?444.128,??502,?0?502?xa(t)进行傅立叶变换,得到Xa(j?),并可画出它的幅频特性Xa(jf)~f;根据该曲线可以

选择采样频率。

2.按照选定的采样频率对模拟信号进行采样,得到时域离散信号x(n):

x(n)?xa(nT)?Ae?anTsin(?0nT)u(nT)

这里给定采样频率如下:

fs=1 kHz、300 Hz、200 Hz。分别用这些采样频率形成时域离散信号,按顺序分别用x1(n)、

x2(n)、x3(n)表示。选择观测时间Tp?50ms。

3.计算x(n)的傅立叶变换X(ej?j?):

ni?1X(e)?FT[x(n)]??n?0Ae?anTisin(?0nTi)e?j?n (5)

式中,i?1,2,3,分别对应三种采样频率的情况

5

《数字信号处理》实验指导书 莆田学院电信系

111??s,T2?s,T3?s?。采样点数以下式计算: ?T1?1000300200??ni?TpTi (6)

式中, ?是连续变量。为用计算机进行数值计算,改用下式计算:

X(ej?kni?1)?DFT[x(n)]M??n?0Ae?anTsin(?0nTi)e?j?kn (7)

式中,?k?式。

2?MTLAB函数fft计算(7)k,k=0,1,2,3,…,M-1;M=64。可以调用MA

4.打印三种采样频率的幅度曲线X(ej?)~?k,k=0,1,2,3,…,M-1;M=64。

k下面对实验用MATLAB函数进行介绍: 1.fft

功能:一维快速傅立叶变换(FFT)。

Xk=fft(xn,N):采用FFT算法计算序列向量xn的N点DFT。缺省N时,fft 函数自动按xn的长度计算xn的DFT。当N为2的整数次幂时,fft按基2算法计算,否则用混合基算法。

2.ifft

功能:一维快速逆傅立叶变换(IFFT)。 调用格式:与fft相同。

五、注意事项和要求

与试验一《离散时间信号与系统的傅立叶分析》中注意事项和要求相同。

六、作业及预习要求

1.简述实验原理。

2.针对三种采样频率情况,进行分析讨论。 3.写出主要结论。

七、参考书目

《数字信号处理》(第二版),丁玉美、高西全,西安电子科技大学出版社,2001年。 《MATLAB在数字信号处理中的应用》,薛年喜,清华大学出版社,2003年。

6

《数字信号处理》实验指导书 莆田学院电信系

实验三:用DFT(FFT)对时域离散信号进行频谱分析 学时安排:2学时

实验类别:验证性 实验要求:必做

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、教学目的和任务

1. 进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法, 所以

FFT的运算结果必然满足DFT的基本性质)。

2.掌握DFT(FFT)对时域离散信号进行频谱分析的方法。

二、实验原理介绍

1、DFT和FFT原理:

长度为N的序列x(n)的离散傅立叶变换为X(k):

N?1X(k)??x(n)Wn?0nkN,k?0,....,N?1

首先按n的奇偶把时间序列x(n)分解为两个长为N/2点的序列:

x1(n)?x(2r) r=0,1,...,N/2-1 x2(n)?x(2r?1) r=0,1,...,N/2-1

则x(n)的DFT为X(k)

N?1X(k)???2?N?n?0N/2?1x(n)WNx(2r)Wx1(r)W?j2?N/2knN/2?12krN?r?0N/2?1???r?0N/2?1x(2r?1)WN2krk(2r?1)?r?02krN?r?0x2(r)WNWNk

由于W2krN?e?j2Kr?ekr?WN/2,故有:

N/2?1krN/2?1X(k)??r?0x1(r)WkkrN/2?WkN?r?0x2(r)WN/2k?0,1,...,N/2?1

kr?X1(k)?WNX2(k)其中X1(k) 和X2(k)分别为x1(n) 和x2(n)的N/2点DFT。因为X1(k) 和X2(k)均是以N/2为周期的,且WNk?N/2??WN。因此可将N点DFT X(k)分解为下面的形式:

kkX(k)?X1(k)?WNX2(k) X(k?

k=0,1,...,N/2-1

N2)?X1(k)?WNX2(k) k=0,1,...,N/2-1

7

k《数字信号处理》实验指导书 莆田学院电信系

通过上面的推导可以看出,N点的DFT可以分解为两个N/2点的DFT,每个N/2点的DFT又可以分解为两个N/4点的DFT。依此类推,当N为2的整数次幂时(N?2M),由于每分解一次

降低一阶幂次,所以通过M次的分解,最后全部成为一系列2点DFT运算。以上就是按时间抽取的快速傅立叶变换(FFT)算法。

序列X(k)的离散傅立叶反变换为:

x(n)?1NN?1?k?0X(k)WN?nk,-1

n?0,....,N?1

-1

离散傅立叶反变换与正变换的区别在于WN变为WN,并多了一个1/N的运算。因为WN和WN

对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此可将FFT和快速傅立叶反变换(IFFT)算法合并在同一个程序中。 2、MATLAB中计算DFT(FFT)的函数

函数fft用来求序列的DFT,调用格式为:[Xk]=fft(x,N) 其中x 为有限长序列,N为序列x的长度,Xk为序列xn的DFT。

函数ifft用来求IDFT,调用格式为:[x]=ifft(Xk,N) 其中,Xk为有限长序列,N为序列

Xk的长度,x为序列Xk的IDFT。 三、实验仪器及设备

计算机、MATLAB软件。

四、实验内容和步骤

(1) 复习DFT的定义、 性质和用DFT作谱分析的有关内容。 (2) 用MATLAB编制程序产生以下典型信号供谱分析用:

x1(n)?R4(n)?n?1,?x2(n)??8?n??0?4?n?x3(n)??n?3??0x4(n)?cos0?n?34?n?70?n?34?n?7

?4nnx5(n)?10?0.8 (0?n?8)(3)分别以变换区间N=8,16,32对x1(n)?R4(n)进行DFT(FFT),画出相应的幅频特性曲

线;

(4)分别以变换区间N=8,16对x2(n)、x3(n)分别进行DFT(FFT),画出相应的幅频特性曲

8

《数字信号处理》实验指导书 莆田学院电信系

线;

(5)分别以变换区间N=4,8,16,对x4(n)进行DFT(FFT),画出相应的幅频特性曲线; (6)① 将x5(n)分解成xep(n)和xop(n),分别作出xep(n)和xop(n)的时域曲线;

② 分别画出DFT[xep(n)]、DFT[xop(n)]、Re[X(k)]、Im[X(k)]相应的幅频特性曲线; (7) 按以上实验内容要求, 上机实验, 并写出实验报告。

五、注意事项和要求

与试验一《离散时间信号与系统的傅立叶分析》中注意事项和要求相同。

六、作业及预习要求

1.思考题:

(1)用实验内容中的(3)分析DFT的变换区间对频域分析的作用,并说明DFT的物理意

义?

(2)对于实验内容(4),分析当N=8时两个信号的幅频特性为什么一样?而N=16时又不

一样?

(3)实验内容(6)的图说明了DFT的什么重要特性? 2.预习DFT(FFT)对连续信号进行频谱分析的方法。

七、参考书目

《数字信号处理》(第二版),丁玉美、高西全,西安电子科技大学出版社,2001年。

《MATLAB在数字信号处理中的应用》,薛年喜,清华大学出版社,2003年。

9

《数字信号处理》实验指导书 莆田学院电信系

实验四:用DFT(FFT)对连续信号进行频谱分析 学时安排:2学时

实验类别:验证性 实验要求:选做

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、教学目的和任务

1. 掌握用DFT(FFT)对模拟信号进行谱分析的方法,理解可能出现的分析误差及其原因,

以便在实际中正确应用FFT。

2.熟悉应用FFT实现两个序列的线性卷积的方法。

二、实验原理介绍

1.用DFT(FFT)对连续信号进行频谱分析

用DFT(FFT)对模拟信号做谱分析是一种近似的谱分析。首先一般的模拟信号(周期信号除外)的频谱是连续谱,而用FFT做谱分析得到的是数字谱,因此应该取FFT的点数多一些,用它的包络作为模拟信号的近似谱。另外,如果模拟信号不是严格的带限信号,会因为频谱混叠现象引起谱分析的误差,这种情况下可以预先将模拟信号进行预滤,或者尽量将采样频率取高一些。最后要注意一般的模拟信号是无限长的,分析时要截断,截断的长度与对模拟信号进行频谱分析的分辨率有关。如果要进行谱分析的模拟信号是周期信号,最好选择观测时间是信号周期的整数倍,如果不知道信号的周期,要尽量选择观测时间长一些,以减少截断效应的影响。

在运用DFT(FFT)对模拟信号进行谱分析的过程中主要可能产生以下三种误差: (1) 混叠现象

对模拟信号进行谱分析时首先要对其采样,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原模拟信号的频谱。

避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。

(2) 截断效应

实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。

泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减至最小。

(3) 栅栏效应

DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数,就一定意义上看,用DFT来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实的频谱,这样就有可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所拦住,不能被我们观察到。

10

《数字信号处理》实验指导书 莆田学院电信系

减小栅栏效应的一个方法就是借助于在原序列的末端填补一些零值,从而变动DFT的点数,这一方法实际上是人为地改变了对真实频谱采样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置,从而使得频谱的峰点或谷点暴露出来。

2.用FFT计算线性卷积

用FFT可以实现两个序列的圆周卷积。在一定的条件下,可以使圆周卷积等于线性卷积。一般情况,设两个序列的长度分别为N1和N2,要使圆周卷积等于线性卷积的充要条件是FFT的长度N(N≥N1+N2 ) 对于长度不足N的两个序列,分别将他们补零延长到N。当两个序列中有一个序列比较长的时候,我们可以采用分段卷积的方法。有两种方法:

重叠相加法:将长序列分成与短序列相仿的片段,分别用FFT对它们作线性卷积,再将分段卷积各段重叠的部分相加构成总的卷积输出。

重叠保留法:这种方法在长序列分段时,段与段之间保留有互相重叠的部分,在构成总的卷积输出时只需将各段线性卷积部分直接连接起来,省掉了输出段的直接相加。

3.MATLAB中计算DFT(FFT)的函数

用函数U=fft(u,N)和u=ifft(U,N)计算N点序列的DFT正、反变换。

三、实验仪器及设备

计算机、MATLAB软件。

四、实验内容和步骤

(1) 复习用DFT(FFT)对连续信号进行频谱分析的误差问题 以及用DFT(FFT)进行线性卷积的

方法 。

(2) 用MATLAB编制程序产生以下实验信号:

x1(t)?R?(t) ?=1.5msx2(t)?sin(2?ft??/8) 频率f自己选择 x3(t)?cos8?t?cos16?t?cos20?t(3)分别对以上三种模拟信号选择采样频率和采样点数:

<1> 对x1(t)?R?(t) ,选择采样频率fs=4k、8k、16k Hz,采样点数用??fs计算。 <2> 对x2(t)?sin(2?ft??/8),频率f自己选择,采样频率fs?4f,观测时间

Tp?0.5T,T,2T采样点数用T?fs计算。

<3> 对x3(t)?cos8?t?cos16?t?cos20?t,选择采样频率fs?64HZ,采样点数分

别为16、32、64。分别将它们转换成序列,顺序用x1(n)、x2(n)、x3(n)表示,再分别将它们进行FFT(如果采样点数不满足2的整数幂,可以通过序列尾部加零满足)并画出各自的幅频特性曲线。

(4)利用DFT的方式计算下面两序列的线性卷积:

11

《数字信号处理》实验指导书 莆田学院电信系

x(n)??1,2,1,1,2,1,1,2?(n?0)五、注意事项和要求

h(n)??0,1,3,2,0?。 (n?0)与试验一《离散时间信号与系统的傅立叶分析》中注意事项和要求相同。

六、作业及预习要求

1.思考题:

(1)根据实验中三种不同信号的频谱图,说明参数的变化对信号频谱产生哪些影响? (2)基2 FFT相对于DFT在运算速度上有什么改进? 2.预习IIR数字滤波器设计。

七、参考书目

《数字信号处理》(第二版),丁玉美、高西全,西安电子科技大学出版社,2001年。

《MATLAB在数字信号处理中的应用》,薛年喜,清华大学出版社,2003年。

12

《数字信号处理》实验指导书 莆田学院电信系

实验五:IIR数字滤波器设计 学时安排:2学时

实验类别:验证性 实验要求:必做

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、教学目的和任务

1.熟悉用双线性变换法设计IIR数字滤波器的原理和方法; 2.了解用脉冲响应不变法设计IIR数字滤波器的原理和方法;

3.掌握双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点;

4.掌握数字滤波器的计算机仿真方法。

二、实验原理介绍

IIR数字滤波器的系统函数为z?1的有理分式:

N?bH(z)?k?0Nkz?1

k1??ak?1z?1设计IIR滤波器的系统函数,就是要确定H(z)的阶数N及分子分母多项式的系数ak和bk,使其H(ej?)?H(z)z?ej?满足指定的频率特性。

由于模拟滤波器的设计有许多简单而严谨的设计公式和大量的图表可以利用,因此IIR滤波器设计的方法之一是:先设计一个合适的模拟滤波器,然后将模拟滤波器通过适当的变换转换成满足给定指标的数字滤波器。

1、Butterworth模拟低通滤波器

幅度平方函数: Ha(j?)?21???1?????c?2N

其中,N为滤波器的阶数,?c为通带截止频率。

13

《数字信号处理》实验指导书 莆田学院电信系

2.窗函数法设计FIR滤波器原理

设欲设计的滤波器的理想频率响应为Hd(e是一对傅式变换,因此有

?j?),单位脉冲响应为hd(n),hd(n)与Hd(ej?)Hd(ej?)?12??n???hd(n)e?jn?

hd(n)?????Hd(ej?j?)ejn?d?

根据给定的Hd(e)求得的hd(n)一般是无限长的且是非因果的。为了得到一个因果的有

限长的滤波器h(n),最直接的方法是截断hd(n),或者说用一个窗口函数w(n)对hd(n)进行加窗处理:

h(n)?hd(n)w(n)

h(n)成为实际设计FIR滤波器的单位脉冲响应,其频率响应为H(eN?1j?)为:

H(ej?)??h(n)en?0?j?n

其中N为窗口w(n)的长度。窗口函数的形状和窗口长度N决定了窗函数法设计出的FIR滤波器的性能。

3.窗函数法设计线性相位FIR滤波器步骤

1)数字滤波器的性能要求:临界频率{ωk}、滤波器单位脉冲响应长度N;

2)根据性能要求,合理选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应

Hd(e

j?)的幅频特性和相频特性;

19

《数字信号处理》实验指导书 莆田学院电信系

3)求理想单位脉冲响应hd(n)。在实际计算中,可对Hd(ej?)按M(M远大于N)点等距离采样,并对其求IDFT得hM(n),用hM(n)代替hd(n);

4)选择适当的窗函数w(n),根据h(n)?hd(n)w(n)求所需设计的FIR滤波器单位脉冲响应; 5)求H(ej?),分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述设计过程,以得到满意的结果。 4.常见的窗函数

j?窗函数的傅式变换W(ej?)的主瓣决定了H(ej?)过渡带宽。W(e)的旁瓣大小和多少决定

了H(ej?)在通带和阻带范围内波动幅度,常用的几种窗函数有:

5.MATLAB中用于FIR滤波器设计的函数 1)MATLAB提供的窗函数 函数 Boxcar(N) Triang(N) Hanning(N) Hamming(N) Blackman(N) Kaiser(N,beta)

2)窗函数法设计FIR滤波器

①fir1函数:设计具有标准频率响应的FIR滤波器

B=fir1(n,wn):返回所设计的n阶低通FIR滤波器。b为滤波器的系数,wn为截止频率; B=fir1(n,wn,’high’):设计一个n阶高通的FIR数字滤波器; B=fir1(n,wn,’low’):设计一个n阶低通的FIR数字滤波器;

B=fir1(n,wn,’bandpass’):设计一个n阶带通的FIR数字滤波器;

B=fir1(n,wn,’stop’):设计一个n阶带阻的FIR数字滤波器;

B=fir1(n,wn,win):输入参数win用来指定所使用的窗函数的类型,默认为hamming窗; ②fir2函数:设计具有任意频率响应的FIR滤波器

B=fir2(n,f,a):设计一个n阶的FIR滤波器,其幅频响应向量由输入参数f和a来指定,其中f为频率点向量;

③kaiserord函数:估计采用凯塞窗设计的FIR滤波器的参数

20

函数功能 返回N点矩形窗函数 返回N点三角窗函数 返回N点汉宁窗函数 返回N点海明窗函数 返回N点布莱克曼窗函数 返回给定beta值时N点凯塞窗函数 《数字信号处理》实验指导书 莆田学院电信系

[n,wn,beta,type]=kaiserord(f,a,dev,fs):得到当采用凯塞窗设计FIR滤波器时所需要的有关凯塞窗的参数,包括阶数n、归一化截止频率wn、凯塞窗控制旁瓣的参数beta,以及传递给函数fir1用于指定滤波器类型的type。输入f是频带边缘频率向量;a是由f指定的各个频带上的幅值向量;dev指定各个通带或阻带上的最大输出误差。

三、实验仪器及设备

计算机

四、实验内容和步骤

1、实验内容

1)用升余弦窗设计一线性相位低通FIR数字滤波器,截止频率?c??4窗口长度N=15,rad。

33。要求在两种窗口长度情况下,分别求出h(n),打印出相应的幅频特性及相频特性曲线,观察3dB带宽和20dB带宽。总结窗口长度N对滤波特性的影响。

设计低通FIR数字滤波器时,一般以理想低通滤波特性为逼近函数Hd(ej?),即:

Hd(ej??j?a??e)????0???c?c????j? 其中:a?1?c??c?j?a?j?nN?12d??sin?c(n?a)

hd(n)?12?????Hd(e)ej?n?2??ee?(n?a)

2)n=33,?c??/4,用四种窗函数设计线性相位低通滤波器。绘制相应的幅频特性曲线,

观察3dB和20dB带宽以及阻带最小衰减,比较四种窗函数对滤波器特性的影响。 2.实验步骤

1)复习用窗函数法设计FIR数字滤波器一节内容, 阅读本实验原理, 掌握设计步骤

2)编写程序

① 编写能产生矩型窗、升余弦窗、改进升余弦窗和二阶升余弦窗的窗函数子程序。 ② 编写主程序。参考主程序框图如下图所示:

开始读入窗口长度N计算hd(n)调用窗函数子程序求w(n)计算h(n) = hd(n)w(n)调用子程序(函数)计算H(k) = DFT[h(n)]调用绘图子程序(函数)绘制H(k)幅度相位曲线结束

其中幅度特性要求用dB表示。

21

《数字信号处理》实验指导书 莆田学院电信系

五、注意事项和要求

实验报告要求:

1、严格按照学院的《学生实验报告》格式和内容要求书写,实验报告除程序和图件外只能手写,不能打印;实验报告内容不得雷同,否则,一律为零分。 2、简述实验目的和原理。

3、整理好经过运行并证明是正确的程序并且加上关键的注释,附上仿真图形。

4、按照实验步骤和要求,比较各种情况下的滤波性能,说明窗口长度N和窗函数类型对滤波特性的影响。

5、总结用窗函数法设计FIR滤波器的主要特点。

六、作业及预习要求

思考题:

如果没有给定h(n)的长度N,而是给定了通带边缘截止频率ωc和阻带临界频率ωp,以及相应的衰减,你能根据这些条件用窗函数法设计线性相位FIR低通滤波器吗?

七、参考书目

《数字信号处理》(第二版),丁玉美、高西全,西安电子科技大学出版社,2001年。

《MATLAB在数字信号处理中的应用》,薛年喜,清华大学出版社,2003年。

22

本文来源:https://www.bwwdw.com/article/ev6v.html

Top