文档库 最新最全的文档下载
当前位置:文档库 › 离散线性时不变系统分析

离散线性时不变系统分析

离散线性时不变系统分析
离散线性时不变系统分析

实验六 离散线性时不变系统分析

一、 实验目的

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

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

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

4. 掌握离散LSI 系统的零极点分布与系统特性的关系。

二、实验原理及方法

1.

离散LSI 系统的时域分析

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

)

()(0

i n x b k n y a M

i i N k k -=-∑∑== (6.1) 也可用系统函数来表示

12001212120

()

()()()

()1M

i

M i

i M N

N

k

N k k b z

b b z b z b z Y z b z H z X z a z a z a z a z a z

----=----=++++==

==

++++∑∑ (6.2)

系统函数()H z 反映了系统响应和激励间的关系。一旦上式中k a ,i b 的数据确定了,系统的性质也就确定了。特别注意0a 必须进行归一化处理,即01a =。

对于复杂信号激励下的线性系统,可以将激励信号在时域中分解为单位序列或单位阶跃序列的线性叠加,把这些单元激励信号分别加于系统求其响应,然后把这些响应叠加,即可得到复杂信号作用于系统的零状态响应。因此,求解系统的单位序列响应和单位阶跃响应尤为重要。由图6-1可以看出一个离散LSI 系统响应与激励的关系。

()

h n ()H z ()x n ()X z ()()()

Y z X z H z =()()*()

y n x n h n =

图6-1 离散LSI 系统响应与激励的关系

(1) 单位序列响应(单位响应)

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

()()

N M

k

i

k i a h n k b n i δ==-=-∑∑, (1)(2)0h h -=-== (6.3)

按照定义,它也可表示为

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

zs

y n

()()*()zs y n x n h n = (6.5)

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

y n 。

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

求解离散系统的单位响应,其中012[,,,,]M

b b b b b =,12[1,,,,]N a a a a =,[0,1,2,]n '=;

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

求解离散系统的单位响应,采样点数由N 确定,[0,1,2,

,N-1]n '=;

impz(b,a) :在当前窗口,用stem(n,h)绘出图形。 (2)单位阶跃响应

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

()()()()n

m s n u n h n h m =-∞

=*=

∑ (6.6)

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

MATLAB 提供了专门用于求离散系统单位阶跃响应的函数stepz( ),其调用格式有 [s,n]=stepz(b,a) :求解离散系统的单位阶跃响应,其中0

1

2

[,,,,]M

b b b b b =,

12[1,,,

,]N a a a a =,[0,1,2,]n '=;

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

stepz(b,a) :在当前窗口,用stem(n,s)绘出图形。 (3) 任意激励下的零状态响应

已经知道,离散LSI 系统可用常系数线性差分方程(6.1)式来描述,Matlab 提供的函数dlsim( )能对上述差分方程描述的离散LSI 系统的响应进行仿真,该函数不仅能绘制指定时间范围内的系统响应波形图,而且还能求出系统响应的数值解。其调用格式有

dlsim(b,a, x) :求解输入序列为x 的零状态响应

需要特别强调的是,Matlab 总是把由分子和分母多项式表示的任何系统都当作是因果系统。所以,利用impz (b,a),stepz(b,a),d lsim(b,a,x)函数求得的响应总是因果信号。

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

()x n ,单位响应为()h n ,则系统的零状态响应()zs y n 可由(6.5)式求解。Matlab 提供了

专门用于求离散系统卷积和的函数conv( ),其调用格式有

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

(4)带初始状态的任意激励下的全响应

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

()()()zi zs y n y n y 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):将初始状态转换为初始条件,其中

[(1),(2),

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

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

[(1),(2),(3),,()]y y y y y n =----。

2 离散LSI 系统的复频域(Z 域)分析 (1)利用Z 变换解差分方程

在前面图6-1中表示了离散系统的响应与激励的关系,由图可知,系统的响应既可以用时域的方法求解,也可以用Z 域的方法求解。当已知系统输入序列的Z 变换()X z ,系统函数()H z 时,系统响应序列的Z 变换可由()()()Y z X z H z =求出。Matlab 提供了用于求序列Z 变换和Z 反变换的函数,其调用格式有

X=ztrans(x):求无限长序列x 的Z 变换,返回Z 变换的表达式,注意这里x ,X 都是符号表达式;

x=iztrans(X):求X (z )的Z 反变换x(n),返回Z 反变换的表达式,注意这里x ,X 都是符号表达式;

[r,p,c]=residuez(b,a):把b(z)/a(z)展开成部分分式;

[b,a]=residuez(r,p,c):根据部分分式的r 、p 、c 数组,返回有理多项式。 (2)系统的零极点分布与系统因果性和稳定性的关系

因果系统的单位响应)(n h 一定满足当0

系统稳定要求 ∞

<∑∞

-∞

=n n h |)(| ,对照z 变换定义,系统稳定要求收敛域包含单位圆。如果系统因果且稳定,收敛域包含∞点和单位圆,那么收敛域可表示为:

10,||<<∞≤

MATLAB 提供了用于求系统零极点的函数,其调用格式有 roots():利用多项式求根函数来确定系统函数的零极点位置;

roots(a):求极点位置,a 为系统函数)(z H 分母多项式所构成的系数向量; roots(b):求零点位置,b 为系统函数)(z H 分子多项式所构成的系数向量;

zplane(b,a):绘制由行向量b 和a 构成的系统函数的零极点分布图;

zplane(z,p):绘制由列向量z 确定的零点、列向量p 确定的极点构成的零极点分布图。

(3)系统的零极点分布与系统频率响应的关系 将式(6.2)因式分解,得到

∏∏=-=---=N

k k M

m

m z d z c A z H 1

11

1)

1()

1()( (6.9) 式中,00

a b

A =,m c 是)(z H 的零点,k d 是其极点。A 参数影响频率响应的幅度大小,

影响系统特性的是零点m c 和极点k d 的分布。下面采用几何方法研究系统零极点分布对系统

频率特性的影响。

将式(6.9)的分子、分母同乘以M N z +,得到:

∏∏∏∏==-=-=---=--=N k k

M

m m

M

N N

k k

M

m m

d

z c

z Az z d

z c

A z H 1

11

11

1

)

()()

1()

1()( (6.10)

假设系统稳定,将ωj e z =代入上式,得到频率响应

)]

