赞
踩
一、信号的matlab表示与绘图
1、连续信号绘图,例:
- t=0:0.0001:5;
- a=5;
- b=-0.8;
- x=a*exp(b*t).*sin(pi*t); %注意是“.*”
- plot(t,x); %绘制出信号关于变量t的波形
图形绘制如下:
2、离散信号的绘制,例:
- k=-5:5;
- c=2;
- d=0.8;
- y=c*d.^k; %注意是“.^”
- stem(k,y); %从k轴到数据值按茎状形式画出,以圆圈终止
图像绘制如下:
二、matlab求解系统的响应
对于LTI(线性时不变系统)
- %求连续系统的零状态响应,t表示因变量时间,f表示输入信号,sys是系统模型
- y=lsim(sys,f,t);
-
-
- %计算由差分方程描述的系统的零状态响应,a,b是差分方程左右端的系数向量,x表示输入序列
- y=filter(b,a,x);
-
- %系统模型要借助tf函数获得,b和a分别为微分方程左右端各项系数
- sys=tf(b,a);
-
例:
在t>=0时接入激励,求零状态响应
- sys=tf([1],[1,2,77]); %系统
- t=0:0.001:5;
- f=10*sin(2*pi*t); %信号
- y=lsim(sys,f,t);
- plot(t,y);
图像绘制如下:
三、matlab求解冲激响应与阶跃响应
对于LTI(线性时不变系统)
- %a和b表示系统方程左端和右端的系数向量
-
- 连续系统的冲激响应:impulse(b,a)
-
- 离散系统的冲激响应:impz(b,a,k) %k表示输出序列的取值范围
-
-
- 阶跃响应:step(b,a)
例:求以下系统的冲激响应和阶跃响应
- a=[7 4 6];
- b=[1 1];
- subplot(2,1,1) %subplot(m,n,p) m表示图排成m行,n表示图在一行上排n列,p表示图所在的位置(从左到右从上到下)
- impulse(b,a);
- subplot(2,1,2)
- step(b,a);
四、卷积的matlab求解
%处理离散卷积的函数:conv(f1,f2),对序列做卷积运算
- t1=0:0.001:1
- ft1=2*rectpuls(t1-0.5,1); %rectpuls可产生高度为1、宽度为w、关于t=0对称的矩形脉冲信号
- t2=0:0.001:2
- ft2=t2;
- t3=0:0.001:3
- ft3=conv(ft1,ft2);
- ft3=ft3*0.001; %因为前面取了一千个样点,卷积的数值变多,要乘以0.001缩下来相当于取均了值
- plot(t3,ft3)
五、信号的频域分析
- %周期信号的频谱Cn为离散信号,可以用stem画其频谱图
-
- stem(k,abs(Cn)) %获得其幅度频谱,k为取值范围
- stem(k,angle(Cn)) %获得其相位频谱
-
-
- %离散周期信号的频谱分析,快速傅里叶变换
-
- Y=fft(x) %x是一个周期序列,Y是周期信号在频谱上的相应值
-
例 :
- N=32; M=4;
- x=[ones(1,M+1) zeros(1,N-2*M-1) ones(1,M)]; %输入信号
- % plot(x);
- X=fft(x);
- m=0:N-1;
- subplot(2,1,1);
- plot(m,abs(X)) %画出幅值
-
- subplot(2,1,2);
- plot(m,angle(X)) %画出相位
得到结果
六、系统的频域分析
- %连续系统的频率响应
-
- H=freqs(b,a,w) %b表示分子多项式系数,a表示分母多项式系数,w表示需计算的抽样点
- plot(w,abs(H)) %画出幅值
- plot(w,angle(H)) %画出相位
-
-
-
-
- %离散系统的频率响应
- H=freqz(b,a,w) %b表示分子多项式系数,a表示分母多项式系数,w表示需计算的抽样点
- plot(w,abs(H)) %画出幅值
- plot(w,angle(H)) %画出相位
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。