Week 4 Challenge 1- Vehicle frequency target estimation
Vehicle frequency target estimation
Input variables
wheel_rate_f = 23.8317; %N/mm
wheel_rate_r = 21.20; %N/mm
tire_rate = 245; %N/mm
rs_front = 25.3285971; %N/mm
rs_rear = 29.3471132; %N/mm
unsprung mass (same for all three load condition)
un_front = 90; %kg per corner
un_rear = 60; %kg per corner
half load condition
ws_front = 456.875; %kg per corner
ws_rear = 471.875; %kg per corner
Curb
cws_front = 405; %kg per corner
cws_rear = 420; %kg per corner
GVW
gvws_front = 475; %kg per corner
gvws_rear = 490; %kg per corner
Time lag
t_wb = 0.10067; %sec(this is the time lag between the front and the rear due to wheel base)
frequencies
curb sprung mass
freq_front_curb= sqrt(rs_front*1000/cws_front)/(2*pi); %hz
freq_rear_curb = sqrt(rs_rear*1000/cws_rear)/(2*pi); %hz
half load sprung mass
freq_front_ws= sqrt(rs_front*1000/ws_front)/(2*pi); %hz
freq_rear_ws = sqrt(rs_rear*1000/ws_rear)/(2*pi); %hz
GVW sprung mass
freq_front_gvws= sqrt(rs_front*1000/gvws_front)/(2*pi); %hz
freq_rear_gvws = sqrt(rs_rear*1000/gvws_rear)/(2*pi); %hz
Unsprung mass for all three load conditions
freq_front_un= sqrt((wheel_rate_f+tire_rate)*1000/un_front)/(2*pi); %hz
freq_rear_un = sqrt((wheel_rate_r+tire_rate)*1000/un_rear)/(2*pi); %hz
For time intervals
time = linspace(0,6,600);
n=size(time);
To find the amplitude for specific time intervals
for i = 1:n(2)
front_amp_curb(i) = exp(-time(i))*sin(2*pi*freq_front_curb*time(i));
rear_amp_curb(i) = exp(-time(i))*sin(2*pi*freq_rear_curb*(time(i)-t_wb));
front_amp_ws(i) = exp(-time(i))*sin(2*pi*freq_front_ws*time(i));
rear_amp_ws(i) = exp(-time(i))*sin(2*pi*freq_rear_ws*(time(i)-t_wb));
front_amp_gvws(i) = exp(-time(i))*sin(2*pi*freq_front_gvws*time(i));
rear_amp_gvws(i) = exp(-time(i))*sin(2*pi*freq_rear_gvws*(time(i)-t_wb));
front_amp_un(i) = exp(-time(i))*sin(2*pi*freq_front_un*time(i));
rear_amp_un(i) = exp(-time(i))*sin(2*pi*freq_rear_un*(time(i)-t_wb));
end
post-process ( for graphical representation )
figure(1), clf
subplot(2,1,1)
plot(time,front_amp_curb);
hold on;
plot(time,rear_amp_curb);
grid on;
hold off;
title('Bump oscillation-Curb');
xlabel('Time(sec)');
ylabel('Amplitude');
legend('Front','Rear');
subplot(2,1,2)
plot(time,front_amp_un);
hold on;
plot(time,rear_amp_un);
grid on;
hold off;
title('Bump oscillation-Curb(Unsprung mass)');
xlabel('Time(sec)');
ylabel('Amplitude');
legend('Front','Rear');
figure(2), clf
subplot(2,1,1)
plot(time,front_amp_ws);
hold on;
plot(time,rear_amp_ws);
grid on;
hold off;
title('Bump oscillation-Half load');
xlabel('Time(sec)');
ylabel('Amplitude');
legend('Front','Rear');
subplot(2,1,2)
plot(time,front_amp_un);
hold on;
plot(time,rear_amp_un);
grid on;
hold off;
title('Bump oscillation-Half load(Unsprung mass)');
xlabel('Time(sec)');
ylabel('Amplitude');
legend('Front','Rear');
figure(3), clf
subplot(2,1,1)
plot(time,front_amp_gvws);
hold on;
plot(time,rear_amp_gvws);
grid on;
hold off;
title('Bump oscillation-GVW');
xlabel('Time(sec)');
ylabel('Amplitude');
legend('Front','Rear');
subplot(2,1,2)
plot(time,front_amp_un);
hold on;
plot(time,rear_amp_un);
grid on;
hold off;
title('Bump oscillation-GVW(Unsprung mass)');
xlabel('Time(sec)');
ylabel('Amplitude');
legend('Front','Rear');







