(节选自《基于粗糙集与卡尔曼法的防空雷达信息融合技术》)
参考文档:http://wenku.baidu.com/view/c52cce66bceb19e8b9f6bade
源代码如下:
clear clc %D-S证据理论 %功能:融合三个雷达的观测数据,判别目标类型 %T1、T2、T3为三个观测周期,三行对应三个雷达(m1,m2,m3),六列对应目标类型(A1侦察机、A2直升机、A3歼击机、A4轰炸机、A5不明、A6识别不出) %识别框架:U={A1,A2,A3,A4}+{A5,A6} %本例中采用分布式结构计算方式,首先在每一个测量周期内对所有传感器对探测目标的概率值进行融合,得到各个周期内各个目标的融合后验 %概率值,然后对全部周期上已获得的融合后验概率值进行总的融合,最终得到总的对各个目标的融合后验可信度分配。 T1=[0.3 0.4 0.15 0.0 0.15 0.0; 0.3 0.5 0.10 0.0 0.10 0.0; 0.3 0.3 0.20 0.0 0.20 0.0;]; T2=[0.4 0.2 0.20 0.0 0.20 0.0; 0.5 0.2 0.20 0.0 0.10 0.0; 0.5 0.3 0.10 0.0 0.10 0.0;]; T3=[0.5 0.2 0.15 0.0 0.15 0.0; 0.4 0.3 0.10 0.0 0.20 0.0; 0.4 0.2 0.10 0.0 0.30 0.0;]; %---------融合T1周期内的探测数据---------- %1:先融合T1探测周期内的m1与m2 m12_T1=D_Szj(T1(1,:),T1(2,:)); %2:再融合T1探测周期内的m12与m3 m123_T1=D_Szj(m12_T1,T1(3,:)); %---------融合T2周期内的探测数据---------- %1:先融合T2探测周期内的m1与m2 m12_T2=D_Szj(T2(1,:),T2(2,:)); %2:再融合T2探测周期内的m12与m3 m123_T2=D_Szj(m12_T2,T2(3,:)); %---------融合T3周期内的探测数据---------- %1:先融合T3探测周期内的m1与m2 m12_T3=D_Szj(T3(1,:),T3(2,:)); %2:再融合T3探测周期内的m12与m3 m123_T3=D_Szj(m12_T3,T3(3,:)); %--------融合T1与T2-------- m123_T12=D_Szj(m123_T1,m123_T2); %--------融合T12与T3-------- m123_T123=D_Szj(m123_T12,m123_T3); n=find(m123_T123==max(m123_T123)); switch n case 1: disp('侦察机') case 2: disp('直升机') case 3: disp('歼击机') case 4: disp('轰炸机') case 5: disp('不明飞行物') end
上面用到的子程序代码
function m12=D_Szj(P,Q) m12_A1=P(1)*Q(1)+P(1)*Q(5)+P(5)*Q(1); m12_A2=P(2)*Q(2)+P(2)*Q(5)+P(5)*Q(2); m12_A3=P(3)*Q(3)+P(3)*Q(5)+P(5)*Q(3); m12_A4=P(4)*Q(4)+P(4)*Q(5)+P(5)*Q(4); m12_A5=P(5)*Q(5); m12_A6=0; c12=m12_A1+m12_A2+m12_A3+m12_A4+m12_A5+m12_A6; A1=m12_A1/c12; A2=m12_A2/c12; A3=m12_A3/c12; A4=m12_A4/c12; A5=m12_A5/c12; A6=m12_A6/c12; m12=[A1 A2 A3 A4 A5 A6];