您的当前位置:首页正文

数字信号处理实验报告 (5)

2022-02-11 来源:爱go旅游网
.

实验一

信号、系统及系统响应

一、 实验目的

1、 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定的理解。 2、 熟悉时域离散系统的时域特性。

3、 利用卷积方法观察分析系统的时域特性。

4、 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信

号、离散信号及系统响应进行频域分析。

二、实验原理

采样的的过程既是连续信号离散化的过程。采用单位冲击串进行采样,为使采样信号能不失真的还原为采样前的信号,根据奈奎斯特采样率,采样频率应该大于信号最高频率的2倍。因为时域的采样既是对时域的离散化处理,时域离散频域会进行周期延拓,为了防止频域频谱混叠,必须满足奈奎斯特采样定律。线性卷积的过程为:反褶,移位,相乘,相加。设一个N1点的序列与一个

'.

.

N2的序列进行卷积则得到N1+N2-1点的序列。时域卷积,对应频域的相乘。序列的傅里叶变换即DTFT。具有的性质有: 线性,移位性,对偶性,等等。

三、实验内容及步骤

1)分析采样序列的特性。产生采样序列

xa(n),A444.128,

a502,0502。

a、 取采样频率fs1kHz,即T1ms。观察所采样

xa(n)的幅频特性

Xej和xa(t)的幅频特性Xj在折叠频率处有无明显差别。

应当注意,实验中所得频谱是用序列的傅立叶变换公式求得的,所以在频率量度上存在关系:T。 b、改变采样频率,fs300Hz,观察Xe的变化并做记录。

jc、 进一步降低采样频率,fs200Hz,观察频谱混叠是否明显存在,说明

jXe的幅频曲线。 原因,并记录

'.

.

上图是采用不同采样频率时所得到的序列及其对应的傅里叶变换,从图中可以看到,当采样频率比较低时,频谱会发生混叠,且频率越低,混叠现象越明显。增大采样频率可以有效地防止混叠。

2) 离散信号、系统和系统响应分析。

a、观察信号xb(n)和系统hb(n)的时域和频域持性;利用线形卷积求信

xb(n)通过系统hb(n)的响应y(n),比较所求响应y(n)和hb(n)的时域及频域特性,注意它们之间有无差异,绘图说明,并用所学结论解释所得结果。

b、观察系统ha(n)对信号xa(n)的响应特性。利用线形卷积球系统响应

y(n),并判断y(n)图形及其非零值序列长度是否与理论结果一致,对

xa(n)hanR10n,说出一种定性判断y(n)图形是否正确的方

'.

.

法。调用序列傅立叶变换值子程序,求得Yejk,观察Ye的特

jR性曲线,定性判断结果的正确性。改变的长度,N=5,重复该试验。注意参数变化的影响,说明变化前后的差异,并解释所得的结果。

'.

.

从上述变换图我们可以看到,时域信号是离散的,频域必然是周期性的,时域信号是非周期的,频域则为连续的。

3) 卷积定理验证。将试验2)中的信号换成xa(n),使a=0.4,02.0734,

A=1,T=1,重复试验2)a,打印Yejk曲线;对主程序作简单修改,计

'.

.

jkjkjkYeXeHe算ab,并绘出Yejk曲线,与前面直接

对进行傅立叶变换所得幅频特性曲线进行比较,验证时域卷积定理。

通过上述图形我们可以看到两个是一样的,说明时域里两个信号卷积后的傅里叶

变换等于这两个信号分别做傅里叶变换后相乘的结果,从而验证了卷积定理的正确性。

三 思考题:

(1),由公式T,可知,其中等式左侧的为数字频率,Ω为模拟角频率,T为采样间隔。Ω是不变量,改变采样周期即T,数字角频率会发生变化。 (2),所得的结果会有一些差别,但都能验证卷积定理的正确性。因为采样点数不同,采样信号与原信号的接近程度就不同,就会导致频谱的不同。若采样点数过小就会使频谱发生混叠。

四,试验体会

通过本次试验,我对信号的采样及序列的傅里叶变换有个更进步的理解,而且通过Matlab验证了时域的卷积定理。加深了对卷积性质的理解。觉得很有收获。

'.

.

实验2 用FFT作谱分析

一、实验目的:

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

以FPT的运算结果必然满足DFT的基本性质)。 2、 熟悉FFT算法原理和FFT子程序的应用。

3、 学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差

及其原因,以便在实际中正确应用FFT。

二,实验原理 由于直接计算

DFT需要很大的运算量,在一些要求对信号进行实时处理的场合或需要处

理的信息量比较大的地方实不可取,为此设计了快速傅里叶变换,即FFT。它分为按时间抽选与按频率抽选两种方式,由于它仅仅是计算傅里叶的一种方法,所以其运算过程必然满足傅里叶变换基本性质。对于一个N点序列,一般设N为2的整数倍,不足补零。即N=2^L,则按频率抽选的FFT需要进行L运算,每级有N/2个蝶形运算,每个蝶形运算需要乘法1次,负数加法2次,总共需要N/2*L次乘法,N*L次加法,比直接计算,大大节省了运算量。如果输入为倒位序,则结果输出为自然序。

