【发布时间】:2014-03-18 00:41:13
【问题描述】:
我正在尝试生成一条随机道路,该道路将用作 Quarter-car 模型的输入。
我使用了本文http://link.springer.com/article/10.1007%2Fs12544-013-0127-8/fulltext.html中描述的过程。
在图 2 中,生成的道路绘制为 A-B 类别的最大标高为 15 毫米,D-E 类别的最大标高为 100 毫米。我的问题是我从他们报告的那些中得到了更高的振幅。
我不确定我做错了什么,任何指导将不胜感激。
道路长度 = 250 米
空间频带 = 0.004 -> 4
我使用了文章中的公式 (8) 和简化版 (9) 都给出了相同的结果。
我的matlab代码:
clear all;close all;
% spatial frequency (n0) cycles per meter
Omega0 = 0.1;
% psd ISO (used for formula 8)
Gd_0 = 32 * (10^-6);
% waveviness
w = 2;
% road length
L = 250;
%delta n
N = 1000;
Omega_L = 0.004;
Omega_U = 4;
delta_n = 1/L; % delta_n = (Omega_U - Omega_L)/(N-1);
% spatial frequency band
Omega = Omega_L:delta_n:Omega_U;
%PSD of road
Gd = Gd_0.*(Omega./Omega0).^(-w);
% calculate amplitude using formula(8) in the article
%Amp = sqrt(2*Gd*delta_n);
%calculate amplitude using simplified formula(9) in the article
k = 3;
Amp = sqrt(delta_n) * (2^k) * (10^-3) * (Omega0./Omega);
%random phases
Psi = 2*pi*rand(size(Omega));
% x abicsa from 0 to L
x = 0:0.25:250;
% road sinal
h= zeros(size(x));
for i=1:length(x)
h(i) = sum( Amp.*cos(2*pi*Omega*x(i) + Psi) );
end
plot(x, h*1000 );
xlabel('Distance m');
ylabel('Elevation (mm)');
grid on
【问题讨论】: