数字信号处理实验讲义(233)

  • 格式:doc
  • 大小:4.15 MB
  • 文档页数:20

下载文档原格式

  / 20
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数字信号处理》实验指导书

目录

实验一 FFT频谱分析及应用 (3)

实验二 IIR数字滤波器的设计 (6)

实验三 FIR数字滤波器的设计 (10)

附录: MATLAB基本操作及常用命令 (14)

实验一 FFT频谱分析及应用

实验学时:2学时

实验类型:验证

实验要求:必修

一、实验目的:

1、学习MATLAB语言的编程和调试技巧;、

2、通过实验加深对FFT的理解;

3、熟悉应用FFT对典型信号进行频谱分析的方法。

二、实验内容

使用MATLAB程序实现信号频域特性的分析。涉及到离散傅立叶变换(DFT)、快速傅立叶变换(FFT)及信号频率分辨率等知识点。

三、实验原理与方法和手段

在各种信号序列中,有限长序列占重要地位。对有限长序列可以利用离散傅立叶变换(DFT)进行分析。DFT不但可以很好的反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上进行分析。

有限长序列的DFT是其z变换在单位圆上的等距离采样,或者说是序列傅立叶的等距离采样,因此可以用于序列的谱分析。FFT是DFT的一种快速算法,它是对变换式进行一次次分解,使其成为若干小数据点的组合,从而减少运算量。

在MATLAB信号处理工具箱中的函数fft(x,n),可以用来实现序列的N点快速傅立叶变换。

经函数fft求得的序列一般是复序列,通常要求出其幅值和相位。MATLAB 中提供了求复数的幅值和相位的函数:abs、angle,这些函数一般和fft同时使用。

四、实验组织运行要求

1、学生在进行实验前必须进行充分的预习,熟悉实验内容;

2、学生根据实验要求,读懂并理解相应的程序;

3、学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服从实验室人员管理;

4、教师在学生实验过程中予以必要的辅导,独立完成实验;

5、采用集中授课形式。

五、实验条件

1、具有WINDOWS 98/2000/NT/XP 操作系统的计算机一台; 2.、MATLAB 编程软件。 六、实验步骤

在“开始--程序”菜单中,找到MATLAB 程序,运行启动;

进入MATLAB 后 ,在Command Window 中输入实验程序,并执行; 记录运行结果图形,作分析。 具体步骤如下:

1、模拟信号)8cos(5)4sin(2)(t t t x ππ+=,以)1:0(01.0-==N n n t 进行采样,求: (1)N =40点FFT 的幅度频谱,从图中能否观察出信号的2个频谱分量? (2)提高采样点数,如N =128,再求该信号的幅度频谱,此时幅度频谱发生了什么变化?信号的2个模拟频率和数字频率各为多少?FFT 频谱分析结果与理论上是否一致?

2、一个连续信号含三个频谱分量,经采样得以下序列:

))215.0(2cos())15.0(2cos()15.02sin()(n df n df n n x +⨯++⨯+⨯=πππ

(1)N =64,df 分别为161、1/64,观察其频谱;

(2)N =64、128,df 为1/64,做128点得FFT ,其结果有何不同?

3、被噪声污染得信号,比较难看出所包含得频率分量,如一个由50Hz 和120Hz 正弦信号构成的信号,受零均值随机噪声的干扰,数据采样率为1000Hz ,试用FFT 函数来分析其信号频率成分,要求:(1)画出时域波形;(2)分析信号功率谱密度。

注:在MATLAB 中,可用函数rand (1,N )产生均值为0,方差为1,长度为N 的高斯随机序列。 七、思考题

FFT 对信号进行频谱分析时,信号的频率的分辨率与什么有关?能否给出其数学关系?

八、实验报告要求

1、报告中要给出实验的MATLAB 程序,并对每个语句给出注释,说明语句作用;

2、简述实验目的和原理;

3、按实验步骤附上实验信号序列和幅频特性曲线,分析所得到的图形,说明参数改变时对时域和频域的影响;

4、总结实验中的主要结论;

5、收获和建议。

九、参考程序

程序1:

N=40;n=0:N-1;

t=0.01*n;

x=2*sin(4*pi*t)+5*cos(8*pi*t);

k=0:N/2;w=2*pi/N*k;

X=fft(x,N);

magX=abs(X(1:N/2+1));

subplot(2,1,1);stem(n,x,'.');title('signal x(n)');

subplot(2,1,2);plot(w/pi,magX);title('FFT N=40');

xlabel('f (unit :pi)');ylabel('|X|');grid

程序3:

t=0:0.001:0.8;x=sin(2*pi*50*t)+cos(2*pi*120*t);

y=x+1.5*randn(1,length(t));

subplot(3,1,1);plot(t,x);

subplot(3,1,2);plot(t,y);

%title('press any key,continue...');

%pause;

Y=fft(y,512);

P=Y.*conj(Y)/512;

f=1000*(0:255)/512;

subplot(3,1,3);plot(f,P(1:256));

实验二 IIR 数字滤波器的设计

实验学时:3学时 实验类型:综合 实验要求:必修

知识点:IIR 数字滤波器,脉冲响应不变法,双线性变换法 一、实验目的

1、掌握脉冲响应不变法和双线性变换法设计IIR 数字滤波器的原理和方法;

2、观察双线性变换法和脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法和脉冲响应不变法的特点和区别。 二、实验内容

使用MATLAB 编写程序,实现IIR 数字滤波器的设计。涉及脉冲响应不变法和双线性变换法设计IIR 数字滤波器的方法、不同设计方法得到的IIR 滤波器频域特性异同等知识点。 三、实验原理与方法和手段 1、脉冲响应不变法

所谓脉冲响应不变法就是使数字滤波器的单位脉冲响应序列h(n)等于模拟滤波器的单位冲激响应和a h (t)的采样值,即:)()()(nt h t h n h a nT t a ===,其中,T 为采样周期。

在MATLAB 中,可用函数impinvar 实现从模拟滤波器到数字滤波器的脉冲响应不变映射,调用格式为:

[b,a]=impinvar(c,d,fs) [b,a]=impinvar(c,d)

其中,c 、d 分别为模拟滤波器的分子和分母多项式系数向量;fs 为采样频率(Hz ),缺省值fs=1Hz ;b 、a 分别为数字滤波器分子和分母多项式系数向量。 2、双线性变换法:

由于s 平面和z 平面的单值双线性映射关系为s =1

1

211z T z

---+,其中T 为采样周期。