1、内容简介


468-可以交流、咨询、答疑

2、内容说明

四分之一车体模型车辆载重预测_函数滤波

 

3、仿真分析

clc
close all
clear

v=30/3.6; % 车速50km/h
% road_input = road_signal(v);
load road_input.mat
m_carbody = 50:25:500;
% k1 = 26400; b1 = 290; % 悬架物理参数
% k2 = 237600; b2 = 2000; % 轮胎特性
m2 = 49.8; %轮胎
k1 = 5700; b1 = 290; % 悬架物理参数
k2 = 135000; b2 = 1400; % 轮胎特性

%% 滤波传递函数
% a1情况下
f1 = 0.52;
w1 = 0.05;
num1 = [2*pi*w1 0];
den1 = [1 2*pi*w1 (2*pi*f1)^2];
F1 = tf(num1,den1);

% a2情况下
f2 = 1.75;
w2 = 0.05;
num2 = [2*pi*w2 0];
den2 = [1 2*pi*w2 (2*pi*f2)^2];
F2 = tf(num2,den2);
%% 
for i = 1:length(m_carbody)
    m1 = m_carbody(i);
    fs = 50; % 信号采样频率
    [tout,yout] = quarter_vehicle(m1,road_input);
% plot(tout,yout(:,1),tout,yout(:,2),tout,yout(:,3))
% xlabel 时间/s
% ylabel 车体加速度/m/s^2
% legend("原始车体加速度","F1函数滤波后车体加速度","F2函数滤波后车体加速度")
[f0,y0]=change_fft(fs,yout(:,1));y01 = filter_noise(y0);% y01 = medfilt1(y0,200);
[f1,y1]=change_fft(fs,yout(:,2));y11 = filter_noise(y1);%y11 = medfilt1(y1,200);
[f2,y2]=change_fft(fs,yout(:,3));y21 = filter_noise(y2);%y21 = medfilt1(y2,200);

figure
plot(f0,y0,f1,y1,f2,y2)
xlabel 频率/Hz
ylabel 车体加速度/m/s^2
xlim([0 10])
legend("原始车体加速度","F1函数滤波后车体加速度","F2函数滤波后车体加速度")

figure
plot(f0,y01,f1,y11,f2,y21)
xlabel 频率/Hz
ylabel 车体加速度/m/s^2
xlim([0 10])
legend("原始车体加速度","F1函数滤波后车体加速度","F2函数滤波后车体加速度")

frequency = 10;
up1_10 = y11(f1<frequency);
up2_10 = y21(f2<frequency);
Ra(i) = sum(up1_10)/sum(up2_10);
end
figure
scatter(m_carbody,Ra)
xlabel 载重/kg
ylabel Ra
%% 
myfunc = inline('beta(1)*Ra.^(1/3)+beta(2)','beta','Ra');
beta0 = [0.2,0.2]';%待定系数的预估值
beta = nlinfit(Ra,m_carbody,myfunc,beta0)
m_carbody_est = beta(1)*Ra.^(1/3)+beta(2);
% figure;plot(Ra,m_carbody_est,Ra,m_carbody)
figure
scatter(m_carbody,m_carbody_est)
xlabel 载重/kg
ylabel 预测载重/kg
hold on
plot([0 500],[0 500])
hold off 

四分之一车体模型车辆载重预测_四分之一车体模型_02

 

四分之一车体模型车辆载重预测_车辆载重预测_03

 

4、参考论文


Online estimation of vehicle load and mass  distribution for ground vehicles