数字信号处理 实验作业离散LSI系统的时域分析Word格式.docx
- 文档编号:16742976
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:17
- 大小:102KB
数字信号处理 实验作业离散LSI系统的时域分析Word格式.docx
《数字信号处理 实验作业离散LSI系统的时域分析Word格式.docx》由会员分享,可在线阅读,更多相关《数字信号处理 实验作业离散LSI系统的时域分析Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
subplot(1,2,1);
stem(n,hn,'
k'
);
title('
系统的单位序列响应'
ylabel('
h(n)'
xlabel('
n'
axis([0,N,1.1*min(hn),1.1*max(hn)]);
subplot(1,2,2);
stem(n,gn,'
系统的单位阶跃响应'
g(n)'
axis([0,N,1.1*min(gn),1.1*max(gn)]);
程序运行结果如图2-1所示:
图2-1
3、用函数filtic和filter求解离散系统的单位序列响应和单位阶跃响应。
例2-2已知描述某因果系统的差分方程为6y(n)-2y(n-4)=x(n)-3x(n-2)+3x(n-4)-x(n-6),满足初始条件y(-1)=0,x(-1)=0,求系统的单位脉冲响应和单位阶跃响应。
时间轴上N取32点。
注意:
原式非标准形式,必须化为标准形式后再列出系数b,a。
x01=0;
y01=0;
a=[1,0,0,0,-1/3,0,0];
b=[1/6,0,-1/2,0,1/2,0,-1/6];
xi=filtic(b,a,0);
x1=[n==0];
hn=filter(b,a,x1,xi);
x2=[n>
=0];
gn=filter(b,a,x2,xi);
程序运行结果如图2-2所示:
图2-2
4、用MATLAB实现线性卷积
1)用函数conv进行卷积运算:
求解两个序列的卷积和,关键在于如何确定卷积结果的时宽区间。
MATLAB提供的求卷积函数conv默认两个序列的序号均从n=0开始,卷积结果y对应的序列的序号也从n=0开始。
例2-3已知两个序列f1=0.8n(0<
n<
20),f2=u(n)(0<
10),求两个序列的卷积和。
n1=0:
20;
f1=0.8.^n1;
subplot(2,2,1);
stem(n1,f1,'
filled'
f1(n)'
n2=0:
10;
N2=length(n2);
f2=ones(1,N2);
subplot(2,2,2);
stem(n2,f2,'
f2(n)'
y=conv(f1,f2);
subplot(2,1,2);
stem(y,'
程序运行结果如图2-3所示:
图2-3
2)非零起始序列的卷积运算:
当两个序列不是从0开始时,必须对conv函数稍加扩展。
由卷积原理可知,若待卷积的两个序列序号分别为{x(n);
nx=nxs:
nxf},{h(n);
nh=nhs:
nhf},则卷积和y(n)的序号起点和终点分别为:
nys=nxs+nhs,nyf=nxf+nhf。
据此可定义通用卷积函数convu:
function[y,ny]=convu(h,nh,x,nx)
nys=nh
(1)+nx
(1);
nyf=nh(end)+nx(end);
y=conv(h,x);
ny=nys:
nyf;
例2-4已知序列f1=0.5n(0<
10),f2=u(n+2)(-2<
f1=0.5*n1;
n2=-2:
nt=length(n2);
f2=ones(1,nt);
[y,ny]=convu(f1,n1,f2,n2);
stem(n1,f1);
stem(n2,f2);
stem(ny,y);
程序运行结果如图2-4所示:
图2-4
3)卷积积分的动态过程演示:
为了更深入地理解序列卷积的原理,下面提供一段演示卷积和的动态过程的程序。
例2-5动态演示例2-3两个序列f1=0.8n(0<
10)的卷积和。
clf;
nf1=0:
lf1=length(n1);
nf2=0:
lf2=length(n2);
f2=ones(1,lf2);
m=max(lf2,lf1);
iflf2>
lf1nf2=0;
nf1=lf2-lf1;
elseiflf2<
lf1nf1=0;
nf2=lf1-lf2;
elsenf2=0;
lf1=0;
end;
lt=m;
u=[zeros(1,lt),f2,zeros(1,nf2),zeros(1,lt)];
t1=(-lt+1:
2*lt);
f1=[zeros(1,2*lt),f1,zeros(1,nf1)];
hf1=fliplr(f1);
N=length(hf1);
y=zeros(1,3*lt);
fork=0:
2*lt
p=[zeros(1,k),hf1(1:
N-k)];
y1=u.*p;
yk=sum(y1);
y(k+lt+1)=yk;
subplot(4,1,1);
stem(t1,u);
subplot(4,1,2);
stem(t1,p);
subplot(4,1,3);
stem(t1,y1);
subplot(4,1,4);
stem(k,yk);
axis([-20,50,0,5]);
holdon
pause
(2);
end
程序运行结果如图2-5所示:
图2-5
5、离散LSI系统时域响应的求解:
MATLAB提供了多种方法求解离散LSI系统的响应:
1)用conv函数进行卷积积分,求任意输入的系统零状态响应;
例2-6已知描述某因果系统的差分方程为6y(n)+2y(n-2)=x(n)+3x(n-1)+3x(n-2)+x(n-3),
满足初始条件y(-1)=0,x(-1)=0。
在该系统的输入端加一个矩形脉冲序列,其占空比为0.25,一个周期取16个采样点,求该系统的响应。
N=16;
x=[ones(1,N/4),zeros(1,3*N/4)];
stem(n,x);
a=[1,0,1/3,0,];
stem(n,hn);
y=conv(x,hn);
stem(y);
程序运行结果如图2-6所示:
图2-6
2)用dlsim函数求任意输入的系统零状态响应;
例2-7已知某IIR数字低通滤波器的系统函数为
输入两个正弦叠加的序列
,求该系统的响应。
nx=0:
8*pi;
x=sin(nx/2)+sin(10*nx)/3;
subplot(3,1,1);
stem(nx,x);
a=[1,-0.34319,0.60439,-0.20407];
b=[0.1321,0.3963,0.3963,0.1321];
nh=0:
9;
h=impz(b,a,nh);
subplot(3,1,2);
stem(nh,h);
y=dlsim(b,a,x);
subplot(3,1,3);
程序运行结果如图2-7所示
图2-7
3)用filtic和filter函数求任意输入的系统完全响应。
例2-8已知描述某系统的差分方程为y(n)-1.5y(n-1)+0.5y(n-2)=x(n)n≥0,满足初始条件y(-1)=4,y(-2)=10,求系统输入为x(n)=(0.25)nu(n)时的零输入、零状态及全响应。
解为了更深入地理解filtic和filter函数的用法,先用经典法求得系统完全响应表达式:
,并编写程序绘出其图形,以便与用MATLAB函数求解的结果进行对比。
a=[1,-1.5,0.5];
b=1;
N=20;
x=0.25.^n;
x0=zeros(1,N);
y01=[4,10];
xi=filtic(b,a,y01);
y0=filter(b,a,x0,xi);
xi0=filtic(b,a,0);
y1=filter(b,a,x,xi0);
y=filter(b,a,x,xi);
y2=((1/3)*(1/4).^n+(1/2).^n+(2/3)).*ones(1,N);
subplot(2,3,1);
输入信号x(n)'
subplot(2,3,2);
stem(n,y0);
系统的零输入响应'
subplot(2,3,3);
stem(n,y1);
系统的零状态响应'
subplot(2,2,3);
stem(n,y);
用filter求得的完全响应'
subplot(2,2,4);
stem(n,y2);
经典法求得的完全响应'
程序运行结果如图2-8所示:
图2-8
.三、实验内容:
1、输入并运行例题程序,理解每一条语句的含义。
2、已知描述某离散LSI系统的差分方程为2y(n)-3y(n-1)+y(n-2)=x(n-1),分别用impz和dstep函数、filtic和filter函数两种方法求解系统的单位序列响应和单位阶跃响应。
a=[1,0,3/2,0,1/2];
b=[0,0,1/2,0,0];
%y(-1)=0
%shengchengdanweijieyuexulie
Ï
µ
Í
³
Ä
¥
Î
»
Ð
ò
Á
ì
Ó
¦
'
½
×
Ô
¾
3、编写程序描绘下列序列的卷积波形:
(1)f1(n=u(n),f2(n)=u(n-2),(0≤n<
10)
(2)x(n)=sin(n/2),h(n)=(0.5)n(-3≤n≤4П)
n1=-3:
4*pi;
f1=sin(n1/2);
n2=-3:
f2=0.5.^n2;
4、已知某离散LSI系统的单位序列响应为h(n)=3δ(n-3)+0.5δ(n-4)+0.2δ(n-5)+0.7δ(n-6)-0.8δ(n-7)
求输入为x(n)=e-0.5nu(n)时的系统响应。
N=16;
x=exp(-0.5*n);
a=[1,0,0,0,0,0,0,0];
b=[0,0,0,3,0.5,0.2,0.7,-0.8];
5、已知描述某离散LSI系统的差分方程为y(n)=0.7y(n-1)+2x(n)-x(n-2),求输入为x(n)=u(n-3)时的系统响应。
nt=length(nx)-3
x=[zeros(1,3),ones(1,nt)];
a=[1,-0.7,0];
b=[2,0,-1];
四、实验预习:
1、认真阅读实验原理部分,明确实验目的,复习有关离散LSI系统的理论知识。
2、读懂实验原理部分的例题程序,熟悉与本实验有关的MATLAB函数。
3、根据实验内容预先编写实验程序,并思考本实验提出的有关MATLAB函数在调用时应注意哪些问题。
五、实验报告:
1、列写调试通过的实验程序,打印实验程序产生的曲线图形。
2、列出本实验提出的有关MATLAB函数在调用时应注意的问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号处理 实验作业离散LSI系统的时域分析 数字信号 处理 实验 作业 离散 LSI 系统 时域 分析