(arg[1

1)

()()

()

()(ω

ωωω

ω

ωj e

H j j N k k

j

M

m m j M N j j e e H d

e c e Ae e H =--=∏∏==- (6.11)

设M N =,由式(6.11)得到

∏∏==--=N

k k

j

N

m m j j d

e c e

A e H 1

1

)

()

()(ωω

ω (6.12)

在z 平面上,m

j c e -ω用一根由零点m

c 指向单位圆(ωj e )上任一点B 的向量B c m 表

示,同样k

j d e -ω用一根由极点k

d 指向单位圆(ωj

e )上任一点B 的向量B d k 来表示,

B c m 和

B

d k 分别称为零点矢量和极点矢量,用极坐标表示为:

m j m m e c B c α=,

k

j k k e d B d β=。

B c m 和

B

d k 表示式代入式(6.12),得到

)(1

1

1

1

)()

()()(ω?ωωωωj j N k k

N

m m

N

k k

j

N

m m

j j e e H B

d

B

c

A d

e c

e A e H ==--=∏∏∏∏====

∏∏===N

k k

N

m m

j d

c

A e H 1

1

|)(|ω (6.13)

∑∑==-=N

k k

N

m m 1

1

)(βαω? (6.14)

系统或者信号的频率特性由式(6.13)和式(6.14)确定。按照式(6.13),知道零极点的分布后,可以很容易地确定零极点位置对系统特性的影响。当B 点转到极点附近时,极点矢量长度最短,因而幅度特性可能出现峰值,且极点愈靠近单位圆,极点矢量长度愈短,峰值愈高愈尖锐。如果极点在单位圆上,则幅度特性为∞,系统不稳定。对于零点,情况相反,当B 点转到零点附近时,零点矢量长度变短,幅度特性将出现谷值,且零点愈靠近单位圆,谷值愈接近零。当零点在单位圆上时,谷值为零。综上所述,极点位置主要影响频响的峰值位置及尖锐程度,零点位置主要影响频响的谷值位置及形状。

Matlab 提供了专门用于求离散系统频率响应的函数freqz(),其调用格式如下: [H,w] = freqz(b,a,n):返回数字系统的n 点频率值(复数),这n 个点均匀地分布在[0,

π]上,系统默认的采样点数目为512点;

[H,f] = freqz(b,a,n,Fs):用于对()j H e ω在[0,Fs/2]上等间隔采样n 点,采样点频率及相应的频响值分别存放在f 和H 中。

H = freqz(b,a,w):用于对()j H e ω在[0,2π]上进行采样,采样频率点由w 指定。

H = freqz(b,a,f,Fs):用于对()j H e ω在[0,Fs]上进行采样,采样频率点由f 指定。 freqz(b,a,n):用于在当前图形窗口中绘制幅频和相频特性曲线。 下面介绍几个实用的函数:

mag=abs(H):求解系统的绝对幅频响应;

db=20*log10((mag+eps)/max(mag)):求解系统的相对幅频响应; pha=angle(H): 求解系统的相频响应; grd=grpdelay(b,a,w): 求解系统的群延迟。 三、实验内容及步骤

1. 某离散LSI 系统的差分方程表示式为

() 1.5(1)0.5(2)()y n y n y n x n --+-=

满足初始条件(1)4y -=,(2)10y -=,求系统的单位响应,单位阶跃响应,用filter 子函数求系统输入为()(0.25)()n x n u n =时的零输入、零状态及全响应。 提示:通过解差分方程,可以得到全响应为

1112

()[()()]()

2343

n n y n u n =++,使用filter 子函数对系统差分方程进行求解,同时将求解结果与理论计算的结果进行比较。 2. 一简单的数字微分器

()()(1)y n x n x n =--

它计算输入序列的后向一阶差分。当数字微分器的输入为以下序列时,计算、画出输出序列,

并对该数字微分器的实用性进行评价。

(1)矩形脉冲:1

()5[()(20)]x n u n u n =--

(2)三角脉冲:2()[()(10)](20)[(10)(20)]x n n u n u n n u n u n =--+----

(3)正弦脉冲:

3()sin(

)[()(100)]

25

n

x n u n u n π=--

3. 已知离散系统的系统函数为

12341234

0.20.10.30.10.2()11.11.50.70.3z z z z H z z z z z --------++++=

-+-+

求该系统的零极点及零极点分布图,并判断系统的因果性和稳定性。 4. 已知离散系统的系统函数为

246246

0.10.4+0.4+0.1()10.30.60.2z z z H z z z z ------+=

-+-

绘出系统的零极点分布图,系统在0~π频率范围内的绝对幅频响应、相对幅频响应、相位频率响应和群延迟,并观察零极点分布与系统幅频响应的关系。

5. 观察系统零极点的位置对幅频响应的影响。已知一阶离散系统的系统函数为

1

1

()z z H z z p -=

-,(1)假设系统的零点在原点,极点分别取0.2、0.5、0.8,比较它们的幅频响应曲线,(2)假设系统的极点在原点,零点分别取0.2、0.5、0.8,比较它们的幅频响应曲线,从中总结零极点位置对幅频响应的影响。

四、实验处理:

3.1 MA TLAB源代码:

系统的单位冲激响应

clear

b=[1 ,-1.5 ,0.5];

a=1;

N=20;

n=1:N;

yim=impz(b,a,N);

stem(n,yim,'.');

单位阶跃响应

clear

b=[1 ,-1.5 ,0.5];

a=1;

N=20;

m=1:N;

n=m';

yst=stepz(b,a,N);

stem(n,yst,'.');

零输入、零状态及全响应

clear

a=[1 ,-1.5 ,0.5];

b=1;

N=20;

n=0:N-1;

x0=zeros(1,N);

y0=[4,10];

x=0.25.^n;

zi=filtic(b,a,y0);

yzi=filter(b,a,x0,zi);

zi1=filtic(b,a,0);

yzs=filter(b,a,x,zi1);

y=filter(b,a,x,zi);

yy=0.5.^n+(1/3)*(1/4).^n+2/3;

subplot(2,3,1),stem(n,x,'.'); title('输入信号');

subplot(2,3,2),stem(n,yzi,'.');title('系统的零输入响应'); subplot(2,3,3),stem(n,yzs,'.');title('系统的零状态响应'); subplot(2,3,4),stem(n,y,'.');title('系统的全响应');

subplot(2,3,5),stem(n,yy,'.');title('理论计算的系统全响应');

3.2 MATLAB源程序

clear

N1=30;

N2=30;

N3=120;

n1=0:N1;

n2=0:N2;

n3=0:N3;

%x1=5.*(u(n)-u(n-20));

%x2=n.*(u(n)-u(n-10))+(20-n).*(u(n-10)-u(n-20));

%x3=sin(pi.*n/25).*(u(n)-u(n-100));

y1=x1(n1)-x1(n1-1);

y2=x2(n2)-x2(n2-1);

y3=sin(pi.*n3/25).*(u(n3)-u(n3-100))+sin(pi.*(n3-1)/25).*(u(n3-1) -u(n3-1-100));;

subplot(3,1,1);

stem(n1,y1,'.');

subplot(3,1,2);

stem(n2,y2,'.');

subplot(3,1,3);

stem(n3,y3,'.');

其中函数u(n)、x1(n)、x2(n)分别定义为:

function y=u(n)

y=(n>0);

function y1=x1(n)

y1=5.*(u(n)-u(n-20));

function y2=x2(n)

y2=n.*(u(n)-u(n-10))+(20-n).*(u(n-10)-u(n-20));

3.3 MATLAB源程序:

b=[0.2 0.1 0.3 0.1 0.2];

a=[1 -1.1 1.5 -0.7 0.3];

z=roots(b)

p=roots(a)

subplot(221),zplane(b,a);

title('系统的零极点分布图');

subplot(223),impz(b,a,20);

title('系统的单位响应');

z = p =

-0.5000 + 0.8660i 0.2367 + 0.8915i

-0.5000 - 0.8660i 0.2367 - 0.8915i

0.2500 + 0.9682i 0.3133 + 0.5045i

0.2500 - 0.9682i 0.3133 - 0.5045i

系统极点在单位圆内,零点在圆上,为梳妆滤波器,系统稳定。

3.4 MATLAB源程序:

b=[0.1 0 0.4 0 0.4 0 0.1];

a=[1 0 -0.3 0 0.6 0 -0.2];

z=roots(b)

p=roots(a)

zplane(b,a);

title('零极点分布图');

n=(0:500)*pi/500;

figure(2)

[H,w]=freqz(b,a,n);

subplot(221),plot(w/pi,abs(H));grid

axis([0 1 1.1*min(abs(H)) 1.1*max(abs(H))]);

title('绝对幅频响应');

subplot(222),plot(w/pi,angle(H));grid

axis([0 1 1.1*min(angle(H)) 1.1*max(angle(H))]); title('相频响应');

db=20*log10(abs(H));

subplot(223),plot(w/pi,db);grid

axis([0 1 -100 5]);

title('相对幅频响应(dB)');

grd=grpdelay(b,a,w);

subplot(224), plot(w/pi,grd);grid

title('群延迟');

z =

0 + 1.6180i

0 - 1.6180i

0 + 1.0000i

0 - 1.0000i

0 + 0.6180i

0 - 0.6180i p =

0.6190 + 0.6304i

0.6190 - 0.6304i

0.5729

-0.6190 + 0.6304i -0.6190 - 0.6304i -0.5729

3.5.1 MATLAB源程序:

b=[0 1];

m=[0.2 0.5 0.8];

for i=1:3

a=[1 -m(i)];

figure(i)

z=roots(b)

p=roots(a)

subplot(311),

zplane(b,a);

title('零极点分布图');

n=(0:500)*pi/500;

[H,w]=freqz(b,a,n);

subplot(312),plot(w/pi,abs(H));grid

axis([0 2 1.1*min(abs(H)) 1.1*max(abs(H))]); title('绝对幅频响应');

db=20.*log10(abs(H));

subplot(313),plot(w/pi,db);grid

axis([0 1 -10 6]);

title('相对幅频响应(dB)');

end

z =

Empty matrix: 0-by-1 p =

0.2000

z =

Empty matrix: 0-by-1 p =

0.5000

z =

Empty matrix: 0-by-1 p =

0.8000

3.5.2 MATLAB源程序:

a=[0 1];

b=[1 -0.2]; //分别换做0.5、0.8

z=roots(b);

p=roots(a);

subplot(211);

zplane(a,b);

title('零极点分布图');

n=(0:500)*pi/500;

[H,w]=freqz(b,a,n);

subplot(212),plot(w/pi,abs(H));grid

axis([0 2 1.1*min(abs(H)) 1.1*max(abs(H))]); title('绝对幅频响应');

五、思考题

1. 卷积和的长度与做卷积和的序列长度有何关系?如何确定卷积和的起始点和终止点?

2. 系统在原点处的零极点对系统的幅频响应有何影响?为什么?

3. 利用原理中提到的函数分析教材中的全通滤波器和梳状滤波器。

1、求解序列x,h的卷积和,若序列x的长度为n1,序列h的长度为n2,卷积和y的长度为n1+n2-1。若x的范围是:x1:x2;h的范围是:h1:h2;则卷积和的范围是:x1+h1:x2+h2;

2、系统零点在原点处,当极点在单位圆内不断增大时,幅频响应为低通,且衰减逐渐加强,初始幅度逐渐加大。

系统极点在原点处,当零点在单位圆内不断增大时,幅频响应为高通,且通带逐渐加宽,高通幅度逐渐加大。

六、实验小结

此次试验是对分析,通过实验对离散LSI系统的单位序列响应、单位阶跃响应和任意激励下响应、系统的频域分析、复频域分析、零极点分布与系统特性的MATLAB求解方法都有所了解并用MATLAB提供的函数来分析。

实验中通过读和学习老师给的例题,然后仿照例题,完成了实验要求的任务。MAYLAB 功能强大,是分析系统的有力工具。

此次实验用到的函数很多,函数调用方法也很多样,一时没法全掌握,但我已全部理解,并知道如何去使用。通过实验,我对离散性时不变系统一些特性都有所掌握,对零极点分布

对系统特性的影响也基本理解清楚。只有当极点在单位圆内,系统才稳定,此时如果零点在圆外,为全通滤波器,零点在圆上,为梳妆滤波器,零点在圆内,为最小相位延时系统。

信号与系统

实验报告

实验名称:离散线性时不变系统分析

姓名:杜胜龙

班级:电信0703

学号:200704135060

指导老师:杨永立

实验日期:2009.

离散时间系统特性分析

实验五实验报告 实验名称:离散时间系统特性分析

一、实验目的: 1 。深入理解单位样值响应,离散系统的频率响应的概念; 2。 掌握通过计算机进行求得离散系统的单位样值响应,以及离散系统的频率 响应的方法。 二、实验原理: 对于离散系统的单位样值而言,在实际处理过程中,不可能选取无穷多项的取值。往往是选取有限项的取值,当然这里会产生一个截尾误差,但只要这个误差在相对小一个范围里,可以忽略不计。 另外,在一些实际的离散系统中,往往不是事先就能得到描述系统的差分方程的,而是通过得到系统的某些相应值,则此时系统的分析就需借助计算机的数值处理来进行,得到描述系统的某些特征,甚至进而得到描述系统的数学模型。 本实验首先给出描述系统的差分方程,通过迭代的方法求得系统的单位样值响应,进而求得该离散系统的频率响应。限于试验条件,虽然给出了系统方程,但处理的方法依然具有同样的实际意义。 具体的方法是: 1 在给定系统方程的条件下,选取激励信号为δ(n),系统的起始状态为零 状态,通过迭代法,求得系统的单位样值响应h(n)(n=0,…,N )。 2 利用公式 其中Ω的取值范围为0~2π 。计算系统的频率响应。 三、实验内容 1 已知系统的差分方程为 利用迭代法求得系统的单位样值响应,取N =10。 2 利用公式 其中

#include #include #define N 10 #define M 20 #define pi 3.1415926 struct pinlv{ double fu; double xiang;}; double h[N+1],x[N+1]; struct pinlv PL(double w) { double a=0, b=0,fu,xiang; int k; struct pinlv FX; for(k=0;k<=N;k++){ a=a+h[k]*cos(-k*w); b=b+h[k]*sin(-k*w);} fu=sqrt(a*a+b*b); xiang=atan(b/a); if((a<0)&(b>0)) xiang=xiang+pi; if((a<0)&(b<0)) xiang=xiang-pi; FX.fu=fu; FX.xiang=xiang; return(FX); } main() { int i,j; double w0; struct pinlv FX[M+1]; FILE *fp1,*fp2; fp1=fopen("H:\\单位样值响应.txt","w"); fp2=fopen("H:\\频率特性.txt","w"); h[-1]=0;h[-2]=0; for(i=-1;i<=N;i++) x[i]=0; x[0]=1; for(i=0;i<=N;i++) h[i]=1.3*h[i-1]-0.4*h[i-2]+x[i-1]; printf("系统的单位样值响应为\n"); fprintf(fp1,"系统的单位样值响应(从x[0]开始)为\n"); fprintf(fp1,"激励x[i] 响应y[i]\n"); for(i=0;i<=N;i++)

实验一离散时间信号分析

实验一离散时间信号分析 一、实验目的 1. 初步掌握Matlab 的使用,掌握编写M 文件和函数文件 2. 掌握各种常用序列的表达,理解其数学表达式和波形表示之间的关系。 3. 掌握生成及绘制数字信号波形的方法。 4. 掌握序列的基本运算及实现方法。 5. 研究信号采样时采样定理的应用问题。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列{x(n)}来表示,其中x(n)代表序列的第n个数字,n 代表时间的序列,n 的取值范围为-∞< n<+∞的整数,n 取其它值x(n)没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号x a(t)进行等间隔采样,采样间隔为T,得到{x (nT )} a 一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样)δ(n)、单位阶跃序列u(n)、矩形序列R N(n)、 实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算

序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。 4.序列的卷积运算 y(n)=∑ x (m )h (n ?m )+∞m=?∞ =x(n)*h(n) 上式的运算关系称为卷积运算,式中* 代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。其计算的过程包括以下4 个步骤。 (1)反褶:先将x (n )和h (n )的变量n 换成m ,变成x (m )和h (m ),再将h (m )以纵 轴为对称轴反褶成h (-m )。 (2)移位:将h (-m )移位n ,得h (n- m )。当n 为正数时,右移n 位;当n 为负数时, 左移n 位。 (3)相乘:将h (n -m )和x (m )的对应点值相乘。 (4)求和:将以上所有对应点的乘积累加起来,即得y (n )。 三、主要实验仪器及材料 PC 机、Matlab7.0。 四、实验内容 1.知识准备 认真复习以上基础理论,理解本实验所用到的实验原理。 2.离散时间信号(序列)的产生 利用MATLAB 产生和绘制下列有限长序列:

实验三___离散时间系统的时域分析

实验三 离散时间系统的时域分析 1.实验目的 (1)理解离散时间信号的系统及其特性。 (2)对简单的离散时间系统进行分析,研究其时域特性。 (3)利用MATLAB对离散时间系统进行仿真,观察结果,理解其时域特性。 2.实验原理 离散时间系统,主要是用于处理离散时间信号的系统,即是将输入信号映射成的输出的某种运算,系统的框图如图所示: (1)线性系统 线性系统就是满足叠加原理的系统。如果对于一个离散系统输入信号为时,输出信号分别为,即:。 而且当该系统的输入信号为时,其中a,b为任意常数,输出为,则该系统就是一个线性离散时间系统。 (2)时不变系统 如果系统的响应与激励加于系统的时刻无关,则该系统是时不变系统。对于一个离散时间系统,若输入,产生输出为,则输入为,产生输出为,即: 若,则。 通常我们研究的是线性时不变离散系统。 3.实验内容及其步骤 (1)复习离散时间系统的主要性质,掌握其原理和意义。 (2)一个简单的非线性离散时间系统的仿真 系统方程为: x = cos(2*pi*0.05*n); x1[n] = x[n+1] x2[n] = x[n] x3[n] = x[n-1] y = x2.*x2-x1.*x3; 或者:y=x*x- x[n+1]* x[n-1] 是非线性。 参考:% Generate a sinusoidal input signal clf; n = 0:200; x = cos(2*pi*0.05*n); % Compute the output signal x1 = [x 0 0]; % x1[n] = x[n+1] x2 = [0 x 0]; % x2[n] = x[n] x3 = [0 0 x]; % x3[n] = x[n-1]

离散控制系统分析方法

实验二 离散控制系统分析方法 一、实验目的 利用MATLAB 对各种离散控制系统进行时域分析。 二、实验指导 1.控制系统的稳定性分析 由前面章节学习的内容可知,对线性系统而言,如果一个连续系统的所有极点都位于s 平面的左半平面,则该系统是一个稳定系统。对离散系统而言,如果一个系统的全部极点都位于z 平面的单位圆内部,则该系统是一个稳定系统。一个连续的稳定系统,如果所有的零点都位于s 平面的左半平面,即所有零点的实部小于零,则该系统是一个最小相位系统。一个离散的稳定系统,如果所有零点都位于z 平面的单位圆内,则称该系统是一个最小相位系统。由于Matlab 提供了函数可以直接求出控制系统的零极点,所以使用Matlab 判断一个系统是否为最小相位系统的工作就变得十分简单。 2.控制系统的时域分析 时域分析是直接在时间域对系统进行分析。它是在一定输入作用下,求得输出量的时域表达式,从而分析系统的稳定性、动态性能和稳态误差。这是一种既直观又准确的方法。 Matlab 提供了大量对控制系统的时域特征进行分析的函数,适用于用传递函数表示的模型。其中常用的函数列入表1,供学生参考。 例1.z z z H 5.05 .1)(2+= 试绘出其单位阶跃响应及单位斜波输入响应。 解:为求其单位阶跃响应及单位斜波输入响应,编制程序如下: num=[1.5]; den=[1 0.5 0];sysd=tf(num,den,0.1) [y,t,x]=step(sysd);

subplot(1,2,1) plot(t,y); xlabel('Time-Sec'); ylabel('y(t)'); gtext('单位阶跃响应') grid; u=0:0.1:1; subplot(1,2,2) [y1,x]=dlsim(num,den,u); plot(u,y1) xlabel('Time-Sec'); ylabel('y(t)'); gtext('单位速度响应') grid 二、实验内容 1、MATLAB在离散系统的分析应用 对于下图所示的计算机控制系统结构图1,已知系统采样周期为T=0.1s,被 控对象的传递函数为 2 () s(0.11)(0.05s1) G s s = ++ ,数字控制器 0.36 () 0.98 z D z z - = + ,试 求该系统的闭环脉冲传递函数和单位阶跃响应。 图1 计算机控制系统结构图 实验步骤: 1).求解开环脉冲传递函数,运用下面的matlab语句实现:>> T=0.1; >> sys=tf([2],[0.005 0.15 1 0]); %将传函分母展开>> sys1=c2d(sys,T,'zoh'); >> sys2=tf([1 -0.36],[1 0.98],0.1); >> sys3=series(sys2,sys1) 执行语句后,屏幕上显示系统的开环脉冲传递函数为: sys3 = 0.03362 z^3 + 0.05605 z^2 - 0.01699 z - 0.002717 --------------------------------------------------

