Road Profile as Input in Simulink

35 views (last 30 days)
Sergio Rueda
Sergio Rueda on 8 Oct 2018
Commented: Mert Buyukkopru on 4 Apr 2022
Hi, i just created a PSD Road Profile, using the following code.
k = 3; % Values For ISO Road C-D Roughness Classification, from 3 to 9
V=40; % Car Velocity Km/h
L = 250; % Length Of Road Profile (m)
N=L/(V/3.6)*100; % Number of data points
B = L/N ; % Sampling Interval (m)
dn = 1/L; % Frequency Band
n0 = 0.1; % Spatial Frequency (cycles/m)
n = dn : dn : N*dn; % Spatial Frequency Band
phi = 2*pi*rand(size(n)); % Random Phase Angle
Amp1 = sqrt(dn)*(2^k)*(1e-3)*(n0./n); % Amplitude for Road Class A-B
x = 0:B:L-B; % Abscissa Variable from 0 to L
hx = zeros(size(x));
for i=1:length(x)
hx(i) = sum(Amp1.*cos(2*pi*n*x(i)+ phi));
end
plot(x,hx)
Now, I need to use this road profile as input in a simulink half car suspension model that I have built. Hx and X are two 1x2250 arrays. Is there any way to do it? Thanks in advance.
  1 Comment
Mert Buyukkopru
Mert Buyukkopru on 4 Apr 2022
You can use from workspace block to get road input (your h(x) ) from Matlab workspace. You also need to create time vector start from 0 until vehicle stop.

Sign in to comment.

Answers (1)

Haritha
Haritha on 24 Oct 2018
Create a call back function in Simulink by using model explorer.
  1 Comment
Pankaj Chaurasia
Pankaj Chaurasia on 26 Feb 2022
I am having same doubt, and i have created a call back function, now how to use this call back function it is not having an output port and i want to use it as input sourse for my system kindly tell me...

Sign in to comment.

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!