亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種支持LTE標準的Turbo碼譯碼裝置及方法與流程

文檔序號:12739146閱讀:267來源:國知局
一種支持LTE標準的Turbo碼譯碼裝置及方法與流程

本發(fā)明屬于移動通信系統(tǒng)技術領域,尤其涉及一種Turbo碼譯碼裝置及方法。



背景技術:

Turbo碼具有固有的并行性、高編碼增益,且由于Turbo碼很好地應用了香農(nóng)信道編碼定理中的隨機性編譯碼條件而獲得了接近香農(nóng)限的譯碼性能和糾錯性能,因此,Turbo碼被WiMax、CCSDS、3GPP LTE、HSDPA等諸多通信標準所采納。

LTE標準是被廣泛采納的一個通信標準,它采用的RSC編碼器為(13,15)系統(tǒng)碼,規(guī)定了188種不同Turbo碼碼塊長度的Turbo碼,碼塊長度從40~6144不等。因此,它既可以用于傳輸控制信息這種數(shù)據(jù)量比較少的短幀,也可以用于傳輸數(shù)據(jù)信息這種數(shù)據(jù)量很大的長幀。Turbo碼的譯碼器目前大多采用基2算法或者基4算法來實現(xiàn),基4算法的基本思想是將基2算法的前后兩個時刻合并為一個時刻進行處理,在計算對數(shù)似然比時,由基2的1個輸入變?yōu)?個輸入,因此,基4譯碼算法存儲器的訪問次數(shù)只有基2算法的1/2,需存儲的前后遞歸變量也變?yōu)樵瓉淼囊话耄切枰紤]的分支度量數(shù)目則變?yōu)樵瓉淼?倍,需要更大規(guī)模的電路來進行處理,且單個分支度量的計算復雜度增大,導致一個時鐘內(nèi)處理不了,往往需要采用并行分塊的方式來加快譯碼速度,但是這種處理方式由于受到分塊數(shù)目、初始值計算等因素的限制往往不能支持LTE標準的全部碼型。



技術實現(xiàn)要素:

因此,為解決上述問題,本發(fā)明特提出一種支持LTE標準的Turbo碼譯碼裝置及方法,該方法利用基2Turbo譯碼架構來實現(xiàn)LTE標準的Turbo碼,并對其中的關鍵部分進行優(yōu)化處理。

采用基2Turbo譯碼結(jié)構的好處:

1、采用基2Turbo譯碼算法能夠在計算alpha和beta值時,可以一個時鐘內(nèi)計算完成,減少了關鍵路徑的長度,因此,不需要采用多個數(shù)據(jù)塊進行并行計算的方式,從而可以節(jié)約計算beta值初始值所耗費的計算資源;

2、采用基2Turbo譯碼算法雖然沒有基4Turbo譯碼算法的計算速度快,但是前者比后者的計算過程要簡單得多,所占用的資源也要少很多;

3、基2Turbo譯碼算法不但運算過程簡單,而且由于狀態(tài)數(shù)大量減少,因此,需要計算的分支度量gamma的數(shù)目也大大減少,從而節(jié)約了面積;

4、基4Turbo譯碼算法由于受到解交織參數(shù)、并行度等方面的約束,有些碼塊長度不適宜采用基4Turbo譯碼算法,特別是碼塊長度比較短的情形,而基2Turbo譯碼算法則對Turbo碼碼塊長度沒有特殊要求。

基2的Turbo譯碼器的基本結(jié)構如圖1所示,它是一個迭代遞歸的過程。它由兩個分量譯碼器(DEC1)和(DEC2)串行級聯(lián)而成。首先,系統(tǒng)位信息和經(jīng)過選擇器的校驗位信息一送入第一個分量譯碼器(DEC1),產(chǎn)生的外信息經(jīng)過交織器,與經(jīng)過交織的系統(tǒng)位信息以及經(jīng)過選擇器的校驗位信息二一起被輸入到第二個分量譯碼器(DEC2),產(chǎn)生的外信息經(jīng)過解交織后送入到第一個分量譯碼器(DEC1)中,經(jīng)過數(shù)次這樣的迭代運算,對分量譯碼器(DEC2)輸出的對數(shù)似然比進行解交織后送入判決模塊進行判決即可得到最終的譯碼結(jié)果。其中,兩個分量譯碼器之間的交織器與編碼器內(nèi)部所使用的交織器相同,解交織是該交織器的逆操作。

