《数字信号处理》上机实验指导书文档格式.docx
- 文档编号:15174416
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:25
- 大小:421.60KB
《数字信号处理》上机实验指导书文档格式.docx
《《数字信号处理》上机实验指导书文档格式.docx》由会员分享,可在线阅读,更多相关《《数字信号处理》上机实验指导书文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
学习完第六章以后可以进行实验三。
FIR滤波器的单位冲激响应是有限长的,设计滤波器的目的即是求出符合要求的单位冲激响应。
窗函数法是一种基本的,也是一种重要的设计方法。
学习完第七章后可以进行实验四。
以上所提到的四个实验,可根据实验课时的多少恰当安排。
例如:
实验一可根据学生在学习《信号与系统》课程后,掌握的程度来确定是否做此实验。
若时间紧,可以在实验三、四之中任做一个实验。
建议实验二必做,因为DFT和FFT是学习数字信号处理必须掌握的内容。
二、关于使用计算机语言
由于数字信号处理实验的主要目的是验证数字信号处理的有关理论,进一步理解巩固所学理论知识。
所以,实现实验用的算法语言可以有许多种,但为了提高实验效率,要求学生用编程效率比C语言高好几倍的MATLAB语言。
下面介绍MATLAB的主要特点。
(有关MATLAB的启动、程序运行和有关信号处理工具箱函数等内容将放到最后附录中介绍。
)
MATLAB是一种交互式的以矩阵为基本数据结构的系统。
在生成矩阵对象时,不要求明确的维数说明。
所谓交互式,是指MATLAB的草稿纸编程环境。
即用户每输入一条命令并按回车键,MATLAB系统便解释执行之,并显示执行结果。
根据该结果,用户立即知道刚输入的命令的正确性,或利用中间结果进行其他处理等。
与C语言或FORTRON语言做科学数值计算的程序设计相比较,利用MATLAB可节省大量的编程时间。
将其用于数字信号处理实验,则可大大提高实验效率,在有限的上机时间内,实验内容可增加几倍。
例如,C语言FFT子程序有70多行,而用MATLAB只调用一个fft函数即可实现对序列进行FFT计算。
另外,MATLAB的工具箱及图形显示(打印)功能,可满足各层次人员直观、方便的进行分析、计算和设计工作,从而可大大节省时间。
例如,序列的卷积、滤波,系统函数H(z)的幅频特性和相频特性等计算,均有现成的工具箱函数。
而用其它算法语言完成这些计算的编程比较麻烦,且程序较长。
由于上述特点,在美国一些大学里,MATLAB已成为辅助教学的有益工具。
MATLAB已成功地用于数字信号处理课程中的问题分析、实验、滤波器设计及计算机模拟。
附录中所介绍的信号处理工具箱函数及绘图函数基本可满足本教材所要求的上机实验需要。
对序列进行谱分析的MATLAB程序及运行结果见附录。
三、上机实验
实验一:
信号、系统及系统响应
1.实验目的
①熟悉连续信号经过理想抽样前后的频谱变化关系,加深对时域抽样定理的理解。
②熟悉时域离散系统的时域特性。
③利用卷积方法观察分析系统的时域特性。
④掌握序列傅里叶变换的计算机实验方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
2.实验原理与方法
抽样是连续信号数字处理的第一个关键环节。
对抽样过程的研究不仅可以了解抽样前后信号时域和频域特性发生的变化以及信号信息不丢失的条件,而且可以加深对傅里叶变换、Z变换和序列傅里叶变换之间关系式的理解。
我们知道,对一个连续信号xa(t)进行理想抽样的过程可用(1.1)式表示。
=δT(t)——(1.1)
其中为xa(t)的理想抽样,δT(t)为周期冲激脉冲,即
——(1.2)
的傅里叶变换为
=——(1.3)
(1.3)式表明为的周期延拓,其延拓周期为抽样角频率(Ωs=2π/T)。
抽样前后信号的频谱示意图见“参考教材图1-29”。
只有满足抽样定理时,才不会发生频率混叠失真。
在计算机上用高级语言编程直接按(1.3)式计算理想抽样的频谱很不方便。
下面导出用序列的傅里叶变换来计算的公式。
将(1.2)式代入(1.1)式并进行傅里叶变换,
==
==——(1.4)
式中的xa(nT)就是采样后得到的序列x(n),即
x(n)=xa(nT)
x(n)的序列傅里叶变换为
X(ejω)=——(1.5)
比较(1.5)和(1.4)可知
=X(ejω)|ω=ΩT——(1.6)
这说明两者之间只在频率度量上差一个常数因子T。
实验过程中应注意这一差别。
离散信号和系统在时域均可用序列来表示。
序列图形给人以形象直观的印象,它可加深我们对信号和系统的时域特征的理解。
本实验还将观察分析几种信号及系统的时域特性。
为了在数字计算机上观察分析各种序列的频域特性,通常对X(ejω)在[0,2π]上进行M点采样来观察分析。
对长度为N的有限长序列x(n),有
——(1.7)
其中,k=0,1,…,M-1
通常M应取得大一些,以便观察谱的细节变化。
取模||可绘出幅频待性曲线。
一个时域离散线性非移变系统的输入/输出关系为
y(n)=x(n)*h(n)=——(1.8)
这里,y(n)为系统的输出序列,x(n)为输入序列。
h(n)、x(n)可以是无限长,也可以是有限长。
为了计算机绘图观察方便,主要讨论有限长情况。
如果h(n)和x(n)的长度分别为N和M,则y(n)的长度为L=N+M-1。
这样,(1.8)式所描述的卷积运算就是序列移位、相乘和累加的过程,所以编程十分简单。
上述卷积运算也可以在频域实现(即卷积定理:
时域卷积,频域相乘。
Y(ejω)=X(ejω)H(ejω)——(1.9)
(1.9)式右边的相乘是在各频点{ωk}上的频谱值相乘。
3.实验内容
(1)连续信号分析
①连续时间非周期信号的选择
参考:
信号与系统(第二版)上册;
郑君里—附录三(P378)
1单边指数脉冲;
2双边指数脉冲;
4钟形脉冲;
10抽样脉冲;
1.xa(t)=E*exp(-at)(a>
0);
2.xa(t)=E*exp(-a*abs(t))(a>
0)
②用MATLAB编制程序
图1.1连续信号分析程序框图
③时域观察,频域分析
调整信号xa(t)参数,观察时域波形变化。
分析频域波形,选取近似带限频率值fmax,确定对xa(t)→x(n)=xa(nT)的抽样周期T(T=1/fs),不失真的条件应该满足抽样频率fs≥2fmax(即:
时域抽样定理)。
例如图1.2给出了单边减幅余弦信号xa(t)=exp(-10*t).*cos(2*pi*25*t)的时域和幅频特性曲线,由此图可以近似选取xa(t)的抽样频率fs≥2fmax=2×
150=300Hz。
图1.2xa(t)的时域和幅频特性曲线
(2)离散信号分析
①离散时间非周期信号x(n)的生成
对前一个实验中的连续信号xa(t)抽样,用于产生实验中要用到的信号序列x(n)=xa(nT)。
根据上一个实验分析结果选取近似带限频率值fmax,按照抽样频率fs=2fmax、fs>
2fmax和fs<
2fmax三种情况编制MATLAB源程序(T=1/fs)。
图1.3离散信号分析程序框图
调整抽样频率fs=2fmax、fs>
2fmax,观察时域波形变化,分析频域波形。
根据时域、频域的变化验证时域抽样定理X(ej2πfT)=。
改变程序中频率轴变量为:
f(Hz)模拟频率、Ω(rad/s)模拟角频率和ω(rad)数字频率,观察频率特性的周期变化,并用所学理论对以上各种情况加以解释。
例如图1.4给出了单边减幅余弦抽样信号x(n)的时域和幅频特性曲线,由此图可以观察分析选取抽样频率fs=2fmax=2×
150=300Hz时的时域和幅频特性。
图1.4xa(t)的时域和幅频特性曲线
(3)系统响应分析
①生成实验用的输入序列x(n)和系统单位冲激响应序列h(n)
输入序列:
x(n)=R10(n)
单位冲激响应序列:
h(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)
②时域离散信号、系统和系统响应分析
观察系统h(n)对输入信号x(n)=R10(n)的响应特性y(n)。
即利用线性卷积求系统响应y(n),调用有限长序列线性卷积子程序,用于完成两个给定长度的序列的卷积。
可以直接调用MATLAB语言中的卷积函数conv。
conv用于两个有限长度序列的卷积,它假定两个序列都从n=0开始。
调用格式如下:
y=conv(x,h)
改变输入信号x(n)长度,打印输出y(n)图形并判断y(n)图形及其非零值序列长度是否与理论计算结果一致。
③卷积定理的验证
a.调用序列博里叶变换数值计算子程序,求输出y(n)的频率响应Y(ejωk),观察|Y(ejωk)|特性曲线。
b.调用序列博里叶变换数值计算子程序,分别求输入序列x(n)的频率响应X(ejωk)和离散系统的冲激响应序列h(n)的频率响应H(ejωk),计算Y(ejωk)=X(ejωk)×
H(ejωk),并绘出|Y(ejωk)|曲线。
c.将a.与b.分别计算的幅频特性曲线|Y(ejωk)|进行比较,验证时域卷积定理。
图1.5给出系统响应分析实验程序流程框图,供实验者参考。
图1.5系统响应分析实验的程序框图
4.思考题
在分析理想抽样序列特性的实验中,采样频率不同时,相应理想抽样序列的傅里叶变换频谱的数字频率度量是否都相同?
它们所对应的模拟频率是否相同?
为什么?
5.实验报告要求
(1)简述实验目的及实验原理。
(2)按实验要求附上实验过程中编制的MATLAB源程序及实验中涉及的所有信号序列、系统单位冲激响应及系统响应序列的时域和幅频特性曲线,并对所得结果进行分析和解释。
(3)结合所学理论知识总结实验中的主要结论。
(4)简要回答思考题。
实验二:
用FFT做谱分析
(1)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。
(2)熟悉FFT算法原理和FFT子程序的应用。
(3)学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
2.实验步骤
(1)复习DFT的定义、性质和用DFT作谱分析的有关内容。
(cf§
3.5,§
3.6,P95-P122)
(2)复
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号处理 数字信号 处理 上机 实验 指导书