低密度同位元檢查(LDPC)錯誤修正演算法可用在充滿雜訊的傳輸通道上傳送訊息,其抗雜訊的能耐在高速數位通訊技術,例如IEEE 802.11n/ac/ad/af、IEEE 802.16e、IEEE 802.3an、DVB-S2、DVB-C2、DOCSIS3.1、G.hn,以及第三代合作夥伴計畫(3GPP)MBMS中,具有很大的優勢。
因此這些年來,各種標準採用LDPC演算法的情形有逐漸增加的趨勢,不過,LDPC碼在運算上相當複雜,因此在開發和驗證階段要評估效能時,便會產生許多挑戰。
目前有一種先進的模擬方法與環境,可以在真實狀態的通訊情境下,用來驗證和量測演算法的效率,幫工程師省下可觀的時間和成本。
通道編碼技術穩定數位通訊資料傳輸
在數位通訊中,當訊號在非理想通道中傳輸時,有些位元會發生變化,並且在接收時出現錯誤。因此在接收器上適當地修正這些錯誤就變得很重要,在實際的數位通訊系統中,由於傳輸時會有雜訊存在,因此大多會利用各種通道編碼技術來提升資料的穩健性。
在實作上,一開始的理論見解,可以依據誤碼率(BER)對訊號雜訊比(SNR)在不同編碼率之下的曲線圖,接著可利用加成性白高斯雜訊(AWGN)通道進行BER模擬,以研究其相互關係。
圖1針對未編碼和編碼系統,顯示其BER對位元能量雜訊比的模擬結果。在這個模擬中,利用自定義的LDPC演算法可在編碼和未編碼之間獲得顯著的編碼增益。
|
圖1 在AWGN通道中採用自定義LDPC碼時,BER對Eb/N0的曲線圖。 |
在提升資料傳輸速率上,使用更高階的調變機制已經變成一種越來越普遍的方法。然而此種傳輸速率提升的代價,就是必須要有更高的SNR,同時對其他缺陷(例如相位雜訊和干擾)的靈敏度也會提升。不過若藉由高效能通道編碼來減少錯誤,系統設計者就可獲得額外的雜訊邊限。
除了渦輪碼(Turbo Code)之外,LDPC碼也是一種有效的通道編碼技術,其效能很接近Shannon極限。即便這些演算法有些已經實現了,也已經用在新一代的數據機晶片組上,然而要了解其在真實狀態環境下的實際效能,對系統設計者來說永遠都是一項重大挑戰。
整合C++程式語言 ESL模擬平台評估演算法更省時
在此範例中的自定義前向錯誤修正(FEC)系統,是以LDPC碼連結具有各種碼率的BCH外碼為基礎。針對系統的解碼器部分,則是利用C++程式語言實現三種不同的演算法--和積(Sum-Product)、正規化最小和(Normalized Minimum Sum),以及補償式最小和(Offset Minimum Sum)。
由於演算法是用C++進行開發,因此有必要選擇一種可以提供簡易整合途徑的模擬平台。如圖2所示,電子系統級(ESL)模擬平台是使用C++來建構,因此若利用跨平台自動化建構系統(CMAKE),就能將C++演算法輕鬆整合到ESL模擬平台環境上。
|
圖2 C++程式碼整合到模擬平台的方式 |
開發一套模擬程式來評估複雜的演算法是相當不簡單的工作;通常須要花很大的功夫才能獲得可靠的結果,因此使用商用現成的ESL模擬平台可提供好幾種優點,包括有預先配置的數位通訊資料庫區塊等優點。
在數位通訊系統模擬中,包含以下幾種較常見的一些元件:
除了這些常見的元件之外,模擬技術(例如多執行緒模擬加速)可能也很重要,端看設計者特定的專案目標而定。
範例中的專案目標是要以LDPC為基礎開發一個高效能FEC子系統,因此花很長的時間來開發模擬平台並不理想;相反地,採用市面上可取得的商用平台可以節省較多的時間。
圖3顯示參考數位數據機設計IP,可提供大部分所需的重要元件,以評估範例中的演算法。從圖的左邊開始,隨機位元產生器提供參考測試向量並傳送到編碼器演算法區塊,同時也會經由延遲元件傳送到BER量測區塊;綜合資料訊框(前置符碼、酬載、保護和閒置間隔)可以映射到四十一種不同類型的調變格式,在脈衝整形之後由參考傳送器區塊進行調變。
|
圖3 LDPC演算法評估會與數位通訊數據機參考資料庫進行整合線路圖 |
傳送的訊號透過AWGN產生損耗,放大之後傳送到數位接收器進行解調,並且從雜訊中回復資料;參考接收器區塊可提供各種接收器訊號處理演算法,像是訊框與符碼同步、相位和頻率偏差修正、通道估測和適應性等化。
最後,解碼區塊從接收器收到反映射訊號,然後輸出解碼訊號到BER量測區塊以計算BER。
為了驗證參考數據機IP尚未整合FEC子系統演算法的效能,此模擬的進行會選擇接收器訊號處理演算法,然後得到BER對Eb/N0曲線,如圖4所示。其中採用從QPSK到4096-QAM的常見調變格式,然後再將理論和模擬曲線繪製成圖。
|
圖4 在AWGN通道中,使用參考數據機進行模擬的BER對Eb/N0曲線。演算法的選擇包括前饋AGC、差動相關訊框同步、相關頻率同步、相位估計、無等化器、以及DD-PLL頻率追蹤。 |
圖4中的a軌跡是依據理論計算出來的BER結果,而其他的軌跡則為實際模擬結果。值得注意的是,要注意曲線之間並沒有差異,能讓使用者對於使用IP來評估演算法更有信心。
測試錯誤修正演算法 模擬無線通道不可少
若要評估效能、參數最佳化以及測試新的錯誤修正演算法,那麼模擬無線通道就有其必要,因此對參與通訊系統開發的系統設計者來說,設計實際的衰減通道就非常重要。
這項工作的進行,通常是先研究多路徑傳播狀態。其中會有交互散射所造成的脈衝通道響應,是透過分接延遲線(Tapped-delay Line)通道模型的多路徑功率延遲概觀來進行特性分析。
同時還會有發射器、接收器的移動或是散射所造成的Doppler頻譜,會透過頻譜形狀和最大Doppler頻率來進行特性分析。假如設計包含了多天線系統,設計者可能還須要考量多重輸入多重輸出(MIMO)通道的空間特性。
可想而知,模擬無線通道是相當重要的工作,但這已經超出該範例的範圍(開發高效能LDPC演算法)。因此取而代之的是採用既有的行動無線通道模型,該模型係由國際電信聯盟(ITU)和3GPP進行的研究:ITU-R M.1225, Guidelines for the Evaluation of Radio Transmission Technologies for IMT-2000, 1997、3GPP TS 36.104, User Equipment(UE), and Radio Transmission and Reception。
利用表1所示的模型種類,系統設計者可以整合不同種類的通道模型,甚至可以針對延遲、功率和Rician因數,設定自己的通道特性定義。
若要分析通道編碼演算法的效能,標準作法就是在充滿雜訊的通道環境中量測BER,然而涵蓋多個SNR掃描點的BER模擬可能要花相當長的時間來執行,特別是使用LDPC碼時,通常須要在具有較長區塊長度的超強處理器上面執行。
此外,本文介紹範例使用的是4,096高階QAM調變格式,因此必須模擬大量的資料訊框傳輸,以獲得可靠的BER模擬結果,同時也會花掉相當長的模擬時間。
為了應付這樣的挑戰,可以利用高效能的多處理器電腦,或是運算伺服器群來進行複雜的模擬應用。每項模擬工作(包含多個掃描點)會分拆並分配給可用的處理器進行平行處理,在完成每一項工作之後,模擬平台會蒐集個別的模擬結果並彙整成為一個資料組,然後再將結果繪製成圖。
相較於現有的通道編碼演算法,LDPC碼能提供相當可觀的效能優勢,然而在開發和驗證階段要評估效能時也會產生一些挑戰。
舉例來說,隨著區塊大小的提升,LDPC碼的運算複雜度會以線性方式升高,藉由選擇合適的模擬平台,如SystemVue,其C++程式碼整合功能、參考數位數據機IP、業界標準的無線通道模型,以及企業級的分散模擬支援,可讓系統設計者在評估演算法的時候立即省下可觀的時間和成本。
(本文作者任職於是德科技)