数字信号处理实验讲义2012(4)

2018-11-17 22:09

数字信号处理讲义

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

2.单位阶跃序列

stepseq.m

function[x,n]=stepseq(n0,n1,n2) %Generates x(n)=u(n0);n1<=n0<=n2 %-------------------------- %[x,n]=stepseq(n0,n1,n2) %

if((n0n2)|(n1>n2))

error(ˊarguments must satisfy n1<=n0<=n2ˊ) end n=[n1:n2]; x=[(n-n0)>=0]; 3.信号加

sigadd.m

function[y,n]=sigadd(x1,n1,x2,n2) %implements y(n)=x1(n)+x2(n) %-------------------------------- %[y,n]=sigadd(x1,n1,x2,n2)

%y=sum sequence over n, which includes n1 and n2

%x1=first sequence over n1

%x2=second sequence over n2(n2 can be different from n1)

12

数字信号处理讲义

%

n=min(min(n1),min(n2):max(max(n1),max(n2))); y1=zeros(1,length(n));y2=y1;

y1(find((n>=min(n1)&(n=min(n2))&(n<=max(n2))= =1))=x2; y=y1+y2 4.信号乘

sigmult.m

function[y,n]=sigmult(x1,n1,x2,n2) %implements y(n)=x1(n)*x2(n) %---------------------------------- %[y,n]=sigmult(x1,n1,x2,n2)

%y=product sequence over n ,which includes n1 and n2

%x1=first sequence over n1

%x2=second sequence over n2(n2 can be different from n1) %

n=min(min(n1),min(n2):max(max(n1),max(n2))); y1=zeros(1,length(n));y2=y1;

y1(find ((n>=min(n1))&(n<=max(n1))= =1))=x1; y2(find((n>=min(n2))&(n<=max(n2))= =1))=x2; y=y1.*y2 5.移位

sigshift.m

13

数字信号处理讲义

function[y,n]=sigshift(x,m,n0) %implements y(n)=x(n-n0) %---------------------------------- %[y,n]=sigshift(x,m,n0) %

n=m+n0;y=x; 6.折叠

sigfold.m

function[y,n]=sigfold(x,n) %implements y(n)=x(-n) %--------------------------- %[y,n]=sigsfold(x,n) %

y=fliplr(x);n=-fliplr(n); 7 奇偶综合

evenodd.m

function [xe,xo,m]=evenodd(x,n)

%Real signal decomposition into even and odd parts %------------------------------ %[xe,xo,m]=evenodd(x,n) %

if any (imag(x)=0)

error(ˊx is not a real sequenceˊ)

14

数字信号处理讲义

end m=-fliplr(n);

m1=min([m,n]);m2=max([m,n]);m=m1:m2; nm=n(1)-m(1);n1=1:length(n); x1=zeros(1,length(m)); x1(n1+nm)=x;x=x1; xe=0.5*(x+fliplr(x)); xo=0.5*(x-fliplr(x));

【例2-1】实验任务3.(1)产生下列序列并绘出离散图:

x(n)=2δ(n+2)-δ(n-4) -5≤n≤5

解: 利用MATLAB及信号处理工具箱函数,再加上前面构造的几个函数如sigadd,sigmult等,可很容易编写出可直接执行的MATLAB程序ex31.m:

%Example 3.1

%a) x(n)=2*delta(n+2)-delta(n-4), -5<=n<=5 %figure(1);clf n=[-5:5];

x=2* impseq (-2,-5,5)-impseq(4,-5,5);

subplot(2,2,1);stem(n,x);title (′Sequence in Example 3.1a′);

【例2-2】

设线性时不变(LTI)系统的单位冲激响应为

h(n)=(0.9)nu(n)

输入序列为

x(n)=u(n)-u(n-10)

求系统输出y(n)。 解: 系统输出y(n)为输入x(n)与系统单位冲激响应h(n)的卷积,可直接采用conv-m函数求出输出序列。MATLAB程序为ex22.m:

15

数字信号处理讲义

%Example2-2

%x(n)=[u(n)-u(n-10)];h(n)=(0.9)^n*u(n) n=0:04 %y(n)=conv(x,h) %

n=-5:50;

u1=stepseq(0,-5,50);u2=stepseq(10,-5,50); %input x(n) x=u1-u2;

%impulse response h(n) h=((0.9).^n).*u1; figure(1)

subplot (3,1,1);stem(n,x);axis([-5,50,0,2]) title(′Input Sequence′) ylabel(′x(n)′)

subplot(3,1,2);stem(n,h);axis([-5,50,0,2]) ylabel(′h(n)′) %output response

[y,ny]=conv_m(x,n,h,n);

subplot(3,1,3);stem(ny,y);axis([-5,50,0,8]) gtext(′Impulse Response′) xlabel(′n′),ylabel(′y(n)′)

执行结果分析所得的序列的离散图.

实验报告要求

1. 实验报告包括目的、要求、内容、步骤、结果、总结,形成完整实验报告。实验步骤不是书本内容的复制,而是自己结合实验内容进行探索的过程。

2. 提交打印版实验报告,A4纸张打印,并附源程序清单。

3. 提交的报告和源程序中标注清楚姓名学号专业等基本信息,禁止抄袭。

16


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

下一篇:2016尔雅中国古代史课后作业答案

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

马上注册会员

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