一種高效咬尾卷積碼譯碼器的設(shè)計(jì)與仿真_第1頁
一種高效咬尾卷積碼譯碼器的設(shè)計(jì)與仿真_第2頁
一種高效咬尾卷積碼譯碼器的設(shè)計(jì)與仿真_第3頁
一種高效咬尾卷積碼譯碼器的設(shè)計(jì)與仿真_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 一種高效咬尾卷積碼譯碼器的設(shè)計(jì)與仿真 介紹了咬尾卷積碼的和次譯碼算法的實(shí)現(xiàn)細(xì)節(jié)。給出了采用新的蝶形圖計(jì)算方法和環(huán)形內(nèi)存來節(jié)省硬件資源的實(shí)現(xiàn)方法,給出了次算法在FPGA上的實(shí)現(xiàn)結(jié)果。 0 引言 自1955年Elias發(fā)明卷積碼以來,卷積碼作為一種高效的信道編碼已被用在許多現(xiàn)代通信系統(tǒng)中。卷積碼分為零比特卷積碼(Zero Tail CC,簡稱ZTCC)和咬尾卷積碼(Tail Biting CC,簡稱TBCC)兩種。ZTCC是指在編碼的時(shí)候,碼字后面要另外加上K(K為約束長度)個(gè)0將編碼存放器的狀態(tài)打出,而TBCC則是直接用碼字的K個(gè)比特將編碼存放器初始化,從而提高編

2、碼率?,F(xiàn)在的3G和4G通信標(biāo)準(zhǔn)中(比方WiMAX或LTE)都采用了TBCC信道編碼。關(guān)于TBCC的譯碼算法很多,其中比較經(jīng)典的譯碼算法有循環(huán)維特比算法(CVA)和BCJR算法。但上述算法由于解碼時(shí)延不固定和復(fù)雜度的原因,均不便于硬件實(shí)現(xiàn)。為此,本文提出了一種便于硬件實(shí)現(xiàn)的次優(yōu)解碼算法。 1 TBCC譯碼算法 1.1 譯碼算法 TBCC的理論譯碼算法是,對于每一個(gè)可能的初始狀態(tài)(3k)用維特比譯碼算法對所有可能的狀態(tài)開展搜索,再根據(jù)的狀態(tài)開展解碼。但是,這種算法的復(fù)雜度太高,不利于硬件實(shí)現(xiàn)。 1.2 次譯碼算法 次譯碼算法的經(jīng)典代表是CVA算法,此外還有其改良的算法比方環(huán)繞維特比算法(WAVA)

3、和雙向維特比算法(BVA)。它們的主要思路是利用圓形buffer將碼字?jǐn)U展成多個(gè)相同碼塊首尾相接的長碼塊開展譯碼。當(dāng)檢測到首尾狀態(tài)相等或者滿足自適應(yīng)迭代的停止條件時(shí),即完成譯碼;否則繼續(xù)開展迭代。但該算法或其改良的WAVA和BVA算法都存在這樣一個(gè)問題。那就是解碼的延遲不是固定的,而這非常不便于硬件實(shí)現(xiàn)。 所以,本文中提出固定延遲的譯碼算法,其基本思路是在碼塊的前Lt個(gè)符號補(bǔ)在符號的后面,將碼塊的后Lh個(gè)符號補(bǔ)在碼字的前面,這樣就構(gòu)成一個(gè)長度為Lt+N+Lh的新碼塊(假設(shè)原碼字長度為N),圖1所示是重構(gòu)的碼塊示意圖。該新碼塊可以按照ZTCC解碼一樣去解碼,然后從具有路徑度量(path metr

4、ic)的狀態(tài)開展回溯。 圖2所示是其譯碼算法流程圖。其中Lt和Lh參數(shù)的選擇應(yīng)根據(jù)仿真來確定。這里采用典型值:Lt=72,Lh=96。 2 TBCC譯碼算法的實(shí)現(xiàn) 2.1 分支度量(branch metric)的計(jì)算 維特比譯碼算法采用ML準(zhǔn)則,其分支度量可通過下式計(jì)算: 2.2 加-比較-選擇器(ACS) 圖3所示是ACS的狀態(tài)轉(zhuǎn)移蝶形圖。實(shí)際上,卷積碼的Trellis圖具有如下性質(zhì)(LTE中TBCC編碼約束長度為7): 對于每一個(gè)狀態(tài),其前面的狀態(tài)為i1)64和(i1+1)64。 上述性質(zhì)在硬件實(shí)現(xiàn)時(shí)非常好用。由上述性質(zhì)可以給出路徑度量的計(jì)算式: 從上面的公式可以看出。計(jì)算一個(gè)蝶形圖需要4

5、次加法和2次比較。圖4所示是ACS路徑度量蝶形圖。此外,操作時(shí)還可采用Andries的簡化方法來減小硬件開銷,其公式如下: 計(jì)算出需要2次加法。對于LTE中約束長度為7的TBCC來說,總共有64個(gè)狀態(tài),可以分別在兩個(gè)蝶形圖里面使用(符號會有所變化),這樣,加法器就減小為32,加上每個(gè)路徑度量更新還需要一個(gè)加法器,這樣共需要的加法器為32+64=96,比之前未簡化的算法少用了32個(gè)加法器。 2.3 回溯 回溯的深度(Trace back Depth)必須大于編碼深度(Coding Depth),這是因?yàn)?,?jīng)過回溯CD的長度,所有的幸存路徑均會收斂。每次回溯時(shí),所有幸存路徑都需要從內(nèi)存里面讀出TD

6、個(gè)狀態(tài),同時(shí)將有TD-CD個(gè)判斷之后的比特送入LIFO?;厮葜?,會有TD-CD的內(nèi)存空間可寫,另外在回溯時(shí),還需要TD-CD個(gè)內(nèi)存空間來保存進(jìn)來的數(shù)據(jù),這樣,內(nèi)存空間就共需TD+(TD-CD)=2TD-CD。在此可取典型值TD=96,CD=72。 2.4 FPGA的實(shí)現(xiàn) 本設(shè)計(jì)采用的FPGA芯片為Altera的StratixIIIEP3SL340系列器件,其在QuartusII9.0下綜合出來的RTL視圖如圖5所示。其布線后所占用的資源如下表l所列。 3 仿真驗(yàn)證 本文采用的開發(fā)流程是先在matlab下仿真出浮點(diǎn)算法的性能,然后根據(jù)系統(tǒng)要求用C實(shí)現(xiàn)定點(diǎn)模型,在和浮點(diǎn)的版本比較后,再采用Ver

7、-ilog實(shí)現(xiàn)。由于用verilog做性能仿真比較慢,本文采用的仿真和驗(yàn)證方法是在定點(diǎn)C下做性能仿真,然后將C版本的輸入輸出作為黃金參考數(shù)據(jù),再用modelsim仿出vetilog版本的數(shù)據(jù)和參考數(shù)據(jù)做比照,如果數(shù)據(jù)完全一樣,則驗(yàn)證通過,否則調(diào)試verilog語言并追蹤錯誤。 驗(yàn)證選擇的碼長為1080,將TBCC解碼器放在44 MIMO接收機(jī)里,可得到如圖6所示的SNR曲線。 由圖6可知,在SNR很小的時(shí)候,TBCC解碼器的性能反而較硬判決會下降,這是由于SNR太小,TBCC已經(jīng)無法從很少的已知信息中糾正其他的錯誤信息。而當(dāng)SNR較大時(shí),TBCC解碼器就可以從相對多的已知信息中糾正錯誤信息。由圖6可見,在誤碼率為10-3以下時(shí),TBCC能夠獲得約

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論