通信系統中Viterbi譯碼的Matlab仿真與實(shí)現
摘要 數字通信作為一種前向糾錯編碼技術(shù)卷積碼起著(zhù)重要的作用。相應地,信息接收端對卷積碼的譯碼實(shí)現也提出了更高的要求。文中提出的卷積碼譯碼Matlab仿真方案,旨在用Viterbi譯碼實(shí)現對卷積碼譯碼的功能。仿真結果表明,維特比是一種良好的譯碼方式。
關(guān)鍵詞 Viterbi譯碼;卷積碼;Matlab仿真
在現代通信中,信源、信宿和信道是組成通信系統的最基本單元。其中信源是產(chǎn)生信息的源,信宿是信息的目的地,信道則是傳送載荷信息的信號所通過(guò)的通道,信源和信宿之間是通過(guò)信道連接的。通常從兩方面來(lái)衡量通信系統的性能指標:數量和質(zhì)量。一般數量指標用有效性渡量,而質(zhì)量指標用可靠性度量。前者主要取決于信源的統計特性,而后者主要取決于信道的統計特性。在信道中傳輸數字信號,一般要求信源端把信息轉換成電信號,并用盡量低速率的二進(jìn)制數字信號表示,然而為了匹配信道的特性,彌補信道的缺陷,減少傳輸中的損傷,以更高的速率和更可靠的性能傳輸信息,需要對信息進(jìn)行信道編碼。而卷積碼就是一種有效的前向糾錯信道編碼方式。維特比譯碼與卷積碼算法共同實(shí)現了前向糾錯,消除數據流中潛在的噪聲,從而增加了數據傳輸的可靠性,改進(jìn)了多噪聲及衰落信道下譯碼的準確性,提高了數字系統的性能。
1 卷積碼編碼原理
卷積碼是一個(gè)有限記憶系統,它將信息序列分隔成長(cháng)度為k的一個(gè)個(gè)分組,在某一時(shí)刻的編碼輸出不僅取決于本時(shí)刻的分組而且取決于本時(shí)刻以前的(N-1)個(gè)分組,這種距離性決定了卷積碼潛在的糾錯能力。
下面以參數(2,1,7)的卷積碼為例說(shuō)明卷積碼編碼原理。此卷積碼的卷積多項式參數為k=1,n=2,N=7,碼的生成多項式為(171,133)卷積碼編碼器在任何一段時(shí)間內產(chǎn)生的n個(gè)碼元不僅取決于這段時(shí)間中的k個(gè)信息位,而且還取決于前N-1段規定時(shí)間內的信息位。其意義為:輸人為1 bit時(shí),輸出為2 bit,移位寄存器的個(gè)數為m=N-1=6,該編碼器的狀態(tài)數為2m=64,記為Si,i=0~63,觀(guān)察卷積碼的狀態(tài)轉移圖可得結論:
圖1中D表示將輸入延遲一個(gè)時(shí)間單位;⊕表示異或;X,Y為輸入經(jīng)過(guò)不同的延時(shí)后的異或結果。
在編碼器狀態(tài)確定的情況下,不同輸入所對應的編碼器狀態(tài)網(wǎng)格圖如圖2所示。
由于(2,1,7)狀態(tài)數較多為64,所以用只有8個(gè)狀態(tài)的卷積碼(2,1,4)來(lái)說(shuō)明卷積碼編碼器的狀態(tài)轉移過(guò)程。實(shí)線(xiàn)表示輸入為0,虛線(xiàn)表示輸入為1。觀(guān)察圖2可知,從第5組節點(diǎn)開(kāi)始每個(gè)節點(diǎn)都可以由兩個(gè)狀態(tài)轉移而來(lái)。類(lèi)似可得出(2.1,7)從第8組節點(diǎn)開(kāi)始每個(gè)節點(diǎn)可由兩個(gè)狀態(tài)轉移而來(lái)。
數字通信相關(guān)文章:數字通信原理
通信相關(guān)文章:通信原理
評論