發布日期:2022-08-21 點擊率:16
0 引言
無線傳感器網絡(WSN)屬于多學科高度交叉的前沿研究領域,綜合了傳感器、嵌入式計算、網絡及通信、分布式信息處理等技術。由于無線傳感器網絡節點部署在惡劣的環境中,為了提高通信系統的可靠性,有必要進行信道編碼。本文設計和實現的低密度校驗(LDPC)碼應用于無線傳感器網絡。選擇了采用LDPC碼的信道編碼方案,方案中使用了Turbo解碼器,解碼復雜度低,有較出色的表現。
LDPC碼是一種奇偶校驗矩陣為稀疏矩陣的線性分組碼,最初由Gallager發現。1996年,MacKay和Neal發現LDPC碼的性能可以接近香農極限,校驗矩陣含有“0”的個數遠遠大于非“0”元素,這是LDPC碼性能優越的重要保證。LDPC碼是漸進好碼,其最小漢明距離隨著碼長的增加而線性增加。LDPC碼的特點是,具有較大靈活性和較低的差錯平底特性,描述簡單,對嚴格的理論分析具有可驗證性,且可實現完全的并行操作,硬件復雜度低,因而適合硬件實現,吞吐量大,極具高速譯碼潛力。
在無線傳感器網絡中,對LDPC碼編碼器而言,實現并不困難。在實施的LDPC解碼算法的無線傳感器網絡需要考慮的問題是,選擇合適的解碼算法,采用串行或并行算法,此外還有LDPC碼長度的選取。
1 LDPC簡介
LDPC碼可以由一個稀疏的校驗矩陣來描述,如圖1所示。
圖1 LDPC碼奇偶校驗矩陣
1.1 LDPC的編碼
LDPC碼可以由一個稀疏的校驗矩陣來描述。
一個長度為N,信息位長為K的二進制低密度奇偶校驗碼表示為(N,K,λ,ρ),它具有一個(N-K)×N的奇偶校驗矩陣和一個生成矩陣G。校驗矩陣H的平均列碼重為λ,平均行碼重為ρ。在校驗矩陣H中,絕大多數位置上為0,極少數位置上為1,1的位置是隨機分布的。相應的Tanner圖(見圖2)由N個變量節點和N-K個檢查節點,以及一定數量的邊組成。N個變量節點對應低密度奇偶校驗碼的碼長N,N-K個檢查節點對應的N-K個校驗限制,一個變量節點和一個檢查節點之間當且僅當校驗矩陣相應的位置是1的時候,會有一條邊存在。如果奇偶校驗矩陣每一行包含相同數量的1,每一列包含相同數量的1,則被稱為規則低密度奇偶校驗碼,否則,它就是不規則低密度奇偶校驗碼。相對于稀疏的校驗矩陣H,生成矩陣G是稠密的。因此,低密度奇偶校驗碼的編碼復雜度與代碼長度的平方成正比。
圖2 LDPC碼Tanner圖
一般而言,檢驗矩陣采用隨機的方法構造。通過高斯消元法后,得到:
由此得到生成矩陣:
1.2 LDPC的解碼
LDPC碼的解碼算法可以分為硬判決譯碼和軟判決譯碼兩大類。幾乎所有的LDPC碼譯碼算法都是迭代算法。一般而言,實現LDPC碼譯碼器,主要需要考慮以下的三個問題:
(1)碼字的糾錯性能;
(2)碼字實現所需的硬件資源;
(3)系統所要求達到的吞吐率與信息傳輸速率。
此三個條件相互制約,在實際應用的過程當中,要找到一個比較理想的折中方案。
2 無線傳感器網絡下設計方案
無線傳感器網絡節點是低功耗低價格微型嵌入式設備,其能量供應和無線通信帶寬十分受限。無線傳感器網絡由數量龐大的節點以自組織方式構成,節點的體積微小,存儲和處理數據的能力低下,且大部分節點由電池供電,能量受到極大的限制。對計算量和存儲量的要求很高,由此對運算的種類要求也很高,例如,盡量不使用乘除這類運算,而運算過程中盡量少出現實數,盡量使用整數。結合這些特點,所以采用硬解碼,選擇合適的判決門限,對硬解碼諸算法仿真,當然相應地帶來解碼效率下降,而且解碼迭代次數也不能太多,設定為兩次,這也降低了硬解碼效率(對次數的仿真),可以有效地降低重傳率,減少由多個節點傳輸帶來的累積錯誤,使系統具有一定的糾錯能力和抗干擾能力,可極大地避免碼流傳送中誤碼的發生。在無線傳感器網絡節點,內置芯片CC1000。在NESC環境下,包括應用層、網絡層和傳輸層并為一層,而物理層和數據鏈路層并為一層,所以把LDPC編解碼加入到底層模塊中。
在無線傳感器環境下實現LDPC編譯碼,首先需要考慮的是錯誤校正能力和處理能力的權衡。在無線傳感器網絡節點中,通常采用基帶信號處理的低功耗微控制器單元(MCU)。LDPC解碼算法可以分為兩類:軟解碼算法和硬解碼算法。軟解碼算法需要的浮點計算能力通常由功耗很高的MCU支持,而LDPC碼的硬解碼算法具有較低的糾錯能力。這是人所共知的,LDPC碼譯碼算法可以在一個并行方式下執行這樣的解碼且速度快。然而,實現并行解碼算法需要的FPGA器件功率消耗比較高。因此,選擇串行解碼算法更合適。目前,用于無線傳感器網絡低功耗微控制器的處理速度比較低。因此,需要盡可能提高解碼速度。如果增加碼長度,解碼時延也會相應增加。此外,解碼算法需要校驗的信息矩陣也會變得更大更復雜,而且校驗矩陣的增加是代碼長度呈指數的增加。一般來說,無線傳感器網絡節點具有相對較小的內存。因此,如何保存校驗矩陣是一個問題。另一方面,如果代碼長度過小,相對較低的LDPC碼糾錯能力也是不容忽視的問題。
在編碼過程中,只有生成矩陣G需要事先保存在節點內存中。由于無線傳感器網絡節點的內存大小相對較小,它需要的內存也應該盡可能少。因此,在內存中只存儲無線傳感器網絡節點矩陣P,此外,需要轉換成二進制8B字符進行保存。
3 Matlab下的仿真結果
利用Matlab進行仿真,仿真結果如圖3所示。
圖3 仿真結果
由圖3可知,LDPC硬解碼方案可以大幅改善信號抗噪聲性能,而通過解碼迭代次數的對比,發現迭代3次效果已經相當理想,而迭代50次并不能大幅提高解碼效果。
4 結語
討論了在無線傳感器網絡環境下LDPC編解碼的設計問題,并提出了降低解碼復雜度和節省內存的方案。證實短碼長的LDPC碼應用到無線傳感器網絡節點上可以提高系統的誤碼率性能。
下一篇: PLC、DCS、FCS三大控
上一篇: 一種可用于測量水中爆