数 字 信 号 处 理
实验指导书
实验一 离散系统时域分析
一.实验目的 1. 2.
学习matlab语言的编程和调试技巧 掌握笔算离散卷积方法和matlab语言实现
二.实验原理与方法
一个离散时间系统,输入信号为x(n),输出信号为y(n),运算关系用Y[]表示,则输入与输出的关系可表示为y(n)=T[x(n)]。
(1) 线性时不变系统的输入输出关系可通过单位脉冲响应h(n)
表示:
y(n)=x(n)*h(n)=?式中*表示卷积运算。 (2) 线性时不变系统的实现
可物理实现的线性时不变系统是稳定的、因果的。这种系统的单位脉冲响应是因果的(单边)且绝对可和的,即:h(n)?0,n?0
?|h(n)|??
n?????x(m)h(n?m)
m???在matlab语言中采用conv实现卷积运算即:y=conv(x,h),它默认从n=0开始。 三. 实验内容
2
1.设某LTI的单位脉冲响应h(n)?0.8nu(n) (1)判断此系统是否可实现;
(2)当输入为矩形脉冲x(n)?u(n)?u(n?10)时,求此LTI的输出
y(n);
(3)用MATLAB实现,并画出图形。
10.500510152025303540455010.500510152025303540455064200102030405060
2.x(n)?[3,11,7,0,?1,4,2],?3?n?3;h(n)?[2,3,0,?5,2,1],计算卷积y(n)?x(n)*h(n)。 四、实验程序 程序1 x=[ones(1,10)];
x1=[ones(1,10),zeros(1,40)]; N1=length(x); n1=0:N1-1; N2=50; n2=0:N2-1; h=0.8.^n2; y=conv(x,h); N=N1+N2-1;n=0:N-1;
?1?n?4,3
subplot(3,1,1);
stem(n2,x1);subplot(312); stem(n2,h);subplot(313); stem(n,y); 程序2
如果x(n)、h(n)的起点不为0,则采用conv_m计算卷积; 编写conv_m函数:
function[y,ny]=conv_m(x,nx,h,nh) %改进卷积程序 nyb=nx(1)+nh(1);
nye=nx(length(x))+nh(length(h)); ny=[nyb,nye]; y=conv(x,h); 在命令窗口输入:
x=[3,11,7,0,-1,4,2];nx=[-3:3]; h=[2,3,0,-5,2,1];nh=[-1:4]; [y,ny]=conv_m(x,nx,y,ny)
可得到结果:y(n)=[6,31,47,6,-51,-5,41,18,-22,-3,8,2],-4?n?7 六. 分析结果
笔算卷积积分y(n)=x(n)*h(n) 其中x(n)=u(n)-u(n-10); h(n)=0.8n
4