哈尔滨工程大学本科毕业设计答辩毕设题目:基于证据理论的数据融合方法及DSP实现院(系所):信息与通信工程学院专业:通信工程姓名:郭静学号:2009021134指导老师:叶方副教授答辩日期:2013-06-22利用多传感器进行数据融合的必要性论文完成的主要内容基于kalman滤波单传感系统仿真基于D-S证据理论多传感系统仿真DSP硬件程序开发及结果分析系统的GUI可视化界面设计结论和展望k k k k W ΓX F X +=+1k kk k k V X H Z +=X 是k 时刻系统的n 维状态向量,Z 是系统的m 维观测向量,W 是p 维系统过程的噪声序列,V 是m 维观测噪声序列,F 是系统的状态转移矩阵,是过程演化噪声矩阵,H 是观测矩阵。
W ~ N(0,Q )V ~ N(0,R )Γ正态分布方差为,还与初始状态相互独立的为,均值也服从初状态二者000P X X 基于kalman 滤波单传感系统仿真kalman滤波算法:1.状态转移方程和观测方程建立四维跟踪模型单传感系统11111101000010001-----+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=k k k k k k k k k k vy y vx x T T vy y vx x W X kk k k k k k k vy y vx x y x VZ +⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=0100012.状态初始化R 、Q 、P 、X[]T3.042.050=X ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=0.0100 0.0500 0.0100 0.0500 0.0500 0.2500 0.0500 0.2500 0.0100 0.0500 0.0100 0.0500 0.0500 0.2500 0.0500 0.2500 0P ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=0.0001 0.0010 0.0001 0.0010 0.0010 0.0100 0.0010 0.0100 0.0001 0.0010 0.0001 0.0010 0.0010 0.0100 0.0010 0.0100 Q ⎥⎦⎤⎢⎣⎡= 0.1 0.01 0.01 0.1R 3.仿真结果(-6db)10203040506070809010051015202530X 真实值滤波值量测值10203040506070809010005101520253035Y 真实值滤波值量测值010********607080901000.020.030.040.05X 滤波方差值01020304050607080901000.020.030.040.05Y 滤波方差值010203040506070809010000.51X 量测误差X 滤波误差10203040506070809010000.51Y 量测误差Y 滤波误差均方误差对-6db 单传感系统X 滤波均方误差0.0441X 测量均方误差0.2655X 滤波改善效果 6.0141Y 滤波均方误差0.0441Y 测量均方误差0.2642Y 滤波改善效果 5.9852正弦波信号单传感系统1.状态转移方程和观测方程建立3)(=t f sintX+=XWkk-1=Z+XVkk2.状态初始化P=0.025,Q=0.2,R=0.1。
状态值X的初始值可设为0,取1000个点。
3.仿真结果(-6db)01002003004005006007008009001000-505真实值量测值1002003004005006007008009001000-505真实值滤波值10020030040050060070080090010000.0690.070.0710.0720.0730.0740.075滤波误差方差值100200300400500600700800900100000.20.40.60.81量测误差滤波误差均方误差-6db 单传感系统滤波均方误差0.1431测量均方误差0.2477滤波改善效果1.7301K 代表组合证据的冲突程度K-⨯=⊕∑=1)()()(2121ZY X Y mX m Z m m ∑∅=⨯=K Y X Y m X m )()(21m1:m1({B , F}) = 0.7 ,m1(Θ) = 0.3m2:m2({B}) = 0.9 ,m2(Θ) = 0.1m3:m3({B}) = 0.95 ,m3(Θ) = 0.05m 2({B}) = 0.9m 2(Q ) = 0.1m 1({B , F}) = 0.7{B} 0.63{ B , F } 0.07m 1(Q ) = 0.3{B} 0.27{Q }0.03基于D-S 证据理论多传感系统仿真m 1Åm ({B})0.90m 1Åm 2({B ,F})0.07m 1Åm 2({Q })0.03m 3({A}) = 0.950.8550.0665{A} 0.0285m 3(Q ) = 0.05{B} 0.045{B , F} 0.0035{Q }0.0015Κ= 0.855 + 0.0665 = 0.9215)(=∅m XA A q K A p A m ,),()()(∅≠**+=ε)1()()()(εε-+**+=K X q K X p X m 0)(=∅m ∅≠∀*+=A A q K A p A m ),()()(其中)()()(21jAB A iB m A m A p j i *=∑= ∑==21)(21)(i i A m A q Ke-=εKm(A)m(B)m(C)m(D)D-S 0.999010010Yeger 0.99901000.000990.99901孙全0.999010.3210.0030.1880.488李弼程0.999010.6260.00670.3673],,[C B A =Q 01.0)(,01.0)(,98.0)(:1111===C m B m A m m 99.0)(,01.0)(,0)(:2222===C m B m A m m 1.0)(,0)(,9.0)(:3333===C m B m A m m四维跟踪模型多传感系统1.状态转移方程和观测方程建立,状态初始化2.求各个传感器的信任值传感器1传感器2传感器3测量值7.70457.459 6.8765滤波值7.5095 6.9992 6.86传感器1传感器2传感器3测量mass值0.34960.33840.312滤波mass值0.35140.32760.3213.仿真结果传感器1传感器2传感器3信任值0.36800.33200.3000均方误差对-6db单传感系统对-8db单传感系统对-10db单传感系统X位置滤波均方误差0.04520.01940.0159 X数据融合均方误差0.00900.00750.0077X改善效果 5.0222 2.5789 2.0600Y位置滤波均方误差0.04520.01940.0159Y数据融合均方误差0.00930.00740.0076 Y改善效果 4.8602 2.6394 2.077801002003004005006007008009001000-505X 真实值滤波值1002003004005006007008009001000-4-2024X 真实值融合值均方误差对-6db 单传感系统对-8db 单传感系统对-10db 单传感系统滤波均方误差0.14100.09270.0585数据融合均方误差0.04960.05470.0539数据融合改善效果2.84271.69321.0850融合效果差由证据的冲突引起信噪比的降低证据冲突时算法改进的仿真结果01002003004005006007008009001000-505X 真实值DS 融合值1002003004005006007008009001000-505X 真实值冲突规则融合对-6db 单传感系统滤波均方误差0.1476数据融合均方误差0.0554冲突改进均方误差0.0552数据融合改进效果 2.6634冲突改进改善效果2.6719信噪比降低第501个点传感器1传感器2传感器3测量值0.1233-0.06820.0436-0.0188滤波值0.054-0.08910.0308第501个点传感器1传感器2传感器3信任值0.47290.43180.0953由于信噪比的降低,使得用数据归一化的方法产生mass值计算得到的信任值与实际传感器的信任不相符,解决的方法就是对最终得到的信任值进行权值的修正。
权值修正的仿真结果01002003004005006007008009001000-4-2024X 真实值DS 融合值01002003004005006007008009001000-4-2024X 真实值权值修正融合值均方误差对-6db 单传感系统对-8db 单传感系统对-10db 单传感系统滤波均方误差0.15390.09600.0541数据融合均方误差0.05390.05540.0496数据融合改善效果 2.8565 1.7321 1.0910权值修正均方误差0.03450.03270.0297权值修正改善效果 4.46592.93761.8195CCS程序开发•毕设中遇到的问题及解决方法•两个模型的单(多)传感系统开发1. DSP 存储空间问题软件使用注意事项CCS V5工程中会自带CMD 文件,只是给代码段、数据段等分配逻辑上的地址空间,需要手动分配堆和栈的实际物理空间,可以直接在CMD文件中加入下面两句代码:也可以在工程的properties 中的linker 中修改堆和栈的大小如下图-stack0x8000;-heap0x80002. 仿真器设置本课题中使用的是TMS320 C6416的开发板,仿真器使用的是Wintechdigital xds560 V2,在选好仿真器和开发板后要导入gel文件用来初始化DSP的cpu两个模型的单(多)传感系统开发从MATLAB 程序到C 语言程序的转化过程中,最繁琐的就是有关矩阵的处理,在MATLAB 中可以直接实现矩阵的加减乘和求逆、转置,函数的返回值也可以直接是一个矩阵。
而C 语言中函数只能返回一个值,对矩阵的运算只能通过数组来逐个进行。
1. 四维跟踪系统矩阵求逆*11A A A=-对二维方阵⎥⎦⎤⎢⎣⎡=d c b a A ⎥⎦⎤⎢⎣⎡--=a c b d *A bcad -=A矩阵乘法for(i=0;i<4;i++){for(j=0;j<2;j++){for(k=0;k<4;k++){cc[i][j]+=aa[i][k]*bb[k][j];}}}kalman函数返回值void kalman(float measure[],float x_ini[],float p_ini[][4])DSP 得到的数据在MATLAB 中的处理结果(-6db 系统)0102030405060708090100510152025 X 真实值滤波值融合值01020304050607080901005101520253035 Y 真实值滤波值融合值010203040506070809010000.51X 融合误差X 滤波误差010203040506070809010000.51 Y 融合误差Y 滤波误差对-6db 单传感系统(M)对-6db 单传感系统(DSP)X 位置滤波均方误差0.04520.0496X 数据融合均方误差0.00900.0092X 改善效果 5.0222 5.3913Y 位置滤波均方误差0.04520.0496Y 数据融合均方误差0.00930.0092Y 改善效果 4.86025.39132. 正弦波信号DSP 得到的数据在MATLAB 中的处理结果(-6db 系统)050100150200250300350400450500-505真实值滤波值050100150200250300350400450500-505真实值融合值对-6db 单传感系统(M)对-6db 单传感系统(DSP)滤波均方误差0.14100.1502数据融合均方误差0.04960.0528改善效果 2.8427 2.8447系统GUI 可视化界面设计•控件的handles使用很关键•各控件的tag,编辑框的string,Axes的nextplot属性❿plot(handles.plot1,x_true(1,:),'r');set(handles.plot1, 'NextPlot', 'add')set(handles.plot1, 'NextPlot', 'replace')❿set(handles.Xsm,'String',num2str(X_meas_mean_squ) );❿四维跟踪系统是一个线性动态系统,信噪比较高,其滤波效果和融合效果都很好,就均方误差而言滤波值比起测量值改善了6倍左右,融合值比起滤波值改善了5倍左右(-6db单传感系统)。