数字信号处理实验指导书(2)

2018-11-22 18:54

PC机一台 MATLAB软件 3、实验原理

(1)线性卷积:

线性时不变系统(Linear Time-Invariant System, or L. T. I系统)输入、输出间的关系为:当系统输入序列为x(n),系统的单位脉冲响应为h(n),输出序列为y(n),则系统输出为:

y(n)?x(n)?h(n)?m????x(m)h(n?m)

?上式称为线性卷积。 (2)循环卷积

设两个有限长序列x1(n)和x2(n),长度分别为N1和N2,

N点DFTN点DFT???X2(k) x1(n)?????X1(k) x2(n)??如果

X(k)?X1(k)?X2(k)

则x(n)?IDFT[X(k)]?m?0?x(m)x1N?12((n?m))NRN(n)

上式称为x1(n)和x2(n)的循环卷积。

(3)两个有限长序列的线性卷积

序列x1(n)和x2(n),长度分别为L点和P点,x3(n)为这两个序列的线性卷积,则x3(n)为

x3(n)?x1(n)?x2(n)?

且线性卷积x3(n)的非零值长度为L?P?1点。 (4)循环卷积与线性卷积的关系

m????x(m)x1?2(n?m)

序列x1(n)为L点长,序列x2(n)为P点长,若序列x1(n)和x2(n)进行N点的循环卷积xc(n),其结果是否等于该两序列的线性卷积xl(n),完全取决于循环卷积的长度。

由教材相关推导,得xc(n)??q????x(n?qN)RlN(n),也就是说,循环卷积是线性卷积的周期延拓序列再

取主值区间。

当N?L?P?1时循环卷积等于线性卷积,即xc(n)?xl(n);

当N?L?P?1时,两者不等。

4、实验内容

已知长为4的两个有限长序列

x(n)?(n?1)R4(n) h(n)?(4?n)R4(n)

(1)利用MATLAB的conv()函数求线性卷积y(n)?x(n)?h(n),并绘出图形。

(2)利用MATLAB构建的循环卷积函数计算下述4种情况下x(n)和h(n)循环卷积,并绘出图形。

x(n)⑤h(n) x(n)⑥h(n) x(n)⑦h(n) x(n)⑧h(n)

(3)调用fft()函数利用循环卷积定理计算下述4种情况下x(n)和h(n)循环卷积,并绘出图形。

x(n)⑤h(n) x(n)⑥h(n) x(n)⑦h(n) x(n)⑧h(n)

(4)比较线性卷积和循环卷积的结果,总结结论。 5、实验用MATLAB函数介绍

conv(); fft(); ifft(); stem(); figure(); fftfilt() MATLAB构建的循环卷积函数circonv()如下: function y=circonv(x1,x2)

%这里的两个序列x1,x2都是假设从1开始,一直到N; xn2=[x2(1),fliplr(x2)]; xn2(length(xn2))=[];

6

C=xn2; R=x2;

M=toeplitz(C,R); y=x1*(M);

6、思考题

若系统脉冲响应h(n)长为L,系统输入x(n)长为P,且P??L,应使用什么方法进行编程上机计算?

6、实验报告要求

(1)简述实验目的及实验原理。

(2)编程实现各实验内容,列出实验清单及说明。

(3)将实验结果和理论分析结果进行比较,并得出相应结论。 (4)简要回答思考题。

实验五 用FFT作谱分析

1、实验目的

(1)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的性质)

(2)熟悉FFT算法原理及子程序的应用。

(3)掌握用FFT对连续信号和时域离散信号进行频谱分析的基本方法。了解可能出现的分析误差和原因,以便在实际中正确应用FFT。

2、实验仪器:

PC机一台 MATLAB软件

3、实验原理

如果用FFT对模拟信号进行谱分析,首先要把模拟信号转换成数字信号,转换时要求知道模拟信号的最高截止频率,以便选择满足采样定理的采样频率。一般选择采样频率是模拟信号中最高频率的3~4倍。另外要选择对模拟信号的观测时间,如果采样频率和观测时间确定,则采样点数也确定了。这里观测时间和对模拟信号进行谱分析的分辨率有关,最小的观测时间和分辨率成倒数关系。要求选择的采样点数和观测时间大于它的最小值。

用FFT作谱分析时,要求做FFT的点数服从2的整数幂,这一点在上面选择采样点数时可以考虑满足,即使满足不了,可以通过在序列尾部加0完成。

如果要进行谱分析的模拟信号是周期信号,最好选择观测时间是信号周期的整数倍。如果不知道信号的周期,要尽量选择观测时间长一些,以减少截断效应的影响。

用FFT对模拟信号作谱分析是一种近似的谱分析。首先一般模拟信号(除周期信号外)的频谱是连续频谱,而用FFT作谱分析得到的是数字谱,因此应该取FFT的点数多一些,用它的包络作为模拟信号的近似谱。另外,如果模拟信号不是严格的带限信号,会因为频谱混叠现象引起谱分析的误差,这种情况下可以预先将模拟信号进行预滤,或者尽量将采样频率取高一些。

一般频率混叠发生在折叠频率附近,分析时要注意因频率混叠引起的误差。最后要注意一般模拟信号是无限长的,分析时要截断,截断的长度和分辨率有关,但也要尽量取长一些,取得太短因截断引起的误差会很大。举一个极端的例子,一个周期性正弦波,如果所取观察时间太短,例如取小于一个周期,它的波形和正弦波相差太大,肯定误差很大,但如果取得长一些,即使不是周期的整倍数,这种截断效应也会小一些。

4、实验步骤及内容

(1)复习DFT的定义、性质和用DFT作谱分析的有关内容。 (2)复习FFT算法原理与编程思想。

(3)编制信号产生程序,产生以下典型信号供谱分析用:

7

x1(n)?R4(n)

?n?1,0?n?3?x2(n)??8?n, 4?n?7

?0,其他n??4?n,0?n?3?x3(n)??n?3, 4?n?7

?0,其他n?x4(n)?cos?4n

x5(t)?cos(8?t)?cos(16?t)?cos(20?t)

(4)分别以变换区间N?8,16,32,对x1(n)进行FFT,画出相应的幅频特性曲线。 (5)分别以变换区间N?8,16,对x2(n),x3(n)进行FFT,画出相应的幅频特性曲线。 (6)分别以变换区间N?4,8,16,对x4(n)进行FFT,画出相应的幅频特性曲线。 (7)对模拟信号x5(t)选择采样频率和采样点数。

对x5(t)?cos(8?t)?cos(16?t)?cos(20?t),选择采样频率fs?64Hz,采样点数N分别为16,32,

64。将模拟信号x5(t)转换成序列,用x5(n)表示,再分别对它们进行N点FFT,并画出相应的幅频特性曲线。

也可以参考例程得到另一种曲线结果。

5、实验用MATLAB函数介绍

fft(); figure(); plot(); stem(); abs();title(); xlabel(); ylabel(); text(); hold on; axis(); grid on; subplot(); sin(); cos(); 等。

6、思考题

(1)在N=8时,x2(n)和x3(n)的幅频特性会相同吗? 为什么? N=16呢? (2)如果周期信号的周期预先不知道,如何用FFT进行谱分析?

7、实验报告要求

(1)简述实验目的及实验原理。

(2)编程实现各实验内容,列出实验清单及说明。

(3)将实验结果和理论分析结果进行比较,分析说明误差产生的原因以及用FFT作谱分析时有关参数的选择方法。并总结实验所得的主要结论。 (4)简要回答思考题。

例程参考

用DFT对连续信号作谱分析。已知

xa(t)=cos(200*pi*t)+sin(100*pi*t)+cos(50*pi*t);

选取不同的截取长度Tp,观察用DFT进行频谱分析时存在的截取效应(频谱泄漏和谱间干扰)。在计算机上用DFT对模拟信号进行谱分析时,只能以有限大的采样频率fs对模拟信号采样。对有限点样本序列(等价于截取模拟信号一段进行采样)作DFT变换得到模拟信号的近似频谱

8

clear;close all; fs=400;T=1/fs; Tp=0.04;N=Tp*fs;

N1=[N,4*N,8*N];%三种长度0.04s 4*0.04s 8*0.04s %矩形窗截断 for m=1:3

n=1:N1(m);

