实验2离散序列地基本运算.doc
实验报告课程名称数字信号处理实验课时4实验项目名称和编号离散序列的根本运算 姓 名实验目的学会运用MATLAB进展离散序列的运算,并掌握程序编写的方法实验环境MATLAB实验内容和原理实验步骤方 法关键代码1、 序列的移位X1(n)=x(n-m)例:x0=u(n)显示-10<n<10X1=u(n+6) 显示-10<n<10X2=u(n-4) 显示-10<n<10例:x(n)=2sin(2*pi*n/10),求x(n-2)和x(n+2)在-210区间的波形2、 序列的相加情况1 两序列有一样的维数例:求x(n)=(n-2)+ (n-4) (0<n<10) 情况2 两序列具有不同的维数 例:x1(n)=u(n+2) (-4<n<6) X2(n)=u(n-4) (-5<n<8) 求x(n)=x1(n)+x2(n)=u(n-4)3、 序列相乘例:4、 序列反折例:x(n)=e() (-4<n<4)求x(-n)5、 序列的尺度变换例:x(n)=sin(2*pi*n),求x(2n)和x(n/2)测试记录分 析结 论 实验数据与理论相符。后附代码小 结对于离散序列的根本运算,移位、相加、相乘、反折还有尺度变换,都有了更深的理解,相加相乘等运算是两个向量之间的运算,因此参加运算的两个序列向量必须具有一样的维数,否如此应进展相应的处理。尤其是如何用matlab实现有了一些根本的了解。以下由实验教师填写记 事评 议 成绩评定 平时成绩_ 实验报告成绩_ 综合成绩 _指导教师签名:代码:%序列的移位n1=-10;n2=10;k0=0;k1=-6;k2=4;n=n1:n2;%生成离散信号的时间序列x0=n>=k0;x1=(n-k1)>=0;x2=(n-k2)>=0;figuresubplot(3,1,1),stem(n,x0,'filled','k');axis(n1,n2,1.1*min(x0),1.1*max(x0);ylabel('u(n)');subplot(3,1,2),stem(n,x1,'filled','k')axis(n1,n2,1.1*min(x1),1.1*max(x1);ylabel('u(n+6)');subplot(3,1,3),stem(n,x2,'filled','k');axis(n1,n2,1.1*min(x2),1.1*max(x2);ylabel('u(n-4)');%x(n)=2sin(2*pi*n)/10,Çóx(n-2)x(n+2) -210n=-2:10;n0=2;n1=-2;x=2*sin(2*pi*n/10);x1=2*sin(2*pi*(n-n0)/10);x2=2*sin(2*pi*(n-n1)/10);figuresubplot(3,1,1),stem(n,x,'filled','k');ylabel('x(n)');subplot(3,1,2),stem(n,x1,'filled','k');ylabel('x(n-2)');subplot(3,1,3),stem(n,x2,'filled','k');ylabel('x(n+2)');%序列的相加一样维度clear all;n1=0;n2=10;n01=2;n01=4;n=n1:n2;x1=(n-n01)=0;x2=(n-n01)=0;x3=x1+x2;figuresubplot(3,1,1);stem(n,x1,'filled','k');axis(n1,n2,1.1*min(x1),1.1*max(x1);ylabel('¦Ä(n-2)');subplot(3,1,2);stem(n,x2,'filled','k');axis(n1,n2,1.1*min(x2),1.1*max(x2);ylabel('¦Ä(n-4)');subplot(3,1,3);stem(n,x3,'filled','k');axis(n1,n2,1.1*min(x3),1.1*max(x3);ylabel('¦Ä(n-2)+¦Ä(n-4)');%序列相乘clear all;n1=-4:10;n2=-2:6;n01=-1;n=min(n1,n2):max(n1,n2);x1=3*exp(-0.25*n);x2=(n2-n01)>=0;N=length(n);y1=zeros(1,N);y2=zeros(1,N);y1(find(n>=min(n1)&(n<=max(n1)=x1;y2(find(n>=min(n2)&(n<=max(n2)=x2;x=y1.*y2;figuresubplot(3,1,1),stem(n1,x1,'filled','k');ylabel('x1(n)');axis(min(n),max(n),1.1*min(x1),1.1*max(x1);subplot(3,1,2),stem(n2,x2,'filled','k');ylabel('x2(n)');axis(min(n),max(n),1.1*min(x2),1.1*max(x2);subplot(3,1,3),stem(n,x,'filled','k');ylabel('x(n)');axis(min(n),max(n),1.1*min(x),1.1*max(x)%序列相加不同维度clear all;n1=-4:10;n01=-2;n2=-5:8;n02=4;n=min(n1,n2):max(n1,n2);x1=(n1-n01)>=0;x2=(n2-n02)>=0;N=length(n);y1=zeros(1,N);y2=zeros(1,N);y1(find(n>=min(n1)&(n<=max(n1)=x1;y2(find(n>=min(n2)&(n<=max(n2)=x2;x=y1+y2;figuresubplot(3,1,1),stem(n1,x1,'filled','k');ylabel('x1(n)');axis(min(n),max(n),1.1*min(x),1.1*max(x);subplot(3,1,2),stem(n2,x2,'filled','k');ylabel('x2(n)');axis(min(n),max(n),1.1*min(x),1.1*max(x);subplot(3,1,3),stem(n,x,'filled','k');ylabel('x(n)');axis(min(n),max(n),1.1*min(x),1.1*max(x);%序列反折clear all;n=-4:4;x=exp(-0.3*n);x1=fliplr(x);n1=-fliplr(n);figuresubplot(1,2,1),stem(n,x,'filled','k');title('x(n)');subplot(1,2,2),stem(n1,x1,'filled','k');title('x(-n)');%序列的尺度变换clear all;n=0:40;tn=n./20;x=sin(2*pi*tn);x1=sin(2*pi*tn*2);x2=sin(2*pi*tn/2);figuresubplot(3,1,1),stem(tn,x,'filled','k');ylabel('x(n)');axis(0,2,1.1*min(x),1.1*max(x);subplot(3,1,2),stem(tn,x1,'filled','k');ylabel('x(2n)');axis(0,2,1.1*min(x),1.1*max(x);subplot(3,1,3),stem(tn,x2,'filled','k');ylabel('x(n/2)');axis(0,2,1.1*min(x),1.1*max(x);