武汉大学MATLAB报告.docx

上传人:b****6 文档编号:5991802 上传时间:2023-01-02 格式:DOCX 页数:20 大小:316.85KB
下载 相关 举报
武汉大学MATLAB报告.docx_第1页
第1页 / 共20页
武汉大学MATLAB报告.docx_第2页
第2页 / 共20页
武汉大学MATLAB报告.docx_第3页
第3页 / 共20页
武汉大学MATLAB报告.docx_第4页
第4页 / 共20页
武汉大学MATLAB报告.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

武汉大学MATLAB报告.docx

《武汉大学MATLAB报告.docx》由会员分享,可在线阅读,更多相关《武汉大学MATLAB报告.docx(20页珍藏版)》请在冰豆网上搜索。

武汉大学MATLAB报告.docx

武汉大学MATLAB报告

Matlab实训任务书

学生姓名:

好人专业班级:

…………班

指导教师:

好老师工作单位:

信息工程学院 

题目:

离散时间信号和系统时域分析及MATLAB实现

课题要求:

深入研究离散时间信号和系统时域分析的理论知识。

利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现离散时间信号和系统时域分析的仿真波形。

课题内容:

一、用MATLAB绘制常用信号的时域波形(通过改变参数分析其时域特性)

1、单位序列,2、单位阶跃序列,3、正弦序列,4、离散时间实指数序列,5、离散时间虚指数序列,6、离散时间复指数序列。

二、用MATLAB实现信号的时域运算

1、相加,2、相乘,3、数乘。

三、用MATLAB实现信号的时域变换(参数变化,分析波形的变化)

1、反转,2、时移(超时,延时),3、展缩,4、倒相。

四、用MATLAB实现离散时间系统卷积和仿真波形

给出几个典型例子,对每个例子要求画出e(k),h(k),e(i),h(i),h(-i),Rzs(k)波形。

五、用MATLAB实现离散时间系统的单位响应,阶跃响应的仿真波形

给出几个典型例子,四中调用格式。

六、用MATLAB实现离散时间系统对实指数序列信号的零状态响应的仿真波形

给出几个典型例子,要求可以改变激励的参数,分析波形的变化。

指导教师签名:

2013年1月24日

系主任(或责任教师)签名:

2012年1月24日

目录

摘要I

AbstractII

1绪论1

2MATLAB简介2

3MATLAB实验内容3

3.1用MATLAB绘制常用信号的时域波形3

3.1.1单位序列3

3.1.2单位阶跃序列标4

3.1.3正弦序列4

3.1.4离散时间实指数序列5

3.1.5离散时间虚指数序列6

3.1.6离散时间复指数序列7

3.2用MATLAB实现信号的时域运算8

3.2.1相加8

3.2.2相乘8

3.2.3数乘9

3.3用MATLAB实现信号的时域变换11

3.4用MATLAB实现离散时间系统卷积和仿真波形12

3.5实现离散时间系统的单位响应,阶跃响应的仿真波形13

3.6实现离散时间系统对实指数序列信号的零状态响应的仿真波形16

4实验小结17

5参考文献18

 

摘要

随着计算机软硬件技术的飞速发展,集成电路被广泛应用,电路越来越复杂,集成电路越来越高,加之元器件层出不穷,使得越来越多的工作已经无法依靠手工来完成。

以往在电气自动化专业学生进行毕业设计过程中,常常需要进行大量的数学运算。

在当今计算机时代,通常的做法是借助高级语言Basic、Fortran或C语言等编制计算程序,输入计算机做近似计算。

但是这需要熟练的掌握所运用的语法规则与编制程序的相关规定,而且编制程序不容易,费时费力。

目前,比较流行的控制系统仿真软件是MATLAB。

1980年美国的CleveMoler博士研制的MATLAB环境(语言)对控制系统的理论及计算机辅助设计技术起到了巨大的推动作用。

由于MATLAB的使用极其容易,不要求使用者具备高深的数学与程序语言的知识,不需要使用者深刻了解算法与编程技巧,且提供了丰富的矩阵处理功能,因此控制理论领域的研究人员很快注意到了这样的特点。

