数字信号实验二离散系统的时域分析.docx
《数字信号实验二离散系统的时域分析.docx》由会员分享,可在线阅读,更多相关《数字信号实验二离散系统的时域分析.docx(11页珍藏版)》请在冰豆网上搜索。
数字信号实验二离散系统的时域分析
实验报告
学院:
计信学院专业:
网络工程班级:
网络091
姓名
学号
实验组
实验时间
2012-5-10
指导教师
成绩
实验项目名称
实验2离散系统的时域分析
实验目的
1、熟悉并掌握离散系统的差分方程表示法;
2、加深对冲激响应和卷积分析方法的理解。
实验要求
1、在MATLAB中,熟悉利用函数
实现差分方程的仿真;
2、在MATLAB中,熟悉用函数
计算卷积,用
求系统冲激响应的过程。
实验原理
在时域中,离散时间系统对输入信号或者延迟信号进行运算处理,生成具有所需特性的输出信号,具体框图如下:
其输入、输出关系可用以下差分方程描述:
输入信号分解为冲激信号,
记系统单位冲激响应
,则系统响应为如下的卷积计算式:
当
时,h[n]是有限长度的(n:
[0,M]),称系统为FIR系统;反之,称系统为IIR系统。
实验步骤
1.在MATLAB环境中编写程序。
2.运行程序。
3.得出实验结果。
实验内容
1、以下程序中分别使用conv和filter函数计算h和x的卷积y和y1,运行程序,并分析y和y1是否有差别,为什么要使用x[n]补零后的x1来产生y1;具体分析当h[n]有i个值,x[n]有j个值,使用filter完成卷积功能,需要如何补零?
%ProgramP2_7
clf;
h=[321-210-403];%impulseresponse
x=[1-23-4321];%inputsequence
y=conv(h,x);
n=0:
14;
subplot(2,1,1);
stem(n,y);
xlabel('Timeindexn');ylabel('Amplitude');
title('OutputObtainedbyConvolution');grid;
x1=[xzeros(1,8)];
y1=filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
xlabel('Timeindexn');ylabel('Amplitude');
title('OutputGeneratedbyFiltering');grid;
2、编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。
要求分别用filter、conv、impz三种函数完成。
,
给出理论计算结果和程序计算结果并讨论。
实验数据
1.运行结果:
2..①对于系统1:
y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]
(1)用filter函数
a1=[1,0.75,0.125];
b1=[1,-1];
n=0:
20;
x1=[1zeros(1,20)];
y1filter=filter(b1,a1,x1);
stem(n,y1filter);
title('y1filter');
xlabel('x');
ylabel('y');
(2)用conv函数
a1=[1,0.75,0.125];
b1=[1,-1];
x1=[1zeros(1,10)];
[h]=impz(b1,a1,10);
y1conv=conv(h,x1);
n=0:
19;
stem(n,y1conv,'filled')
(3)用impz函数
a1=[1,0.75,0.125];
b1=[1,-1];
impz(b1,a1,21);
b.单位阶跃响应:
(1)用filter函数
a1=[1,0.75,0.125];
b1=[1,-1];
n=0:
20;
x2=ones(1,21);
y1filter=filter(b1,a1,x2);
stem(n,y1filter);
title('y1filter_step');
xlabel('x');
ylabel('y');
(2)用conv函数
a1=[1,0.75,0.125];
b1=[1,-1];
x2=ones(1,21);
[h]=impz(b1,a1,20);
y1=conv(h,x2);
y1conv=y1(1:
21);
n1=0:
20;
stem(n1,y1conv,'filled');
title('y1conv');
xlabel('n');
ylabel('y1[n]');
(3)用impz函数
a=[1,0.75,0.125];
b=1;
impz(b,a)
②对于系统
冲击响应程序如下:
N=21;
a=[1-1];
b=[10.750.125];
x1=[1zeros(1,N-1)];
x2=ones(1,N);
k=0:
1:
N-1;
y1=filter(a,b,x1);
y2=filter(a,b,x2);
subplot(2,1,1);stem(k,y1);
xlabel('n');ylabel('幅度');title('25FF.单位冲击响应');
subplot(2,1,2);stem(k,y2);
xlabel('n');ylabel('幅度');title('25FF.阶跃响应');
阶跃响应程序如下:
N=21;
a=0.25*[1111];
b=[1];
x1=[1zeros(1,N-1)];
x2=ones(1,N);
k=0:
1:
N-1;
y1=filter(a,b,x1);
y2=filter(a,b,x2);
subplot(2,1,1);stem(k,y1);title('25FF.单位冲击响应');
xlabel('n');ylabel('幅度');
subplot(2,1,2);stem(k,y2);title('25FF.阶跃响应');
xlabel('n');ylabel('幅度');
实验总结
1.理论计算:
系统:
理论冲激响应为:
理论阶跃响应为:
理论图形为:
由图知与程序结果一致。
系统:
冲激响应为:
阶跃响应为:
2.当输入函数为
时,对于y[n]=0.25{x[n-1]+x[n-2]+x[n-3]+x[n-4]}来说,对于任意的n来说,y[n]均为零,因
在其t=0时,
为NaN,其余点均为零。
而当输入为单位阶跃函数
时,因
在
时
均为1,所以当n=1时,y[1]=0.25;当n=2时,y[2]=0.25*2=0.5;当n=3时,y[3]=0.25*3=0.75;当n=4时,y[4]=0.25*4=1;当
时,y[n]=1。
指导教师意见