一個(gè)網(wǎng)站開(kāi)發(fā)的流程怎么下載app到手機(jī)上
目錄
1.算法運(yùn)行效果圖預(yù)覽
2.算法運(yùn)行軟件版本
3.部分核心程序
4.算法理論概述
5.算法完整程序工程
1.算法運(yùn)行效果圖預(yù)覽
2.算法運(yùn)行軟件版本
MATLAB2022a
3.部分核心程序
...............................................................
for Num_xb = Num_xb2Num_xbIndx = Indx + 1;Dis = RoomLength/(Num_xb-1); for m=1:Stimesmrng(m);%生成節(jié)點(diǎn)坐標(biāo)Position_X = (0.7*rand)*RoomLength;Position_Y = (0.7*rand)*RoomWidth;Position = [Position_X,Position_Y];%計(jì)算節(jié)點(diǎn)到信標(biāo)的距離for i=1:Num_xbXB(:,i) = [i;(i-1)*Dis;0];Dist(:,i) = sqrt((Position_X-((i-1)*Dis))^2+Position_Y^2);end%基于RSS的定位算法 for i=1:Num_xbNumber_rssi(1,i) = i;%每個(gè)信標(biāo)節(jié)點(diǎn)的RSSI值if Dist(i) > Good_radius Number_rssi(2,i) = 0;elseNumber_rssi(2,i) = func_RSSI_cal(Dist(i),Alpha);endendNumber_rssi2 = Number_rssi;Number_rssi_save{m} = Number_rssi;Position_X2{m} = Position_X;Position_Y2{m} = Position_Y;%進(jìn)行卡爾曼濾波%進(jìn)行卡爾曼濾波%進(jìn)行卡爾曼濾波tmps = Number_rssi_save{m}(2,:);kalman_dat2{m} = func_kalman(tmps); Number_rssi(1,:)= Number_rssi_save{m}(1,:);Number_rssi(2,:)= kalman_dat2{m};Position_X = Position_X2{m};Position_Y = Position_Y2{m};%將RSSI值從大到小排列 for i = 1:Num_xbfor j = i:Num_xbif Number_rssi(2,i) < Number_rssi(2,j)a = Number_rssi(1,j);b = Number_rssi(2,j);Number_rssi(2,j) = Number_rssi(2,i);Number_rssi(1,j) = Number_rssi(1,i);Number_rssi(1,i) = a;Number_rssi(2,i) = b;endendend%RSSI值最大的信標(biāo)的距離for i=1:Best_xbDist(i) = Dis*( (func_RSSI_cal(Dis,Alpha)/Number_rssi(2,i))^(1/2.8) );end%求未知節(jié)點(diǎn)坐標(biāo)for i=1:Best_xbBeaconn(1,i) = XB(2,Number_rssi(1,i));Beaconn(2,i) = XB(3,Number_rssi(1,i));endAll_num=Best_xb; for i=1:2for j=1:(All_num-1)a(i,j) = Beaconn(i,j)-Beaconn(i,All_num);endendA =-2*(a');for i=1:(All_num-1)B(i,1)=Dist(i)^2-Dist(All_num)^2-Beaconn(1,i)^2+Beaconn(1,All_num)^2-Beaconn(2,i)^2+Beaconn(2,All_num)^2;end%計(jì)算X坐標(biāo)X1 = pinv(A'*A)*A'*B;X_pos = X1(1,1);%計(jì)算Y坐標(biāo)z = 0;for j=1:Best_xb z = z + sqrt(abs(Dist(j)^2-(X_pos-Beaconn(1,j))^2));endY_pos = z/Best_xb;Loc = [X_pos;Y_pos];%點(diǎn)位誤差error1(m) = sqrt((abs(Position_X-Loc(1)))^2+(abs(Position_Y-Loc(2)))^2);%橫坐標(biāo)誤差error2(m) = abs(Loc(1)-Position_X);%縱坐標(biāo)誤差error3(m) = abs(Loc(2)-Position_Y);Number_rssis(:,m) = Number_rssi(2,:); endNumber_rssixb{Indx} = mean(Number_rssis,2);Number_xb{Indx} = [1:Num_xb];
end
figure;
semilogy(Number_xb{1},Number_rssixb{1},'b-o');
grid on;
xlabel('信標(biāo)數(shù)目');
ylabel('RSSI');
legend('信標(biāo)數(shù):30,RSSI排序后仿真圖');
save result.mat Number_xb Number_rssixb
36_001m
4.算法理論概述
? ? ? ? ?基于PLE(Power-Law Equalizer)結(jié)合卡爾曼濾波的RSSI(Received Signal Strength Indicator)定位算法是一種利用無(wú)線信號(hào)強(qiáng)度進(jìn)行位置估計(jì)的方法。該方法通過(guò)PLE算法對(duì)RSSI進(jìn)行預(yù)處理,然后使用卡爾曼濾波器對(duì)處理后的數(shù)據(jù)進(jìn)行位置和速度的估計(jì)。其整體流程圖如下圖所示:
一、基本原理
? ? ? PLE算法:PLE算法是一種用于提取信號(hào)特征的方法,它可以削弱多徑效應(yīng)等干擾因素對(duì)RSSI的影響,提高位置估計(jì)的準(zhǔn)確性。PLE算法的核心思想是對(duì)接收到的信號(hào)強(qiáng)度進(jìn)行冪次變換,將非線性關(guān)系轉(zhuǎn)化為線性關(guān)系。具體公式如下:
Y = X^α
? ? ? ?其中,X表示接收到的信號(hào)強(qiáng)度,Y表示經(jīng)過(guò)PLE處理后的信號(hào)強(qiáng)度,α為PLE算法的參數(shù),需要根據(jù)實(shí)際環(huán)境進(jìn)行調(diào)整。
? ? ? 卡爾曼濾波器:卡爾曼濾波器是一種高效的遞歸濾波器,它可以通過(guò)對(duì)過(guò)去和現(xiàn)在的測(cè)量結(jié)果進(jìn)行加權(quán),估計(jì)未來(lái)的狀態(tài)變量。在RSSI定位中,卡爾曼濾波器可以用于估計(jì)被定位物體的位置和速度。具體公式如下:
預(yù)測(cè)步驟:
X_pred = FX_est + BU
P_pred = FP_estF^T + Q
更新步驟:
Z_pred = HX_pred
Y = Z - Z_pred
K = P_predH^T*(HP_predH^T + R)^(-1)
X_est = X_pred + KY
P_est = (I - KH)*P_pred
其中,X_est表示估計(jì)的狀態(tài)變量(即位置和速度),P_est表示估計(jì)誤差協(xié)方差矩陣,F表示狀態(tài)轉(zhuǎn)移矩陣,B表示控制輸入矩陣,U表示控制輸入變量,Z表示測(cè)量值,H表示觀測(cè)矩陣,Q表示過(guò)程噪聲協(xié)方差矩陣,R表示測(cè)量噪聲協(xié)方差矩陣,K表示卡爾曼增益矩陣,Y表示測(cè)量殘差,I表示單位矩陣。
二、算法流程
- 初始化:設(shè)定初始位置、速度、PLE算法的參數(shù)α、卡爾曼濾波器的參數(shù)(F、B、H、Q、R)等。
- PLE處理:對(duì)接收到的RSSI進(jìn)行PLE處理,得到處理后的信號(hào)強(qiáng)度。
- 卡爾曼濾波:將處理后的信號(hào)強(qiáng)度作為測(cè)量值Z,使用卡爾曼濾波器進(jìn)行位置和速度的估計(jì)。
- 更新估計(jì)值:根據(jù)卡爾曼濾波器的輸出結(jié)果,更新估計(jì)的位置和速度。
- 迭代處理:重復(fù)執(zhí)行步驟2-4,直到達(dá)到設(shè)定的迭代次數(shù)或收斂條件。
- 輸出結(jié)果:輸出最終估計(jì)的位置和速度。
三、優(yōu)缺點(diǎn)
基于PLE結(jié)合卡爾曼濾波的RSSI定位算法具有以下優(yōu)點(diǎn):
- 可以削弱多徑效應(yīng)等干擾因素對(duì)RSSI的影響,提高位置估計(jì)的準(zhǔn)確性。
- 通過(guò)對(duì)過(guò)去和現(xiàn)在的測(cè)量結(jié)果進(jìn)行加權(quán),可以減小測(cè)量噪聲對(duì)位置估計(jì)的影響。
- 可以有效地利用RSSI的時(shí)空相關(guān)性,提高位置估計(jì)的穩(wěn)定性。
- 具有較好的魯棒性和適應(yīng)性,可以適用于不同的環(huán)境和應(yīng)用場(chǎng)景。
5.算法完整程序工程
OOOOO
OOO
O