MATLAB数字信号处理应用.docx

上传人:b****5 文档编号:28309201 上传时间:2023-07-10 格式:DOCX 页数:14 大小:187.70KB
下载 相关 举报
MATLAB数字信号处理应用.docx_第1页
第1页 / 共14页
MATLAB数字信号处理应用.docx_第2页
第2页 / 共14页
MATLAB数字信号处理应用.docx_第3页
第3页 / 共14页
MATLAB数字信号处理应用.docx_第4页
第4页 / 共14页
MATLAB数字信号处理应用.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

MATLAB数字信号处理应用.docx

《MATLAB数字信号处理应用.docx》由会员分享,可在线阅读,更多相关《MATLAB数字信号处理应用.docx(14页珍藏版)》请在冰豆网上搜索。

MATLAB数字信号处理应用.docx

MATLAB数字信号处理应用

MATLAB数字信号处理应用

1.序列的基本概念

1.1离散时间信号的产生

1.单位脉冲序列δ(n)

解:

MATLAB程序如下:

n=-5:

30;%取点个数

x=[zeros(1,5),1,zeros(1,30)];%定义序列

stem(n,x,'fill');

gridon%网格绘制

运行结果:

图3单位脉冲序列δ(n)绘制图

2.单位阶跃序列u(n)

解:

MATLAB程序如下:

n=-5:

30;%取点个数

x=[zeros(1,5),ones(1,31)];%定义序列

stem(n,x,'fill');

gridon;%网格绘制

运行结果:

图4单位阶跃序列u(n)绘制图

3.矩形序列R8(n)

解:

MATLAB程序如下:

n=-5:

30;%取点个数

x=[zeros(1,5),ones(1,8),zeros(1,23)];%定义序列

stem(n,x,'fill');

gridon;%网格绘制

运行结果:

图5矩形序列R(n)绘制图8

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');

gridon;

运行结果:

图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');

gridon;

运行结果:

图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');

gridon;

运行结果:

图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');

gridon;

运行结果:

图9序列

(1)右移四位

(2)h(n)=δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3)左移四位

解:

MATLAB程序如下:

n=-15:

10

h=[zeros(1,15),1,2,1,2,zeros(1,7)];

y=circshift(h,[0,-4]);

stem(n,y,'*k');

gridon;

运行结果:

图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');

gridon;

运行结果:

图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');

gridon;

运行结果:

图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');

gridon;

图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');

gridon;

运行结果:

图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)

求序列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=dot(x,h)

运行结果:

y=

16

6.序列的累加

例:

(1)求x(n)=δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4)的累加

解:

MATLAB程序如下:

n=-10:

20;

x=[zeros(1,10),1,2,3,4,5,zeros(1,16)];

y=cumsum(x);

stem(n,y,'*k');

gridon;

运行结果:

图15序列

(1)的累加

例:

(2)求h(n)=δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3)的累加

解:

MATLAB程序如下:

n=-10:

20;

h=[zeros(1,10),1,2,1,2,zeros(1,17)];

y=cumsum(h);

stem(n,y,'*k');

gridon;

运行结果:

图16序列

(2)的累加

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)

解:

(1)序列卷积计算公式:

y(n)=x(n)*h(n)=x(m)h(n-m)

(2)根据定义计算y(n)

MATLAB程序如下:

N=10;

M=10;

L=N+M-1;

x=[1,2,3,4,5,zeros(1,5)];

h=[1,2,1,2,zeros(1,6)];

y=conv(x,h);

n=0:

L-1;

stem(n,y,'*k');

gridon;

运行结果:

图17卷积和结果序列

通用程序:

function[y,n]=dconv(x,nx,h,nh);

x=input('请输入序列

(1):

x(n)=');

nx=input('请输入序列

(1)长度(如0:

5)=');

h=input('请输入序列

(2):

h(n)=');

nh=input('请输入序列

(2)长度(如0:

5)=');

y=conv(x,h)

k1=nx

(1)+nh

(1);

k2=length(x)+length(h)-2;

n=k1:

k1+k2

subplot(131);stem(nx,x,'*r');xlabel('nx');

ylabel('x(n)');gridon;

subplot(132);stem(nh,h,'*b');xlabel('nh');

ylabel('h(n)');gridon;

subplot(133);stem(n,y,'*k');xlabel('n');

ylabel('y(n)');gridon;

运行程序:

(在命令窗口输入如下指令):

请输入序列

(1):

x(n)=[12345]

请输入序列

(1)长度(如0:

5)=0:

4

请输入序列

(2):

h(n)=[1212]

请输入序列

(1)长度(如0:

5)=0:

3

运行结果:

y=

1481420201310

n=

01234567

绘制的图形:

图18通用程序卷积结果

2.4产生方波信号序列

解:

T=6;%周期为6

n=-5:

0.1:

2*T;%步进为0.1

duty=50;%占空比为50%

x=2*square(n,duty);%产生方波,幅值为2

stem(n,x,'*k');

gridon;

运行结果:

图19方波序列绘制图

2.5产生锯齿波信号序列

解:

n=0:

0.05:

5;

y=1-mod(x,1);

stem(n,y,'*k');

gridon;

图20方波序列绘制图

2.6思考题:

实验中所产生的正弦序列的频率是多少,是否是周期序列,

答:

由2?

/?

/5=10,10是正整数,所以实验产生的正弦序列是是周期序列,周期为10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1