尤其MATLAB应用在电厂自动化专业的毕业设计的计算机仿真上,更体现出它巨大的优越性和简易性。

本文介绍了MATLAB软件在自动控制理论学习中的应用,并结合具体实例,分析了利用MATLAB的图形化和交互功能,使抽象的理论变得生动形象,易于接受。

 

Abstract

Withtherapiddevelopmentofcomputersoftwareandhardwaretechnology,integratedcircuitiswidelyused,circuitmoreandmorecomplex,integratedcircuitmoreandmorehigh,togetherwithcomponentsemergeinendlessly,moreandmoreworkhasbeenunabletodependonhandtofinish.Inthepastwhiletheprofessionalstudentsofelectricautomationcarryonthegraduationproject,oftenneedtocarryonalargeamountofmathematicaloperation.Incurrentcomputerera,thecommonmethodistoworkoutthecalculationprocedurethroughhigh-levellanguageBasic,FortranorClanguage,etc.,inputthecomputeranddoapproximatecalculation.

Butthisruleofgrammerofgraspingandusingskillfullyandrelevantregulationsoftheestablishmentprocedure,anditisdifficult,time-consumingandstrenuoustoworkouttheprocedure.Atpresent,morepopularartificialsoftwareofcontrolsystemisMATLAB.MATLABenvironmentwhichDr.CleveMolerofU.S.A.developedof1980(language)assistdesigningtechniquetoplayanenormousroletotheoryandcomputerofthecontrolsystem.BecausetheuseofMATLABisextremelyeasy,donotrequireuser'sknowledgewithadvancedmathematicsandprocedurelanguage,donotneeduserstounderstandthealgorithmandprogrammingskilldeeply,andofferabundantmatrixtohandlethefunction,sotheresearchersofthecontroltheoryfieldhavenoticedsuchacharacteristicquickly.EspeciallyMATLABappliestothecomputeremulationofthespecializedgraduationprojectofautomationofpowerplant,embodyitsenormoussuperiorityandsimpleandeasyevenmore.

ThistextintroducesapplicationinautomaticallycontrolledtheorystudyofMATLABsoftware,combinetheconcreteembodiment,analyzefigureandmutualfunctiontoutilizeMATLAB,maketheabstracttheoryvivid,easytoaccept.

 

1绪论

MATLAB是主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

 

MATLAB和Mathematica、Maple、MathCAD并称为四大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连

接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

MATLAB由一系列工具组成。

这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。

包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。

而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。

 

2Matlab简介

matlab是由美国MathWorks公司推出的用于数值计算和图形处理计算系统环境,除了具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能.matlab的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用matlab来解算问题要比用C,FORTRAN等语言简捷得多.matlab是国际公认的优秀数学应用软件之一.

概括地讲,整个matlab系统由两部分组成,即matlab内核及辅助工具箱,两者的调用构成了matlab的强大功能.matlab语言以数组为基本数据单位,包括控制流语句,函数,数据结构,输入输出及面向对象等特点的高级语言,它具有以下主要特点:

1)运算符和库函数极其丰富,语言简洁,编程效率高,matlab除了提供和C语言一样的运算符号外,还提供广泛的矩阵和向量运算符.利用其运算符号和库函数可使其程序相当简短,两三行语句就可实现几十行甚至几百行C或FORTRAN的程序功能.

2)既具有结构化的控制语句(如for循环,while循环,break语句,if语句和switch语句),又有面向对象的编程特性.

3)图形功能强大它既包括对二维和三维数据可视化,图像处理,动画制作等高层次的绘图命令,也包括可以修改图形及编制完整图形界面的,低层次的绘图命令.

4)功能强大的工具箱工具箱可分为两类:

功能性工具箱和学科性工具箱.功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互的功能.而学科性工具箱是专业性比较强的,如优化工具箱,统计工具箱,控制工具箱,小波工具箱,图象处理工具箱,通信工具箱等。

 

3MATLAB实验内容

3.1用MATLAB绘制常用信号的时域波形

3.1.1单位序列

题目%x1(n)=δ(n)

clear;

clc;

n=-3:

3;

x=(n==0);

stem(n,x);

xlabel('Timeindexn');

ylabel('f(n)');

title('离散时间冲激信号');

