数字信号处理实验代码

  • 格式:doc
  • 大小:631.50 KB
  • 文档页数:29

数字信号处理实验报告

题 目: 数字信号处理

班 级: 0308409

姓 名: 杨 海 清

学 号: 030840910

指导老师: 李 时 东

时 间: 2010-12-30

实验一:系统响应及系统稳定性

一、实验目的:

(1)掌握 求系统响应的方法。

(2)掌握时域离散系统的时域特性。

(3)分析、观察及检验系统的稳定性。

二、实验原理

在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。

系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。

实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当n时,系统的输出。如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n的加大,幅度趋于稳定,达到稳态输出。

三、实验步骤

(1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter函数或conv函数求解系统输出响应的主 程序。程序中要有绘制信号波形的功能。

(2)给定一个低通滤波器的差分方程为

)1(9.0)1(05.0)(05.0)(nynxnxny

输入信号 )()(81nRnx

)()(2nunx

a) 分别求出系统对)()(81nRnx和)()(2nunx的响应序列,并画出其波形。

b) 求出系统的单位冲响应,画出其波形。

(3)给定系统的单位脉冲响应为

)()(101nRnh

)3()2(5.2)1(5.2)()(2nnnnnh

用线性卷积法分别求系统h1(n)和h2(n)对)()(81nRnx的输出响应,并画出波形。

(4)给定一谐振器的差分方程为

)2()()2(9801.0)1(8237.1)(00nxbnxbnynyny

令 49.100/10b,谐振器的谐振频率为0.4rad。

a) 用实验方法检查系统是否稳定。输入信号为)(nu时,画出系统输出波形。

b) 给定输入信号为

)4.0sin()014.0sin()(nnnx

求出系统的输出响应,并画出其波形。

四、实验代码:

内容一

A=[1,-0.9];B=[0.05,0.05]; %

x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %

x2n=ones(1,128);

hn=impz(B,A,58);

subplot(2,2,1);

y='h(n)';

tstem(hn,y);

title('(a)系统响应脉冲响应h(n)');box on

y1n=filter(B,A,x1n);

subplot(2,2,2);

y='y1n(n)';

tstem(y1n,y);

title('(b)系统对R8(n)的响应y1n(n)');box on

y2n=filter(B,A,x2n);

subplot(2,2,3);

y='y2n(n)';

tstem(y2n,y);

title('(c)系统对u(n)的响应y2n(n)');box on

定义stem(xn,yn):

function tstem(xn,yn)

n=0:length(xn)-1;

stem(n,xn,'.');box on

xlabel('n');ylabel(yn);

axis([0,n(end),min(xn),1.2*max(xn)])

内容二

x1n=[1 1 1 1 1 1 1 1];

h1n=[ones(1,10) zeros(1,10)];

h2n=[1 2.5 2.5 1 zeros(1,10)];

y21n=conv(h1n,x1n);

y22n=conv(h2n,x1n);

figure(2);

subplot(2,2,1);y='h1(n)';tstem(y1n,y);

title('(d)系统的脉冲响应h1(n)');box on

subplot(2,2,2);y='y21(n)';tstem(y21n,y);

title(' (e) h1(n)与R8(n)的响应¦y21(n)');box on

subplot(2,2,3);y='h2(n)';tstem(h2n,y);

title('(f) 系统的脉冲响应h2(n)');box on

subplot(2,2,4);y='y22(n)';tstem(y22n,y);

title(' (g) h2(n)与R8(n)的响应y22(n)');box on

定义stem(xn,yn):

function tstem(xn,yn)

n=0:length(xn)-1;

stem(n,xn,'.');box on

xlabel('n');ylabel(yn);

axis([0,n(end),min(xn),1.2*max(xn)])

内容三

un=ones(1,256);

n=0:225;

xsin=sin(0.014*n)+sin(0.4*n);

A=[1 -1.8237 0.9801];

B=[1/100.49 0 -1/100.49];

y31n=filter(B,A,un);

y32n=filter(B,A,xsin);

figure(3)

subplot(2,1,1);y='y31(n)';tstem(y31n,y);

title('(h)谐振器对u(n)的响应y31n');box on

subplot(2,1,2);y='y32(n)';tstem(y32n,y);

title(' (i)谐振器对正弦波信号的响应y32(n)');box on

定义stem(xn,yn):

function tstem(xn,yn)

n=0:length(xn)-1;

stem(n,xn,'.');box on

xlabel('n');ylabel(yn);

axis([0,n(end),min(xn),1.2*max(xn)])

五、实验结果:

内容一:

内容二:

内容三:

六、思考题

(1)如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应? 如何求

答:可以,先对原序列x(n)以N为周期进行周期延拓后取主值区序列,

()[()]()NNixnxniNRn

再计算N点DFT则得到N点频域采样:

2()DFT[()] =() , 0,1,2,,1jNNNkNXkxnXekN

(2)如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号会有何变化,用前面第一个实验结果进行分析说明。

答:系统对)(nu和)4.0sin()014.0sin()(nnnx的响应序列分别如图(h)和(i)所示。由图(h)可见,系统对)(nu的响应逐渐衰减到零,所以系统稳定。由图(i)可见,系统对)4.0sin()014.0sin()(nnnx的稳态响应近似为正弦序列sin(0.4)n,这一结论验证了该系统的谐振频率是0.4 rad。

实验二 时域采样与频域采样

一、实验目的

时域采样理论与频域采样理论是数字信号处理中的重要理论。要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;要求掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。

二、实验原理与方法

时域采样定理的要点是:

(1)对模拟信号)(txa以间隔T进行时域等间隔理想采样,形成的采样信号的频谱)(ˆjX是原模拟信号频谱()aXj以采样角频率s(Ts/2)为周期进行周期延拓。

(2)采样频率s必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的频谱不产生频谱混叠。

TjaeXjX)()(ˆ

此式说明理想采样信号的傅立叶变换可用相应的采样序列的傅立叶变换得到,只要将自变量ω用T代替即可。

频域采样定理的要点是:

对信号x(n)的频谱函数X(ejω)在[0,2π]上等间隔采样N点,N点IDFT[()NXk]得到的序列就是原序列x(n)以N为周期进行周期延拓后的主值区序列

由上式可知,频域采样点数N必须大于等于时域离散信号的长度M(即N≥M),才能使时域不产生混叠。