信号与系统利用MATLAB进行信号与系统分析和方程讲解.ppt

上传人:b****9 文档编号:809150 上传时间:2022-10-13 格式:PPT 页数:100 大小:2.92MB
下载 相关 举报
信号与系统利用MATLAB进行信号与系统分析和方程讲解.ppt_第1页
第1页 / 共100页
信号与系统利用MATLAB进行信号与系统分析和方程讲解.ppt_第2页
第2页 / 共100页
信号与系统利用MATLAB进行信号与系统分析和方程讲解.ppt_第3页
第3页 / 共100页
信号与系统利用MATLAB进行信号与系统分析和方程讲解.ppt_第4页
第4页 / 共100页
信号与系统利用MATLAB进行信号与系统分析和方程讲解.ppt_第5页
第5页 / 共100页
点击查看更多>>
下载资源
资源描述

信号与系统利用MATLAB进行信号与系统分析和方程讲解.ppt

《信号与系统利用MATLAB进行信号与系统分析和方程讲解.ppt》由会员分享,可在线阅读,更多相关《信号与系统利用MATLAB进行信号与系统分析和方程讲解.ppt(100页珍藏版)》请在冰豆网上搜索。

信号与系统利用MATLAB进行信号与系统分析和方程讲解.ppt

信号与系统,SignalsandSystems,利用MATLAB进行信号与系统分析,MATLAB简介信号的MATLAB表示利用MATLAB进行系统的时域分析利用MATLAB进行信号的频域分析利用MATLAB分析系统的频率特性利用MATLAB进行连续系统的s域分析利用MATLAB进行离散系统的z域分析利用MATLAB进行系统的状态变量分析,MATLAB简介,(MatrixLaboratory),MATLAB的工作方式如何获取帮助表达式变量、数值、算数运算符、关系运算符、逻辑运算符、冒号运算符数组及其运算函数文件循环(FOR、WHILE循环)基本绘图语句,一、MATLAB的工作方式,

(1)窗口命令方式

