实验一 常见离散信号的MATLAB产生和图形显示
1、实验目的:
(1)熟悉MATLAB应用环境,常用窗口的功能和使用方法。 (2)加深对常用离散时间信号的理解。 (3)掌握简单的绘图命令。
(4)掌握线性卷积的计算机编程方法。
2、实验仪器:
PC机一台 MATLAB软件 3、实验原理:
(1)单位抽样序列
?1n?0 ?(n)??
?0n?0如果?(n)在时间轴上延迟了k个单位,得到?(n?k)即:
?1n?k ?(n?k)??
0n?0?(2)单位阶跃序列
n?0?1 u(n)??
0n?0?(3)矩形序列 RN(n)??(4)正弦序列
?10?n?N?1
?0其他x(n)?Asin(wn??)
(5)复正弦序列
x(n)?ejwn
x(n)?an
(6)指数序列
(7)线性时不变系统的响应为如下的卷积计算式:
y(n)?x(n)?h(n)?m????x(m)h(n?m)
?4、实验内容及步骤:
(1)复习常用离散时间信号的有关内容。
(2)编制程序产生上述6种序列(长度可输入确定,对(4) (5) (6)中的参数可自行选择),并绘出其图形。 (3)已知系统的单位脉冲响应h(n)?0.9u(n),输入信号x(n)?R10(n),试用卷积法求解系统的输出y(n),
1
n并绘出x(n)~n、h(n)~n及y(n)~n图形。
5、实验用MATLAB函数介绍
(1)数字信号处理中常用到的绘图指令(只给出函数名,具体调用格式参看help)
figure(); plot(); stem(); axis(); grid on; title(); xlabel(); ylabel(); text(); hold on; subplot()
(2)离散时间信号产生可能涉及的函数
zeros(); ones(); exp(); sin(); cos(); abs(); angle(); real(); imag(); (3)卷积计算可能涉及的函数 conv(); length()
注:实验过程中也可以使用自己编制的自定义函数,如impseq()、stepseq()等。
6、思考题:
MATLAB在处理数据运算时与其他高级语言相比有何不同?
7、实验报告要求
(1)简述实验目的及原理。 (2)总结实验所得主要结论。 (3)简要回答思考题。
实验二 信号、系统及系统响应
1、实验目的:
(1)熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。 (2)熟悉时域离散系统的时域特性。
(3)利用卷积方法观察分析系统的时域特性。
(4)掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
2、实验仪器:
PC机一台 MATLAB软件 3、实验原理:
采样是连续信号数字处理的第一个关键环节。对一个连续信号xa(t)进行理想采样的过程可用下式表示。
?a(t)?xa(t)p(t) x?a(t)为xa(t)的理想采样,p(t)为周期冲激脉冲, 即 其中xp(t)??(j?)?由频域卷积定理,得Xan?????(t?nT);
?1Xa[j(??m?s)] ※ T?(j?)为Xa(j?)的周期延拓,其延拓周期为采样角频率(?s?2?/T)。采样前后的频上式表明,Xa谱示意图见课本。只有满足采样定理时,才不会发生频率混叠失真。
?(j?)很不方便,下面给出用序列的傅里叶变换来计算X?(j?)的方法。在计算机上用高级语言计算X aa 2
1?w2?课本中(2.4.7)式X(e)?表示序列的傅里叶变换X(ejw)和模拟信号xa(t)X[j(?r)],?aTr???TTjw?(j?)?X(ejw)|的傅里叶变换Xa(j?)之间的关系式。与※式比较,可得Xaw??T,这说明两者之间只在频
率度量上差一个常数因子T。实验过程中应注意这一差别。
为了在数字计算机上观察分析各种序列的频域特性,通常对X(ejw)在?0,2??上进行M点采样来观察分析。 对长度为N的有限长序列x(n), 有
X(ejwk)??x(n)e?jwkn
n?0N?1其中 wk?2?k,k?0,1,?,M?1 Mjwk通常M应取得大一些,以便观察谱的细节变化。取模|X(e一个时域离散线性时不变系统的输入输出关系为
)|可绘出幅频特性曲线。
y(n)?x(n)?h(n)?m????x(m)h(n?m)
?上述卷积运算也可以在频域实现Y(ejw)?X(ejw)?H(ejw),但要注意右边的相乘是在个频点?wk?上的频谱值相乘。
4. 实验内容及步骤
(1)认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理与方法。
(2)编制并运行各实验程序,完成下述实验内容: ①分析采样序列的特性。
首先,对连续信号xa(t)?Ae?atsin(?0t)u(t)
进行采样,得到采样序列xa(n)?xa(nT)?Ae?anTsin(?0nT)u(n)
其中A为幅度因子, a为衰减因子,?0是模拟角频率,T为采样间隔。 这些参数可以在实验过程中由键盘输入,也可以在程序开始设定。如可使A?444.128,a?502,?0?502?。
分析不同采样频率时所对应的频谱混叠情况。分别取采样频率fs?10000Hz,1000Hz,500Hz,200Hz, 观察|X(e)|的变化, 并做记录(打印曲线);观察随着采样频率降低频谱混叠是否明显存在,说明原因。 ②时域离散信号、系统和系统响应分析。
先编写单位脉冲序列:xb(n)??(n)
再编写系统的单位脉冲响应序列。 本实验要用到一种FIR系统。 hb(n)??(n)?2.5?(n?1)?2.5?(n?2)??(n?3)
3
jw观察信号xb(n)和系统hb(n)的时域和频域特性;利用线性卷积求信号xb(n)通过系统hb(n)的响应
y(n),比较所求响应y(n)和hb(n)的时域及频域特性, 注意它们之间有无差别,绘图说明,并用所学理论
解释所得结果。
③卷积定理的验证。输入信号为xa(n),系统的单位脉冲响应序列为hb(n),利用线性卷积求系统的输出y(n),并利用傅里叶变换计算Y(e绘出|Y(ejwkjwkjwjw绘出|Y(ek)|特性曲线。再利用Y(ejw)?Xa(ejw)?Hb(ejw)计算Y(ek),),
)|曲线,并与前面直接对y(n)进行傅里叶变换所得幅频特性曲线进行比较,验证时域卷积定理。
5、实验用MATLAB函数介绍
sqrt(); exp(); sin();figure(); plot(); stem(); axis(); title(); xlabel(); ylabel(); text(); hold
on;grid on; subplot();abs(); angle();conv(); pbaspect(); length(); min(); max()
6、思考题:
(1)在分析理想采样序列特性的实验中,采样频率不同时,相应理想采样序列的傅里叶变换频谱的数字频率度量是否都相同?它们所对应的模拟频率是否相同?为什么?
(2)在卷积定理验证的实验中,如果选用不同的频域采样点数M值,例如,选M=10和M=20, 分别做序列的傅里叶变换,求得
Y(ejwk)?X(ejwk)?H(ejwk),k?0,1,?,M?1
所得结果之间有无差异?为什么?
7、实验报告要求
(1) 简述实验目的及实验原理,列出实验程序清单。
(2)按实验步骤附上实验过程中的信号序列、 系统单位脉冲响应及系统响应序列的时域和幅频特性曲线, 并对所得结果进行分析和解释。 (3)总结实验中的主要结论。 (4)简要回答思考题。
实验三 零极点分布对系统频率响应的影响
1、实验目的:
(1)加深对离散系统的频率响应分析和零极点分布概念的理解。 (2)学习用零极点分布的几何方法分析研究系统的频率响应。
2、实验仪器:
PC机一台 MATLAB软件
3、实验原理
如果知道系统的系统函数H(z),可以得到它的零极点分布,由零极点分布可以方便地对系统的频率响应进行定性分析。
按照教材(2.6.8)式和(2.6.9)式,系统的幅度特性由零点矢量长度之积除以极点矢量长度之积,当频率w从0变化到2?时,观察零点矢量长度和极点矢量长度的变化,重点观察那些矢量长度较短的情况。另外,由分析知道,极点主要影响频率响应的峰值,极点愈靠近单位圆,峰值愈尖锐;零点主要影响频率响应的谷值,零点愈靠近单位圆,谷值愈深,如果零点在单位圆上,那么该频率点的频率特性为零。根据这些规律可以定性画出频率响应的幅度特性。
4
峰值频率和谷值频率可以近似用响应的极点和零点的相角表示,例如极点z1?0.9ej?/4,峰值频率近似为?/4,极点愈靠近单位圆,估计法结果愈准确。
本实验借助计算机分析系统的频率响应,目的是掌握用零极点分布的几何方法分析研究系统的频率响应,
jw实验时需要将z?e代入系统函数H(z)中,再在0~2?之间,等间隔选择若干点,并计算它的频率响应。
[提示:本实验可以采取两种编程方法:①先求出系统函数H(z),再调用MTTLAB函数freqz()计算并绘制幅频特性和相频特性曲线;②先求出系统的传输函数H(ejw)的封闭表达式,再编程序计算在其给定离散频率点上的值,最后调用函数abs(),求出模值并打印|H(ejw)|~w曲线。]
4、实验内容
(1)假设系统用下面差分方程描述:
y(n)?x(n)?ay(n?1)
假设a?0.7,a?0.8,a?0.9,分别在三种情况下分析系统的频率特性,并打印幅度特性曲线。 (2)假设系统用下面差分方程描述:
y(n)?x(n)?ax(n?1)
假设a?0.7,a?0.8,a?0.9,分别在三种情况下分析系统的频率特性,并打印幅度特性曲线。 (3)假设系统用下面差分方程描述:
y(n)?1.273y(n?1)?0.81y(n?2)?x(n)?x(n?1)
试分析它的频率特性,要求打印其幅度特性曲线,并求出峰值频率和谷值频率,并与零极点的相角比较。
5、实验用MATLAB函数介绍
freqz(); plot(); subplot(); title(); xlabel(); ylabel(); abs(); angle(); max(); tf2zp(); find(); 编程提示:[H,w]=freqz(b,a,512); plot(w/pi,abs(H))%得到并画出幅频特性曲线; fuduzuidaxuhao=find(abs(H)==max(abs(H)));
w(fuduzuidaxuhao);%得到幅度最大时所对应的频率点(即峰值频率)。
6、思考题:
(1)调用freqz函数时应注意什么?如何得到一个完整周期的幅、相频特性曲线。 (2)稳定系统对极点的位置有什么要求?为什么?
7、实验报告要求
(1)简述实验目的及实验原理。
(2)将三个实验内容分别用零极点分布进行理论分析,并编程画出幅度特性曲线,求出峰值频率和谷值频率。列出程序清单及说明。
(3)将实验结果和理论分析结果进行比较。 (4)总结零极点分布对频率响应的影响。 (5)简要回答思考题。
实验四 线性卷积与循环卷积
1、实验目的:
(1)进一步掌握线性卷积的计算机编程方法,利用卷积的方法观察系统响应的时域特性。
(2)掌握循环卷积的计算机编程方法,并比较与线性卷积的差别,验证二者之间的关系。利用循环卷积的方法观察、分析系统响应的时域特性。
2、实验仪器:
5