MATLAB数字信号处理应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

相关文档
最新文档