馬計棟 鄭博文
1.石家莊諾通人力資源有限公司;2.中國電子科技集團公司第五十四研究所
本文提出一種基于陣列天線的數據時隙分配算法,構建預測數學模型,按照比例公平分配各節點數據時隙。實現無沖突預約和分配,充分利用自組織網絡多跳的空分復用特性,降低協議開銷。能夠適應網絡拓撲動態變化,網絡發生分割或者融合后也能夠及時調整,保證每個節點的數據時隙分配結果適用。兼顧數據發送的公平性,確保高優先級數據的低時延。
自組網具有分布式組網和自組織、自恢復等功能,能夠實現多跳中繼的寬帶傳輸業務,在組網拓撲發生變化的情況下可以自主探測拓撲信息,動態選擇和確定傳輸路由信息[1]。陣列天線的自組織網絡中空時資源的分配,決定了網絡的最大帶寬和傳輸時延。本文提出一種針對陣列天線在按需分配的時隙算法基礎上,加入了動態預測和比例公平分配的算法,根據不同節點的業務需求大小不同動態分配時隙資源,有效利用網絡的空時資源[2]。
數據時隙的分配主要分為固定分配和動態分配方式,但在移動自組織網絡中,由于節點的移動導致無法及時獲取網絡的拓撲等參數,從而導致固定分配無法正確使用。而動態分配的方式能夠解決這個問題,尤其網絡參數的變化導致時隙分配的結果也跟隨更新,并且能夠周期性的重復操作,以適應網絡的變化。
動態分配的方式主要有以下幾種[3]:
(1)D-TDMA:在此種算法中,首先要求簇頭獲取各成員的時隙需求信息,由簇頭進行統計后統一規劃分配。沒有進行空間復用發,資源利用率低。
(2)P-TDMA:一個完整的時幀包括三個子幀,Claim幀用來交換一跳鄰居節點信息,Response幀交換二跳鄰居節點信息,Info幀用于傳輸業務。這種算法對新加入的節點不具備實時調整和接入性,限制了使用范圍[4]。
(3)FPRP:一種基于競爭的全分布式算法,通過五步預留過程進行時隙的分配。允許網絡內各個節點做出多個預留,并且預留過程只涉及兩跳范圍內的節點,發生時隙碰撞的概率低,并且對網絡變化的融合性較高。
(4)FCSA:一種分布式算法[5],即每個節點可以根據本地信息計算自己的時隙分配,并且能夠在自己的傳輸時隙進行無碰撞的發送數據分組。充分利用多跳網絡的特點,提高協議算法的效率。
本文設計了一種基于陣列天線的數據時隙資源按照需求比例和數據預測結果,進行動態分配。提高數據時隙使用效率和網絡帶寬,能夠適用網絡拓撲的急劇變化。
一個完整的時隙周期結構(Cycle)如圖1所示,包括N個相同的時隙子序列結構,每個時隙子序列包括預約時隙,固定廣播時隙和動態數據時隙。在時隙子序列中,每個預約時隙包括4個預約子時隙組合(RESV1時隙和RESV2時隙),任意兩節點則可以在一個周期內通過1個預約子時隙組合來完成下一周期的動態數據時隙的預約與分配;每個固定廣播時隙包括M個固定廣播子時隙,按照節點號預先固定分配給每個節點,進行無沖突地發送廣播包,進行全網節點拓撲信息的組建;每個動態數據時隙包括8個數據子時隙,所以在每個完整時隙周期中包含128個數據時隙。

圖1 基于TDMA的MAC層接入算法時隙結構Fig.1 Time slot structure of MAC layer access algorithm based on TDMA
動態數據時隙的有效使用時間為1個完整的周期,預約結果在每個周期的初始節點生效,周期的結束階段被清除。首先子節點通過預約子時隙組合RESV1時隙向父節點發送本地空閑數據時隙和本地待發送業務數據包數,父節點收到子節點的數據時隙的申請,根據與子節點所通信的陣面等信息計算出有效空閑數據時隙,并統計子節點的業務數據待發包數,構建數學模型并進行下個周期的業務數據待發包數預測。父節點根據前X個周期的統計結果進行X+1個周期的業務數據量預測,根據每個鄰居節點的預測結果把數據時隙按比例預分配,再由第X+1個周期的實際業務數量父節點把數據時隙分配結果通過預約子時隙組合RESV2時隙發送給子節點,子節點收到分配結果更新本地數據時隙使用情況,并修改本地空閑數據時隙,數據時隙預約流程如圖2所示。

圖2 數據時隙預約流程Fig.2 Data slot reservation process
2.2.1 有效空閑時隙
在基于陣列天線的自組織網絡中,節點在數據時隙預約階段交互空閑數據時隙時,空閑時隙的提取需要根據本地信息表對數據時隙進行篩選,實現資源高效利用的目的。
有效空閑時隙包括完全空閑時隙和復用空閑時隙,如圖3所示。

圖3 陣面3的有效空閑時隙Fig.3 Effective idle time slot of front 3
完全空閑時隙標識節點在當前數據時隙的所有陣面完全空閑,可按需預約為發送或接收時隙;復用空閑時隙標識節點在該數據時隙與其他節點完成過預約過程,處于發送或接收狀態,但與目標節點通信所使用的陣面仍處于空閑,可以向目標節點發送或接收數據。
節點的復用空閑時隙需要根據實時的收發狀態區分為復用空閑接收時隙和復用空閑發送時隙。同時,節點的完全空閑時隙對于所有鄰居節點是一致的,而復用空閑時隙需要根據目標節點的不同而具體計算。
2.2.2 預測數學建模
根據業務產生的方式和統計結果分析,數學建模類型可以分成兩種:線性相關預測和均值預測。因為均值預測對節點業務數據包數量的變化響應較慢,必定增加業務的時延。線性相關預測能夠按照特定業務產生的數量趨勢進行有效預測,保證了業務數據的速率平穩變化。
通過特定線性預測算法,仿真業務數量累加的變化預測如圖,在業務產生的初始階段會出現響應誤差,但在隨后的預測中緊跟變化趨勢。業務數據量恒定不變的情況,預測也是在初始階段出現誤差較大,但立刻就會進行有效的糾偏,達到準確的預測。以上兩種情況誤差都出現在預測的初始階段,經分析得出由于統計方式及統計時長的不同引起,預測的開始所使用的統計的原始數據不完整,造成預測偏差較大,隨著統計數據的數量的增大,誤差也就逐漸減小。
2.2.3 數據時隙分配
自組織網絡中的節點每個周期都與鄰居進行一次預約時隙交互,相互告知對方本地與對端的業務數據的待發數量,這些業務數據量會被統計到預測數學模型的源數據池,每個周期的結束前節點進行下個周期每個鄰居節點與本節點的業務數據時隙所需預測S1…SN,以及本節點與所有鄰居節點的業務數據時隙所需預測X1…XM,計算出下周期本節點和鄰居節點產生的總業務所需時隙量S總=S1+…+SN+X1+…+XM,這樣就可以得到每個鄰居節點通信最多可以分配數據時隙的比例:Z1=S1/S總,…,ZN=SN/S總,節點與鄰居節點通信最多分配數據時隙的比例:Z1'=X1/S總,…,ZM'=XM/S總。根據時隙結構的劃分,每個周期存在數據時隙的數量,便可以依據分配比例計算出每個節點可以獲得的最多數據時隙數量。再由預約時隙交互時獲得的當前業務數據包數計算出實際需要的數據時隙數量,依據可獲得數據時隙數量不超過預先按照比例分配的數量進行分配,這樣便完成每個節點的數據時隙的等比例分配,如圖4所示。

圖4 數據時隙預約流程Fig.4 Data slot reservation process
在硬件平臺FPGA ZYNQ xcZ7100的PL端實現時隙結構的劃分和運行,在PS端兩核同時運行,實現預約子時隙組合的構建、解析、更新和業務數據的發送和接收。通過測試電腦端下發特定速率的測試包,統計業務出口的緩存的等待發送包數、速率和數據時隙的預約分配情況。其中事實速率如圖5所示測試速率。

圖5 測試速率Fig.5 Test rate
如圖6所示所需時隙數與實際分配時隙數比對,通過時間段15~25s的所需數據時隙和實際分配數據時隙的比對,此時間段的實際數據時隙分配數量明顯多于所需的數據時隙數量,所以速率基本穩定在最高速率。但隨著預測誤差的抖動,速率也會跟隨變化。

圖6 所需時隙數與實際分配時隙數比對Fig.6 Comparison of required time slots with actual allocated time slots
通過硬件平臺的搭建測試,發現數據時隙的預約模型存在誤差,并且這個誤差直接影響業務速率。節點統計鄰居節點的業務數據包數量進行更新預測模型,所預測得到的數據時隙的生效時間和統計時間存在延時,這樣導致預測模型的誤差變大。后期應該考慮預測數學模型的搭建方式和優化數據更新時間及機制,以削弱預測誤差對速率的影響。