一、信号的matlab表示与绘图
1、连续信号绘图,例:
![f(t)=5e^{-0.8t}sin(\pi t),0<t<5](https://latex.codecogs.com/gif.latex?f%28t%29%3D5e%5E%7B-0.8t%7Dsin%28%5Cpi%20t%29%2C0%3Ct%3C5)
t=0:0.0001:5;
a=5;
b=-0.8;
x=a*exp(b*t).*sin(pi*t); %注意是“.*”
plot(t,x); %绘制出信号关于变量t的波形
图形绘制如下:
![](https://img-blog.csdnimg.cn/18b05a63f75648db86b9aa5fe79cf43c.png)
2、离散信号的绘制,例:
![f(k)=2*0.8^{k},-5<k<5](https://latex.codecogs.com/gif.latex?f%28k%29%3D2*0.8%5E%7Bk%7D%2C-5%3Ck%3C5)
k=-5:5;
c=2;
d=0.8;
y=c*d.^k; %注意是“.^”
stem(k,y); %从k轴到数据值按茎状形式画出,以圆圈终止
图像绘制如下:
![](https://img-blog.csdnimg.cn/4e8719eb88f74ff39196f5d585a465a2.png)
二、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);
例:
![\ddot{y}(t)+2\dot{y}(t)+77y(t)=f(t)](https://latex.codecogs.com/gif.latex?%5Cddot%7By%7D%28t%29+2%5Cdot%7By%7D%28t%29+77y%28t%29%3Df%28t%29)
在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);
图像绘制如下:
![](https://img-blog.csdnimg.cn/ab477c0d08b94cb2821ab44c437652ab.png)
三、matlab求解冲激响应与阶跃响应
对于LTI(线性时不变系统)
%a和b表示系统方程左端和右端的系数向量
连续系统的冲激响应:impulse(b,a)
离散系统的冲激响应:impz(b,a,k) %k表示输出序列的取值范围
阶跃响应:step(b,a)
例:求以下系统的冲激响应和阶跃响应
![](https://img-blog.csdnimg.cn/16bd9dbc77f34d0fbf37cc9f7b2c74e0.jpeg)
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);
![](https://img-blog.csdnimg.cn/4bc12854076f4b0b8474f0283efe28b9.png)
四、卷积的matlab求解
%处理离散卷积的函数:conv(f1,f2),对序列做卷积运算
![](https://img-blog.csdnimg.cn/de22a058b9bc4ac0b2e4f68d6b0b211a.jpeg)
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)
![](https://img-blog.csdnimg.cn/515d80009c4846bd9f44d6145424f5ef.png)
五、信号的频域分析
%周期信号的频谱Cn为离散信号,可以用stem画其频谱图
stem(k,abs(Cn)) %获得其幅度频谱,k为取值范围
stem(k,angle(Cn)) %获得其相位频谱
%离散周期信号的频谱分析,快速傅里叶变换
Y=fft(x) %x是一个周期序列,Y是周期信号在频谱上的相应值
例 :
![](https://img-blog.csdnimg.cn/82f50eb84b4046c0a1893f3f656159a0.jpeg)
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)) %画出相位
得到结果
![](https://img-blog.csdnimg.cn/d67a37a000e145d2b08ba18cc0b4bf2c.png)
六、系统的频域分析
%连续系统的频率响应
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)) %画出相位
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)