如圖1所示,每個分量譯碼器有3個輸入,

(1)從信道接收到的系統(tǒng)位信息或經(jīng)過交織的系統(tǒng)位信息;

(2)從信道接收到的相應編碼器的校驗位信息

(3)從另一個分量譯碼器得到的每比特的似然信息La(uk)。

一種支持LTE標準188種碼塊長度的Turbo碼譯碼的方法,利用基2Turbo譯碼架構來實現(xiàn)LTE標準的Turbo碼,并對其中的關鍵部分進行優(yōu)化處理,具體內(nèi)容包括基于Log-Max-MAP算法的加比選運算單元、基于滑窗實現(xiàn)的遞歸計算單元和不同碼塊長度下滑窗長度的控制單元。

MAP算法需要遍歷卷積碼格圖上的每一條路徑,是性能最優(yōu)的算法。它的基本思想是在接收序列為Y的條件下,計算每譯碼比特為+1或-1的概率。這相當于計算后驗概率的對數(shù)似然值,即L(uk|Y),它可由式(1)獲得

其中,(s',s)=>uk=+1表示在格圖上,當?shù)趉時刻輸入uk=+1時,由第k-1時刻狀態(tài)Sk-1=s'到第k時刻狀態(tài)Sk=s的所有可能的狀態(tài)轉(zhuǎn)移,(s',s)=>uk=-1的含義與此類似。αk(s)為第k時刻狀態(tài)Sk=s的前向狀態(tài)度量,βk(s)為第k時刻狀態(tài)Sk=s的后向狀態(tài)度量,γk(s',s)為第k-1時刻狀態(tài)Sk-1=s'轉(zhuǎn)移第k時刻狀態(tài)Sk=s的分支轉(zhuǎn)移度量,它們的計算公式分別為

αk(s)=∑all s'αk-1(s')γk(s',s) (2)

βk-1(s')=∑all sβk(s)γk(s',s) (3)

其中,式(4)中uk表示第k時刻的輸入信息,表示第k時刻輸入為uk的條件下編碼器的第p(p=1,2)個輸出,表示第k時刻的第p(p=1,2)個觀測信號。

注意到MAP算法在計算后驗對數(shù)似然比L(uk|Y)時,其中涉及大量的乘法、除法運算,Max-Log-MAP算法巧妙的將這些運算放到對數(shù)域中進行,這樣可以將乘、除法轉(zhuǎn)化為加、減法運算,從而可以大大簡化計算復雜度。令Ak(s)=ln(αk(s)),Bk(s)=ln(βk(s)),Γk(s',s)=ln(γk(s',s)),則可以得到

為了計算得到每比特的對數(shù)似然比,必須先計算前、后向狀態(tài)度量以及分支轉(zhuǎn)移度量。但由于前向和后向狀態(tài)度量迭代秩序正好相反,需要對前向狀態(tài)度量(或后向狀態(tài)度量)進行存儲,直到相應的后向狀態(tài)度量迭代計算完成,才可以進行對數(shù)似然比的計算,這必將導致譯碼延遲很大,特別是Turbo碼碼塊長度較大的情況下,因此,在實際系統(tǒng)中難以承受。

為了解決譯碼延時過大的問題,采用滑窗法來實現(xiàn)。它的基本原理為基2的Max-Log-MAP算法的滑窗結(jié)構如圖2所示,它主要包括分支度量Gamma計算模塊、前向狀態(tài)度量Alpha遞歸計算模塊RU_A,用于遞歸計算后向狀態(tài)度量Beta起始值的模塊RU_B1,用于遞歸計算Beta正確值的RU_B2模塊和對數(shù)似然比LLR計算模塊。

可以看出,滑窗法只需等待一個較小的譯碼延遲,大約傳輸3~5倍約束度碼元個數(shù)的時間,然后就可以開始計算對數(shù)似然比,這個譯碼延遲與等待全部碼元的前向度量迭代計算完畢相比,大大減少了譯碼延遲。

在本發(fā)明中為了支持各種碼長,同時為了簡化設計,因此考慮采用滑窗長度可變的形式來實現(xiàn)。將初始的188種碼塊長度翻譯成對應的滑窗長度的整數(shù)倍,同時考慮到滑窗長度會影響結(jié)果的準確性,因此,所分配的滑窗應盡可能的大。另一方面,LTE標準中Turbo碼的最小碼塊長度為40。因此,為了折中,本發(fā)明采用256作為最大滑窗長度,也就是說滑窗長度在40~256之間。那么計算滑窗的長度將滿足2個條件:

1、滑窗的長度<=256;

2、碼塊長度是滑窗的長度的整數(shù)倍且盡可能的靠近256。

本設計關于滑窗長度的計算在intleav_addr模塊中,它是通過事先計算完成之后存儲到ROM的高位。因此,在設計中先利用ROM的低位地址找到對應碼長的f1,f2參數(shù),然后增加高位地址找到對應碼塊長度的滑窗長度,從而充分利用ROM空間。

本發(fā)明的有益效果是:

本發(fā)明提供了一種能夠支持LTE標準中188種不同碼塊長度的Turbo碼譯碼裝置和方法。相比于基4Turbo譯碼算法和裝置易受到并行度、初始值計算等因素制約其在Turbo碼塊長度較短的條件下不能適應的問題,本方法的好處在于通過采用滑窗長度可變的設計從而能夠支持LTE標準中188種不同碼塊長度的碼型,同時通過采用核心計算單元模塊化的設計思路,降低算法實現(xiàn)占用的計算資源,同時加快算法的譯碼速度,提高譯碼的吞吐量。

附圖說明

圖1基2Turbo碼譯碼器結(jié)構示意圖;

圖2基2Max-Log-MAP算法的滑窗結(jié)構;

圖3基于滑動窗的基2Turbo碼譯碼裝置結(jié)構圖;

圖4基2SISO譯碼單元的模塊計算單元;

圖5基2SISO譯碼的模塊計算單元的運算流程;

圖6基2Turbo譯碼裝置的性能曲線。

具體實施方式

為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例的附圖,對本發(fā)明中的技術方案進行清楚、完整的描述,顯然所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護范圍。

本發(fā)明實施例公開一種基2Turbo碼譯碼裝置和方法,請參見圖3,它共包含①輸入信息緩存、②外信息緩存、③beta值起始值計算、④系統(tǒng)信息緩存、⑤alpha值緩存、⑥alpha值計算、⑦beta值計算、⑧交織與解交織模塊、⑨控制模塊和⑩輸出計算模塊。

①輸入信息緩存模塊

這一模塊主要用于開辟N個緩沖區(qū)間用于緩存輸入信息,緩存區(qū)間的大小為1幀,N可以通過參數(shù)IN_BUFFER進行設置;

②外信息緩存模塊

由于外信息都是當前計算出來的,同時在取外信息的同時還有其他的控制在寫外信息。針對這種情況外信息做了乒乓操作;

③beta值起始值計算模塊

由于采用滑窗結(jié)構所以需要計算beta的初始值,一般情況下計算的長度為滑窗的長度,但是最后一個滑窗由于尾比特的存在,因此只需要利用尾比特計算4個值就可以得到beta初始值的準確值。同時在這個模塊里面完成了讀取時候關于系統(tǒng)信息的交織處理;

④系統(tǒng)信息緩存模塊

該模塊用于緩存滑窗大小的系統(tǒng)信息,由于alpha計算模塊,beta計算模塊和beta值起始值計算模塊都需要操作這個ram,且它們需要用到的系統(tǒng)信息分屬于三個相鄰的滑窗,因此,在里面做了3個ram的輪尋操作,從而有效的避免了數(shù)據(jù)存儲時候的沖突;

⑤alpha值緩存模塊

該模塊的ram用于存儲alpha計算的中間變量,雖然此時已經(jīng)不存在交織等操作,但是由于beta值的計算是逆序的,當前alpha計算模塊和beta計算模塊的輸出分別對應的是相鄰滑窗的alpha和beta值,因此,要利用它們計算LLR值時,需要存儲alpha的值,所以在這個操作里面需要采用乒乓操作;

