随机路面激励及其功率谱密度||基于ISO-8608||python&Matlab代码实现

在研究汽车悬架系统控制问题时,常常需要使用随机路面输入对控制器性能进行评估,这时,基于路面不平度的随机路面生成显得尤为重要。

本文根据《ISO-8608:机械振动 - 道路表面轮廓测量数据报告》 以及《国家标准 道路路面谱测量数据报告》,利用高度功率谱密度建立随机路面模型,为后续悬架控制问题的研究做好仿真基础。

标准指出:

拟合高度功率谱密度PSD为:其中,n0为参考空间频率;n为空间频率;w为频率指数(一般取2)。

各等级路面高度功率谱密度的均值和限值为:

随机路面激励及其功率谱密度||基于ISO-8608||python&Matlab代码实现_第1张图片

基于此,计算路面高度功率谱密度,再乘以频率分量的间隔,开平方根,得到每个频率分量上的振幅谱密度 Gd。

最后对所有频率分量的振幅普密度求和,得到高度路面激励的高度分布。

核心代码如下:

Gd = sqrt(Gdn0 * (ns/n0).^(-w) * 2 * (n_max - n_min)/components);

...

for i = 1:length(x)
    profile(i) = sum(Gd .* cos(2 * pi * ns * x(i) - phase));
end

%  其中,n_min和n_max分别为最小空间频率和最小空间频率,components表示频率分量数,phase表示随机噪声

最终利用此方法分别在matlab和python中实现了随机路面生成,并可绘制其功率谱密度图像,如下:

随机路面:

1、matlab:

随机路面激励及其功率谱密度||基于ISO-8608||python&Matlab代码实现_第2张图片

2、python:
随机路面激励及其功率谱密度||基于ISO-8608||python&Matlab代码实现_第3张图片

功率谱密度:

随机路面激励及其功率谱密度||基于ISO-8608||python&Matlab代码实现_第4张图片

随机路面激励及其功率谱密度||基于ISO-8608||python&Matlab代码实现_第5张图片

有心的同学可根据核心代码编写实现,时间少的同学可于我的资源处下载源代码。

源代码后续上传至我的资源。

python:

matlab:

你可能感兴趣的:(控制,汽车,python,matlab,数学建模,自动驾驶,算法)