新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的卷積編譯碼器的設(shè)計(jì)與實(shí)現(xiàn)

基于FPGA的卷積編譯碼器的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2010-11-22 來(lái)源:網(wǎng)絡(luò) 收藏

描述碼的方法主要有兩類:圖解表示和解析表示。上文提到的生成多項(xiàng)式G=(111,101)即是解析表示。碼的圖解表示又可分為樹(shù)狀圖、網(wǎng)格圖和狀態(tài)圖3種。下面介紹常用的樹(shù)狀圖表示(網(wǎng)格圖表示將在譯碼部分介紹)。在圖2所示的編碼樹(shù)狀圖中,假設(shè)移位寄存器的起始狀態(tài)全為0,當(dāng)?shù)?個(gè)輸入比特為O時(shí),輸出比特為00;若輸入比特為1時(shí),則輸出比特為11。隨著第2個(gè)比特輸入,第1個(gè)比特右移1位,此時(shí)輸出比特同時(shí)受當(dāng)前輸入比特和第1個(gè)輸入比特的影響。第3個(gè)比特輸入時(shí),第1、2比特分別右移1位,同時(shí)輸出2個(gè)由這3位移位寄存器存儲(chǔ)內(nèi)容所共同決定的比特。當(dāng)?shù)?個(gè)比特輸入時(shí),第1個(gè)比特移出移位寄存器而消失。移位過(guò)程可能產(chǎn)生的各種序列如圖3中的二叉樹(shù)。

本文引用地址:http://m.butianyuan.cn/article/191469.htm

c.JPG



2 Velerbi(維特比)譯碼器原理
卷積碼的譯碼方式有3種:Veterbi譯碼、門限譯碼和序列譯碼。其中維特比譯碼具有最佳譯碼性能,但硬件實(shí)現(xiàn)相對(duì)復(fù)雜。veterbi算法是檢測(cè)離散馬兒可夫過(guò)程有限狀態(tài)序列的優(yōu)化算法。在數(shù)字通信系統(tǒng)中,前向糾錯(cuò)卷積碼編碼和維特比譯碼用來(lái)提高系統(tǒng)性能,應(yīng)用廣泛。
維特比算法是一種最大似然譯碼算法。它不是在網(wǎng)格圖上一次比較所有可能的2條完整路徑,而是接收一段,計(jì)算比較一段,選擇一段最有可能的碼段,從而達(dá)到整個(gè)碼序列是一個(gè)有最大似然函數(shù)的序列。其基本原理是:以斷續(xù)的接收碼流為基礎(chǔ),逐個(gè)計(jì)算它與其他所有可能出現(xiàn)的連續(xù)的格狀圖路徑的距離,選出其中概率最大的一條作為譯碼輸出。
維特比(Veterbi)譯碼算法是基于卷積碼的網(wǎng)格圖表示中路徑的計(jì)算,其核心思想就是通過(guò)計(jì)算路徑矢量進(jìn)而尋找最短路徑從而最終得到譯碼序列并可以糾正傳輸過(guò)程中的錯(cuò)誤碼字。圖4中給出(2,1,3)卷積碼的網(wǎng)格圖表示。

d.JPG


圖4中的網(wǎng)格圖中共有2k(N-1)種狀態(tài),每個(gè)狀態(tài)(節(jié)點(diǎn))有2k條支路進(jìn)入,同時(shí)也有2k條支路引出。由于本文討論的是(2,1,3)卷積碼的情況,因此k=1,假設(shè)起始狀態(tài)為全0。
在不同時(shí)刻對(duì)于同一節(jié)點(diǎn)的所有8個(gè)狀態(tài),分別計(jì)算以其為終點(diǎn)的2條分支路徑的對(duì)數(shù)似然函數(shù)累加值并進(jìn)行比較,舍棄其中對(duì)數(shù)似然函數(shù)累加值小的路徑,保留對(duì)數(shù)似然函數(shù)累加值較大的路徑,并將此路徑稱為剩余路徑。由此可見(jiàn),上述過(guò)程可以歸納為“加-比-選”算法,經(jīng)過(guò)“加-比-選”電路以后,通過(guò)結(jié)束信息來(lái)確定最終得到的譯碼序列,其中每到來(lái)一個(gè)結(jié)束信息時(shí),只將與已知發(fā)送信息相符的那條支路保留,以此類推,經(jīng)過(guò)N-1個(gè)結(jié)束信息后,即可得到與發(fā)送序列最相似的譯碼路徑。

3 譯碼器設(shè)計(jì)與實(shí)現(xiàn)
維特比譯碼器包括4個(gè)子模塊,如圖5所示。

e.JPG
1)控制單元 向各個(gè)功能模塊提供控制信號(hào),保證譯碼器的工作時(shí)序正確,協(xié)調(diào)各個(gè)功能模塊從而促使整個(gè)譯碼器的正常工作。
2)路徑度量和“加-比-選單元”計(jì)算和比較每條支路的路徑度量,得到并保存剩余路徑提供給回溯單元。對(duì)于(2,1,3)卷積碼,譯碼深度D=5(m+1)=20,為保證存儲(chǔ)單元和回溯單元同時(shí)并行工作,存儲(chǔ)單元為2D(m+1)2m=1280 bit。
3)回溯單元 從前面“加-比-選”電路送來(lái)的剩余路徑中選擇量度最小的剩余路徑,從這條路徑對(duì)應(yīng)的狀態(tài)開(kāi)始向前尋找,直到找完前面所有狀態(tài),并從存儲(chǔ)單元中讀出譯碼信息送給譯碼控制單元。
4)譯碼控制單元 將回溯單元送來(lái)的譯碼序列反轉(zhuǎn)順序輸出即為所要輸出的正確的接收序列。其中反轉(zhuǎn)順序的操作可由RAM實(shí)現(xiàn),順序?qū)懭氲剐蜃x出。



關(guān)鍵詞: FPGA 卷積 編譯碼器

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