赢讼法律网
您的当前位置:首页离散系统的时域分析实验报告

离散系统的时域分析实验报告

来源:赢讼法律网




实验2离散系统的时域分析

一、实验目的

1、熟悉并掌握离散系统的差分方程衣示法;

2、加深对冲激响应和卷积分析方法的理解。

二、实验原理

在时域中,离散时间系统对输入信号或者延迟信号进行运算处理,生成具有所需特性的输出信号,具

体框图如下:


]

Discrete-time S3rstme

j'L

______

^J----------?

其输入.输出关系可用以下差分方程描述:

V M
Zdkyln-幻二另Pkxln-
=0 Jt=0

输入信号分解为冲激信号,

8
x[n]=x[m]d[n-m]
=—

记系统单位冲激响应h[n]9则系统响应为如下的卷积计算式:

0O
y[n]= x[n] * h[n] =x[m]h[n-w ]
W=—X

/=0=12????时,蚯]是有限长度的严:[°M),称系统为FIR系统;反之,称系统为IIR系统。

三、实验内容



1、用MATLAB求系统响应
1)卷积的实现
线性移不变系统可由它的单位脉冲响应来衣征。若已知了单位脉冲响应和系统激励就

可通过卷积运算来求取系统响应,即>?(/?)= x(n)*/?(/?)

程用:
x=input(<Typein the input sequence') 输入x
h=input(<Tvpein the impulse response sequence=>):%输入hy=conv(x.h);%x,h 进行卷积 N=length(y)-1;%求出N的值

n=0:l:N; %】】从0开始,间隔为1的取值取到N为止

dispCoutput sequence^); disp(y); %输出 y stem(iLy)散图

%画出】】为横轴,y为纵轴的离

xlabelCTime index nJ: ylableC Amplitude J: % 规定 x y 轴的标签 输入为:

x=[-2 0 I -1 3]

2 0-1]
图形:

2)单位脉冲响应的求取
线性时不变因果系统可用MATLAB 的函数filter 来仿真

y=filter(b,a,x)
其中,X y 是长度和等的两个矢量。矢量x 农示激励,矢量a, b 衣示系统函数形式 滤波器的分了?和分母系数,得到的响应为矢量y。例如计算以下系统的单位脉冲响应 y(n)+0.7y(n-l )-0.45y(y-2)-

0.6y(y-3)=0.8x(n)-0.44x(n-l )+0.36x(n-2)+0.02x(n-3)
程序:
N^npuK*Desired impuse response length J;

b=input(cType in the vector b=');

a=input(<Type in the vector a=');

x=[l zeros(l,N-l)];

y=filter(b,a.x);



k=0:l:N-l:

stem(k.y);

xlabelf'Timeindex n‘); ylable('Amplitude');

输入:

N=41b=[0.8 -0.44 0.36 0.02]

a=[I0.7 -0.45 -0.6]

图形:


)


I

I

c

<

1

G

-

/ ?


1


1

5 10 15 20 25 3J 35 40

Timeindex n

2 filter
yl是否有差别,为什么要使用x[n]补零后的xl来产生yl具体分析当h[n]i个值,x[n]j个值,使用filter完成卷积功能,需要如何补零?

程序:

elf;
h= [3 2 1 -2 1 0 -4 0 3]; %impulse response
x= [1 -2 3 -4 3 2 1]; %input sequence
y= conv (h, x);
n= 0:14;
subplot(2, 1, 1);
stem(n,y);
xlabel(*Timeindex n' );ylabel(*Amplitude*);titleOutputObtained by Convolution*);grid;xl = [x zeros (1,8)];
yl= filter(h,1,xl);
subplot(2,1, 2);
stem(n,yl);
xlabelCTimeindex n' );ylabel(*Amplitude*);titleOutputGenerated by Filtering'); grid;



Outputobtameo oy con elution











--------------1 !

?

1 t

!
d

:
r

..ex...


?

?
?
?

<







_______; _____P 1

<L f > ,f 1

7 ........




t f <









9
________'__..4、??


.......
........<

( r

> .........

b >

1
1
?

1 t

?

?

t 1 w

t

1

t






i ........



?
1

1 t















? 4 6 6 8 B io 10 12 12 14 14

---------1 --------

Time mcex n Time index n

OutputGenerated by Filtering

因为在y=filter(b,a,x),利用给定矢fitabx中的数据进行滤波,结果放入y矢址中,yK长度要相

.所以要使用x[n]补零后的xl來产生yl°

h[n]i个值,x[n]j个值,则口=[xzeros(l,i-l)

3、编制程序求解下列两个系统的单位冲激

响应,分别用filterimpz实现,并绘出其图形。

y[n] + 0.75 y[n-l] + 0.125j[w-2] =墟刃]-xpi -1]

y[n] = 0.25 {x[號一 1]+ x[n — 2] +城〃一3] + x[兀一 4]}

给出理论计算结果和程序计算结果并讨论。

-题:

filter 实现:

程序:
N=input(* Desired impuse response length= *);
b=input(1Type in the vector b=1);
a=input(1Type in the vector a=1);
x=[1 zeros (1ZN-1)];
y=filter(b,az x);
k=0:1:N-l;
stem(kz y);
xlabel(* Time index nf);
ylabel('Amplitude');
图形:

b 匸:+ ,?43 保■ ???■亦?停.■磅…今

c>

-1.5

Time inde<
n



impz实现:

程序
b=input(1Type in the vector b=');a=input('Typein the vector a=1);N=25
y=impz(b, a,N)k=0:l:N-l;stem(k,y);

xlabel('Timeindex n *);ylabel(1Amplitude*);图形:

0o仓谗於00 Q

A

I

20

25

10

15

TirreIndex n
第二题:
filter实现:

程序
N=input(fDesired Inipuse response length^ r);b=input(9Type inthe vectorb=9);
a=lnput(fTypeInthe vector a= 9);
x=[lzeros ];
y=filter(bfafx);
k=0:1:N-l;
ste/n(kfy);
xlabel(9Time Index n 9);
ylabel('Amplituder);
输入:

Typein the vector b=[0.25 0.25 0.25 0.25]

Typein the vector a=l

N=25



impz实现:
程序:
b=input('Typein the vector b=');
a=?nput('Typein the vector a=');
N=30
y=impz(brazN);
k=0:1:N-1;
stem(k.y);
label(1Time index n ' ) ; ylabel (1Amplitude '); 图形:

015

005

o o c o

Time intfex n

25

四、小结
通过此次实验,了解了卷枳在Matlab中汁算方法.学会川 算魏位脉冲响应的方法°

求系统的脉冲响应由两步组成:
y(n)=x(n)*h(n)求出y(n)MATLAB中用conv(x.h实现
filled求出单位脉冲响应

显示全文