数字信号处理实验离散序列地基本运算

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ylabel('x(n/2)来自百度文库);
axis([0,2,1.1*min(x),1.1*max(x)]);
三、流程图
测试记录
分析
结论
一、序列的移位
x(n)=x(n-m)
1.
2.
二、序列的相加
1.
2.
三、序列相乘
四、序列反折
五、序列的尺度变换
小结
经本次实验我了解了序列的移位、序列的相加、序列相乘、序列反折及序列的尺度变换的实现方法,并通过绘出它们的图形掌握了各个函数的特点,此次实验编写让我对序列的基本应用有所认识
subplot(1,2,2),stem(n1,x1,'filled','k');
title('x(-n)');
五、序列的尺度变换
n=0:40;tn=n./20;
x=sin(2*pi*tn);
x1=sin(2*pi*tn*2);
x2=sin(2*pi*tn/2);
subplot(3,1,1),stem(tn,x,'filled','k');
以下由实验教师填写
记事
评议
成绩评定
平时成绩_______实验报告成绩________综合成绩_________
指导教师签名:
x=2*sin(2*pi*n/10);
x1=2*sin(2*pi*(n-n0)/10);
x2=2*sin(2*pi*(n-n1)/10);
subplot(3,1,1),stem(n,x,'filled','k');
ylabel('x(n)');
subplot(3,1,2),stem(n,x1,'filled','k');
课程名称
数字信号处理
实验课时
4学时
实验项目名称
和编号
离散序列的基本运算
同组者姓名
实验目的
学会运用MATLAB产生常用离散信号,并掌握程序的编写方法,运用find和fliplr子函数,验证型实验,综合型实验
实验环境
MATLAB
实验内容
和原理
离散序列的时域运算包括信号的相加、相乘,信号的时域变换包括信号的移位、反折、尺度变换等。
n2=-5:8;n02=4;
x2=[(n2-n02)>=0];
n=min([n1,n2]):max([n1,n2]);
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;
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)');
2. n1=-4:6;n01=-2;
x1=[(n1-n01)>=0];
ylabel('x(n-2)');
subplot(3,1,3),stem(n,x2,'filled','k');
ylabel('x(n+2)');
二、序列的相加
1. n1=0;n2=10;n01=2;n02=4;
n=n1:n2;
x1=[(n-n01)==0];
x2=[(n-n02)==0];
x3=x1+x2;
x=y1+y2;
subplot(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)');
在MATLAB中,离散序列的相加、相乘等运算是两个向量之间的运算是两个向量之间的运算,因此参加运算的两个序列向量必须具有相同的维数,否则应进行相应的处理。
实验步骤
方法
关键代码
一、序列的移位
x(n)=x(n-m)
1. n1=-10;n2=10;k0=0;k1=-6;k2=4;
n=n1:n2;
x0=[n>=k0];
y2(find((n>=min(n2))&(n<=max(n2))))=x2;
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)]);
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)]);
(接上页)
实验步骤
方法
关键代码
三、序列相乘
n1=-4:10;
x1=3*exp(-0.25*n);
n2=-2:6;n02=-1;
x2=[(n2-n02)>=0];
n=min([n1,n2]):max([n1,n2]);
N=length(n);
y1=zeros(1,N);
y2=zeros(1,N);
y1(find((n>=min(n1))&(n<=max(n1))))=x1;
x1=[(n-k1)>=0];
x2=[(n-k2)>=0];
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');
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');
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)');
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)');
2. n=-2:10;n0=2;n1=-2;
相关文档
最新文档