(2)运行以.M为扩展名磁盘文件,工作方式举例,%用plot函数画一个方波t=-100113;x=001100;plot(t,x);xlabel(t);ylabel(x(t);axis(-1302);,直接在命令窗口输入以上命令,建一个名字为my_file.M的文件,然后在命令窗口输入文件名及回车。

二、获取帮助,命令窗口输入:

help+函数名例如helpplot,三、表达式,不需要变量的类型说明变量名的第一个字符必须是字母变量名长度:

不超过31个字符大写和小写的字母视为不同的字符例如:

num_students=25特殊变量:

pi表示圆周率,inf表示无穷大,NaN(NotaNumber)表示不定量,如0/0。

变量,三、表达式,数值,MATLAB用常规的十进制表示数值用i或j作为后缀来表示复数的虚部例1.235e5表示1.235105,x=2+3jabs(x)求复数x的模angle(x)求复数x的相角(弧度)real(x)求复数x的实部imag(x)求复数x的虚部conj(x)求复数x的共轭,三、表达式,运算符号,算数运算符,+加-减*乘/除乘方矩阵的复共轭转置,三、表达式,运算符号,逻辑运算符,A&B逻辑与(and)A|B逻辑或(or)A逻辑非(not),值为0时表示逻辑假(F),其它任何非零值表示逻辑真。

三、表达式,运算符号,关系运算符,AB大于A=B大于等于A=B等于A=B不等于,三、表达式,运算符号,冒号运算符,表达式1:

10表示产生一个行向量,它的值为12345678910表达式10:

-2:

1表示产生一个递减的行向量,它的值为108642,四、数组,1.数组的构造,用冒号:

产生数组,例x=2:

5产生一个数组,它的值为x

(1)=2,x

(2)=3,x(3)=4,x(4)=5,x=linspace(0,2,11)将区间0,2均匀抽样11点作为数组x,给2维数组赋值时,用分号表示一行的结束,如:

z=12;34。

用linspace产生数组,四、数组,1.数组的构造,MATLAB提供了一些产生基本矩阵的函数zeros产生矩阵元素全为0的矩阵ones产生矩阵元素全为1的矩阵rand产生(0,1)均匀分布随机数矩阵randn产生正态分布随机数矩阵,四、数组,2.数组的运算,数组和一个标量相加或相乘例y=x-1z=3*x2个数组的对应元素相乘除.*./例z=x.*y确定数组大小的函数size(A)返回值数组A的行数和列数(二维)length(B)确定数组B的元素个数(一维),五、函数文件,M文件的第一行包含function功能:

建立一个函数,可以同MATLAB的库函数一样使用。

五、函数文件,例:

编一个绘制图示波形的函数。

functiony=tri(t)y=abs(t)=1.*(1-abs(t);,调用函数tri,并画出它的波形,t=-2:

0.05:

2;plot(t,tri(t);,六、For循环,例:

编写计算s=1+2+3+100的MATLAB程序s=0;,forn=1:

100s=s+n;end,七、While循环,s=0;n=1;eps=1e-6;,while1/(n*n)epss=s+1/(n*n);n=n+1;end,例:

计算的值,且误差小于10-6,fprintf(s=%.5fn,s),八、plot函数绘图函数(continuous),t=linspace(0,4*pi,512);plot(t,sin(t),t,cos(t),-.);title(myfigure);xlabel(t);legend(sin(t),cos(t);,八、plot函数绘图函数(continuous),九、stem函数绘图函数(discrete),k=0:

39;stem(k,cos(0.9*pi*k);title(cos(0.9pik);,九、stem函数绘图函数(discrete),cos(0.9k)波形,信号的MATLAB表示,基本信号的MATLAB表示指数信号Aeat、指数序列ak、抽样函数Sa(t)、正弦型信号、矩形脉冲信号、三角脉冲信号信号基本运算的MATLAB实现尺度变换、翻转、时移、相加、相乘、差分与求和、微分与积分,一、基本信号的MATLAB表示,指数信号Aeaty=A*exp(a*t);指数序列ak幂运算a.k实现正弦型信号内部函数cos()和sin()抽样函数Sa(t)sinc(t)矩形脉冲信号y=rectpuls(t,width)三角波脉冲信号y=tripuls(t,width,skew),一、基本信号的MATLAB表示,%decayingexponential,t=0:

001:

10;A=1;a=-0.4;ft=A*exp(a*t);plot(t,ft),t=0:

0.1:

10;A=1;a=-0.4;ft=A*exp(a*t);stem(t,ft),一、基本信号的MATLAB表示,%rectpuls,t=0:

0.001:

4;T=1;ft=rectpuls(t-2*T,T);plot(t,ft)axis(0,4,-0.5,1.5),一、基本信号的MATLAB表示,%tripuls,t=-3:

0.001:

3;ft=tripuls(t,4,0.5);plot(t,ft),ft=tripuls(t,4,1);,一、基本信号的MATLAB表示,%unitimpulssequence,k=-50:

50;delta=zeros(1,50),1,zeros(1,50);stem(k,delta),functionf,k=impseq(k0,k1,k2)%产生fk=delta(k-k0);k1=k=k2k=k1:

k2;f=(k-k0)=0;,k0=0;k1=-50;k2=50;f,k=impseq(k0,k1,k2);stem(k,f),一、基本信号的MATLAB表示,%unitstepsequence,k=-50:

50;uk=zeros(1,50),ones(1,51);stem(k,uk),functionf,k=stepseq(k0,k1,k2)%产生fk=u(k-k0);k1=0;,k0=0;k1=-50;k2=50;f,k=stepseq(k0,k1,k2);stem(k,f),二、信号基本运算的MATLAB实现,t=-3:

0.001:

3;ft1=tripuls(2*t,4,0.5);subplot(2,1,1)plot(t,ft1)title(x(2t)ft2=tripuls(2-2*t),4,0.5);subplot(2,1,2)plot(t,ft2)title(x(2-2t),1.信号的尺度变换、翻转、时移(平移),已知三角波x(t),用MATLAB画出的x(2t)和x(2-2t)波形,二、信号基本运算的MATLAB实现,2.信号的相加与相乘,相加用算术运算符“+”实现相乘用数组运算符“.*”实现例:

画信号Aeatcos(w0t+f)的波形t=0:

0.001:

8;A=1;a=-0.4;w0=2*pi;phi=0;ft1=A*exp(a*t).*sin(w0*t+phi);plot(t,ft1),二、信号基本运算的MATLAB实现,3.离散序列的差分与求和连续信号的微分与积分,差分y=diff(f);求和y=sum(f(k1:

k2);,微分y=diff(f)/h;h为数值计算所取时间间隔,定积分quad(function_name,a,b);,function_name为被积函数名,a和b指定积分区间。

二、信号基本运算的MATLAB实现,3.离散序列的差分与求和连续信号的微分与积分,例:

已知三角波x(t),画出其微分与积分的波形,%differentiationh=0.001;t=-3:

h:

3;y1=diff(f2_2(t)*1/h;plot(t(1:

length(t)-1),y1),%integrationt=-3:

0.1:

3;forx=1:

length(t)y2(x)=quad(f2_2,-3,t(x);endplot(t,y2),三角波x(t)微分与积分的波形,利用MATLAB进行系统的时域分析,连续时间系统零状态响应的求解连续时间系统冲激响应和阶跃响应的求解离散时间系统零状态响应的求解离散时间系统单位脉冲响应的求解离散卷积的计算,一、连续时间系统零状态响应的求解,t表示计算系统响应的抽样点向量,a=a3,a2,a1,a0;b=b3,b2,b1,b0;sys=tf(b,a),y=lsim(sys,x,t),sys=tf(b,a),b和a分别为微分方程右端和左端各项的系数向量,x是系统输入信号向量,,sys是LTI系统模型,借助tf函数获得,二、连续系统冲激响应和阶跃响应求解,连续时间系统冲激响应可用impulse函数直接求出,其调用形式为,y=impulse(sys,t),连续时间系统阶跃响应可用step函数直接求出,其调用形式为,y=step(sys,t),t表示计算系统响应的抽样点向量sys是LTI系统模型,三、离散时间系统零状态响应的求解,b,a分别是差分方程左、右端的系数向量,b=b0,b1,b2,bM;a=a0,a1,a2,aN;,可用MATLAB表示为,y=filter(b,a,x),x表示输入序列,y表示输出序列,四、离散时间系统单位脉冲响应的求解,b,a分别是差分方程左、右端的系数向量k表示输出序列的取值范围h就是单位脉冲响应,h=impz(b,a,k),五、离散卷积的计算,例:

(s3+2s+3)(s2+3s+2)可用下面MATLAB语句求出a=1,0,2,3;b=1,3,2;c=conv(a,b),c=conv(a,b),式中a,b为待卷积两序列的向量表示,c是卷积结果。

conv函数也可用于计算两个多项式的积,例1求系统y(t)+2y(t)+100y(t)=10x(t)的零状态响应,已知x(t)=sin(2pt)u(t)。

%program3_1微分方程求解ts=0;te=5;dt=0.01;sys=tf(10,12100);t=ts:

dt:

te;x=sin(2*pi*t);y=lsim(sys,x,t);plot(t,y);xlabel(Time(sec)ylabel(y(t),例2求系统y(t)+2y(t)+100y(t)=10x(t)的零状态响应,已知x(t)=d(t)。

%program3_2连续时间系统的冲激响应ts=0;te=5;dt=0.01;sys=tf(10,12100);t=ts:

dt:

te;y=impulse(sys,t);plot(t,y);xlabel(Time(sec)ylabel(h(t),例3分析噪声干扰的信号xk=sk+dk通过M点滑动平均系统的响应,其中sk=(2k)0.9k是原始信号,dk是噪声。

R=51;d=rand(1,R)-0.5;k=0:

R-1;s=2*k.*(0.9.k);x=s+d;figure

(1);plot(k,d,r-.,k,s,b-,k,x,g-);M=5;b=ones(M,1)/M;

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

当前位置:首页 > 解决方案

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

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