数字信号处理实验指导书 下载本文

其中,?k?2?k/M,k?0,1,??,M?1。X(e曲线。

j?)是一个复函数,它的模就是幅频特性

三、主要实验仪器及材料

微型计算机、Matlab6.5教学版、TC编程环境。

四、实验内容

1.知识准备

认真复习离散信号与系统、单位脉冲响应、抽样定理等有关内容,阅读本实验原理与方法。

2.编制信号产生子程序,用于产生实验中要用到的信号序列 (1)系统单位脉冲响应序列

h(n)??(n)?2?(n?1)?3?(n?2)?2?(n?3)??(n?4)

(2)矩形序列

x(n)?R6(n)

(3)理想采样信号序列 对信号xa(t)?Ae??tcos(?t)u(t)进行理想采样,可以得到一个理想的采样信号序列

x(nT)?Ae??nTcos(?nT)u(n),0?n?100。其中A为幅度因子,?是衰减因子,?是频

率,T为采样周期。这几个参数要在实验过程中输入,以产生不同的x(n)。

3.离散信号、系统和系统响应的分析

观察信号x(n)和系统h(n)的时域和频域特性;利用线性卷积求信号通过系统以后的响应。比较系统响应和系统的时域和幅频特性。注意它们之间有无差异,绘出图形。

4.分析理想采样信号序列的特性 产生理想采样信号序列,使:

(1)首先选用采样频率为1000Hz,T=1/1000,观察所得理想采样信号的幅频特性,在折叠频率以内和给定的理想幅频特性无明显差异,并作记录。

(2)改变采样频率为300Hz,T=1/300,观察所得理想采样信号的幅频特性曲线的变化,并作记录。

(3)进一步减小采样频率为200Hz,T=1/200,观察频谱混叠现象是否明显存在,说明原因,并记录此时的幅频特性曲线。

9

五、思考题

1.线性时不变系统的输出的长度与输入和系统的单位冲激响应的长度有什么关系? 2. 对信号进行理想抽样时,抽样频率不同,相应理想采样序列傅立叶变换频谱的数字频率度量是否都相同7它们所对应的模拟频率是否相同?为什么?

六、实验报告要求

1.简述实验原理及目的。

2. 总结在上机实验内容中要求比较时域、幅频曲线差异部分内容的结果,定性分析它们正确与否,并简要说明这些结果的含义。

3.总结实验所得主要结论。 4.简要回答思考题。

10

实验三 用FFT进行谱分析

实验学时:2 实验类型:设计 实验要求:必修 一、实验目的

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

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

3.学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。

二、实验原理

1.快速傅立叶变换(FFT)算法

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

nkX(k)??x(n)WN,k?0,....,N?1

n?0N?1N点的DFT可以分解为两个N/2点的DFT,每个N/2点的DFT又可以分解为两个N/4点的DFT。依此类推,当N为2的整数次幂时(N?2),由于每分解一次降低一阶幂次,所以通过M次的分解,最后全部成为一系列2点DFT运算。以上就是按时间抽取的快速傅立叶变换(FFT)算法。当需要进行变换的序列的长度不是2的整数次方的时候,为了使用以2为基的FFT,可以用末尾补零的方法,使其长度延长至2的整数次方。

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

M1x(n)?N?X(k)Wk?0N?1?nkN,?1n?0,....,N?1

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

?1WN对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此可将FFT和快速傅立

叶反变换(IFFT)算法合并在同一个程序中。

2.利用FFT进行频谱分析

11

若信号本身是有限长的序列,计算序列的频谱就是直接对序列进行FFT运算求得X(k),

X(k)就代表了序列在?0,2??之间的频谱值。

幅度谱 X(k)?2XR(k)?XI2(k)

相位谱 ?(k)?arctanXI(k)

XR(k)若信号是模拟信号,用FFT进行谱分析时,首先必须对信号进行采样,使之变成离散信号,然后就可按照前面的方法用FFT来对连续信号进行谱分析。按采样定理,采样频率fs应大于2倍信号的最高频率,为了满足采样定理,一般在采样之前要设置一个抗混叠低通滤波器。用FFT对模拟信号进行谱分析的方框图如下所示。

抗混叠低通滤波器 采样T=1/fs N点FFT

三、主要实验仪器及材料

微型计算机、Matlab6.5教学版、TC编程环境。

四、实验内容

1.知识准备

实验前学生应认真复习DFT和FFT有关的知识,掌握快速傅里叶变换的基本原理以及如何用FFT等计算信号频谱。

2.离散时间信号(序列)的产生

利用MATLAB或C语言编程产生和绘制下列两有限长序列:

cos(nT)、

8?sin(nT)、sin(0.25?nT)?2*cos(0.5?nT) nTcos(0.125?nT)?2cos(0.25?nT)、sin(0.25?nT)

3.用一种语言编写FFT的通用程序块

4.画主程序实现框图并编写主程序,实现信号的谱分析。 5.记录下实验内容中各信号x(n)的X(k)值,作出频谱图。

五、思考题

1. 根据实验中各x(n)的X(k)值以及频谱图,说明参数的变化对信号频谱产生哪些影响?

12