xn=cos(200*pi*n*T)+sin(100*pi*n*T)+cos(50*pi*n*T); Xk=fft(xn,4096); fk=fs*[0:4095]/4096; subplot(3,2,2*m-1);

plot(fk,abs(Xk)/max(abs(Xk))); if m==1 title('矩形窗截断'); end end

%加海明窗截断 for m=1:3

n=1:N1(m);

wn=hamming(N1(m));

xn=(cos(200*pi*n*T)+sin(100*pi*n*T)+cos(50*pi*n*T)).*wn'; Xk=fft(xn,4096); fk=fs*[0:4095]/4096; subplot(3,2,2*m)

plot(fk,abs(Xk)/max(abs(Xk))); if m==1 title('hamming窗截断'); end

实验六 IIR滤波器的设计与信号滤波

1、实验目的

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

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

2、实验仪器:

PC机一台 MATLAB软件 3、实验原理

利用双线性变换设计IIR滤波器(只介绍巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数

H(z)。

如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率

21tan(w)。接着,按照模拟低T2通滤波器的技术指标根据相应设计公式求出滤波器的阶数N和3dB截止频率?c;根据阶数N查巴特沃斯归

s一化低通滤波器参数表,得到归一化传输函数Ha(p);最后,将p?代入Ha(p)去归一,得到实际的

?cwp和ws的转换,对?p和?s指标不作变化。边界频率的转换关系为?? 9

21?z?1模拟滤波器传输函数Ha(s)。之后,通过双线性变换法转换公式s?,得到所要设计的IIR滤波器

T1?z?1的系统函数H(z)。

利用所设计的数字滤波器对实际的心电图采样信号进行数字滤波器。

4、实验步骤及内容

(1)复习有关巴特沃斯模拟滤波器的设计和用双线性变换法设计IIR数字滤波器的内容,用双线性变换法设计一个巴特沃斯IIR低通数字滤波器。设计指标参数为:在通带内频率低于0.2?时,最大衰减小于1dB;在阻带内?0.3?,??频率区间上,最小衰减大于15dB。 (2)绘制出数字滤波器的幅频响应特性曲线。

(3)用所设计的滤波器对实际心电图信号采样序列(实验数据在后面给出)进行仿真滤波处理,并分别绘制出滤波前后的心电图信号波形图,观察总结滤波作用与效果。

(4)输入为20Hz正弦和200Hz的正弦的叠加波形,要求用双线性变换法设计一巴特沃斯数字低通滤波器滤除200Hz的正弦,使输出中只保留20Hz的正弦波。并绘制出滤波前和滤波后的波形。

5、实验用MATLAB函数介绍

buttord(); butter(); bilinear(); freqz(); freqs(); filter(); figure(); plot(); stem(); abs();title(); xlabel(); ylabel(); text(); hold on; axis(); grid on; subplot();等

6、思考题

21?z?1(1)用双线性变换法设计数字滤波器过程中,变换公式s? 中T的取值, 对设计结果有无影响?

T1?z?1为什么?

(2)如果用脉冲响应不变法设计该IIR数字低通滤波器,程序如何改动?

7、实验报告要求

(1)简述实验目的及实验原理。

(2)编程实现各实验内容,列出实验清单及说明。

jw(3)由绘制的H(e)特性曲线及设计过程简述双线性变换法的特点。

(4)对比滤波前后的心电图信号波形,说明数字滤波器的滤波过程与滤波作用。 (5)简要回答思考题。

8、心电图信号采样序列x(n)

人体心电图信号在测量过程中往往受到工业高频干扰,所以必须经过低通滤波处理后,才能作为判断心脏功能的有用信息。下面给出的数据是一实际心电图信号采样序列样本x(n),其中存在高频干扰。本实验中,以x(n)作为输入序列,滤除其中的干扰成分。

x(n)?[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0-16,-38,-60,-84,-90,-66,实验七 用窗函

-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0]数法设计FIR数字滤波器

1、实验目的

(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。

(2)熟悉线性相位FIR数字滤波器特性。 (3)了解各种窗函数对滤波特性的影响。

2、实验仪器:

PC机一台 MATLAB软件 3、实验原理

10


数字信号处理实验指导书(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年吉林省高低压电器装配工技能考试试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: