MATLAB数字信号处理应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.序列的基本概念
1.1 离散时间信号的产生
1.单位脉冲序列δ(n)
解:MATLAB程序如下:
n=-5:30; %取点个数
x=[zeros(1,5),1,zeros(1,30)]; %定义序列
stem(n,x,'fill');
grid on %网格绘制
运行结果:
图3 单位脉冲序列δ(n)绘制图
2.单位阶跃序列u(n)
解:MATLAB程序如下:
n=-5:30; %取点个数
x=[zeros(1,5),ones(1,31)]; %定义序列
stem(n,x,'fill');
grid on %网格绘制
运行结果:
图4 单位阶跃序列u(n)绘制图
3.矩形序列R8(n)
解:MATLAB程序如下:
n=-5:30; %取点个数
x=[zeros(1,5),ones(1,8),zeros(1,23)]; %定义序列
stem(n,x,'fill');
grid on %网格绘制
运行结果:
图5 矩形序列R8(n)绘制图
4.正弦型序列x(n)=Asin(∏/5*n+∏/3)
解:MATLAB程序如下:
n=-15:20; %取点数
ph=pi/6; %定义初相
omega=pi/5; %定义角频率
A=3; %取幅值为3
x=A*sin(omega*n+ph); %定义序列
stem(n,x,'fill');
grid on
运行结果:
图6 正弦序列绘制图(实验所得的正弦序列的周期T=10)
5.任意序列
例:(1)x(n)= δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4)
解:MATLAB程序如下:
n=-15:20;
x=[zeros(1,15),1,2,3,4,5,zeros(1,16)];
stem(n,x,'fill');
grid on
运行结果:
图7 序列(1)绘制图
例(2)h(n)= δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3)
解:n=-15:20;
h=[zeros(1,15),1,2,1,2,zeros(1,17)];
stem(n,h,'fill');
grid on
运行结果:
图8 序列(2)绘制图
2.2 序列的运算
1.序列的移位(MATLAB指令为circshift)
例:(1)x(n)= δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4)右移四位解:MATLAB程序如下:
n=-5:15 %定义序列长度
x=[zeros(1,5),1,2,3,4,5,zeros(1,11)];
y=circshift(x,[0,4]); %右移四位
stem(n,y,'*k');
grid on
运行结果:
图9 序列(1)右移四位
(2)h(n)= δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3)左移四位
解:MA TLAB程序如下:
n=-15:10
h=[zeros(1,15),1,2,1,2,zeros(1,7)];
y=circshift(h,[0,-4]);
stem(n,y,'*k');
grid on
运行结果:
图10 序列(2)左移四位
2.序列的反褶
例:(1)求x(n)= δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4)的反褶
解:MATLAB程序如下:
n=-10:10;
x=[zeros(1,10),1,2,3,4,5,zeros(1,6)];
y=fliplr(x);
stem(n,y,'*k');
grid on
运行结果:
图11 序列(1)的反褶
(2)h(n)= δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3)的反褶
解:MATLAB程序如下:
n=-10:10
h=[zeros(1,10),1,2,1,2,zeros(1,7)];
y=fliplr(h);
stem(n,y,'*k');
grid on
运行结果:
图12 序列(2)的反褶
3.两序列的和
例:已知x(n)= δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4),h(n)= δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3)
求序列y(n)=x(n)+h(n)。
解:MATLAB程序如下:
n=-10:10;
x=[zeros(1,10),1,2,3,4,5,zeros(1,6)];
h=[zeros(1,10),1,2,1,2,zeros(1,7)];
y=x+h;
stem(n,y,'*k');
grid on
图13 两序列的和
4.两序列的积
例:已知x(n)= δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4),h(n)= δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3) 求序列y(n)=x(n).*h(n)。
解:MATLAB程序如下:
n=-10:10;
x=[zeros(1,10),1,2,3,4,5,zeros(1,6)];
h=[zeros(1,10),1,2,1,2,zeros(1,7)];
y=x.*h;
stem(n,y,'*k');
grid on
运行结果:
图14 两序列的积
5.两序列的标乘(MATLAB指令为dot)
例:已知x(n)= δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4),h(n)= δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3)