下面是8点FFT算法流图

x[0]x[4]W80 1W80W80W82X[0]X[1]

x[2] x[6]x[1]11W801W8X[2]X[3]1111X[0]X[1]X[2]X[3]1W80

x[5] x[3]x[7]1W80W80W82W8211

W831从图中我们可以看到计算FFT一般步骤为先把序列进行倒位运算,然后在计算相应的蝶形结。此方法具有原址运算,所需存储空间小等优点。

'.

.

三,实验内容及步骤

1),对2中所给出的信号逐个进行谱分析。下面给出各个信号的FFT变换区间N以及连续信号x6(t)的采样频率,供实验时参考。

x4(n),x5(n):N=8,16

上图是x5(n)的波形

上图是x5(n)的FFT后频谱图。我们可以看出时域是离散的周期的,频域也是离散周期的。

'.

.

上图是x4(n)时域波形图

上图是x4(n)频域的FFT频谱图

'.

.

2)令x(n)x4(n)x5(n),用FFT计算8点和16点离散傅里叶变换。

从时域到频域的波形及频谱我们可以,时域相加,对应频域的相加,满足DFT线性性质。 3)令x(n)x4(n)jx5(n),重复(2)。

x4(n)与x5(n)是两个序列,通过组合变成一个序列,通过一次FFT运算即可求出这两个序列的傅里叶变换。在这里x4(n)的FFT变换对应着x(n)的FFT的共轭对称序列,jx5(n)的FFT对应着其共轭反对称序列,得到x(n)的傅里叶变换后,通过公式就可以求出x4(n)和x5(n)的FFT值来。

'.

.

上述频域图形既是恢复后的x4(n)与x5(n)的FFT变换,可以看到结果是正确的。

三、思考题:

1、在N=8时,x2(n)和x3(n)的幅频特性会相同吗?为什么?N=16呢?

它们的幅频特性相同,我们可以对x2(n)以8为周期进行周期延拓,然后再取其主值区间序列,则是x2(n),x3(n)既是x2(n)经周期延拓后得到的序列再进行圆周移位,向左移或向右移4个单位,再取其主值区间而得到x3(n),我们知道序列在时域的圆周移位会在频域产生相位的移位,但是幅度不会变化。而当N=16时,x3(n)则无法通过x2(n)的移位得到。所以其幅频特性就不会相同。

四,试验体会

通过本次试验,我对FFT算法有了更深入的理解,对其软件的实现方法也有了初

'.

.

步的掌握。

实验三 用双线性变换法设计IIF滤波器

一, 实验目的

1、熟悉用双线性变换法设计IIR数字滤波器的原理与方法。 2、掌握数字滤波器的计算机仿真方法。

3、通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。

二,实验原理

用冲击响应不变化设计数字滤波器,在时域可以很好逼近模拟信号,而且设计的滤波器在频域毅

然满足相位的线性特性,但是由于S与Z平面的映射是多对一得关系,所以很容易造成频谱混叠现象的发生。而双线性变换法就可以很好克服频谱混叠,通过一个中间变量的转换达到S域与Z平面一一对应的关系。但是双线性变换法在高频部分存在严重的非线性,在低频线性还可以。它的设计是这样的通过关系式:Ω=tan(Ω1T/2);即把整个S平面转化到另一个S1平面的-/T到/T的区域。再将S1平面映射到Z平面即可。通过关系式:S=C[(1-Z^-1)/(1+Z^-1)].C常数因子可以通过几种方法确定。一般有C=2/T.其中T为时域采样间隔。先求出S平面的H(S),再利用关系式待换即得到数字滤波器H(Z)函数。 巴特沃斯低通滤波器的幅度平方函数:|Hj|^21,其中

1(/c)^2NN为滤波器的阶数,Ωc为通带截止频率。有给定的技术参数如通带截止频率,阻带截止频率,通带最大衰减,阻带最大衰减值等。求的阶数N以后,可以通过查表获得其归一化后的滤波器公式,然后再去归一化即得到所需的滤波器。

二, 实验内容

1,用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。设计指标参数为:在通带内频率低于0.2时,最大衰减小于1dB;在阻带内[0.3,]频率区间上,最小衰减大于15dB。 2、 以0.02为采样间隔,打印出数字滤波器在频率区间[0,2]上的幅频响应特性曲线。 3、 用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并分别打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。

'.

.