⑥alpha值計算模塊

alpha計算按照alpha運算規(guī)則進行計算即可;

⑦beta值計算模塊

該模塊需要完成計算beta的任務之外還需要完成計算外信息和最大釋然信息,以及產(chǎn)生存儲外信息和最大釋然所需要的解交織地址;

⑧交織與解交織模塊

交織與解交織是Turbo碼編譯碼中的一個核心模塊,本發(fā)明中采用具有偽隨機特性的QPP交織器。在Turbo譯碼過程中,alpha值的計算按順序進行,而beta值計算按逆向計算,因此,需要產(chǎn)生beta的交織/解交織地址:

Address(i)=f1×i+f2×i2 (6)

Address(i+1)=f1×(i+1)+f2×(i+1)2 (7)

Address(i+1)=(f1×i+f2×i2)+2f2×i+f1+f2 (8)

其中,i=0,1,…,K,K表示譯碼碼塊長度,f1和f2為QPP交織器參數(shù)。因此,通過上述分析可知,交織/解交織地址可以通過迭代的方式實現(xiàn),從而可以節(jié)約乘法器資源。根據(jù)式(8)可知,交織地址的增量為2×f2,初值為f1+f2,對于逆向推導只需要知道當前的地址交織增量為-2×f2就可以推導出所需要的交織地址。因此,在intleav_addr模塊中獲取f1和f2參數(shù)后,將每個滑窗位置的交織地址存儲到指定的RAM中,那么無論后續(xù)運算到哪個滑窗都可以找出對應的交織地址從而很容易推導出下一個交織地址;

⑨控制模塊

控制模塊用于控制整個模塊的迭代次數(shù),還根據(jù)當前Turbo譯碼屬于DEC1還是DEC2,對系統(tǒng)信息和外信息選擇交織、解交織操作;

⑩輸出計算模塊

輸出計算模塊,只是用于解交織計算,以及完成解擾計算。在解擾計算中,為了減少譯碼延時,可以利用ram的特性,一次性輸出8bit進行并行解擾。

根據(jù)上述分析,圖3所示基2Turbo譯碼的核心計算單元可以獨立為一個模塊,如圖4所示??梢钥闯?,無論是當前計算的是順序地址還是交織地址,這個模塊都是可用的,而順序地址或者說交織地址不同點在于beta初始值計算模塊中用到的系統(tǒng)信息和beta值計算模塊得到的外信息是否需要加上交織地址抑或是解交織地址。因此,在這種譯碼框架下,可以將不同地址的計算方式統(tǒng)一了。

滑窗過程的運算流程如圖5所示。為了實現(xiàn)滑窗運算過程的流水線處理,首先進行一次beta初始值的計算,這一次計算出的beta初始值不會用到,但是它會將系統(tǒng)信息存儲到④系統(tǒng)信息存儲模塊。而后在同一時刻并行計算相鄰滑窗的beta初始值、beta值和alpha值,從而提高系統(tǒng)譯碼的吞吐量。

圖6給出了本發(fā)明中的基2Turbo譯碼器所占用FPGA資源的情況,其中,系統(tǒng)信息、校驗信息等采用12比特量化,而alpha值、beta值等則采用16比特量化,Turbo譯碼迭代4次。可以看出,發(fā)明的Turbo譯碼器占用的資源相對較少。

不同Turbo碼塊長度門限信噪比的情況圖給出了發(fā)明的Turbo譯碼裝置不同Turbo碼塊長度的碼型在滿足誤比特率小于10e-3的條件下其門限信噪比的情況。仿真中的信號為QPSK調(diào)制信號,可以看出,信噪比閾值的實測曲線與趨勢分析曲線基本一致,當碼塊長度較小時,其門限信噪比比較高,例如,當碼長為48時,信噪比閾值為2.01dB;而當碼塊長度較小時,其門限信噪比相對要低一些,例如,當碼塊長度為2944、3072、4224、5696、6016等,其門限信噪比僅為-1dB。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1