学号:Xb08610229班级:08电子(2)姓名:钱婷 日期:2011.4.5 地点:3-304
实验一:离散时间序列卷积和MATLAB 实现
(一)简述实验目的及实验原理 1、掌握离散卷积计算方法;
2、学会线性常系数差分方程的迭代解法; 3、学会针对具体系统设计程序; (二)实验内容
1、用MATLAB 计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。
首先用手工计算,然后用MATLAB 函数conv(x,y)编程验证。人工计算序列x(n)、
h(n)的卷积结果并与计算机计算结果相比较,给出笔算和计算机计算的结果对照表,画出图形。 (1)写出程序代码
a=[-2 0 1 -1 3]; b=[1 2 0 -1]; c=conv(a,b); M=length(c)-1; n=0:1:M; stem(n,c);
xlabel('n'); ylabel('幅度'); title('题1')
(2)仿真图形及相关分析
2、参考教材P14页,使用通用卷积convu 函数,计算如下卷积
已知h(n)=R6(N-4),x(n)=2R3(N-3),计算y(n)=x(n)*h(n)编程实现并在一幅图内分别画出h(n),x(n),y(n),标好横坐标与纵坐标。
(1)写出程序代码 h=ones(1,6);nh=4:9;
x=2*ones(1,3);nx=3:5; [y,ny]=convu(h,nh,x,nx); subplot(3,1,1);
stem(nh,h,'.' )
title('h(n)');xlabel('n' );ylabel('hn' ) subplot(3,1,2); stem(nx,x,'.' )
title('x(n)');xlabel('n' );ylabel('xn' ) subplot(3,1,3); stem(ny,y,'.' )
title('y(n)');xlabel('n' );ylabel('yn' )
(2)仿真图形及相关分析
h(n)
h
n
n x(n)
x
n
n y(n)
y n
n
3、编写教材P31第15题的MATLAB 程序,标出关键语句的含义,并画出输入和输出图形。
(1)写出程序代码 ys=0
xn=[1,2,3,4,2,1];
B=[1,0,2];A=[1,0.5]; xi=filtic(B,A,ys); yn=filter(B,A,xn,xi); n=0:length(yn)-1; stem(n,yn,'.' )
title('y(n)');xlabel('n' );ylabel('y(n)')
(2)仿真图形及相关分析
y(n)
y (n )
n
4、编写教材P32第18题的MATLAB 程序,标出关键语句的含义,并画出输入和输出图形。
(1)写出程序代码
h1=[1 0.5 0.25 0.125 0.0625 0.03125]; h2=[1 1 1 1 1 1]; c=conv(h1,h2);
y3=[0.25,0.5,0.25,zeros(1,8)]; vn=c+y3;
ys=0; B=[1,1];A=[1,-0.9,0.81]; xi=filtic(B,A,ys) ; yn=filter(B,A,vn,xi) ; n=0:length(yn)-1; subplot(2,1,1) stem(n,vn,'.') title('v(n)') xlabel('n') ylabel('v(n)') subplot(2,1,2) stem(n,yn,'.') title('y(n)') xlabel('n') ylabel('y')
(2)仿真图形及相关分析
(三)心得体会及总结。
通过本次实验,我们掌握了离散卷积计算方法,如如何定义没有内置的函数来进行计算;初步了解如何使用matlab 软件来计算零状态响应等。最后一题综合性的练习,不仅巩固了我们运用matlab 来进行卷积求解的使用能力,也让我们对具体系统设计程序有了一定的概念。