数字信号处理实验指导书(DOC) 下载本文

数 字 信 号 处 理

实验指导书

实验一 离散系统时域分析

一.实验目的 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