資源簡(jiǎn)介
室內(nèi)定位wknn代碼,基于指紋的室內(nèi)定位。

代碼片段和文件信息
%W-KNN算法
%FP1為匹配指紋
%FP2為待匹配數(shù)據(jù)
function?[MinKX_es]?=?wknn(FP1FP2K)
N?=?length(FP1);
M?=?length(FP2);
X_es?=?zeros(2M);%X和Y坐標(biāo)的指紋差值矩陣
sm?=?zeros(3N);%記錄指紋差值信息
MinK?=?zeros(3KM);%記錄指紋差值信息
for?i?=?1:M????%按順序完成每一個(gè)測(cè)試點(diǎn)的計(jì)算
????
????%sm?=?zeros(3N);
????for?j?=?1:N
????????for?k?=?1:7????%4個(gè)基站
????????????match(kj)?=?abs(FP2(ki)?-?FP1(kj));?%待匹配數(shù)據(jù)與各指紋之間的差值
????????end
????????sm(1j)?=?sum(match(:j));%求出4個(gè)指紋差值的和
????????sm(2j)?=?FP1(8j);%X坐標(biāo)賦值
????????sm(3j)?=?FP1(9j);%Y坐標(biāo)賦值
????end
????for?k?=?1?:?K
????????[min]?=?min(sm[]2);??%找出最小的K個(gè)差值?????????
????????MinK(1ki)?=?sm(1n(1));%找出最小的值并賦值
????????sm(1n(1))?=?1000;%消除該值,繼續(xù)尋找下一個(gè)最小的值
????????MinK(2ki)?=?sm(2n(1));%X坐標(biāo)賦值
????????MinK(3ki)?=?sm(3n(1));%Y坐標(biāo)賦值
????end
????DisFp?=?MinK(1:i);%將所有的差值賦值到DisFp矩陣上
????DisFp?=?1?./?(DisFp?./?DisFp(1))?;%求差值的倒數(shù)
????SumFp?=?sum(DisFp);%求差值的和
????Beta1?=?DisFp?./?SumFp?;????%相應(yīng)指紋的權(quán)值
%?????SumFp?=?sum(MinK(1:i));
%?????for?k?=?1?:?K
%?????????Beta1(k)?=?MinK(1K-k+1i)?/?SumFp?;
%?????end
????for?k?=?1?:?K
????????X_es(1:2i)?=?X_es(1:2i)?+?Beta1(k)?.*?MinK(2:3ki)?;?%算出K個(gè)X和Y坐標(biāo)加權(quán)平均
????end
????????
end
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1344??2015-06-16?15:23??wknn.m
-----------?---------??----------?-----??----
?????????????????1344????????????????????1
- 上一篇:基于STM32F4的PWM程序
- 下一篇:DHT11庫(kù)文件和
評(píng)論
共有 條評(píng)論