《数字信号处理》实验报告
专 业 电子信息工程
学 号 091308304
姓 名 丁宝宝
一、实验目的
实验一 利用FFT实现快速卷积
1.加深理解FFT在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT进行数字信号处理。
2.掌握循环卷积和线性卷积两者之间的关系。
二、实验原理
用FFT来快速计算有限长度序列的线性卷积。
这种方法就是先将输入信号x(n)通过FFT变换为它的频谱采样值x(k),然后再和FIR滤波器的频响采样值H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积H(k)X(k)通过快速傅里叶变换(简称IFFT)还原为时域序列,即得到输出y(n)。
现以FFT求有限长序列的卷积及求有限长度序列与较长序列间的卷积为例来讨论FFT的快速卷积方法。
序列x(n)和h(n)的长差不多。设x(n)的长为N1,h(n)的长为N2,要求
N?1y(n)?x(n)?y(n)??h(m)x(n?m)
m?0用FFT完成这一卷积的具体步骤如下:
①为使两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积长度N?N1?N2?1,若采用基2-FFT完成卷积运算,要求N?2(m为整数)。
m②用补零方法使x(n)和h(n)变成列长为N的序列。
0?n?N1?1?x(n)x(n)??N1?n?N?1?0 0?n?N2?1?h(n)h(n)??N2?n?N?1?0③用FFT计算x(n)和h(n)的N点离散傅里叶变换。 ④完成X(k)和H(k)乘积,Y(k)?x(k)H(k) ⑤用FFT计算 Y(k)的离散傅里叶反变换得
*?1??nk?N?1?1*?nk?
y(n)???Y(k)?WN????Y(k)?WN???k?0?N?k?0?N?N?1三、主要实验仪器及材料
微型计算机、Matlab6.5教学版。
四、实验内容
1.数字滤波器的脉冲响应为h(n)??1/2?RN2(n),N2?8。 输入序列x(n)可选下列几种情况
n
①x(n)?RN1(n)N1?8。 ②x(n)?cos2?RN1(n)N1?8。 N1n?1?③x(n)???RN1(n)N1?8。
?3?2.实验前,预先编制一个应用FFT实现数字滤波器的通用程序。 3.上机独立调试,并打印或记录实验结果。
4.将实验结果与预先笔算的结果比较,验证其正确性。
五、思考题
1.N同时取8、16、32时,线性卷积和循环卷积的结果有何不同,为什么?
2.分析直接计算线性卷积和利用FFT计算线性卷积的时间。
附程序
xn1=[1,1/2,1/4,1/8,1/16,1/32,1/64,1/128]; %建立x1(n)序列 xn2=[1,1,1,1,1,1,1,1]; %建立x2(n)序列 N=length(xn1); n=0:N-1;k=0:N-1;
Xk1=fft(xn1,N); %由x1(n)的FFT求X1(k) Xk2=fft(xn2,N); %由x2(n)的FFT求 Yk=Xk1.*Xk2; %Y(k)=X1(k)X2(k) yn=ifft(Yk,N) %由Y(k)的IFFT求y(n) yn=abs(yn)
subplot(2,3,1),stem(n,xn1,'k'); title('x1(n)');
subplot(2,3,2),stem(n,xn2,'k'); title('x2(n)');
subplot(2,3,3),stem(n,yn,'k'); title('y(n)');
subplot(2,3,4),stem(k,abs(Xk1),'k'); title('X1(k)');
subplot(2,3,5),stem(k,abs(Xk2),'k'); title('X2(k)');
subplot(2,3,6),stem(k,abs(Yk),'k'); title('Y(k)');
实验二 数字滤波器的结构
一、 实验目的
(1) 加深对数字滤波器分类与结构的了解;
(2) 明确数字滤波器的基本结构及其相互间的转换方法;
(3) 掌握用MATLAB进行数字滤波器各种结构相互间转换的子函数及程序编
写方法。 二、 实验原理
一个离散LSI系统可用系统函数来表示;
Y?z?X?z?H?z???1??akz?kk?0m?0N?bM?mzmb0?b1z?1?b2z?2???bMz?M? ?1?2?N1?a1z?a2z???aNz也可用差分方程来表示:
y?n???aky?n?k???bmx?n?m?
k?1m?0NM当ak至少有一个不为0时,则在有限z平面上存在极点,表示一个IIR数字滤波器;当ak全都为0时,系统不存在极点,表示一个FIR系统。
IIR数字滤波器的基本结构分为直接Ⅰ型、直接Ⅱ型、级联型和并联型。 FIR数字滤波器的基本结构分为横截型、级联型、并联型、、线性相位型和频率抽样型。 三、
实验仪器
微型计算机、MATLAB 四、 实验内容
(1) 已知一个IIR系统的系统函数为
0.1?0.4z?1?0.4z?2?0.1z?3H?z??
1?0.3z?1?0.55z?2?0.2z?3 将其从直接型转换为级联型和并联型结构,并画出各种结构的流程图。 (2) 已知一个FIR系统的系统函数为
H?z??0.2?0.885z?1?0.212z?2+0.212z?3+0.885z?4