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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

一、实验目的

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

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

二、实验原理

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

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

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

记系统单位冲激响应,则系统响应为如下的卷积计算式:

当时,h[n]是有限长度的(),称系统为FIR系统;反之,称系统为IIR系统。

三、实验内容

1、用MATLAB 求系统响应

1) 卷积的实现

线性移不变系统可由它的单位脉冲响应来表征。若已知了单位脉冲响应和系统激励就

可通过卷积运算来求取系统响应,即)(*)()(n h n x n y

程序:

x=input(‘Type in the input sequence=’); %输入x

h=input(‘Type in the impulse response sequence=’); %输入h

y=conv(x,h); % 对x ,h 进行卷积

N=length(y)-1; %求出N 的值

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

disp(‘output sequence=’); disp(y); %输出y

stem(n,y); %画出n 为横轴,y 为纵轴的离散图

xlabel(‘Time index n ’); ylable(‘Amplitude ’); % 规定x 轴y 轴的标签

输入为:

x=[-2 0 1 -1 3]

h=[1 2 0 -1]

图形:

2) 单位脉冲响应的求取

线性时不变因果系统可用MA TLAB 的函数filter 来仿真

y=filter(b,a,x);

其中,x 和y 是长度相等的两个矢量。矢量x 表示激励,矢量a ,b 表示系统函数形式

滤波器的分子和分母系数,得到的响应为矢量y 。例如计算以下系统的单位脉冲响应

y(n)+0.7y(n-1)-0.45y(y-2)-0.6y(y-3)=0.8x(n)-0.44x(n-1)+0.36x(n-2)+0.02x(n-3)

程序:

N=input(‘Desired impuse response length=’);

b=input(‘Type in the vector b=’);

a=input(‘Type in the vector a=’);

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

y=filter(b,a,x);

k=0:1:N-1;

stem(k,y);

xlabel(’Time index n’); ylable(‘Amplitude’);

输入:

N=41

b=[0.8 -0.44 0.36 0.02]

a=[1 0.7 -0.45 -0.6]

图形:

2、以下程序中分别使用conv和filter函数计算h和x的卷积y和y1,运行程序,并分析y和y1是否有差别,为什么要使用x[n]补零后的x1来产生y1;具体分析当h[n]有i个值,x[n]有j个值,使用filter完成卷积功能,需要如何补零?

程序:

clf;

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('Time index n'); ylabel('Amplitude');

title('Output Obtained by Convolution'); grid;

x1 = [x zeros(1,8)];

y1 = filter(h,1,x1);

subplot(2,1,2);

stem(n,y1);

xlabel('Time index n'); ylabel('Amplitude');

title('Output Generated by Filtering'); grid;

图形:

因为在y=filter(b,a,x)中,利用给定矢量a和b对x中的数据进行滤波,结果放入y

矢量中,y与x长度要相等,所以要使用x[n]补零后的x1来产生y1。

若h[n]有i个值,x[n]有j个值,则x1 = [x zeros(1,i-1)

3、编制程序求解下列两个系统的单位冲激响应,分别用filter 和 impz实现,并绘出其图形。

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

第一题:

filter实现:

程序:

N=input('Desired impuse response length=');

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

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

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

y=filter(b,a,x);

k=0:1:N-1;

stem(k,y);

xlabel('Time index n');

ylabel('Amplitude');

图形:

相关文档
最新文档