简体   繁体   中英

Generation of random vibration from power spectral density

I'm trying to generate a random road which will be used as input for a Quarter-car model.

I used the procedure described in this article http://link.springer.com/article/10.1007%2Fs12544-013-0127-8/fulltext.html .

In Figure 2, generated roads are plotted with a maximum elevation of 15 mm for AB category and 100 mm for DE. My problem is that I get much higher amplitudes from those reported by them.

I'm not sure what I'm doing wrong, any guidance would be appreciated.

Length of road = 250 meters

Spatial frequency band = 0.004 -> 4

I used the formula (8) and the simplified version (9) from the article both give me same results.

My matlab code:

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

In this paper: Josef Melcer “numerical simulation of vehicle motion along the road structure”, 2012 (just google it)

only the final formula for road hight is given (formula 4) and is different from the formula in the paper of Agostinacchio. The difference is the 2*pi in the cosin term. Deleting the 2*pi term leads to much "better" amplitudes (better in a sense of “the scripted plot fits better to the plots in the paper of Agostinacchio”). But I am not sure if this is physical and mathematical correct.

Do you have another solution?

I managed to contact the author of the article to review my code and he said it's correct. It seems that the values for 'k' were wrong in the article, k=6 was actually k=5, k=5 was k=4 and so on, that`s why the amplitudes were higher than expected. Of course, the formulas are slightly different from article to article, some use the sin() instead of cos() or the angular spatial frequency(which already includes the 2*pi term) instead of the spatial frequency.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM