首页 > 行业资讯 > 【WSN定位】基于chan算法和克美拉罗界算法实现无线传感器定位及误差对比附matlab代码

【WSN定位】基于chan算法和克美拉罗界算法实现无线传感器定位及误差对比附matlab代码

时间:2022-04-28 来源: 浏览:

【WSN定位】基于chan算法和克美拉罗界算法实现无线传感器定位及误差对比附matlab代码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集 #雷达通信matlab源码 35个

1 简介

无线定位技术是近年来十分热门的研究课题,它的基本原理是通过测量移动台和各固定位置节点之间的传播信号的特征参数(如到达角、传播时间或时间差、电波场强等)来估算出移动台的几何位置。无线传感器网络(WSN)由检测网络内大量微型传感器节点组成,它在实现运动目标的跟踪定位方面具有不可比拟的优势。无线传感器网络内应用基于到达时间差(TDOA)的定位方法对移动物体的定位,是应现代军事和民用的需求而发展起来的一门新兴技术。目前,国内外很多学者专注于无线传感器网络定位算法研究,涌现出了许多高质量的理论成果。无线定位算法在无线传感器网络移动物体定位的具体应用中具有广阔的应用前景。 本文实现基于chan算法和克美拉罗界算法实现近场和远场无线传感器定位,并对两种算法误差进行对比。

2 部分代码

clc; clear all close all BSN = 4 ;%基站数量 %目标位置 MSP( 1 , 1 ) = 250 *rand( 1 ); MSP( 1 , 2 ) = 250 *rand( 1 ); % 算法开始: X= 500 ; Y= 500 ; BS = [ 0 , X, 0 ,X 0 , 0 , Y,Y]; % 参考基站坐标 % chan 算法 T = 0 : 0.5 : 20 ;%噪声 va = ( -20 : 2 : 20 ) ’; jishu=1; for jishu=1:21 Noise= 10^(va(jishu)/10); % Variance of TDOA & FDOA [EMSCI11,EMSCI12] = ChanAlgorithm(BSN, MSP,BS, Noise); [EMSCI21,EMSCI22] = ChanAlgorithm_jin(BSN, MSP,BS, Noise); chan_wucha3(jishu)= CRLB1(BSN,MSP,BS, Noise); EMSC11(1, 1) = EMSCI11(1); EMSC11(1, 2) = EMSCI11(2); EMSC12(1, 1) = EMSCI12(1); EMSC12(1, 2) = EMSCI12(2); EMSC11(1, 1) = EMSCI21(1); EMSC21(1, 2) = EMSCI21(2); EMSC22(1, 1) = EMSCI22(1); EMSC22(1, 2) = EMSCI22(2); chan_wucha11(jishu)=sqrt((MSP(1) - EMSC11(1,1))^2 + (MSP(2) - EMSC11(1,2))^2); chan_wucha12(jishu)=sqrt((MSP(1) - EMSC12(1,1))^2 + (MSP(2) - EMSC12(1,2))^2); chan_wucha21(jishu)=sqrt((MSP(1) - EMSC21(1,1))^2 + (MSP(2) - EMSC21(1,2))^2); chan_wucha22(jishu)=sqrt((MSP(1) - EMSC22(1,1))^2 + (MSP(2) - EMSC22(1,2))^2); jishu=jishu+1; end disp([’ 远场 chan 算法一步定位误差= ’,num2str(chan_wucha11)]) disp([’ 远场 chan 算法一步定位误差= ’,num2str(chan_wucha12)]) disp([’ 近场 chan 算法一步定位误差= ’,num2str(chan_wucha21)]) disp([’ 近场 chan 算法一步定位误差= ’,num2str(chan_wucha22)]) disp([’ 克美拉罗界误差= ’,num2str(chan_wucha3)]) figure(1)%画出基站位置 plot(BS(1,1),BS(2,1),’ rs ’,’ LineWidth ’,2,... MarkerEdgeColor ’,’ k ’,... MarkerFaceColor ’,’ r ’,... MarkerSize ’,20);hold on plot(BS(1,2),BS(2,2),’ rs ’,’ LineWidth ’,2,... MarkerEdgeColor ’,’ k ’,... MarkerFaceColor ’,’ r ’,... MarkerSize ’,20); plot(BS(1,3),BS(2,3),’ rs ’,’ LineWidth ’,2,... MarkerEdgeColor ’,’ k ’,... MarkerFaceColor ’,’ r ’,... MarkerSize ’,20); plot(BS(1,4),BS(2,4),’ rs ’,’ LineWidth ’,2,... MarkerEdgeColor ’,’ k ’,... MarkerFaceColor ’,’ r ’,... MarkerSize ’,20); grid on axis ([-10 1000 -10 1000]); plot(MSP(1),MSP(2),’ rp ’,’ MarkerSize ’,10); plot(EMSC11(1, 1),EMSC11(1, 2),’ co ’,’ MarkerSize ’,10); plot(EMSC12(1, 1),EMSC12(1, 2),’ m+ ’,’ MarkerSize ’,10); % plot(EMSC3(1, 1),EMSC3(1, 2),’ ks ’,’ MarkerSize ’,10); title(’ 远场TDOA定位 ’) legend(’ 基站 1 ’,’ 基站 2 ’,’ 基站 3 ’,’ 基站 4 ’,’ 目标真实位置 ’,’ CHAN算法第一步 ’,’ CHAN算法第二步 ’) figure(2)%画出基站位置 plot(BS(1,1),BS(2,1),’ rs ’,’ LineWidth ’,2,... MarkerEdgeColor ’,’ k ’,... MarkerFaceColor ’,’ r ’,... MarkerSize ’,20);hold on plot(BS(1,2),BS(2,2),’ rs ’,’ LineWidth ’,2,... MarkerEdgeColor ’,’ k ’,... MarkerFaceColor ’,’ r ’,... MarkerSize ’,20); plot(BS(1,3),BS(2,3),’ rs ’,’ LineWidth ’,2,... MarkerEdgeColor ’,’ k ’,... MarkerFaceColor ’,’ r ’,... MarkerSize ’,20); plot(BS(1,4),BS(2,4),’ rs ’,’ LineWidth ’,2,... MarkerEdgeColor ’,’ k ’,... MarkerFaceColor ’,’ r ’,... MarkerSize ’,20); grid on axis ([-10 1000 -10 1000]); plot(MSP(1),MSP(2),’ rp ’,’ MarkerSize ’,10); plot(EMSC21(1, 1),EMSC21(1, 2),’ co ’,’ MarkerSize ’,10); plot(EMSC22(1, 1),EMSC22(1, 2),’ m+ ’,’ MarkerSize ’,10); % plot(EMSC3(1, 1),EMSC3(1, 2),’ ks ’,’ MarkerSize ’,10); title(’ 近场-TDOA定位 ’) legend(’ 基站 1 ’,’ 基站 2 ’,’ 基站 3 ’,’ 基站 4 ’,’ 目标真实位置 ’,’ CHAN算法第一步 ’,’ CHAN算法第二步 ’) figure(3) semilogy(va,chan_wucha11,’ rs- ’);hold on semilogy(va,chan_wucha12,’ bo- ’);hold on semilogy(va,chan_wucha3,’ m*- ’);hold on legend(’ CHAN算法第一步 ’,’ CHAN算法第二步 ’,’ 克美拉罗界 ’) xlabel(’ 10l og(sigma_d^ 2 (m^ 2 )) ’); ylabel(’ RMSE ’) title(’ 远场-误差随噪声方差曲线图 ’) figure(4) semilogy(va,chan_wucha21,’ rs- ’);hold on semilogy(va,chan_wucha22,’ bo- ’);hold on semilogy(va,chan_wucha3,’ m*- ’);hold on legend(’ CHAN算法第一步 ’,’ CHAN算法第二步 ’,’ 克美拉罗界 ’) xlabel(’ 10l og(sigma_d^ 2 (m^ 2 )) ’); ylabel(’ RMSE ’) title(’ 近场-误差随噪声方差曲线图 ’)

3 仿真结果

4 参考文献

[1]康婷. 无线传感器网络节点定位算法研究[D]. 东北师范大学.

[2]敖伟, 张扬. 基于Chan算法的无源雷达定位精度分析[J]. 电脑知识与技术:学术版, 2009, 5(4):3.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