根据MATLAB的离散时间信号的时域分析.docx

上传人:b****1 文档编号:14518023 上传时间:2023-06-24 格式:DOCX 页数:17 大小:147.43KB
下载 相关 举报
根据MATLAB的离散时间信号的时域分析.docx_第1页
第1页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第2页
第2页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第3页
第3页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第4页
第4页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第5页
第5页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第6页
第6页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第7页
第7页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第8页
第8页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第9页
第9页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第10页
第10页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第11页
第11页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第12页
第12页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第13页
第13页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第14页
第14页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第15页
第15页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第16页
第16页 / 共17页
根据MATLAB的离散时间信号的时域分析.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

根据MATLAB的离散时间信号的时域分析.docx

《根据MATLAB的离散时间信号的时域分析.docx》由会员分享,可在线阅读,更多相关《根据MATLAB的离散时间信号的时域分析.docx(17页珍藏版)》请在冰点文库上搜索。

根据MATLAB的离散时间信号的时域分析.docx

根据MATLAB的离散时间信号的时域分析

 

郑州轻工业学院

课程设计说明书

 

题目:

基于MATLAB的离散时间信号的时域分析

 

姓名:

王剑锋

院(系):

电气信息工程学院

专业班级:

电子信息工程11-01班

学号:

54111111111

指导教师:

郭淑婷

 

成绩:

 

时间:

2014年6月09日至2014年6月13日

基于MATLAB的离散时间信号的时域分析

摘要

MATLAB是目前世界上最流行的、应用最广泛的工程计算和仿真软件,它将计算、可视化和编程等功能同时集中于一个易于开发的环境。

MATLAB主要应用于数学计算、系统建模与仿真、数学分析与可视化、科学与工程绘图和用户界面设计等。

MATLAB是MatrixLaboratory的缩写,是由MathWorks公司于1984年推出的一个交互式开发系统,其基本数据要素是矩阵。

MATLAB的语法规则简单,适用于专业科技人员的思维方式和书写习惯;而且MATLAB可适用于多种平台,随着计算机软、硬件的更新而及时升级,使得编程和调试效率大大提高。

目前,MATLAB已经成为应用代数、自动控制理论、数理统计、数字信号处理、动态系统仿真和金融等专业的基本数学工具,各国的高等学校纷纷将MATLAB正式列入本科生和研究生课程的数学计划中,成为学生必须掌握的基本软件之一。

本文首先对MATLAB的功能进行简单介绍,再利用一些常用信号作为实验对象,对其时域运算与变换进行猜想和理论分析,再使用MATLAB的各功能对猜想和分析进行验证,同时将这些常用信号的波形用MATLAB的制图功能绘制出来,即利用MATLAB进行对常用信号的可视化。

关键词:

MATLAB、常用信号、时域运算与变化、可视化

 

 

1设计背景及内容

1.1设计背景

MATLAB软件是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。

它集高效的数值分析、完备的信号和图形处理、功能丰富的应用工具箱为一体,构成了一个方便且界面友好的用户环境,是一种适应多种硬件平台的数学计算工具。

特别是MATLAB还具有信号处理软件包,可以方便地进行信号与系统分析的数值计算,可视化建模及系统设计,仿真调试等。

在国外,MATLAB早已成为许多大学重要的教学工具,对数值线性代数以及其他一些高等应用数学课程进行辅助教学的有益工具。

在工科教学中,MATLAB也被用来解决一些实际课题和数学模型问题,如自动控制理论、统计、数字信号处理(时间序列分拆)等。

我国MATLAB应用也正在逐渐推广,而作为当代高校中的一员,我们更应该有责任把前沿科学和我们课本中的理论相结合,把抽象的知识实体化,这样我们才能更真实的体会到所学知识的重要性以及实用性。

MATLAB是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。

用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。

使之更利于非计算机专业的科技人员使用。

而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

1.1

1.2设计内容

1、用MATLAB绘制常见信号序列的时域波形;

2、用MATLAB实现序列的常见运算并绘制相应的时域波形

3、通过典型信号将离散信号的变换与运算用生动直观的二维曲线面图进行可视化表现。

4、熟练掌握利用MATLAB对常用信号时域运算、变换的应用

2利用MATLAB绘制基本信号序列波形

2.1单位冲激序列

类似于连续时间信号与系统中的单位冲激函数,但是是t=0点脉宽趋于零,幅值趋于无穷大,而在n=0时幅值为1.

单位冲激序列MATLAB程序如下:

波形如图2-1

 

n=-10:

10;

y=(n==0);

stem(n,y)

title('单位冲激序列');

gridon

 