由以上滤波频谱响应曲线我们可以看到,可以达到技术指标,所涉及的滤波器满足要求。在通

]频率区间上,带内频率低于0.2时,最大衰减小于1dB;在阻带内[0.3,最小衰减大于15dB。

四、实验步骤:

1、 复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR数字滤波器的内容,用双线性变换法设计数字滤波器系统函数H(z)。 教材中满足本实验要求的数字滤波器函数

Hz311.2686z10.7051z211.010z10.3583z211.9044z10.2155z20.0073781z15Hkzk1A12z1z2 式中:Hkz,k=1,2,3

1Bkz1Ckz2A=0.09036,

B1=1.2686, C1=-0.7051 B2=1.0106, C2=-0.3583

'.

.

B3=0.9044, C3=-0.2155

根据设计指标,调用MATLAB信号处理工具函数buttord和butter,也可得到Hz。 由滤波器的函数可见,滤波器Hz由三个二阶滤波器H1z、H2z、H3z级联组成。

2、 编写滤波器仿真程序,计算Hz对心电图信号采样序列xa(n) 的响应序列y(n)。

ykn为第k阶滤波器Hkz的输出序列,yk1n为输入序列,根据滤波器Hz的

组成可得差分方程

yknAyk1n2Ayk1n1Ayk1n2Bkykn1Ckykn2 当k1时,yk1nxn。所以Hz对xn的总响序列yn可以用顺序迭代算法得到。即依次对k=1,2,3求解差分方程,最后得到y3nyn。仿真程序就是实现上述求解差分方程和顺序迭代算法的通用程序,也可直接调用MATLAB filter函数实现仿真。 3、 在通用计算机上运行仿真滤波程序,完成实验内容(2)和(3)。

五,试验体会

这次实验我们学习了了数字滤波器的集中射击方法,用双线性变换法设计巴特沃斯低通滤器

的步骤及方法,这是一个很重要的设计方法。通过对心电采样信号的滤波处理,我们感性的认识了数字滤波的特点与作用。

'.

.

实验四 用窗函数法设计FIR数字滤波器

一, 实验目的

1、掌握用窗函数法设计FIR数字滤波器的原理和方法。 2、熟悉线性相位FIR数字滤波器特性。 3、了解各种窗函数对滤波特性的影响。

二,实验原理

一般,设计线性相位FIR数字滤波器采用窗函数法或频率抽样法,本实验采用窗函数

法,采用矩形窗。下面简要介绍窗函数法设计FIR理论知识,更详细的相关知识请参考教材。

如果所希望的滤波器的理想频率响应函数为Hd(ejw),如理想的低通,由信号系统的

知识知道,在时域系统的冲击响应hd(n)将是无限长的,如图2、图3所示。 Hd(w) -wc wc

图3

图2

若时域响应是无限长的,则不可能实现,因此需要对其截断,即设计一个FIR滤波器频率响应H(e)如式3所示:

jwh(n)en0N1jwn来逼近Hd(ejw),即用一个窗函数w(n)来截断hd(n),

h(n)hd(n)w(n)(式3)。

最简单的截断方法是矩形窗,实际操作中,直接取hd(n)的主要数据即可。

h(n)作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数为: H(e)h(n)ejwn(式4)

jwn0N1令ze,则

jwH(z)h(n)zn(式5),式中,N为所选窗函数w(n)的长度。

n0N1'.

.

如果要求线性相位特性,h(n)还必须满足:

,根据式6中的正、负和长度N的奇偶性又将线性相位FIRh(n)h(N1n) (式6)

滤波器分成四类。要根据所设计的滤波器特性正确选择其中一类。例如:要设计线性相位低通特性,可选择h(n)h(N1n)类。

三,实验内容及步骤

1)编写能产生矩形窗、升余弦窗、改进升余弦窗和二阶升余弦窗的窗函数子程序,也可调用MATLAB相关函数。

2)编写低通FIR数字滤波器主程序。 3)上机实验内容。

A、用升余弦窗设计一线性相位低通FIR数字滤波器,截止频率c4rad。窗口长度N

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

,用四种窗函数设计线性相位低通滤波器。绘制相应的幅频特性曲线,4观察3dB和20 dB带宽以及阻带最小衰减,比较四种窗函数对滤波器特性的影响。

四,思考题

1,首先由给定参数求出各相应数字参量,p,st,2等。再求

hd(n),求出c来,从

而得到c,已知N1/2,这样就求出理想线性相位的单位冲击响应。有求出所需的阶数N,从而选定相应的窗函数。最后进行验证。

2,hd(n)=1sin[(n)2]sin[(n)1],n(n) ,再根据通带,阻带衰减1(21),n的要求,可选定窗函数(n)及窗的点数N。由此可求出线性相位所需单位冲击响应。再由h(n)的傅里叶变换,最后验证是否满足要求。

'.

.

五,总结

窗函数设计法,一般要求窗函数要满足以下两个要求:1.窗谱主瓣尽可能的窄,以获得较

陡的过渡带。2.尽量减少窗谱的最大旁瓣相对幅度,也就是能量尽量集中在主瓣。这样使尖锋和纹波减小,就可增大阻带衰减。但是这两项要求不能同时满足,往往是增加主瓣宽度以换取对旁瓣的拟制。因而选用不同的窗都是为了使幅度函数得到平坦的幅度响应和较小的阻带纹波。我们常用到的窗函数有矩形窗,巴特列特窗,汉宁窗,海明窗,布拉克曼窗以及凯泽窗。可以根据不同的需要选择响应的窗函数进行设计滤波器。

'.

因篇幅问题不能全部显示,请点此查看更多更全内容