数字信号处理实验总结(2)

2019-08-31 21:11

实验二 离散时间系统的表达及计算

一、 实验目的

1. 掌握离散系统的性质、输入输出关系及卷积运算; 2. 掌握离散系统常系数线性差分方程的解法。 二、 实验原理

一个离散时间系统在数学上的定义是将输入序列x(n)映射成输出序列y(n)的唯一性变 换或运算。它的输入是一个序列,输出也是一个序列,其本质是将输入序列转变成输出序列的一个运算。在数字信号处理中,通常研究的离散系统大都为LSI系统。 三、 实验内容

1.求两个序列的卷积(离散线性卷积)

对于一个LSI系统,设其输入序列为x(n)?u(n)?u(n?10),其中?5?n?50。系统为单位冲

?h(n)?0.9n*u(n),编程求出输出序列,并画出图形。 激响应

提示:输出序列应是输入序列和系统单位冲激相应序列的卷积,在Matlab中可用conv函数来实现两个序列的卷积。但是使用conv函数求卷积时,两序列卷积后的输出序列的下标不是任意的(具体是多少,查函数),所以需要自己构造下标。 n=-5:50;

u1=stepseq(0,-5,50);u2=stepseq(10,-5,50); x=u1-u2; h=((0.9).^n).*u1; [y,ny]=conv1(x,n,h,n); stem(ny,y);

function[x,n]=stepseq(n0,n1,n2); if nargin~=3

disp('Usage:Y=stepseq(n0,n1,n2)'); elseif((n0n2)|(n1>n2))

error('arguments?must?satisfy?n1<=n0<=n2');

End;

n=[n1:n2];x=[(n-n0)>=0];

function[y,ny]=conv1(x,nx,h,nh) if nargin~=4

disp('Usage:Y=conv_m(x,nx,h,nh)'); return; end;

nyb=nx(1)+nh(1); nye=nx(length(x))+nh(length(x)); ny=[nyb:nye]; y=conv(x,h);

76543210-20020406080100

2.求两个序列的卷积(离散周期卷积)

已知序列x(n)?{1,0,1,2,1},y(n)?{1,1,0,1,2},计算它们的周期卷积。

提示:将x(n)和y(n)的主值序列x(n)和y(n)作线性卷积,然后再将线性卷积序列以N为周期进行周期延拓。 clear all;

x=[1,0,1,2,1]; y=[1,1,0,1,2]; z=conv(x,y); m=0:4;

h=[z(6:9),0]; h1=h+z(1:5); h2=[h1 h1 h1]; stem(h2)

~~~~6543210051015

3.已知LSI系统的差分方程为:y(n)?y(n?1)?0.9y(n?2)?x(n),其中?20?n?100 求单位冲激响应h(n),并画出图形。

提示:可以使用filter函数来完成,其调用格式为H?filter(b,a,x),注意b,a,x参数都代表什么,如何设置。 clear all

b=[1]; a=[1 -1 0.9]; n=-20:100; N=120;

x=[zeros(1,20),1,zeros(1,100)]; y=filter(b,a,x); stem(n,y); axis([-20 100 -2 2]);

21.510.50-0.5-1-1.5-2-20020406080100

4.已知LSI系统的差分方程为:y(n)?y(n?1)?0.9y(n?2)?x(n),其中?20?n?100 求单位阶跃响应g(n),并画出图形。

提示:可以使用filter函数来完成,其调用格式为H?filter(b,a,x),注意b,a,x参数都代表什么,如何设置。 b=[1]; a=[1 -1 0.9]; N=120; n=-20:100;

x=[zeros(1,20),1,ones(1,100)]; g=filter(b,a,x); stem(n,g);

2.521.510.50-20020406080100

思考题

1. conv函数来实现两个序列的卷积,其默认下标为?(10分) 2. 离散线性卷积与离散周期卷积的区别?(20分) 3. 解差分方程时,a、b分别代表什么?(10分)

当差分方程为y(n?1)?10/3y(n)?y(n?1)?x(n)时,a、b分别为多少? 4. 解释filter函数?(10分)

实验三 z变换及反变换

一.实验目的

1.通过Matlab编程,熟悉z变换定义及逆z变换常用方法,加深对z变换性质及其收敛域 的理解;

2.通过Matlab编程实现离散信号及系统的z域分析; 3.掌握利用Matlab编程求解差分方程的方法。 二.实验原理

z变换性质、求逆z变换的方法、系统的z域表示方法及差分方程的求解方法。 三.实验内容

1. z正变换:已知序列x1=[1,0,5,6],其中0?n?3;与x2=[1,3,5,2],其中,0?n?3,求其卷积信号x=x1*x2的z变换。

提示:例将序列x1进行Z变换,则根据公式 ?[x1(n)]??x1(n)?z?n?x1(0)?z?0?x1(1)?z?1?x1(2)?z?2?x1(3)?z?3 n?03 ?1?z?0?0?z?1?5?z?2?6?z?3(与序列x1比较) 也就是说,没必要在Matlab命令窗口中显示出完整序列z变换的表达式,通过序列的位置信息和该位置信息上所对应的序列值,即可在报告中将该序列的z变换写出来。 clear all

x1=[1,0,5,6];x2=[1,3,5,2]; syms z;x=conv(x1,x2); s=0; for n=1:length(x) s=s+x(n)*z^(-n+1); End;s

x = 1 3 10 23 43 40 12 s = 3/z + 10/z^2 + 23/z^3 + 43/z^4 + 40/z^5 + 12/z^6 + 1

?12?1X(z)?z?2?3zX(z)?2z?4z?3?5z2. z反变换:已知1与2,求X3(z)?X1(z)?X2(z)的逆z


数字信号处理实验总结(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:汽修毕业论文 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: