目录
前言
1.s域频域分析
1.1微分方程进行复频域转化
1.2建立传递函数
2.z域频域分析
2.1例子
2.2程序
3.MATLAB图像中插入局部图
前面介绍了用tfest估计simulink仿真中得闭环系统传递函数进行频域分析,以及使用simulink线性化工具箱进行频域分析,可以看上篇文章:
Simulink模型闭环传递函数导出及Matlab对simulink模型进行频域分析(含实现程序)_Mr. 邹的博客-CSDN博客
ltisys和ltiss函数使用示例学习及频域分析(含实现程序)_Mr. 邹的博客-CSDN博客
以汽车被动悬架方程为例:
将s域代入,即:
所以有:
令:
所以有车身位移和车轮位移对路面激励的频域响应关系为:
类似的xs'' = s^2*xs,所以车身加速度、悬架动扰度、车轮动载荷对路面激励的幅频特性为:
由于这里分子有乘和相减的情形,我也没有找到合适建立这样传递函数的方法,所以就用expand函数先将分母展开,然后人工整理得到分析分母。如果有人知道,欢迎留言指导,谢谢!
获得车身加速度对路面激励的幅频特性程序如下:
syms s ms cs ks kt mt
A1 = s^2*ms+s*cs+ks;
A2 = s*cs+ks;
A3 = s^2*mt+s*cs+ks+kt;
ddxs_xr = A2/(A1*A3-A2^2);
expand(A1*A3-A2^2)
运行结果:
ks*kt + cs*ms*s^3 + cs*mt*s^3 + ks*ms*s^2 + ks*mt*s^2 + kt*ms*s^2 + ms*mt*s^4 + cs*kt*s
整理得到分子和分母:
num = [kt*cs,kt*ks,0,0];
den = [ms*mt,ms*cs+cs*mt,ms*(ks+kt)+ks*mt,cs*kt,ks*kt];
所以进行频域分析的程序如下:
%% 频域分析
ms = 345;%车体质量
mt = 40.5;%车轮质量
ks = 17000;%悬架刚度
kt = 192000;%车轮刚度
cs = 1500;%被动悬架阻尼
num = [kt*cs,kt*ks,0,0];
den = [ms*mt,ms*cs+cs*mt,ms*(ks+kt)+ks*mt,cs*kt,ks*kt];
% ddxs_xr = tf(num,den);
w = logspace(-1,2);%产生10^(-1)---10^2的频域x轴(Hz单位)
ddxs_xr = freqs(num,den,w);%频域响应分析
mag = abs(ddxs_xr);%幅值
phase = angle(ddxs_xr);%相位
phasedeg = phase*180/pi;%弧度制转换成角度制
subplot(2,1,1)
loglog(w,mag)%双对数图像
grid on
xlabel('Frequency (rad/s)');ylabel('Magnitude');title("Body Acceleration")
subplot(2,1,2)
semilogx(w,phasedeg)%x轴为对数图像(半对数图像)
grid on
xlabel('Frequency (rad/s)')
ylabel('Phase (degrees)')
运行结果:
公式法进行频域特性分析结果:
但是这种方法是基于公式法进行分析的,也就是只局限于被动悬架频域分析。
这里就直接以matlab help文档中的例子分析:
b0 = 0.05634;
b1 = [1 1];
b2 = [1 -1.0166 1];
a1 = [1 -0.683];
a2 = [1 -1.4461 0.7957];
b = b0*conv(b1,b2);
a = conv(a1,a2);
[h,w] = freqz(b,a,'whole',2001);
plot(w/pi,20*log10(abs(h)))
ax = gca;
ax.YLim = [-100 20];%对y轴进行坐标轴范围限制
ax.XTick = 0:.5:2;
xlabel('Normalized Frequency (\times\pi rad/sample)')
ylabel('Magnitude (dB)')
运行结果:
step 1:打开某张图,点击工具,选择放大,放大至自己想要的图片;
step 2:点击工具,选择编辑绘图(不需要对放大的局部图像大小调整),右键复制;
step 3:点击工具,选择放大,将图片还原;
step 4:点击工具,选择编辑绘图,右键粘贴(按需要调整局部图大小和位置);
step 5:进入图像编辑状态去掉不想要的legend、label。
step 6:点击工具,选择放大还原含局部图片的大小;
step 7:点击工具,选择复制图片。
step1:或者使用工具图标也可
放大后:
step2:同样使用图标工具,并进行复制
step3 复制完后,退出编辑状态即再点step2那个箭头,双击空白处还原图像大小
step4、5 再次点击step2箭头,进入编辑模式,粘贴复制的局部图,并删除坐标等不需要的,调整局部图位置和大小:
step6 复制图窗
最终结果:
如果有帮助,麻烦帮忙点个赞是我最大的分享动力,非常感谢!
注:仅为便利自己学习和学术交流使用,错误在所难免,如有兴趣的学者可以参考交流,如果侵权,立马删,谢谢!
参考资料:
matlab help文档
MATLAB如何在原图插入一个局部放大图_ML__LM的博客-CSDN博客_matlab大图中做一个局部放大图
在MATLAB的figure图中画局部放大的图中图_schwein_van的博客-CSDN博客_matlab放大局部图像