mp;的值提高的時候,第i個決策者選 擇Pi的效用函數(shù)的增值也會提高。如果Vi是二階可導(dǎo)的,超模性就等價于:
[0216] 通過效用函數(shù)的二階偏導(dǎo)數(shù)能夠得出本發(fā)明所給出的效用函數(shù)滿足超模性。
[0217] 當(dāng)聯(lián)盟內(nèi)節(jié)點的效用函數(shù)已知,那聯(lián)盟內(nèi)的特征函數(shù)也可以求得了,特征函數(shù)為 聯(lián)盟內(nèi)各節(jié)點效用函數(shù)的累加,即上述例子中該聯(lián)盟的特征函數(shù)可表示如下:
[0219] s4聯(lián)盟博弈的擴展
[0220] 以上是討論在一個只有一個目標(biāo)節(jié)點的情況下博弈的各參數(shù),如果這個聯(lián)盟內(nèi)有 多個目標(biāo)節(jié)點,即M> 1時,效用函數(shù)和特征函數(shù)有所不同。以下討論這種情況下該聯(lián)盟博 弈是否滿足超模性。依然考慮三元組r(N,F(xiàn),!〇,此時效用函數(shù)應(yīng)為:
[0222] 此時效用函數(shù)依然滿足超模性。
[0223]聯(lián)盟博弈r(N,F(xiàn),u)的效用函數(shù)滿足超模型,即該博弈為超模博弈。
[0224]s5改進的優(yōu)化模型
[0225] 由上述過程可知效用函數(shù)不僅可以與功率有關(guān),還與幾何精度因子有關(guān)。通過把 效用函數(shù)作為目標(biāo)函數(shù)來改寫優(yōu)化方程(16),即可得如下優(yōu)化模型:
[0229] 此時的約束條件較少,便于求解。
[0230] 因此通過把優(yōu)化模型的目標(biāo)函數(shù)寫成聯(lián)盟的特征函數(shù)的累加和,可使每個聯(lián)盟單 獨求解更容易,而且可以先求解聯(lián)盟的分解,然后得出每個聯(lián)盟的特征函數(shù),最后求解優(yōu)化 模型。
[0231] 上述的優(yōu)化模型是使用的是特征函數(shù),由式(33)中的定義可以知道,特征函數(shù)
[0235] 除此之外,也可以通過Shapley值和邊際效益函數(shù)對優(yōu)化模型進行改進。Shapley 值實際上是源節(jié)點邊際效益的算術(shù)平均,如果這個值大則表明該節(jié)點對提高聯(lián)盟的總效益 的貢獻較大,優(yōu)化模型可以通過計算Shapley值和的大小來作為目標(biāo)函數(shù),優(yōu)化模型如下:
[0237] 當(dāng)源節(jié)點進入聯(lián)盟的排列順序確定為〇時,不需要計算Shapley值,直接計算該 源節(jié)點在排列〇下的邊際效益作為目標(biāo)函數(shù)即可,如下所示:
[0239] 具體用哪種值計算可以根據(jù)實際應(yīng)用進行改進,但是這樣的改動要在保證不影響 最后的結(jié)果的前提下進行。
[0240] s6基于超模博弈的功率分配和聯(lián)盟形成算法
[0241] 上面描述了優(yōu)化模型的建立,優(yōu)化模型是基于聯(lián)盟博弈的,可以通過計算所有聯(lián) 盟的特征函數(shù)的值可以得到優(yōu)化模型的目標(biāo)函數(shù),不同的聯(lián)盟得到的最優(yōu)結(jié)果是不一樣 的,可是聯(lián)盟是怎樣形成的呢,初始時目標(biāo)節(jié)點的位置未知,不便于形成聯(lián)盟,可以通過一 次迭代得到目標(biāo)節(jié)點的初始位置估計。
[0242] 博弈算法在實施時有一些難度,主要是需要一些源節(jié)點和目標(biāo)節(jié)點間的信息交 換,可以用偽碼描述下幀交換的細(xì)節(jié)和每次迭代中目標(biāo)節(jié)點和源節(jié)點之間的操作。最優(yōu) 反應(yīng)迭代次數(shù)是N it,若全部源節(jié)點進入迭代,則算法迭代次數(shù)是I N I,總共的迭代次數(shù)是 Nit ? I N |,目標(biāo)節(jié)點的測距請求是廣播發(fā)送的,則最先收到測距請求的源節(jié)點是離目標(biāo)節(jié) 點最近的源節(jié)點,故使用這些源節(jié)點定位可以使功率較小定位精度較大。如果只把最先接 收到請求并響應(yīng)的前k個節(jié)點加入改目標(biāo)節(jié)點的聯(lián)盟進行測距,總共迭代次數(shù)為N it ? I k I。 幀名稱上向右的箭頭(一)表示從目標(biāo)節(jié)點到第i個源節(jié)點的傳輸,向左的箭頭(一)表 示從第i個源節(jié)點到目標(biāo)節(jié)點的傳輸。在預(yù)備知識中提到,SDS-TWR測距協(xié)議至少在源節(jié)點 和目標(biāo)節(jié)點中存在3次幀交換,這樣才能估計出來源節(jié)點和目標(biāo)節(jié)點之間的距離,其中涉 及到的幀有:RRi,CFi,CRi,和CFi2,下面的方法中會具體介紹這幾種幀,其中RRi和CFi2 兩個幀來在節(jié)點之間傳遞功率控制算法的相關(guān)信息。根據(jù)三點定位法,為了定位目標(biāo)節(jié)點 的位置,至少要測量3個源節(jié)點到目標(biāo)節(jié)點的距離。定位協(xié)議從目標(biāo)節(jié)點發(fā)送的測距請求 (RRq)廣播開始,然后,測距協(xié)議中源節(jié)點和目標(biāo)節(jié)點之間的幀被檢測到,盡量得到使有效 負(fù)載盡可能小的解決方案。
[0243] 下面具體介紹一下各個數(shù)據(jù)幀包含的信息等。
[0244] (I) /??:目標(biāo)節(jié)點發(fā)送測距請求,標(biāo)志測距開始。(2) 士/:相關(guān)的源節(jié)點發(fā)送測 距響應(yīng)幀(RRi)伴隨功率Pi到目標(biāo)節(jié)點,RRi包含功率分配的相關(guān)信息:博弈的第一次迭 代P i* C時的初始信息,已經(jīng)有一次位置估計后計算得到的& (P)的值。(3) 目標(biāo) 節(jié)點收到源節(jié)點的測距響應(yīng)幀后,向源節(jié)點發(fā)送確認(rèn)幀(CFi)。(4) 源節(jié)點發(fā)送確認(rèn) 響應(yīng)(CRi),其中允許目標(biāo)節(jié)點估計出它與源節(jié)點的距離P i,當(dāng)目標(biāo)節(jié)點得到3個以上距 離值的時候,它就會估計出自己的位置坐標(biāo),此時我們不妨把目標(biāo)節(jié)點收到的前k多3個距 離的值和源節(jié)點記錄到定位該目標(biāo)節(jié)點的聯(lián)盟中去。(5) cf/2:目標(biāo)節(jié)點僅向它所在的聯(lián) 盟內(nèi)的源節(jié)點發(fā)送確認(rèn)幀(CFi2),每個聯(lián)盟內(nèi)單獨進行功率分配,其中包含功率控制算法 的相關(guān)信息:它們之間的距離估計值P i,目標(biāo)節(jié)點估計出位置時的坐標(biāo)值i和計算得到的 相關(guān)H、g(P)的值。發(fā)送這個幀后,每個聯(lián)盟內(nèi)的源節(jié)點更新它的功率的值Pi以使博弈的 效用函數(shù)Vi值最大,使得聯(lián)盟內(nèi)的特征函數(shù)值最大,則所有聯(lián)盟的特征函數(shù)的值的和最大。 (6) /??;:目標(biāo)節(jié)點向源節(jié)點發(fā)送測距結(jié)束請求,表示迭代結(jié)束。
[0245] 假設(shè)一開始知道目標(biāo)節(jié)點的大體位置,可以通過改進的聚類分析等方法形成聯(lián) 盟,以各目標(biāo)節(jié)點的估計位置為聚心,以節(jié)點間的距離為主因素進行聚類,這時候形成的聯(lián) 盟是使定位各目標(biāo)節(jié)點的源節(jié)點與目標(biāo)節(jié)點距離最近以使得功率消耗最小等,再通過效用 函數(shù)進行相應(yīng)的調(diào)整,使每個聯(lián)盟內(nèi)至少有三個源節(jié)點,并且?guī)缀尉纫蜃酉拗圃谝欢ǚ?圍內(nèi)就可以了。
[0246] 當(dāng)有多個目標(biāo)節(jié)點時,可以逐個對定位該目標(biāo)節(jié)點的源節(jié)點進行功率優(yōu)化和聯(lián)盟 生成算法,故以下首先討論一個目標(biāo)節(jié)點情況時(M= 1),基于超模博弈的功率分配和聯(lián)盟 形成算法,算法的具體步驟描述如下:
[0247] s61、初始化,目標(biāo)節(jié)點發(fā)送測距請求信息/?? .
[0248] s62、迭代次數(shù)記為n = 1,總共所需的迭代次數(shù)為Nit ? |k|次;
[0249] s63、當(dāng)n的值小于迭代次數(shù)且沒有收到測距終止信號時,執(zhí)行步驟s64,否 則執(zhí)行步驟s611;
[0250] s64、i為收到目標(biāo)節(jié)點幀的順序標(biāo)志,收到請求信息的第i個源節(jié)點發(fā)送幀 其中包含如下信息:(1)該源節(jié)點得到的功率值Pi; (2)n= 1時,即初始化時包含初始源節(jié) 點坐標(biāo)信息,當(dāng)3 < i < k時記錄定位該目標(biāo)節(jié)點的聯(lián)盟的向量的值為1,即Si= 1,計算 更新gi(P)值;
[0251] s65、目標(biāo)節(jié)點收到源節(jié)點的測距響應(yīng)幀后,向源節(jié)點發(fā)送確認(rèn)幀C+/;
[0252] s66、源節(jié)點發(fā)送確認(rèn)響應(yīng)幀d:
[0253] s67、目標(biāo)節(jié)點收到確認(rèn)響應(yīng)幀后,計算出距離估計值P i,收到的最大的i值即為 目前收到的幀數(shù),滿足3<i<k時用最小二乘法計算i和H的值,計算g(p)的值;
[0254]s68、目標(biāo)節(jié)點向源節(jié)點發(fā)送確認(rèn)幀(.7/2,其中包含步驟S67中計算得到的各數(shù) 值;
[0255] s69、源節(jié)點計算HjPgi(p)的值,并替換到H和g(p)中更新,利用優(yōu)化算法得 到使效應(yīng)函數(shù)最大的功率分配值?1并更新功率分配向量;
[0256] s610、判斷源節(jié)點收到目標(biāo)節(jié)點幀的順序標(biāo)志i, i = k時令i = 1,n = n+1迭代 結(jié)束,否則i = i+1繼續(xù)判斷其他源節(jié)點;
[0257] s611、測距結(jié)束。
[0258] 隨著迭代次數(shù)的增加,目標(biāo)節(jié)點的坐標(biāo)精度會提高,當(dāng)目標(biāo)節(jié)點的坐標(biāo)變換較小 時可以直接發(fā)送測距停止信號吏迭代提前結(jié)束。由于這個定位算法是基于對稱雙面 雙向測距的,節(jié)點傳輸?shù)膸袔в邢嚓P(guān)信息,源節(jié)點可以通過幀中的信息知道其他源節(jié)點 的功率分配,而不需要再單獨與其他源節(jié)點交換信息。
[0259] 以上的算法是M = 1即一個目標(biāo)節(jié)點的情況下的算法,當(dāng)M > 1時可對每個目標(biāo) 節(jié)點分別執(zhí)行上述算法,可是這樣形成的聯(lián)盟可能是相交的,這樣可能會使個別源節(jié)點功 率消耗較大,可以只對未形成聯(lián)盟的剩余源節(jié)點執(zhí)行上述算法,這樣形成的聯(lián)盟是沒有交 集的,可以避免功率分配的不均衡。具體這樣執(zhí)行算法,要看目標(biāo)節(jié)點和源節(jié)點的分配情況 而定。
[0260] 在上述算法的描述中,節(jié)點是否加入聯(lián)盟可以根據(jù)邊際效益來判斷。邊際效益在 上文中已經(jīng)介紹了,本發(fā)明默認(rèn)一種排列,即源節(jié)點到目標(biāo)節(jié)點的距離P 小到大逐個進 入聯(lián)盟,如果源節(jié)點i的邊際效益m° (Ui)較大則加入聯(lián)盟,否則它和排列在后面的節(jié)點均 不加入聯(lián)盟,為此我們可以設(shè)置一個閾值D,當(dāng)m°(Ui)< D時就不加入聯(lián)盟,聯(lián)盟結(jié)束。
[0261] 為驗證模型和算法的有效性,下面通過給定參數(shù)運用上述算法對聯(lián)盟求解,并通 過得到的數(shù)據(jù)來驗證算法的有效性。為簡化問題,本發(fā)明考慮節(jié)點靜態(tài)設(shè)置(假設(shè)節(jié)點的 初始位置均已知)時執(zhí)行定位算法的過程。首先,討論隨著距離的增加的路徑損失,根據(jù)式 (28)計算觀察值的標(biāo)準(zhǔn)差隨距離變化的變化,本發(fā)明直接用克拉姆-拉奧下界計算,即 令 Ki= 1〇
[0262] 本發(fā)明使用 IEEE 802. 15. 4a 中的頻道 7 的標(biāo)準(zhǔn),令 B = 1081MHz, f。= 6489MHz, 最大傳輸功率為-12dBm(即0.0631W),Li= (A/4jt p D2,我們不考慮Ts、Pi、A的具體值,
=8、^= 10,而其它參數(shù)保存不變時,方差crA隨距離P拍變化趨勢如圖5所示。
[0263] 圖5中,帶帶'〇'、以及帶的曲線分別表示源節(jié)點Ntl= 6、Ntl= 8、Ntl = 10時的觀測值。由圖5可知方差隨源節(jié)點和目標(biāo)節(jié)點間距離的增大而增大,而且變化的幅 度越來越快。此外,源節(jié)點和目標(biāo)節(jié)點間距離相同時,隨著源節(jié)點的增加,觀測值的方差增 加。以此可知,減少定位目標(biāo)節(jié)點的源節(jié)點的個數(shù),使距離目標(biāo)節(jié)點較近的源節(jié)點定位目標(biāo) 節(jié)點,形成定位目標(biāo)節(jié)點的聯(lián)盟,可以減少觀測值的方差,使定位更準(zhǔn)確,波動更小。
[0264] 我們不妨用人=3000MHz、Ts= 0? 02s、p i= 0? 05W時的方差作為測量中的噪聲, 即ex;: =(5.87e-6)p/,根據(jù)這個值和節(jié)點間的距離可以計算得到效用函數(shù)等。本發(fā)明選擇 一個25X25m2的區(qū)域,在這個區(qū)域內(nèi)布置不同數(shù)量的源節(jié)點和目標(biāo)節(jié)點形成不同的場景, 并把源節(jié)點和目標(biāo)節(jié)點分別編號,從而方便研宄不同場景中聯(lián)盟的形成。
[0265] 在場景一中,M= 1,N = 8,節(jié)點均勻分布在一個25X25m2的區(qū)域內(nèi),即只有一個 目標(biāo)節(jié)點,可是源節(jié)點數(shù)量較多,源節(jié)點用'〇'表示,目標(biāo)節(jié)點用表示,為了簡便,可以 只取標(biāo)注為3、4、5、6的4個節(jié)點進入該目標(biāo)節(jié)點的聯(lián)盟。很顯然,由于距離不同,目標(biāo)節(jié)點 周圍最近的四個節(jié)點進入聯(lián)盟,由于對稱性,我們也可以只取其中的三個節(jié)點對目標(biāo)節(jié)點 進行定位,這時候選擇3個源節(jié)點還是4個節(jié)點對定位的精確度影響不大。場景的具體布 置如圖6所示。
[0266] 在場景一中的計算結(jié)果中,當(dāng)所有節(jié)點參與其中時,⑶OP的值為5. 51e_007, 消耗的功率和0. 4W ;而只選取中間3、4、5、6四個源節(jié)點進行定位時得到的GDOP的值為 5. 56e-007,消耗的功率和為0. 2W,顯然選取源節(jié)點較少的時候定位的精度要小,但是此 時消耗的能量較多,故根據(jù)對功率和能量的要求決定如何選擇節(jié)點。相對而言,如果選擇 左半邊標(biāo)記為1、2、3、4的4個源節(jié)點定位目標(biāo)節(jié)點,此時的幾何精度因子⑶OP的值為 7. 80e-007,顯然比選擇中間的4個源節(jié)點定位目標(biāo)時數(shù)值要大得多,故要選擇合適的源節(jié) 點進行定位才能使定位更準(zhǔn)確。鑒于幾