高效數(shù)字調制技術及其DSP實現(xiàn)
表示簡單編碼器的一種方法是網格圖,如。圖7所示。它既有時間尺度,又利用了結構上的重復性,避免了支路數(shù)呈指數(shù)增長的情況。圖7中,實線表示輸入比特為0的路徑,虛線表示輸入比特為1的路徑。
2.2 Viterbi譯碼
Viterbi譯碼算法是目前最為常用的卷積碼的譯碼方法,主要分為硬判決維特比和軟判決維特比。本文采用硬判決,譯碼時,將接收到的編碼序列與網格圖上所有可能的轉移路徑作比較,計算出其漢明距離,并從中選擇累加路徑距離最小的路徑,該條路徑對應的序列就是最可能的發(fā)送序列。
對于文中的編碼器來說,其Viterbi譯碼算法的基本步驟如下:
(1)計算量度值。根據接收到的信號序列,對a,b,c和d四種狀態(tài)分別計算上下兩支路狀態(tài)轉移的漢明距離HD upper和HD_lower。
(2)相加,比較,選擇,存儲。在四個狀態(tài)節(jié)點上,分別比較到達同一節(jié)點的上下兩支路累積路徑量度值的大小,選擇較小的一條路徑y(tǒng)_final,將其狀態(tài)量度值存儲到L(s,t),其中s表示狀態(tài),t表示時間。記錄路徑r(r表示第幾條支路),并存儲到path(s,t)中。
(3)尋找最佳路徑。根據L(s,t),path(s,t)及狀態(tài)轉移表S(S記錄了每個狀態(tài)上下分支的前一狀態(tài)值)的值從最后一個時刻開始進行回溯,最終得到最佳路徑,此路徑是由狀態(tài)值表示的。這是一種遞歸算法。
(4)譯碼。根據最佳路徑,依次譯出二進制碼字,上支路譯碼為0,下支路譯碼為1,得到譯碼結果。其實,當路徑量度計算進行到網格圖一定深處時,前面的路徑已經合并成一條路徑,此時就會產生第一位譯碼比特。這個深度即為譯碼深度,一般譯碼深度為約束長度的5~8倍。
2.3 仿真驗證
圖8是10 000個隨機序列經卷積編碼,8PSK調制,Viterbi譯碼后的誤碼曲線圖,可以看出隨信噪比的增大,誤碼率大致呈下降趨勢,當信噪比增大到近10 dB時,誤碼率為0。
3 結語
FQPSK調制所具有的頻帶集中、包絡恒定的特性可使得調制信號通過帶限和非線性處理后有盡可能小的頻譜擴展,其優(yōu)良的頻譜特性與目前射頻譜資源緊張的形勢相順應。TCM在不增加帶寬和降低信息速率的條件下,可以提高整個系統(tǒng)的可靠性,尤其適合于在功率和頻率受限的信道中使用。而基于網格編碼調制的Viterbi譯碼算法具有較強的檢錯和糾錯能力。從TCM技術中可以看出:通過系統(tǒng)內部的組合優(yōu)化,可以使系統(tǒng)的整體性能得到極大的提高。
評論