离散信号与系统时域分析

目录 第1章设计任务及要求 (1) 1.1课程设计内容 (1) 1.2课程设计要求 (1) 第2章设计原理 (2) 2.1离散信号与系统的时域分析设计 (2) 2.1.1描写系统特性的方法介绍 (2) 2.1.2系统的时域特性 (2) 第3章设计实现 (3) 3.1实验内容与方法 (3) 3.1.1实验内容 (3) 第4章设计结果及分析 (3) 4.1程序设计结果及分析 (4) 总结 (7) 参考文献: (7) 附录: (8)

第1章 设计任务及要求 1.1课程设计内容 编制Matlab 程序,完成以下功能,产生系统输入信号;根据系统差分方程求解单位脉冲响应序列;根据输入信号求解输出响应;用实验方法检查系统是否稳定;绘制相关信号的波形。具体要求如下: (1) 给定一个低通滤波器的差分方程为 ()0.05()0.05(1)0.9(1)y n x n x n y n =+-+- 输入信号分别为182()=()()()x n R n x n u n =, ① 分别求出系统响应,并画出其波形。 ② 求出系统的单位脉冲响应,画出其波形。 (2) 给定系统的单位脉冲响应为1102()=()()() 2.5(1) 2.5(2)(3)h n R n h n n n n n δδδδ=+-+-+-,用线性卷积法求18()=()x n R n 分别对系统h1(n)和h2(n)的输出响应,并画出波形。 (3) 给定一谐振器的差分方程为() 1.8237(1)-0.9801(2)()(2)o o y n y n y n b x n b x n =--++-令b0=1/100.49,谐振器的谐振频率为0.4rad 。 1) 用实验方法检查系统是否稳定。输入信号为u(n)时,画出系统输出波形。 2) 给定输入信号为()=sin(0.014)sin(0.4)x n n n +求出系统的输出响应,并画出其波形。 1.2课程设计要求 1. 要求独立完成设计任务。 2. 课程设计说明书封面格式要求见《天津城市建设学院课程设计教学工作规范》附表1 3. 课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。 4. 简述离散系统时域分析方法和通过实验判断系统稳定性的方法;完成以上设计实验并对结果进行分析和解释;打印程序清单和要求画出的信号波形;写出本次课程设计的收获和体会。 5. 课设说明书要求: 1) 说明题目的设计原理和思路、采用方法及设计流程。 2) 详细介绍运用的理论知识和主要的Matlab 程序。 3) 绘制结果图形并对仿真结果进行详细的分析。