图1单位序列信号

3.1.2单位阶跃序列

题目%x1(n)=u(n)(-5≤n≤15)

%x2(n)=u(n-5)(-5≤n≤15)

clearall;closeall;clc;

n=-5:

15;

x1=[zeros(1,5)ones(1,16)];

x2=[(n-5)>=0];

subplot(121);

stem(n,x1);grid;

xlabel('n');ylabel('x1(n)');title('u(n)的线图');

axis([-116-0.11.1]);

subplot(122);

stem(n,x2);grid;

xlabel('n');ylabel('x2(n)');title('u(n-5)的线图');

axis([-116-0.11.1]);

set(gcf,'color','w');

图2单位阶跃信号

3.1.3正弦序列

题目2sin(0.2πn+2π/5)

clearall;closeall;clc;

n=-16:

16;x=2*sin(0.2*pi*n+2*pi/5);

n1=-24:

0.1:

24;x1=2*sin(0.2*pi*n1+2*pi/5);

stem(n,x,'.');holdon;plot(n1,x1,'--');

xlabel('n');ylabel('x(n)');title('2sin(0.2\pin+2\pi/5)的线图');

axis([-1818-2.12.1]);

set(gcf,'color','w');

图3正弦序列信号

 

3.1.4.离散时间实指数序列

clearall;

closeall;

clc;n=0:

8;x=(0.9).^n;

stem(n,x);xlabel('n');

ylabel('x(n)');

title('x(n)=(0.9)^n的线图');

图4离散时间实指数信号

3.1.5离散时间虚指数序列

题目离散时间x=f0+A*(w*n+q0)

f0=1;A=3;w=pi/4;q0=pi/4;

n=-4:

4;

x=f0+A*exp(w*n+q0);

stem(n,x);

xlabel('Timeindexn');

ylabel('f(n)');

title('离散时间虚指数');

图5离散时间实指数

3.1.6离散时间复指数序列

题目对x=exp((0.05+j*pi/4)*n)实现复指数序列变化

clearall;closeall;clc;

n=-20:

20;

x=exp((0.05+j*pi/4)*n);

xr=real(x);

xi=imag(x);

xamp=abs(x);

xpha=angle(x);

subplot(221);

stem(n,xr,'.');axis([-2323-33]);

xlabel('n');ylabel('xr');title('e^(^0^.^0^5^+^j^\pi^/^4^)^n的实部');

subplot(222);

stem(n,xi,'.');axis([-2323-33]);

xlabel('n');ylabel('xi');title('e^(^0^.^0^5^+^j^\pi^/^4^)^n的虚部');

subplot(223);

stem(n,xamp,'.');axis([-2323-0.13]);

xlabel('n');ylabel('xamp');title('e^(^0^.^0^5^+^j^\pi^/^4^)^n的幅值');

subplot(224);

stem(n,xpha,'.');axis([-2323-44]);

xlabel('n');ylabel('xpha');title('e^(^0^.^0^5^+^j^\pi^/^4^)^n的相位');

set(gcf,'color','w');

图6离散时间复指数序列图

3.2用MATLAB实现信号的时域运算

3.2.1相加

3.2.2相乘

clearall;closeall;clc;

n1=-2:

2;x1=[-12-314];

n2=0:

3;x2=[2-32-3];

n=min(min(n1),min(n2)):

max(max(n1),max(n2));

x11=zeros(1,length(n));x22=zeros(1,length(n));

x11(find((n>=min(n1))&(n<=max(n1))))=x1;

x22(find((n>=min(n2))&(n<=max(n2))))=x2;

xa=x11+x22;xm=x11.*x22;

subplot(221);

stem(n,x11);axis([-34-45]);

xlabel('n');ylabel('x11(n)');title('x1(n)的扩展序列');

subplot(222);

stem(n,xa);axis([-34-47]);

xlabel('n');ylabel('x1(n)+x2(n)');title('x1(n)和x2(n)的和');

subplot(223);

stem(n,x22);axis([-34-43]);

xlabel('n');ylabel('x22(n)');title('x2(n)的扩展序列');

subplot(224);

stem(n,xm);axis([-34-79]);

