离散序列的基本运算.docx
《离散序列的基本运算.docx》由会员分享,可在线阅读,更多相关《离散序列的基本运算.docx(8页珍藏版)》请在冰豆网上搜索。
离散序列的基本运算
学号:
__201308030102__姓名:
__刘晗皞__专业年级班级:
_通信工程1301__
________________实验室组别________实验日期_2016_年_4_月_18_日
课程名称
数字信号处理
实验课时
实验项目名称
和编号
实验二
离散序列的基本运算
同组者姓名
实验目的
学会运用MATLAB进行离散序列的运算,并掌握程序的编写方法。
实验环境
MATLAB
实验内容
和原理
实验原理
离散序列的时域运算包括信号的相加、相乘,信号的时域变换包括信号的移位、反折、尺度变换等。
在MATLAB中,离散序列的相加、相乘等运算是两个向量之间的运算,因此参加运算的两个序列向量必须具有相同的维数,否则应进行相应的处理。
实验步骤
方法
关键代码
实验代码:
n1=-10;n2=10;k0=0;k1=-6;k2=4;
n=n1:
n2;%生成离散信号的时间序列
x0=[n>=k0];%生成离散信号x(0)
x1=[(n-k1)>=0];%生成离散信号x1
(1)
x2=[(n-k2)>=0];%生成离散信号x2
(2)
subplot(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)');
实验结果截图:
n=-2:
10;n0=2;n1=-2;
x=2*sin(2*pi*n/10);%建立原信号x(n)
x1=2*sin(2*pi*(n-n0)/10);%建立x(n-2)信号
x2=2*sin(2*pi*(n-n1)/10);%建立x(n+2)信号
subplot(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)');
n1=0;n2=10;n01=2;
n02=4;
n=n1:
n2;
x1=[(n-n01)==0];
x2=[(n-n02)==0];
x3=x1+x2;
subplot(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)');
3、
n1=-4:
10;
x1=3*exp(-0.25*n);%建立x1信号
n2=-2:
6;n02=-1;
x2=[(n2-n02)>=0];%建立x2信号
n=min([n1,n2]):
max([n1,n2]);%为x建立时间序列n
N=length(n);%求时间序列n的点数N
y1=zeros(1,N);%新建一维N列的y1全0数组
y2=zeros(1,N);%新建一维N列的y2全0数组
y1(find((n>=min(n1))&(n<=max(n1))))=x1;%为y1赋值
y2(find((n>=min(n2))&(n<=max(n2))))=x2;%为y2赋值
x=y1.*y2;
subplot(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)]);
n=-4:
4;
x=exp(-0.3*n);
x1=fliplr(x);
n1=-fliplr(n);
subplot(1,2,1),stem(n,x,'filled','k');
title('x(n)');
subplot(1,2,2),stem(n1,x1,'filled','k');
title('x(-n)');
n=0:
40;tn=n./20; %每周期取20个点 x=sin(2*pi*tn); %建立原信号x(n) x1=sin(2*pi*tn*2); %建立x(2n)信号 x2=sin(2*pi*tn/2); %建立x(n/2)信号
subplot(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)]);
测试记录
分析
结论
实验记录见上表。
小结
以下由实验教师填写
记事
评议
成绩评定
平时成绩_______实验报告成绩________综合成绩_________
指导教师签名:
填写说明:
基本栏目填写准确,不要漏写。
实验每组在2人以上需填同组者姓名。
实验名称和编号实验项目名称,以实验教学大纲中的名称为准,不能随意修改;实验编号,为课程编号+XX(XX是该课程的实验项目序号)例:
LINUX/UNIX操作系统,课程编号CS06007,这门课程共有8个实验项目,则LINUX/UNIX操作系统实验项目名称序号分别为CS0600701,CS0600702,………CS0600708;由实验教师指导学生填写。
实验目的目的要明确,要抓住重点,可以从理论和实践两个方面考虑。
在理论上,验证定理、公式、算法,并使实验者获得深刻和系统的理解,在实践上,掌握使用实验设备的技能技巧和程序的调试方法。
一般需说明是验证型实验还是设计型实验,是创新型实验还是综合型实验。
实验环境实验用的软硬件环境(配置)。
实验内容和原理这是实验报告极其重要的内容。
这部分要写明依据何种原理、定律算法、或操作方法进行实验。
实验步骤、方法和关键代码要写明经过哪几个步骤,还应该画出流程图,再配以相应的文字说明,要实现功能采取的方法以及使用的关键代码。
测试记录、分析和结论从实验中进行测试记录,然后分析,作出结论。
小结 对本次实验的体会、思考和建议。
可写上实验成功或失败的原因,实验后的心得体会、建议等。
注意:
∙实验成绩由平时成绩和实验报告成绩组成,实验报告成绩是实验成绩的主要依据。
∙每个实验项目学生填写一份《实验卡和实验报告》,学生填写好《实验卡和实验报告》后,交老师评阅计分,新一个实验项目开始前,学生交上个实验的《实验卡和实验报告》,迟交者扣分、缺交者不予记分。
∙每门课的同一个实验项目老师分班(如果是选修课人数不多,可以不分班)装订成一本,填写好实验报告封面信息。