基于云模型的车辆行驶速度估计算法matlab仿真
1.程序功能描述
基于云模型的车辆行驶速度估计算法matlab仿真。在智能交通系统中,车辆行驶速度的准确估计对于交通流量监测、安全预警、自动驾驶辅助等方面具有极为重要的意义。传统的车辆速度测量方法,如基于传感器(如雷达、激光雷达、车轮传感器等)的直接测量方法,虽然具有较高的精度,但存在成本高、易受环境干扰、安装维护复杂等局限性。基于云模型云推理的车辆行驶速度估计算法则提供了一种基于数据驱动和智能推理的间接速度估计方法,能够利用车辆行驶过程中的多种间接信息,如车辆的速度等,实现对车辆行驶速度的有效估计,具有较强的适应性和鲁棒性。
2.测试软件版本以及运行结果展示
MATLAB2022A版本运行
3.核心程序
%速度10公里/s的测试时间样本数据 Ts_10 = func_time_samples(10,Lst,Num,0.1); %速度20公里/s的测试时间样本数据 Ts_20 = func_time_samples(20,Lst,Num,0.05); %速度30公里/s的测试时间样本数据 Ts_30 = func_time_samples(30,Lst,Num,0.0333); %速度40公里/s的测试时间样本数据 Ts_40 = func_time_samples(40,Lst,Num,0.025); %速度50公里/s的测试时间样本数据 Ts_50 = func_time_samples(50,Lst,Num,0.02); %速度60公里/s的测试时间样本数据 Ts_60 = func_time_samples(60,Lst,Num,0.0167); %速度70公里/s的测试时间样本数据 Ts_70 = func_time_samples(70,Lst,Num,0.0143); %速度80公里/s的测试时间样本数据 Ts_80 = func_time_samples(80,Lst,Num,0.0125); %速度90公里/s的测试时间样本数据 Ts_90 = func_time_samples(90,Lst,Num,0.0111); %速度100公里/s的测试时间样本数据 Ts_100 = func_time_samples(100,Lst,Num,0.01); %速度110公里/s的测试时间样本数据 Ts_110 = func_time_samples(110,Lst,Num,0.0091); %选择其中的几个特征数据合并作为后面的测试数据 xf1(1,:) = Ls; xf1(2,:) = Ts_10; xf1(3,:) = Ts_20; xf1(4,:) = Ts_30; xf1(5,:) = Ts_40; xf1(6,:) = Ts_50; xf1(7,:) = Ts_60; xf1(8,:) = Ts_70; xf1(9,:) = Ts_80; xf1(10,:) = Ts_90; xf1(11,:) = Ts_100; xf1(12,:) = Ts_110; %运用逆向正态云发生器,由样本点信息,求解出各自的数字特征:期望、熵、超熵 [Ex1,En1,He1]=func_NI_Cloud(xf1(1,:)); [Ex2,En2,He2]=func_NI_Cloud(xf1(2,:)); [Ex3,En3,He3]=func_NI_Cloud(xf1(3,:)); [Ex4,En4,He4]=func_NI_Cloud(xf1(4,:)); [Ex5,En5,He5]=func_NI_Cloud(xf1(5,:)); [Ex6,En6,He6]=func_NI_Cloud(xf1(6,:)); [Ex7,En7,He7]=func_NI_Cloud(xf1(7,:)); [Ex8,En8,He8]=func_NI_Cloud(xf1(8,:)); [Ex9,En9,He9]=func_NI_Cloud(xf1(9,:)); [Ex10,En10,He10]=func_NI_Cloud(xf1(10,:)); [Ex11,En11,He11]=func_NI_Cloud(xf1(11,:)); [Ex12,En12,He12]=func_NI_Cloud(xf1(12,:)); %% %运用正向正态云发生器,由正态云的三维数字特征(上面逆向云发生器求解得到的期望、熵、超熵)生成云滴 %设置云滴数 n = 2000; [x1,y1,u1] = func_Cloud(Ex1,Ex2,En1,En2,He1,He2,n); [x2,y2,u2] = func_Cloud(Ex1,Ex3,En1,En3,He1,He3,n); [x3,y3,u3] = func_Cloud(Ex1,Ex4,En1,En4,He1,He4,n); [x4,y4,u4] = func_Cloud(Ex1,Ex5,En1,En5,He1,He5,n); [x5,y5,u5] = func_Cloud(Ex1,Ex6,En1,En6,He1,He6,n); [x6,y6,u6] = func_Cloud(Ex1,Ex7,En1,En7,He1,He7,n); [x7,y7,u7] = func_Cloud(Ex1,Ex8,En1,En8,He1,He8,n); [x8,y8,u8] = func_Cloud(Ex1,Ex9,En1,En9,He1,He9,n); [x9,y9,u9] = func_Cloud(Ex1,Ex10,En1,En10,He1,He10,n); [x10,y10,u10] = func_Cloud(Ex1,Ex11,En1,En11,He1,He11,n); [x11,y11,u11] = func_Cloud(Ex1,Ex12,En1,En12,He1,He12,n); %% %计算速度,通过云模型,估算出四种速度下测试时间得到的估算速度 calculate_velocity; %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %原始样本散点图 view1; %云滴图 view2; %不确定度图 view3; %通过云模型处理之后的点状分布图 view4; save R1.mat
4.本算法原理
云发生器是实现定性概念与定量数值之间相互转换的工具,主要包括正向云发生器和逆向云发生器。
通过不断地分析车辆行驶数据,对云模型的期望、熵和超熵等参数进行优化调整,以提高云模型对车辆行驶特征的描述准确性和云推理的可靠性。例如,可以采用基于梯度下降的优化算法,根据实际速度测量值与估计值之间的误差,反向调整云模型参数。定期对云推理规则库进行更新和优化。随着车辆行驶数据的积累,可以发现新的特征关系和行驶模式,从而添加、修改或删除云推理规则,以适应不同的车辆类型、道路条件和驾驶风格。采用实际车辆行驶数据对基于云模型云推理的车辆行驶速度估计算法进行验证。将算法估计的速度值与车辆上安装的高精度速度传感器测量值进行对比分析。