信号与系统-MATLAB.ppt
《信号与系统-MATLAB.ppt》由会员分享,可在线阅读,更多相关《信号与系统-MATLAB.ppt(96页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、利用利用MATLAB进行信号与系统分析进行信号与系统分析MATLAB简介简介信号的信号的MATLAB表示表示利用利用MATLAB进行系统的时域分析进行系统的时域分析利用利用MATLAB进行信号的频域分析进行信号的频域分析利用利用MATLAB分析系统的频率特性分析系统的频率特性利用利用MATLAB进行连续系统的进行连续系统的s域分析域分析利用利用MATLAB进行离散系统的进行离散系统的z域分析域分析利用利用MATLAB进行系统的状态变量分析进行系统的状态变量分析 MATLAB简介简介(Matrix Laboratory)(Matrix Laboratory)MATLABMATLAB的工作方式的工
2、作方式的工作方式的工作方式如何获取帮助如何获取帮助如何获取帮助如何获取帮助表达式表达式表达式表达式变量、数值、算数运算符、变量、数值、算数运算符、变量、数值、算数运算符、变量、数值、算数运算符、关系运算符、逻辑运算符、冒号运算符关系运算符、逻辑运算符、冒号运算符关系运算符、逻辑运算符、冒号运算符关系运算符、逻辑运算符、冒号运算符数组及其运算数组及其运算数组及其运算数组及其运算函数文件函数文件函数文件函数文件循环(循环(循环(循环(FORFOR、WHILEWHILE 循环)循环)循环)循环)基本绘图语句基本绘图语句基本绘图语句基本绘图语句一、一、MATLAB的工作方式的工作方式(1)窗口命令方式
3、(2)运行以.M 为扩展名磁盘文件工作方式举例工作方式举例%用plot函数画一个方波t=-1 0 0 1 1 3;x=0 0 1 1 0 0;plot(t,x);xlabel(t);ylabel(x(t);axis(-1 3 0 2);直接在命令窗口输入以上命令建一个名字为my_file.M的文件,然后在命令窗口输入文件名及回车。二、二、获取帮助获取帮助命令窗口输入:help+函数名例如 help plot三、三、表达式表达式不需要变量的类型说明变量名的第一个字符必须是字母变量名长度:不超过31个字符大写和小写的字母视为不同的字符 例如:num_students=25特殊变量:pi 表示圆周率
4、,inf 表示无穷大,NaN(Not a Number)表示不定量,如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的共轭三、三、表达式表达式 运算符号运算符号 算数运算符算数运算符算数运算符算数运算符u+加u-减u*乘u/除u 乘方u 矩阵的复共轭转置三、三、表达式表达式 运算符号运算符号 逻辑运算符逻辑运算符逻辑运算符逻辑运算符u
5、 A&B逻辑与(and)u A|B逻辑或(or)u A 逻辑非(not)值为0时表示逻辑假(F),其它任何非零值表示逻辑真。三、三、表达式表达式 运算符号运算符号 关系运算符关系运算符关系运算符关系运算符u A B 大于uA=B 大于等于uA=B 等于uA=B不等于三、三、表达式表达式 运算符号运算符号 冒号运算符冒号运算符冒号运算符冒号运算符u表达式 1:10 表示产生一个行向量,它的值为 1 2 3 4 5 6 7 8 9 10u表达式 10:-2:1 表示产生一个递减的行向量,它的值为 10 8 6 4 2 四、四、数组数组1.数组的构造数组的构造用冒号:产生数组例 x=2:5 产生一个
6、数组,它的值为x(1)=2,x(2)=3,x(3)=4,x(4)=5x=linspace(0,2,11)将区间0,2均匀抽样11点作为数组x 给2维数组赋值时,用分号表示一行的结束,如:z=1 2;3 4。用linspace产生数组四、四、数组数组1.数组的构造数组的构造MATLAB 提供了一些产生基本矩阵的函数 zeros 产生矩阵元素全为0的矩阵 ones 产生矩阵元素全为1的矩阵 rand 产生(0,1)均匀分布随机数矩阵 randn 产生正态分布随机数矩阵四、四、数组数组2.数组的运算数组的运算数组和一个标量相加或相乘数组和一个标量相加或相乘数组和一个标量相加或相乘数组和一个标量相加或
7、相乘 例例 y=xy=x-1 z=3*x1 z=3*x2 2个数组的对应元素相乘除个数组的对应元素相乘除个数组的对应元素相乘除个数组的对应元素相乘除 .*./.*./例例 z=x.*yz=x.*y确定数组大小的函数确定数组大小的函数确定数组大小的函数确定数组大小的函数 size(A)返回值数组A的行数和列数(二维)length(B)确定数组B的元素个数(一维)五、五、函数文件函数文件MM文件的第一行包含文件的第一行包含文件的第一行包含文件的第一行包含functionfunction功能功能功能功能:建立一个函数,可以同建立一个函数,可以同建立一个函数,可以同建立一个函数,可以同MATLABMA
8、TLAB的库的库的库的库函数一样使用。函数一样使用。函数一样使用。函数一样使用。五、五、函数文件函数文件例:编一个绘制图示波形的函数。function y=tri(t)y=abs(t)eps s=s+1/(n*n);n=n+1;end例例:计算 的值,且误差小于10-6fprintf(s=%.5fn,s)八、八、plot函数函数绘图函数绘图函数(continuous)t=linspace(0,4*pi,512);plot(t,sin(t),t,cos(t),-.);title(my figure);%图的标题xlabel(t);%横坐标标示legend(sin(t),cos(t);%图形上的标
9、注八、八、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实现实现 尺度变换、翻转、时移、尺度变换、翻转、时移、相加、相乘、相加、相乘、差分与求和、
10、微分与积分差分与求和、微分与积分一、基本信号的一、基本信号的MATLAB表示表示指数信号Aeat y=A*exp(a*t);指数序列ak幂运算a.k实现正弦型信号内部函数cos()和sin()抽样函数Sa(t)sinc(t)矩形脉冲信号 y=rectpuls(t,width)三角波脉冲信号y=tripuls(t,width,skew)%skew:斜度一、基本信号的一、基本信号的MATLAB表示表示%decaying exponentialt=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*
11、t);stem(t,ft)一、基本信号的一、基本信号的MATLAB表示表示%rectpulst=0:0.001:4;T=1;ft=rectpuls(t-2*T,T);plot(t,ft)axis(0,4,-0.5,1.5)一、基本信号的一、基本信号的MATLAB表示表示%tripuls%tripulst=t=-3:0.001:3;3:0.001:3;ft=tripuls(t,4,0.5);ft=tripuls(t,4,0.5);plot(t,ft)plot(t,ft)ft=tripuls(t,4,1);ft=tripuls(t,4,1);一、基本信号的一、基本信号的MATLAB表示表示%uni
12、t impuls sequence%unit impuls sequencek=-50:50;k=-50:50;delta=zeros(1,50),1,zeros(1,50);delta=zeros(1,50),1,zeros(1,50);stem(k,delta)stem(k,delta)function f,k=function f,k=impseqimpseq(k0,k1,k2)(k0,k1,k2)%产生产生 fk=delta(kfk=delta(k-k0)k0);k1=k=k2k1=k=k2k=k1:k2;f=(kk=k1:k2;f=(k-k0)=0;k0)=0;k0=0;k1=k0=
13、0;k1=-50;k2=50;50;k2=50;f,k=f,k=impseqimpseq(k0,k1,k2);(k0,k1,k2);stem(k,f)stem(k,f)一、基本信号的一、基本信号的MATLAB表示表示%unit step sequence%unit step sequencek=k=-50:50;50:50;uk=zeros(1,50),ones(1,51);uk=zeros(1,50),ones(1,51);stem(k,uk)stem(k,uk)function f,k=function f,k=stepseqstepseq(k0,k1,k2)(k0,k1,k2)%产生产生
14、 fk=u(kfk=u(k-k0);k1=k=k2k0);k1=k=0;k0)=0;k0=0;k1=k0=0;k1=-50;k2=50;50;k2=50;f,k=f,k=stepseqstepseq(k0,k1,k2);(k0,k1,k2);stem(k,f)stem(k,f)二、信号基本运算的二、信号基本运算的MATLAB实现实现t=t=-3:0.001:3;3:0.001:3;ft1=tripuls(ft1=tripuls(2*t2*t,4,0.5);,4,0.5);subplot(2,1,1)subplot(2,1,1)plot(t,ft1)plot(t,ft1)title(title(
15、x(2t)x(2t)ft2=tripuls(ft2=tripuls(2 2-2*t2*t),4,0.5);),4,0.5);subplot(2,1,2)subplot(2,1,2)plot(t,ft2)plot(t,ft2)title(title(x(2x(2-2t)2t)1.信号的尺度变换、翻转、时移(平移)信号的尺度变换、翻转、时移(平移)已知三角波x(t),用MATLAB画出的x(2t)和x(2-2t)波形二、信号基本运算的二、信号基本运算的MATLAB实现实现2.信号的相加与相乘信号的相加与相乘相加相加用算术运算符用算术运算符“+”实现实现相乘相乘用数组运算符用数组运算符“.*”实现实
16、现 例:画信号Aeatcos(0t+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=y=diffdiff(f);(f);求和求和求和求和y=y=sumsum(f(k1:k2);(f(k1:k2);微分微分微分微分 y=diff(f)/hy=diff(f)/h;h;h为数值计算所取时间间隔为数值计算所取时间间隔 定积分
17、定积分定积分定积分 quadquad(function_name,a,b);(function_name,a,b);function_namefunction_name为被积函数名,为被积函数名,a a和和b b指定积分区间。指定积分区间。二、信号基本运算的二、信号基本运算的MATLAB实现实现3.离散序列的差分与求和离散序列的差分与求和 连续信号的微分与积分连续信号的微分与积分例例:已知三角波x(t),画出其微分与积分的波形%differentiation h=0.001;t=-3:h:3;y1=diff(f2_2(t)*1/h;plot(t(1:length(t)-1),y1)%integ
18、rationt=-3:0.1:3;for x=1:length(t)y2(x)=quad(f2_2,-3,t(x);endplot(t,y2)三角波f(t)微分与积分的波形 利用利用MATLAB进行系统的时域分析进行系统的时域分析连续时间系统零状态响应的求解连续时间系统零状态响应的求解连续时间系统冲激响应和阶跃响应的求解连续时间系统冲激响应和阶跃响应的求解离散时间系统零状态响应的求解离散时间系统零状态响应的求解离散时间系统单位脉冲响应的求解离散时间系统单位脉冲响应的求解离散卷积的计算离散卷积的计算一、连续时间系统零状态响应的求解一、连续时间系统零状态响应的求解t 表示计算系统响应的抽样点向量a
19、=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系统模型三、离散时间系统零状态响应的求解三、离散时间系统零状态响
20、应的求解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是卷积
21、结果。conv函数也可用于计算两个多项式的积例例1 1 求系统 y(t)+2y(t)+100y(t)=10 x(t)的零状态响应,已知x(t)=sin(2t)u(t)。%program3_1微分方程求解ts=0;te=5;dt=0.01;sys=tf(10,1 2 100);t=ts:dt:te;x=sin(2*pi*t);y=lsim(sys,x,t);plot(t,y);xlabel(Time(sec)ylabel(y(t)例例2 2 求系统 y(t)+2y (t)+100y(t)=10 x(t)的零状态响应,已知x(t)=d(t)。%program3_2连续时间系统的冲激响应ts=0;t
22、e=5;dt=0.01;sys=tf(10,1 2 100);t=ts:dt:te;y=impulse(sys,t);plot(t,y);xlabel(Time(sec)ylabel(h(t)例例例例3 3 3 3 分析噪声干扰的信号分析噪声干扰的信号x x k k=s s k k+d d k k 通过通过MM点滑动点滑动平均系统的响应,平均系统的响应,其中其中s sk k=(2=(2k k)0.9)0.9k k是原始信号,是原始信号,d d k k 是噪声。是噪声。R=51;d=rand(1,R)-0.5;k=0:R-1;s=2*k.*(0.9.k);x=s+d;figure(1);plot
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 系统 MATLAB
限制150内