离散时间信号与系统分析

离散时间信号与系统分析

离散时间信号与系统分析 5-1 下列系统中,表示激励,表示响应。试判断每个激励与响应的关系是否线性的,是否具有非移变性。 (1)(2) 解: (1)线性性 则 所以系统是线性的。 移变性 则 所以系统是移变系统。 (2)线性性 , 则 所以系统是线性的。 移变性 ()x n ()y n 2()()cos()510n y n x n ππ =+()()n m y n x m =-∞ =∑112()()cos( )510n y n x n ππ =+222()()cos() 510n y n x n ππ =+1122112211222()()[()()]cos( )()()510 n k x n k x n k x n k x n k y n k y n ππ +→++=+2()()cos( )510 n y n x n ππ=+2()'()()cos()()510 n x n m y n x n m y n m ππ -→=-+≠-11 ()() n m y n x n =-∞ = ∑22 ()() n m y n x n =-∞ = ∑11 22 11 2 2[()()]()() n m k x n k x n k y n k y n =-∞ +=+∑

设 则 所以系统是非移变的。 5-2求下列信号的卷积。 (1) (2) 解: (1)由卷积的性质可知 (2) 5-3 已知差分方程,激励,初始值,,试用零输入、零状态法求全响应。 ()() n m y n x n =-∞ = ∑()'()()()()() n n k n k m p m x n k y n x n k m k p x p x m y n k --=-∞ =-∞ =-∞ -→= --===-∑∑∑而故[()(4)][()(4)]u n u n u n u n --*--sin()()2() 2n n u n u n π*[()(4)][()(4)] [()(1)(2)(3)][()(1)(2)(3)] ()2(1)3(2)4(3)3(4)2(5)(6) u n u n u n u n n n n n n n n n n n n n n n n δδδδδδδδδδδδδδδ--*--=+-+-+-*+-+-+-=+-+-+-+-+-+-221111 5510510 Z[sin()()*2()]2122n i i n z z u n u n z z z z i z i π+-+=?=-++---+121111 5510510sin()()2()Z [] 2221111 [2()()()]()5510510 n n n n i i n u n u n Z Z i Z i i i i i u n π -+-+*=-+--+=?-++-+-()3(1)2(2)()y n y n y n f n +-+-=()2()n f n u n =(0)0y =(1)2y =()y n

离散时间系统的时域分析

第七章离散时间系统的时域分析 §7-1 概述 一、离散时间信号与离散时间系统 离散时间信号:只在某些离散的时间点上有值的 信号。 离散时间系统:处理离散时间信号的系统。 混合时间系统:既处理离散时间信号,又处理连 续时间信号的系统。 二、连续信号与离散信号 连续信号可以转换成离散信号,从而可以用离散时间系统(或数字信号处理系统)进行处理: 三、离散信号的表示方法:

1、 时间函数:f(k)<——f(kT),其中k 为序号,相当于时间。 例如:)1.0sin()(k k f = 2、 (有序)数列:将离散信号的数值按顺序排列起来。例如: f(k)={1,0.5,0.25,0.125,……,} 时间函数可以表达任意长(可能是无限长)的离散信号,可以表达单边或双边信号,但是在很多情况下难于得到;数列的方法表示比较简单,直观,但是只能表示有始、有限长度的信号。 四、典型的离散时间信号 1、 单位样值函数:? ??==其它001)(k k δ 下图表示了)(n k ?δ的波形。

这个函数与连续时间信号中的冲激函数 )(t δ相似,也有着与其相似的性质。例如: )()0()()(k f k k f δδ=, )()()()(000k k k f k k k f ?=?δδ。 2、 单位阶跃函数:? ??≥=其它001)(k k ε 这个函数与连续时间信号中的阶跃函数)(t ε相似。用它可以产生(或表示)单边信号(这里称为单边序列)。 3、 单边指数序列:)(k a k ε

比较:单边连续指数信号:)()()(t e t e t a at εε=,其 底一定大于零,不会出现负数。 (a) 0.9a = (d) 0.9a =? (b) 1a = (e) 1a =? (c) 1.1a = (f) 1.1a =?

离散时间系统的分析

课程设计报告 课程设计题目:离散时间系统分析学号:201420130206 学生姓名:董晓勇 专业:通信工程 班级:1421301 指导教师:涂其远 2015年12月18日

离散时间系统的分析 一、设计目的和意义 1 . 目的: (1)深刻理解卷积和、相加、相乘运算,掌握求离散序列卷积和、相加相乘的计算方法;(2)加深理解和掌握求离散序列Z变换的方法; (3)加深和掌握离散系统的系统函数零点、函数极点和系统时域特性、系统稳定性的关系。 2 . 意义: 在对《信号与系统》一书的学习中,进行信号与系统的分析是具有十分重要的意义,同时也是必不可少的。利用matlab函数,只需要简单的编程,就可以实现系统的时域、频域分析,对系统特性进行分析,为实际的系统设计奠定了基础。本设计在离散系统Z域分析理论的基础上,利用matlab对离散系统的稳定性和频域响应进行了分析。 二、设计原理

第一部分:对离散时间系统的时域进行分析呈 对离散时间信号的代数运算(相加、相乘、卷积和),是在时域进行分析。相加用“+”来完成,相乘用“·*”来完成,卷积和则用conv 函数来实现,具体形式为y=conv(x1,x2,….),其中x1,x2,…..为输入的离散序列 ,y 为输出变量。 在零初始状态下,matlab 控制工具箱提供了一个filter 函数,可以计算差分方程描述的系统的响应,其调用形式为: y=filter(b,a,f) 其中,a=[a0,a1,a2,…]、b=[b0,b1,b2,….]分别是系统方程左、右边的系数向量,f 表示输入向量,y 表示输出向量。 第二部分:对离散时间系统的Z 域进行分析 matlab 工具箱提供了计算Z 正变换的函数ztrans,其调用形式为: F=zrtans(f) %求符号函数f 的Z 变换,返回函数的自变量为z 。 Matlab 的zplane 函数用于系统函数的零极点图的绘制,调用方式为: zplane(b,a)其中,b 、a 分别为系统函数分子、分母多项式的系数向量。 matlab 中,利用freqz() 函数可方便地求得系统的频率响应,调用格式为: freqz(b,a,N) 该调用方式将绘制系统在0~PI 范围内N 个频率等分点的幅频特性和相频特性图。 三、 详细设计步骤 1.自己设计两个离散时间序列x1、x2,对其进行相加,相乘,卷积运算,并显示出图形。 2.根据已知的LTI 系统:y[n]-0.7y[n-1]-0.6y[n-2]+y[n-3]=x[n]+0.5[n-1],得其在Z 域输 入输出的传递函数为: 1 12310.5()10.70.6z H z z z z ----+= --+ 利用matlab 求:(1)系统函数的零点和极点,并在z 平面显示他们的分布;(2)画出幅频响应和相频响应的特性曲线。 四、 设计结果及分析 (1).自行设计产生两个离散序列信号,对其进行相加、乘及卷积运算

现代控制理论 离散时间系统、 时变系统和非线性系统的状态空间表达式

《现代控制理论》MOOC课程 1.5 离散时间系统、时变系统和非线性系统的状态空间表达式

一. 时间离散系统 离散系统的状态空间表达式可用差分方程组表示为 x(k +1)=Gx(k)+Hu (k)y k =Cx k +Du(k) 二. 线性时变系统 其系数矩阵的元素中至少有一个元素是时间t 的函数; 线性时变系统的状态空间表达式为: x =A t x +A t u y=C t x +D t u

三. 非线性系统 x =f (x,u , t ) y=g (x,u,t) 1.非线性时变系统的状态空间表达式 式中,f ,g 为函数向量; x =f (x,u ) y=g (x,u) 2.非线性定常系统的状态空间表达式 当非线性系统的状态方程中不显含时间t 时,则称为非线性定常系统

3.非线性系统的线性化 x =f (x,u ) y =g (x,u) 设是非线性系统x 0,u 0的一个平衡状态, 即。 f (x 0,u 0)=0 , y 0= g (x 0,u 0)若只考虑附近小范围的行为,则可将非线性系统取一次近似而予以线性化。x 0,u 0,y 0将非线性函数f 、g 在附近作泰勒级数展开,并忽略高次项,仅保留一次项: x 0,u 0f x,u =f x 0,u 0 +?ef ex x 0,u 0δx +?ef eu x 0,u 0δu g x,u =g x 0,u 0+?eg ex x 0,u 0δx +?eg eu x 0,u 0 δu

则非线性系统的一次线性化方程可表示为:δx =x ?x 0=?ef ex x 0,u 0δx +?ef eu x 0,u 0δu δy =y ?y 0=?eg ex x 0,u 0δx +?eg eu x 0,u 0 δu 将微增量用符号表示,线性化状态方程就表示为: δx ,δu ,δy ?x ,?u ,?y ?x =A ?x +B ?u ?y =C ?x +D ?u 其中,A =?ef ex x 0,u 0,B =?ef eu x 0,u 0,?C =eg ex x 0,u 0,D =?eg eu x 0,u 0

实验一离散时间信号的分析

武汉工程大学 信号分析与处理实验一 专业:通信02班 学生姓名:李瑶华 学号:1304200113 完成时间:2016年6月1日

实验一: 离散时间信号的分析 一、实验目的 1.认识常用的各种信号,理解其数学表达式和波形表示。 2.掌握在计算机中生成及绘制数字信号波形的方法。 3.掌握序列的简单运算及计算机实现与作用。 4.理解离散时间傅立叶变换、Z 变换及它们的性质和信号的频域特性。 二、实验设备 计算机,MATLAB 语言环境。 三、实验基础理论 1.序列的相关概念 2.常见序列 ● 单位取样序列?? ?≠==0n 0,0 n 1n ,)(δ ● 单位阶跃序列? ??<≥=0,00 ,1)(n n n u ● 单位矩形序列???-≤≤=其他,01 0,1)(N n n R N ● 实指数序列)()(n u a n x n = ● 复指数序列n jw e n x )(0)(+=σ ● 正弦型序列)n sin()(0?+=w A n x 3.序列的基本运算 ● 移位 y(n)=x(n-m) ● 反褶 y(n)=x(-n) ● 和 )()()(21n x n x n y += ● 积 )()()(21n x n x n y ?= ● 标乘 y(n)=mx(n) ● 累加∑-∞ == n m m x n y )()( ● 差分运算 ???--=?-+=?) 1()()() ()1()(x n x n x n x n x n x n 后相差分前向差分

4.离散傅里叶变换的相关概念 ● 定义 ∑+∞ -∞ =-=n jwn jw e n x e X )()( ● 两个性质 1) [] )2()2()2()()(,2)(ππππ++∞ -∞ =+-+--== =∑w j n n w j jw n w j jwn jw e X e n x e X e e w e X 故有。由于的周期函数,周期为是 2) 当x (n )为实序列时,)(jw e X 的幅值)(jw e X 在π20≤≤w 区间内是偶对称函 数,相位)(arg jw e X 是奇对称函数。 5.Z 变换的相关概念 ● 定义 ∑+∞ -∞ =-= n n z n x z X )()((双边Z 变换) ∑+∞ =-=0 )()(n n z n x z X (单边Z 变换) 四、实验内容与步骤 1.离散时间信号(序列)的产生 利用MATLAB 语言编程产生和绘制单位样值信号、单位阶跃序列、指数序列、正弦序列及随机离散信号的波形表示。 1. 单位取样序列的产生函数 function [x,n]=impseq(n0,n1,n2) %产生x(n)=delta(n-n0);n1<=n,n0<=n2; %[x,n]=impseq(n0,n1,n2) if ((n0n2)|(n1>n2)) error('参数必须满足n1<=n0<=n2') end n=[n1:n2]; %x=[zeros(1,(n0-n1)),1,zeros(1,(n2-n0))]; x=[(n-n0)==0]; 2. 单位阶跃序列的产生函数 function [x,n]=stepseq(n0,n1,n2) %产生x(n)=u(n-n0);n1<=n,n0<=n2; %[x,n]=stepseq(n0,n1,n2) if ((n0n2)|(n1>n2)) error('参数必须满足n1<=n0<=n2') end n=[n1:n2];

连续和离散系统分析

实验一连续与离散系统分析 一、实验目得 学习连续系统与离散系统响应得matlab求解方法; 二、实验主要仪器设备与材料 计算机 三、实验方法、步骤及结果测试 实验方法:编程,上机调试,分析实验结果; 步骤: 编程实现上述各实验内容 四、实验结果 1、某系统得传递函数为: 试求系统得冲激响应与阶跃响应。 2、编制程序求解下列两个系统得单位冲激响应与阶跃响应,并绘出其图形。要求

分别用filter、conv、impz三种函数完成。给出理论计算结果与程序计算结果并讨论。 (I) 理论计算结果: 程序计算结果: A:单位冲激响应 (1)用Filter函数(2)用Conv函数 (3)用impz函数 单位冲激响应: n 0 1 2 3 4 5 h(n) 1 -1、75 1、19 -0、67 0、355 -0、18 单位阶跃响应: n 0 1 2 3 4 5 y(n) 1 -0、75 0、44 -0、234 0、12 -0、06

B:单位阶跃响应(1)用Fil ter 函数 (2)用Conv 函数 (3)用Imp z函数 (II ) 理论计算结果: 程序计算结果: A:单位冲激响应(1)用f ilter 函数 单位冲激响应: n 0 1 2 3 4 5 h(n) 0 0、25 0、25 0、25 0、25 单位阶跃响应: N 0 1 2 3 4 5 y(n) 0 0、25 0、5 0、75 1 1

(2)用Conv函数 (3)用Impz函数 B:单位阶跃响应 (1)用filter函数 (2)用Conv函数 (3)用Impz函数

实验一离散时间信号与系统分析

实验一 离散时间信号与系统分析 一、实验目的 1.掌握离散时间信号与系统的时域分析方法。 2.掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散信号、系统及系统响应进行频域分析。 3.熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。 二、实验原理 1.离散时间系统 一个离散时间系统是将输入序列变换成输出序列的一种运算。若以][?T 来表示这种运算,则一个离散时间系统可由下图来表示: 图 离散时间系统 输出与输入之间关系用下式表示 )]([)(n x T n y = 离散时间系统中最重要、最常用的是线性时不变系统。 2.离散时间系统的单位脉冲响应 设系统输入)()(n n x δ=,系统输出)(n y 的初始状态为零,这是系统输出用)(n h 表示,即)]([)(n T n h δ=,则称)(n h 为系统的单位脉冲响应。 可得到:)()()()()(n h n x m n h m x n y m *=-= ∑∞ -∞= 该式说明线性时不变系统的响应等于输入序列与单位脉冲序列的卷积。 3.连续时间信号的采样 采样是从连续信号到离散时间信号的过渡桥梁,对采样过程的研究不仅可以了解采样前后信号时域何频域特性发生的变化以及信号内容不丢失的条件,而且有助于加深对拉氏变换、傅氏变换、Z 变换和序列傅氏变换之间关系的理解。 对一个连续时间信号进行理想采样的过程可以表示为信号与一个周期冲激脉冲的乘 积,即:)()()(?t t x t x T a a δ=

其中,)(?t x a 是连续信号)(t x a 的理想采样,)(t T δ是周期冲激脉冲 ∑∞ -∞=-= m T mT t t )()(δδ 设模拟信号)(t x a ,冲激函数序列)(t T δ以及抽样信号)(?t x a 的傅立叶变换分别为)(Ωj X a 、)(Ωj M 和)(?Ωj X a ,即 )]([)(t x F j X a a =Ω )]([)(t F j M T δ=Ω )](?[)(?t x F j X a a =Ω 根据连续时间信号与系统中的频域卷积定理,式(2.59)表示的时域相乘,变换到频域为卷积运算,即 )]()([21)(?Ω*Ω=Ωj X j M j X a a π 其中 ?∞ ∞ -Ω-==Ωdt e t x t x F j X t j a a a )()]([)( 由此可以推导出∑∞-∞=Ω-Ω=Ωk s a a jk j X T j X )(1)(? 由上式可知,信号理想采样后的频谱是原来信号频谱的周期延拓,其延拓周期等于采样频率。根据香农定理,如果原信号是带限信号,且采样频率高于原信号最高频率的2倍,则采样后的离散序列不会发生频谱混叠现象。 4.有限长序列的分析 对于长度为N 的有限长序列,我们只观察、分析在某些频率点上的值。 ???-≤≤=n N n n x n x 其它010),()( 一般只需要在π2~0之间均匀的取M 个频率点,计算这些点上的序列傅立叶变换: ∑-=-=1 0)()(N n jn j k k e n x e X ωω 其中,M k k /2πω=,1,,1,0-=M k 。)(ωj e X 是一个复函数,它的模就是幅频特 性曲线。 三、主要实验仪器及材料

离散时间信号分析

离散时间信号分析 实验目的:利用MA TLAB进行离散时间序列的基本运算,掌握基本的MA TLAB函数的编写和调试方法。 实验内容: (1)信号相加 x(n)=x1(n)+x2(n) 当两个相加的序列长度不同时或位置不对应时,首先必须调整二者的位置对齐,然后通过zeros函数左右补零使其长度相等后再相加。下面的参考代码利用函数sigadd说明了这些运算,其验证将在后续实验中进行。 MATLAB参考代码 function[y,n]=sigadd(x1,n1,x2,n2) %implements y(n)=x1(n)+x2(n) %--------------------------------------------- %[y,n]=sigadd(x1,n1,x2,n2) %y=sum sequence over n,which includes n1 and n2 %x1=first sequence over n1 %x2=second sequence over n2(n2 can be different from n1) % n=min(min(n1),min(n2)):max(max(n1),max(n2));%duration of y(n) y1=zeros(1,length(n)); y2=y1; y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;%x1 with duration of y y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;%x2 with duration of y y=y1+y2;%sequence addition (2)信号相乘 信号相乘,即两个序列的乘积(或称“点乘”),表达式为: x(n)=x1(n)?x2(n) 在MA TLAB中,用运算符“.*”实现。

实验七--离散系统分析的MATLAB实现讲解学习

实验七 离散系统分析的MATLAB 实现 一、实验目的 1、掌握利用MATLAB 绘制系统零极点图的方法; 2、掌握离散时间系统的零极点分析方法; 3、学习离散系统响应的MATLAB 求解方法; 4、掌握用MATALB 实现离散系统频率特性分析的方法; 5、深刻理解离散系统的系统函数零极点对系统频响的影响,可以根据 零极点知识设计简单的滤波器。 二、基本原理 (一)离散系统零极点 线性时不变离散系统可用线性常系数差分方程描述,即 ()()N M i j i j a y n i b x n j ==-=-∑∑ (1) 其中()y k 为系统的输出序列,()x k 为输入序列。 将式(1)两边进行Z 变换, 00 () () ()() () M j j j N i i i b z Y z B z H z X z A z a z -=-== == ∑∑ (2) 将式(2)因式分解后有: 11 () ()() M j j N i i z q H z C z p ==-=-∏∏ (3) 其中C 为常数,(1,2,,)j q j M =L 为()H z 的M 个零点,(1,2,,)i p i N =L 为()H z 的 N 个极点。 系统函数()H z 的零极点分布完全决定了系统的特性,若某系统函数的零极点已知,则系统函数便可确定下来。因此,系统函数的零极点分布对离散系统特性的分析具有非常重要意义。 (二)离散系统零极点图及零极点分析 1、零极点图的绘制 设离散系统的系统函数为 () ()() B z H z A z =

则系统的零极点可用MATLAB 的多项式求根函数roots()来实现,调用格式为: p=roots(A) 其中A 为待求根多项式的系数构成的行矩阵,返回向量p 则是包含多项式所有根的列向量。如多项式为231 ()48 B z z z =+ +,则求该多项式根的MATLAB 命令为为: A=[1 3/4 1/8]; P=roots(A) 运行结果为: P = -0.5000 -0.2500 需注意的是,在求系统函数零极点时,系统函数可能有两种形式:一种是分子、分母多项式均按z 的降幂次序排列;另一种是分子、分母多项式均按1z -的升幂次序排列。这两种方式在构造多项式系数向量时稍有不同。 (1)()H z 按z 的降幂次序排列:系数向量一定要由多项式最高次幂开始,一直到常数项,缺项要用0补齐。如 34322()3221 z z H z z z z z +=++++ 其分子、分母多项式系数向量分别为A=[1 0 2 0]、B=[1 3 2 2 1]。 (2)()H z 按1z -的升幂次序排列:分子和分母多项式系数向量的维数一定要相同,不足的要用0补齐,否则0z =的零点或极点就可能被漏掉。如 1 1212()11124 z H z z z ---+=++ 其分子、分母多项式系数向量分别为A=[1 2 0]、B=[1 1/2 1/4]。 用roots()求得()H z 的零极点后,就可以用plot()函数绘制出系统的零极点图。下面是求系统零极点,并绘制其零极点图的MATLAB 实用函数ljdt(),同时还绘 制出了单位圆。函数ljdt()的程序如下: function ljdt(A,B) % The function to draw the pole-zero diagram for discrete system p=roots(A) %求系统极点 q=roots(B) %求系统零点 p=p'; %将极点列向量转置为行向量 q=q'; %将零点列向量转置为行向量 x=max(abs([p q 1])); %确定纵坐标范围

信号、系统及系统响应,离散系统的时域分析实验报告

实验报告 实验二 信号、系统及系统响应,离散系统的时域分析 一、实验目的 (1) 熟悉连续信号经理想采样前后的频谱变换关系,加深对时域采样定理的理 解; (2) 熟悉时域离散系统的时域特性; (3) 利用卷积方法观察分析系统的时域特性; (4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信 号、离散信号及系统响应进行频域分析。 (5) 熟悉并掌握离散系统的差分方程表示法; (6) 加深对冲激响应和卷积分析方法的理解。 二、实验原理与方法 1、信号、系统及系统响应 采样是连续信号数字处理的第一个关键环节。对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生的变化以及信号信息不丢失的条件,而且可以加深对傅里叶变换、Z 变换和序列傅里叶变换之间关系式的理解。 我们知道,对一个连续信号xa(t)进行理想采样的过程可用(2-1)表示。 ^ ()()() (21) a a x t x t p t =- 其中^ ()a x t 为()a x t 的理想采样,()p t 为周期冲激脉冲,即 ()() (22) n p t t nT δ∞ =-∞= --∑ ^ ()a x t 的傅里叶变换^ ()a X j Ω为 ^ 1()[()] (23) a a s m X j X j m T ∞ =-∞ Ω=Ω-Ω-∑ (2-3)式表明^ ()a X j Ω为()a X j Ω的周期延拓,其延拓周期为采样角频率

(2/)s T πΩ=。其采样前后信号的频谱只有满足采样定理时,才不会发生频率混叠失真。 将(2-2)带入(2-1)式并进行傅里叶变换: ^ ()[()()]j t a a n X j x t t nT e dt δ∞ ∞ -Ω-∞ =-∞ Ω=-∑? [()()]j t a n x t t nT e dt δ∞ ∞ -Ω-∞ =-∞ = -∑? ()(24) j nT a n x nT e ∞ -Ω=-∞ = -∑ 式中()a x nT 就是采样后得到的序列()x n ,即 ()()a x n x nT = ()x n 的傅里叶变换()j X e ω为 ()()(25) j j n n X e x n e ω ω∞ -=-∞ = -∑ 比较(2-5)和(2-4)可知 在数字计算机上观察分析各种序列的频域特性, 通常对X(ej ω)在[0, 2π]上进行M 点采样来观察分析。 对长度为N 的有限长序列x(n), 有 一个时域离散线性非移变系统的输入/输出关系为 上述卷积运算也可以在频域实现 2、离散系统时域分析 ^ ()() (26) j a T X j X e ωω=ΩΩ=-1 ()()(27) 2,0,1,,1k N j n j k n k X e x m e k k M M ωωπ ω--==-= =???-∑()()()()() (28) m y n x n h n x m h n m ∞ =-∞ =*= --∑()()() (29) j j j Y e X e H e ωωω=-式中

离散时间系统及离散卷积

实验一、离散时间系统及离散卷积 1、单位脉冲响应 源程序: function pr1() %定义函数pr1 a=[1,-1,0.9]; %定义差分方程y(n)-y(n-1)+0.9y(n-2)=x(n) b=1; x=impseq(0,-20,120); %调用impseq函数(matlab软件的函数库) n=[-20:120]; %定义n的范围,从-20 到120 h=filter(b,a,x); %调用函数给纵坐标赋值 figure(1) %绘图figure 1 (冲激响应) stem(n,h); %在图中绘出冲激 title('单位冲激响应(耿海锋)'); %定义标题为:'冲激响应(耿海锋)' xlabel('n'); %绘图横座标为n ylabel('h(n)'); %绘图纵座标为h(n) figure(2) %绘图figure 2 [z,p,g]=tf2zp(b,a); %绘出零极点图 zplane(z,p) function [x,n]=impseq(n0,n1,n2) %声明impseq函数 n=[n1:n2]; x=[(n-n0)==0]; 结果: Figure 1:

Figure 2:

2、离散系统的幅频、相频的分析 源程序: function pr2() b=[0.0181,0.0543,0.0543,0.0181]; a=[1.000,-1.76,1.1829,-0.2781]; m=0:length(b)-1; % m的范围,从0 到3 l=0:length(a)-1; % l的范围,从0 到3 K=5000; k=1:K; w=pi*k/K; %角频率w H=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%对系统函数的定义 figure(1) magH=abs(H); %magH为幅度 angH=angle(H); %angH为相位 plot(w/pi,magH-耿海锋); %绘制w(pi)-magH-耿海锋的图形 figure(2) axis([0,1,0,1]); %限制横纵座标从0到1 xlabel('w(pi)'); %x座标为 w(pi) ylabel('|H|'); %y座标为 angle(H)-耿海锋 title('幅度,相位响应(耿海锋)'); %图的标题为:'幅度,相位响应(耿海锋)' plot(w/pi,angH); %绘制w(pi)-angH的图形 grid; %为座标添加名称 xlabel('w(pi)'); %x座标为 w(pi) ylabel('angle(H)'); %y座标为 angle(H) 结果: Figure1

相关文档