信号与系统实验二

更新时间:2023-11-23 16:41:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验六 离散线性时不变系统分析 一、实验目的

1. 掌握离散LSI系统的单位序列响应、单位阶跃响应和任意激励下响应的MATLAB求解方法。

2. 掌握离散LSI系统的频域分析方法; 3. 掌握离散LSI系统的复频域分析方法;

4. 掌握离散LSI系统的零极点分布与系统特性的关系。 二、实验原理及方法 离散LSI系统的时域分析

描述一个N阶线性时不变离散时间系统的数学模型是线性常系统差分方程,N阶LSI离散系统的差分方程一般形式为

k?0?aky(n?k)??bix(n?i) (6.1)

i?0NM也可用系统函数来表示

Y(z)H(z)??X(z)?bziM?i?azkk?0i?0N?kb(z)b0?b1z?1?b2z?2???bMz?M?? (6.2) a(z)1?a1z?1?a2z?2???aNz?N系统函数H(z)反映了系统响应和激励间的关系。一旦上式中ak,bi的数据确定了,系统的性质也就确定了。特别注意a0必须进行归一化处理,即a0?1。

对于复杂信号激励下的线性系统,可以将激励信号在时域中分解为单位序列或单位阶跃序列的线性叠加,把这些单元激励信号分别加于系统求其响应,然后把这些响应叠加,即可得到复杂信号作用于系统的

零状态响应。因此,求解系统的单位序列响应和单位阶跃响应尤为重要。由图6-1可以看出一个离散LSI系统响应与激励的关系。

x(n)h(n)y(n)?x(n)*h(n)

X(z)H(z)Y(z)?X(z)H(z)图6-1 离散LSI系统响应与激励的关系 (1) 单位序列响应(单位响应)

单位响应h(n)是指离散LSI系统在单位序列?(n)激励下的零状态响应,因此h(n)满足线性常系数差分方程(6.1)及零初始状态,即

?ah(n?k)??b?(n?i), h(?1)?h(?2)???0 (6.3)

kik?0i?0NM按照定义,它也可表示为

h(n)?h(n)??(n) (6.4) 对于离散LSI系统,若其输入信号为x(n),单位响应为h(n),则其零状态响应yzs(n)为

yzs(n)?x(n)*h(n) (6.5) 可见,h(n)能够刻画和表征系统的固有特性,与何种激励无关。一旦知道了系统的单位响应h(n),就可求得系统对任何输入信号x(n)所产生的零状态响应yzs(n)。

MATLAB提供了专门用于求离散时间系统冲激响应的函数impz(),其调用格式有 [h,n]=impz(b,a)

求解离散系统的单位脉冲响应,其中b?[b0,b1,b2,?,bM],

2

a?[1,a1,a2,?,aN],n?[0,1,2,?]?;

[h,n]=impz(b,a,N)

求解离散系统的单位响应,采样点数由N确定,n?[0,1,2,?,N-1]?; impz(b,a) :在当前绘图窗口,用stem(n,h)绘出图形。 (2)单位阶跃响应

单位阶跃响应s(n)是指离散LTI系统在单位阶跃序列u(n)激励下的零状态响应,它可以表示为

s(n)?u(n)?h(n)?m????h(m) (6.6)

n上式表明,离散LSI系统的单位阶跃响应是单位脉冲响应的累加和,系统的单位阶跃响应和系统的单位响应之间有着确定的关系,因此,单位阶跃响应也能完全刻画和表征一个LSI系统。

MATLAB提供了专门用于求离散系统单位阶跃响应的函数stepz( ),其调用格式有

[s,n]=stepz(b,a) :求解离散系统的单位阶跃响应,其中

b?[b0,b1,b2,?,bM],a?[1,a1,a2,?,aN],n?[0,1,2,?]?;

[s,n]=stepz(b,a,N) :求解离散系统的单位阶跃响应,采样点数由N确定,n?[0,1,2,?,N-1]?;

stepz(b,a) :在当前窗口,用stem(n,s)绘出图形。

Matlab总是把由分子和分母多项式表示的任何系需要特别强调的是,

统都当作是因果系统。所以,利用impz (b,a),stepz(b,a)函数求得的响应总是因果信号。

同时,卷积和也是LSI系统求解零状态响应的重要工具之一。假设系

3

统的输入信号为x(n),单位响应为h(n),则系统的零状态响应yzs(n)可由(6.5)式求解。Matlab提供了专门用于求离散系统卷积和的函数conv( ),其调用格式有

y=conv(x,h) :求解序列x,h的卷积和,若序列x的长度为n1,序列h的长度为n2,卷积和y的长度为n1+n2-1。这一点需要特别注意,否则,作图时容易造成横纵坐标长度不匹配。

例如已知输入序列x(n)?0.8n(0?n?19),系统的单位响应

h(n)?u(n)(0?n?9),求系统的零状态响应。参考程序如下:

n1=0:19; x=0.8.^n1; subplot(231) stem(n1,x,'.'); title('x(n)'); n2=0:9; h=ones(1,10); subplot(232) stem(n2,h,'.'); title('h(n)');

y=conv(x,h); %求卷积和

m1=n1(1)+n2(1); %卷积和的起始位置

m2=n1(length(n1))+n2(length(n2)); %卷积和的结束位置 n3=m1:m2; % 卷积和的长度,这是需要大家特别注意的地方。

4

subplot(233) stem(n3,y,'.'); title('y(n)');

运行结果如图6-2所示。

10.80.60.40.2001020x(n)h(n)10.80.60.40.20051054321002040y(n)

图6-2 输入序列、单位序列及零状态响应 (4)带初始状态的任意激励下的全响应

任意激励下的离散LSI系统的全响应为零输入响应和零状态响应之和,表示为

y(n)?yzi(n)?yzs(n) (6.7)

在理论学习的过程中,同学们对低阶差分方程的求解已颇为头痛,高Matlab提供了用于求离散系统全响阶差分方程直接求解几乎不可能。应的函数filter( ),其调用格式有 y=filter( b,a,x) :求解零状态响应;

y=filter( b,a,x,zi) :求解初始条件为zi的系统的全响应,zi向量的长度为max(length(a),length(b))-1,返回值为系统的全响应。

z = filtic(b,a,y,x):将初始状态转换为初始条件,其中

x?[x(?1),x(?2),x(?3),?,x(?m)],y?[y(?1),y(?2),y(?3),?,y(?n)];

5

本文来源:https://www.bwwdw.com/article/xtct.html

Top