图2-1单位冲激序列

2.2单位阶跃序列u(n)

单位阶跃序类似于连续时间信号与系统中的单位阶跃函数u(t),但u(t)在t=0时常不予定义,而u(n)在n=0时定义为u(0)=1。

单位阶跃序列MATLAB程序如下:

波形如图2-2

n=-15:

15;

x=[zeros(1,15),ones(1,16)];

stem(n,x);

title('单位阶跃序列')

图2-2单位阶跃序列

2.3实指数序列

实指数序列定义为

,其中n为正整数。

其中a为实数。

当时,序列是收敛的;而当时,序列是发散的。

实指数序列

的MATLAB程序如下:

波形如图2-3

a1=1.09;a2=0.8;a3=-1.09;a4=-0.8;n=[-5:

15];

x1=(a1.^n);x2=(a2.^n);x3=(a3.^n);x4=(a4.^n);

subplot(2,2,1);stem(n,x1,'.k');

title('a>1');axis([-5,15,-0.5,5]);

subplot(2,2,2);stem(n,x2,'.k');

title('0

subplot(2,2,3);stem(n,x3,'.k');

title('a<-1');axis([-5,15,-6,4]);

subplot(2,2,4);stem(n,x4,'.k');

title('-1

图2-3实指数序列

2.4复指数序列

复指数序列定义为

它具有实部和虚部,是复正弦的数字域频率。

它又可表示为:

复指数序列

MATLAB程序如下:

波形如图2-4

n=0:

30;

x=exp(0.1+i*pi/9).^n;

xr=real(x);

xi=imag(x);

xm=abs(x);

xa=angle(x);

figure;

subplot(221);stem(n,xr);title('实部');

subplot(222);stem(n,xi);title('虚部');

subplot(223);stem(n,xm);title('模');

subplot(224);stem(n,xa);title('相角')

图2-4复指数序列

2.5矩形序列

矩形序列MATLAB程序如下:

波形如图2-5

n=-10:

20;

x=[zeros(1,10),ones(1,8),zeros(1,13)];

stem(n,x,'fill');

title('矩形序列')

gridon

图2-5矩形序列

2.6正弦序列

其中,ω是正弦序列的数字域频率;Φ为初相。

与连续的正弦信号不同,正弦序列的自变量n必须为整数。

可以证明只有当

为有理数时,正弦序列才具有周期性。

正弦序列

的MATLAB程序如下:

波形如图2-6

n=0:

49;

x=sin(pi/12*n);

stem(n,x,'fill'),xlabel('n'),gridon

title('正弦序列')

axis([0,50,-1.5,1.5]);

 

 

图图2-6正弦序列

3用MATLAB实现序列的常见运算

3.1序列相加

两序列的相加是指同序号(n)的序列值逐项相对应相加而构成的而构成的一个新的序列,表示为:

序列

相加的MATLAB程序如下:

波形如图3-1

w0=pi/15;a=1.05;

n1=[-25:

25];n2=[-25:

25];

subplot(2,2,1);stem(n1,sin(w0.*n1),'.k');title('x1(n)');axis([-25,25,-1,3]);

subplot(2,2,2);stem(n2,a.^n2,'.k');title('x2(n)');axis([-25,25,-1,3]);

n=[min(min(n1),min(n2));max(max(n1),max(n2))];

x1=zeros(1,length(n));

x2=zeros(1,length(n));

x1=sin(w0.*n1);

x2=a.^n2;

y1=x1+x2;

subplot(2,2,3);stem(n1,y1,'.k');title('y1(n)');axis([-25,25,-1,3]);

图3-1序列相加

3.2序列相乘

两序列相乘是指同序号(n)的序列值逐项对应相乘。

表示为:

序列

相乘的MATLAB程序如下:

波形如图3-2

w0=pi/15;a=1.05;

n1=[-25:

25];n2=[-25:

25];

subplot(2,2,1);stem(n1,sin(w0.*n1),'.k');title('x1(n)');axis([-25,25,-3,3]);

subplot(2,2,2);stem(n2,a.^n2,'.k');title('x2(n)');axis([-25,25,-3,3]);

n=[min(min(n1),min(n2));max(max(n1),max(n2))];

x1=zeros(1,length(n));x2=zeros(1,length(n));

x1=sin(w0.*n1);x2=a.^n2;y2=x1.*x2;

subplot(2,2,3);stem(n2,y2,'.k');title('y2(n)');axis([-25,25,-3,3]);

图3-2序列相乘

3.3序列移位

设某一序列为x(n),当x(n-m)是指序列x(n)逐项依次延时(右移)m位而给出的一个新序列,而想x(n+m)则指依次超前(左移)m位。

m为负时,则相反。

将序列

右移4位的MATLAB程序为:

x(n)原程序如下:

波形如图3-3

n=-5:

15

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

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

gridon

移位程序如下:

波形如图3-4

n=-5:

15

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

y=circshift(x,[0,4]);

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

gridon

图3-3图3-4

3.4序列翻转

如果序列为x(n),则x(-n)是以n=0的纵轴为对称轴将序列x(n)加以翻转。

将序列x(n)=δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4)翻转的MATLAB程序如下:

波形如图3-5和3-6

n=-10:

10;

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

y=fliplr(x);

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

gridon

图3-5图3-6

3.5序列的抽取

序列x(n),其时间尺度变换后的序列为x(Mn),M为正整数。

x(Mn)表示从x(n)的每连续M个抽样值中取出一个组成的新序列。

这种运算称为抽取,x(Mn)称为x(n)的M取1的抽取序列。

3倍抽取的MATLAB程序如下:

波形如图3-7

N=50;w0=0.6*pi;

M=3;k=0:

N-1;

x=sin(w0*k);

y=x(1:

M:

end);

subplot(2,1,1);

stem(k,x);

title('x[k]');

subplot(2,1,2);

stem(0:

length(y)-1,y);

title('y[k]');

 

图3-7

3.6序列的内插

将序列x(n)扩展,则是另一种时间尺度变换,它是把原序列的两个相邻抽样值之间插入(I-1)个值,称为序列的内插。

用MATLAB实现序列的内插程序如下:

波形如图3-8

N=30;w0=0.1*pi;L=2

k=0:

N-1;

x=sin(w0*k);

y=zeros(1,L*length(x));

y(1:

L:

end)=x;

subplot(2,1,1);

stem(k,x);

title('x[k]');

subplot(2,1,2);

k=0:

L*N-1;

stem(k,y);

title('y[k]');

 

图3-8

结束语

经过一周的课程设计我觉得自己提升了很多,虽然在这一周的时间里基本上每天大部分时间都对着电脑,很累很疲惫但是受益匪浅。

本次设计的主要内容是使用MATLAB

软件编写程序处理信号并显示相应波形设计的核心内容就是利用MATLAB强大的图形处理功能,符号运算功能以及数值计算功能,实现离散时间信号时域分析的仿真波形。

整个设计过程中首先对所学的信号与系统与数字信号处理有了更深的了解,其次,实现过程是通过MATLAB软件完成的,MATLAB的图形功能强大,具有良好的人机界面,此次设计过程中熟练了MATLAB的编程,掌握了很多函数的作用及使用方法;最后,通过此次课程设计,我对设计所用到的软件MATLAB有了更加深刻地了解,MATLAB不管在数值计算方面的功能很强大,而且其图形仿真功能更能满足各个领域的需要,因此我们以后更要经常运用MATLAB软件,使其成为自己不可或缺的工具。

虽然我顺利完成了课程设计的要求,但是我感觉到我对MATLAB的理解我掌握还停留在比较浅的层次。

要想真正掌握它还需要继续努力学习它。

这次课程设计也使我明白了在知识的领域里我还有很多很多的不足,并且再一次的深深的体会到理论和实践之间还有很到的差别。

在以后的学习中应该多多的注意实践知识的训练和积累。

在以后的学习生活中要不断的开拓自己的动手能力,不断的训练自己的动手能力。

 

致谢

感谢学校给我们这次MATLAB课程设计的机会,不仅让我们更加学会了MATLAB的强大图形处理方法,掌握了MATLAB的编程技术,而且也锻炼了我们的动手能力。

通过这次课设让我明白了理论联系实践的重要性,书本上的理论知识学了不少,我们必须得应用到实践当中,做到学以致用,这样我们才能有不断的创新。

这次课程设计也感谢指导老师在设计过程中的辅导以及同学们的帮助。

没有他们的帮助我不会那么快克服那些困难,也不会这么快学到这么多的知识。

 

参考文献

【1】梁虹.《信号与系统分析及MATLAB实现》.电子工业出版社2002.02第12章

【2】王立宁等.《MATLAB与通信仿真》.北京:

高等教育出版社.2000.4

【3】刘泉等.《数字信号处理与实现》.北京:

电子工业出版社.2005.6

【4】刘泉。

江雪梅.《信号与系统》.北京:

高等教育出版社.2006.2

【5】陈亚勇.《MATLAB信号处理详解》.人民邮电出版社.2001.09

【6】程佩青《数字信号处理教程》.第三版,清华大学出版社。

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2