xlabel('n');ylabel('x1(n)*x2(n)');title('x1(n)和x2(n)的乘积');

set(gcf,'color','w');

图7相乘相加序列

3.2.3数乘

题目将两个信号进行相乘

A=3;w=pi/4;a=2;

n=-8:

0.001:

8;

f1=A*sin(w*n+pi/6);

f=a*f1;

plot(n,f1,n,f);

图8数乘信号

3.3用MATLAB实现信号的时域变换

题目%{(y_1(n)=x(2n)@y_2(n)=x(n/2))和{(y_3(n)=x(3n)@y_4(n)=x(n/3))的时域变换

symst;

a=2;

f=sym('(t/2+1)*(heaviside(t+2)-heaviside(t-2))');

subplot(231),ezplot(f,[-5,5]);

xlabel('Time(sec)');

ylabel('f');

title('原函数');

f1=subs(f,t,-t);

subplot(232),ezplot(f1,[-5,5]);

xlabel('Time(sec)');

ylabel('f1');

title('反摺');

f2=subs(f,t,t-1);

subplot(233),ezplot(f2,[-5,5]);

xlabel('Time(sec)');

ylabel('f2');

title('时移');

f3=a*f;

subplot(234),ezplot(f3,[-5,5]);

xlabel('Time(sec)');

ylabel('f3');

title('幅值展缩');

f4=-f1;

subplot(235),ezplot(f4,[-5,5]);

xlabel('Time(sec)');

ylabel('f4');

title('倒相');

f5=subs(f,t,a*t);

subplot(236),ezplot(f5,[-2,2]);

xlabel('Time(sec)');

ylabel('f5');

title('时间展缩');

图8对信号各种变换图

3.4用MATLAB实现离散时间系统卷积和仿真波形

题目对例子e=[54321];h=[1,1,1,1]卷积及其仿真

clear;

e=[54321];h=[1,1,1,1];

r=conv(e,h);kr=length(r);

figure(3);%待卷积信号

subplot(2,1,1);stem(e,'.');

title('e(k)的波形');axis([0,6,0,5]);

subplot(2,1,2);stem(h,'.');

title('h(k)的波形');axis([0,6,0,5]);

set(gcf,'color','w');

figure(4);%卷积过程

subplot(2,2,1);stem(e,'.');

axis([-length(h),kr+1,0,5]);title('e(i)的波形');

subplot(2,2,2);stem(h,'.');

axis([-length(h),kr+1,0,5]);title('h(i)的波形');

subplot(2,2,3);stem(-(1:

length(h)),h,'.');

title('h(-i)的波形');axis([-length(h),kr+1,0,5]);

subplot(2,2,4);stem(2:

1+kr,r,'.');

title('Rzs(k)的波形');axis([-length(h),kr+1,0,15]);

set(gcf,'color','w');

图9MATLAB实现离散时间系统卷积和仿真波形

图10离散时间系统的单位响应,阶跃响应的仿真波形

3.5实现离散时间系统的单位响应,阶跃响应的仿真波形

%示例一:

系统为y[k]+y[k-1]+y[k-2]=f[k]

clearall;closeall;clc;

n=10;a=[1,1,1];b=[1];

u=ones(1,10);h=impz(b,a,n)';

Ru=stepz(b,a,n)';r=conv(u,h);

figure

(1);

subplot(2,1,1);stem(h,'.');

title('单位响应波形');axis([1,10,-2,2]);

subplot(2,1,2);stem(Ru,'.');

title('阶跃响应波形');axis([1,10,-2,2]);

set(gcf,'color','w');

%示例二:

系统为y[k]-1y[k-1]+2y[k-2]=f[k]

clear;

n=10;a=[1,-1,2];b=[1];

u=ones(1,10);h=impz(b,a,n)';

Ru=stepz(b,a,n)';r=conv(u,h);

figure

(2);

subplot(2,1,1);stem(h,'.');

title('单位响应的波形');axis([1,10,-20,20]);

subplot(2,1,2);stem(Ru,'.');

title('阶跃响应的波形');axis([1,10,-30,30]);

set(gcf,'color','w');

图11离散时间系统的单位响应,阶跃

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

当前位置:首页 > 求职职场 > 社交礼仪

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

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