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

LTE系統(tǒng)中高速并行Turbo碼的解碼系統(tǒng)及方法

文檔序號(hào):7518691閱讀:424來源:國知局
專利名稱:LTE系統(tǒng)中高速并行Turbo碼的解碼系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種解碼系統(tǒng)及方法,尤其涉及長期演進(jìn)(Long TermEvolution, LTE) 系統(tǒng)中高速并行Turbo碼的解碼系統(tǒng)及方法。
背景技術(shù)
LTE系統(tǒng)中要求下行峰值速率達(dá)到lOOMb/s,上行峰值速率達(dá)到50Mb/s,這對(duì)信道編碼的解碼速度提出了更高的要求,目前已應(yīng)用到芯片設(shè)計(jì)中的Turbo解碼算法,大多數(shù)是針對(duì)Rel 6的,如果LTE沿用Rel 6中的Turbo碼解碼方法,無法滿足上述數(shù)據(jù)速率的要求。針對(duì)LTE系統(tǒng)的Turbo碼解碼加速器的實(shí)現(xiàn)方案很多,已知的常見的方法如下一種是將Turbo碼解碼常用的滑動(dòng)窗方法拓展為并行方法實(shí)現(xiàn),Rel 6中Turbo 碼的解碼器通常采用滑動(dòng)窗方法,窗與窗是串行實(shí)現(xiàn)的,即上一個(gè)窗計(jì)算完畢再進(jìn)行下一個(gè)窗的計(jì)算。而并行的滑動(dòng)窗方法是多個(gè)滑動(dòng)窗同時(shí)開始計(jì)算,每個(gè)窗預(yù)留一定長度的訓(xùn)練序列作為初值。在交織器設(shè)計(jì)方面,根據(jù)LTE系統(tǒng)的交織函數(shù)的特點(diǎn),將LTE的交織函數(shù)進(jìn)行分解,LTE系統(tǒng)的交織函數(shù)為P(i) = (f^i+f^OmodK,其中K為解碼器輸入比特的長度,f\,f2根據(jù)塊長K的值取不同的值,具體取法請(qǐng)參見LTE協(xié)議3GPP TS 36. 212V8. 5. O中的表5. 1.3-3。通常采用迭代的方式求出交織地址,令交織函數(shù)中的i = i+Ι,得到P(i+1) =P(i) + (f\+f2+f2 · 2 · i)modK,避免了乘方運(yùn)算。上述的滑動(dòng)窗方法,窗的個(gè)數(shù)至少為4,實(shí)施時(shí)通常窗的個(gè)數(shù)為8或者16,如此導(dǎo)致窗的長度變短,由于每個(gè)窗均要預(yù)留一定長度(至少為16比特)的訓(xùn)練序列,當(dāng)窗長度本身不是很長的情況下,訓(xùn)練序列占用的計(jì)算時(shí)間開銷不容忽視,并且窗的長度和訓(xùn)練序列的長度變短,解碼性能會(huì)受到很大影響。上述的交織地址的計(jì)算方式,雖然避免了乘方運(yùn)算,但是每次計(jì)算交織地址,也會(huì)降低解碼器的速度。還有一些研究人員提出了 Radix-4和Radix-8的快速處理方法,但由于這些方法關(guān)鍵路徑增加,并且系統(tǒng)耗費(fèi)資源也等量級(jí)增加,實(shí)際上還是通過成倍的增加計(jì)算單元和存儲(chǔ)單元來換取成倍的速度,對(duì)解碼加速器的性能并沒有本質(zhì)的改善。

發(fā)明內(nèi)容
本發(fā)明目的在于提出一種并行的Turbo碼的解碼系統(tǒng)及方法,應(yīng)用本發(fā)明提供的系統(tǒng)及方法,可應(yīng)用很少的存儲(chǔ)單元,實(shí)現(xiàn)高速解碼,滿足LTE系統(tǒng)高吞吐率的需求,并且具有很好的解碼性能。為解決上述問題,根據(jù)本發(fā)明的一種Turbo碼的解碼系統(tǒng),該系統(tǒng)包括輸入存儲(chǔ)器,用以接收輸入的經(jīng)過編碼的軟信息;輸入控制器,與輸入存儲(chǔ)器連接,控制輸入存儲(chǔ)器的對(duì)軟信息輸入及將信息輸出至Turbo碼解碼器中; Turbo碼解碼器,具有多個(gè)最大后驗(yàn)概率算法實(shí)現(xiàn)單元(MAP單元),該MAP單元從輸入存儲(chǔ)器取出軟信息值進(jìn)行迭代解碼計(jì)算;局部存儲(chǔ)器,用于存儲(chǔ)Turbo碼解碼器計(jì)算過程中產(chǎn)生的值;輸出控制器,用以控制Turbo碼解碼器硬判輸出結(jié)果;硬判輸出存儲(chǔ)器,存儲(chǔ)Turbo碼解碼器硬判輸出結(jié)果。依據(jù)上述主要特征,所述的系統(tǒng)是一種應(yīng)用于LTE系統(tǒng)中的8位并行的Turbo碼解碼系統(tǒng)。依據(jù)上述主要特征,所述的輸入存儲(chǔ)器包括8個(gè)輸入存儲(chǔ)單元。依據(jù)上述主要特征,所述的軟信息依據(jù)系統(tǒng)位、第一校驗(yàn)位1和第二校驗(yàn)位2劃分
為三路信息。依據(jù)上述主要特征,所述的碼塊長度小于768時(shí),不進(jìn)行分段處理,將三路信息存放在輸入存儲(chǔ)器的第一輸入存儲(chǔ)單元中;當(dāng)碼塊長度大于768時(shí),將三路信息分別分成8段存放在該輸入存儲(chǔ)器的8個(gè)不同的輸入存儲(chǔ)單元中。依據(jù)上述主要特征,所述的Turbo碼解碼器具有8個(gè)MAP單元,當(dāng)該8個(gè)MAP處于就緒(Ready)狀態(tài)后,分別從8個(gè)不同的輸入存儲(chǔ)單元取出軟信息值進(jìn)行迭代解碼計(jì)算。依據(jù)上述主要特征,所述的每個(gè)MAP單元包括第一軟入軟出單元,第一外信息計(jì)算單元,交織單元,第二軟入軟出單元,第二外信息計(jì)算單元,解交織單元,迭代控制單元及軟入硬出硬判單元,其中所述的第一軟入軟出單元根據(jù)系統(tǒng)位,第一校驗(yàn)位1及外信息計(jì)算對(duì)數(shù)似然信息;所述的第一外信息計(jì)算單元根據(jù)第一軟入軟出單元輸出的對(duì)數(shù)似然信息及輸入的外信息計(jì)算新的外信息;所述的交織單元將系統(tǒng)位信息與新的外信息進(jìn)行交織; 所述的第二軟入軟出單元根據(jù)交織信息與第二校驗(yàn)位2計(jì)算對(duì)數(shù)似然信息;所述的第二外信息計(jì)算單元根據(jù)第二軟入軟出單元的輸出計(jì)算出一個(gè)更為準(zhǔn)確的外信息;所述的解交織單元將準(zhǔn)確的外信息進(jìn)行解交織;所述的迭代控制單元根據(jù)解交織后的外信息判定是否停止迭代;所述的軟入硬出硬判單元根據(jù)迭代控制單元發(fā)出的停止迭代指令對(duì)解交織后的外信息進(jìn)行硬判決輸出。依據(jù)上述主要特征,所述的局部存儲(chǔ)器具有8個(gè)局部存儲(chǔ)單元。依據(jù)上述主要特征,所述的8個(gè)MAP單元與8個(gè)局部存儲(chǔ)單元并不是一一對(duì)應(yīng)的, 并且同一時(shí)刻,沒有兩個(gè)MAP單元會(huì)訪問同一塊局部存儲(chǔ)單元。依據(jù)上述主要特征,當(dāng)碼塊長度小于768時(shí),不進(jìn)行分段處理,只用到第一 MAP單
元和第一局部存儲(chǔ)單元。為實(shí)現(xiàn)上述目的,本發(fā)明提供一種利用上述的Turbo碼的解碼系統(tǒng)對(duì)Turbo碼進(jìn)行解碼的方法,其中該方法包括如下步驟判斷碼塊長度K是否大于768,即步驟一;如是,則將輸入三路軟信息存放在該輸入存儲(chǔ)器的輸入存儲(chǔ)單元中;持續(xù)判斷Turbo碼解碼器的多個(gè)MAP單元是否處于Ready狀態(tài);當(dāng)多個(gè)MAP單元均處于Ready狀態(tài)后,每一 MAP單元分別從多個(gè)不同的輸入存儲(chǔ)單元取出軟信息值進(jìn)行迭代解碼計(jì)算,解碼計(jì)算過程中產(chǎn)生的值分別存儲(chǔ)于多個(gè)局部存儲(chǔ)單元中;判斷是否達(dá)到最大迭代次數(shù)或者循環(huán)冗余(CRC)校驗(yàn)通過;如是則對(duì)軟信息進(jìn)行硬判輸出,K個(gè)輸出結(jié)果保存在輸出存儲(chǔ)器中,如否則返回步驟一;
6
如碼塊長度K小于或等于768,則碼塊不進(jìn)行分段處理,將三路信息存放在輸入存儲(chǔ)器的一預(yù)定的輸入存儲(chǔ)單元中,之后持續(xù)判斷Turbo碼解碼器的一預(yù)定的MAP單元是否處于Ready狀態(tài);如此預(yù)定的MAP單元處于Ready狀態(tài),則該MAP單元從預(yù)定的輸入存儲(chǔ)單元中取出軟信息值進(jìn)行迭代解碼計(jì)算,解碼計(jì)算過程中產(chǎn)生的值存儲(chǔ)于預(yù)定的一局部存儲(chǔ)單元中;判斷是否達(dá)到最大迭代次數(shù)或者CRC校驗(yàn)通過;如是則對(duì)軟信息進(jìn)行硬判輸出,K 個(gè)輸出結(jié)果保存在輸出存儲(chǔ)器中,如否則返回步驟一。依據(jù)上述主要特征,該Turbo碼解碼器具有8個(gè)MAP單元,分別為第一至第八MAP 單元,該Turbo碼的解碼系統(tǒng)相應(yīng)的也設(shè)有8個(gè)局部存儲(chǔ)單元,分別為第一至第八局部存儲(chǔ)單元,并且輸入存儲(chǔ)器具有8個(gè)輸入存儲(chǔ)單元,分別為第一至第八輸入存儲(chǔ)單元,如碼塊長度K小于或等于768,則將三路信息存放在輸入存儲(chǔ)器的第一輸入存儲(chǔ)單元中,后續(xù)由第一 MAP單元從第一輸入存儲(chǔ)單元中取出軟信息值進(jìn)行迭代解碼計(jì)算,解碼計(jì)算過程中產(chǎn)生的值存儲(chǔ)于第一局部存儲(chǔ)單元中。依據(jù)上述主要特征,在步驟二中,將輸入的軟信息分為三路dl、d2、d3,其中dl、 d2、d3的長度分別為K+4,將三路信息分別分成8段存放在該輸入存儲(chǔ)器的8個(gè)不同的輸入存儲(chǔ)單元中。依據(jù)上述主要特征,在步驟五中,所述的每個(gè)MAP單元包括第一軟入軟出單元,第一外信息計(jì)算單元,交織單元,第二軟入軟出單元,第二外信息計(jì)算單元,解交織單元,迭代控制單元及軟入硬出硬判單元,每個(gè)MAP單元內(nèi)部的處理流程包括步驟一將系統(tǒng)位dl(i)、校驗(yàn)信息d2(i)以及外信息輸入到第一軟入軟出單元,計(jì)算對(duì)數(shù)似然信息,其中i = 1,…,8,表示8個(gè)不同的輸入存儲(chǔ)單元的輸入;步驟二 第一外信息計(jì)算單元根據(jù)對(duì)數(shù)似然信息和輸入的外信息計(jì)算新的外信息;步驟三交織單元將系統(tǒng)位dl(i)、新的外信息進(jìn)行交織后,與校驗(yàn)信息d3⑴一起輸入到第二軟入軟出單元,計(jì)算對(duì)數(shù)似然信息;步驟四第二外信息計(jì)算單元利用第二軟入軟出單元的輸出計(jì)算出一個(gè)更為準(zhǔn)確的外信息;步驟五解交織單元對(duì)計(jì)算出的外信息進(jìn)行解交織;步驟六迭代控制單元先對(duì)解交織后的外信息進(jìn)行CRC運(yùn)算,如果CRC校驗(yàn)未通過,再判斷是否達(dá)到最大迭代次數(shù);步驟七如果CRC校驗(yàn)通過或達(dá)到最大迭代次數(shù),則進(jìn)行硬判決輸出解碼結(jié)果,如未達(dá)到最大迭代次數(shù)則返回步驟一。依據(jù)上述主要特征,所述的第一與第二軟入軟出單元采用修正的最大后驗(yàn)概率算法(Max-Log-MAP算法)和用雅可比公式簡化加法運(yùn)算的修正最大后驗(yàn)概率算法(Max * -Log-MAP 算法)。依據(jù)上述主要特征,在軟入軟出單元內(nèi)部采用前向分支度量α值和后向分支度量β值同時(shí)進(jìn)行對(duì)推的方案;其具體做法是從單個(gè)軟入軟出單元處理的數(shù)據(jù)段的末尾利用反向遞推公式計(jì)算每一時(shí)刻的β值,一直算到本段的第一個(gè)符號(hào),并將各個(gè)時(shí)刻計(jì)算得到的β值存儲(chǔ)下來。與此同時(shí),用正向遞推公式從數(shù)據(jù)段的開頭開始計(jì)算本段各個(gè)時(shí)刻的 α值,一直到本段的最后一個(gè)符號(hào),將本段中個(gè)時(shí)刻的α值存儲(chǔ)下來。當(dāng)解碼進(jìn)行到本段的中間時(shí)刻之后的每一個(gè)時(shí)刻均可利用計(jì)算得到的α值和相應(yīng)時(shí)刻的β值相乘求和得到相應(yīng)的似然輸出,此時(shí)每個(gè)時(shí)刻可得到兩個(gè)比特的似然輸出。依據(jù)上述主要特征,所述的前向分支度量α值和后向分支度量β值的初值選取方法是本次迭代的邊界初值采用上次迭代得到的結(jié)果,同時(shí)在本次迭代中計(jì)算出下次迭代的邊界初值;其具體的實(shí)現(xiàn)方法如下(1)對(duì)于第一次迭代,邊界的α和β均假設(shè)為均勻分布,其中第一段的α初值和最后一段的β初值除外,這兩種情況均為零狀態(tài)概率最大,在此假定的邊界初值條件下, 每個(gè)MAP單元按軟入軟出單元內(nèi)部的前向分支度量α值和后向分支度量β值同時(shí)進(jìn)行對(duì)推的算法進(jìn)行譯碼,同時(shí)計(jì)算出下次迭代的邊界初值并存儲(chǔ)下來;(2)對(duì)于非首次的迭代,邊界的α和β均采用上次迭代計(jì)算得到的結(jié)果,其中第一段的α初值和最后一段的β初值除外,這兩種情況均為零狀態(tài)概率最大,在此初值條件下,每個(gè)MAP單元按軟入軟出單元內(nèi)部的前向分支度量α值和后向分支度量β值同時(shí)進(jìn)行對(duì)推的算法進(jìn)行譯碼,同時(shí)計(jì)算出下次迭代的邊界初值并更新上次存儲(chǔ)的值。依據(jù)上述主要特征,該方法利用同一模塊實(shí)現(xiàn)交織與解交織過程,首先地址生成器用于生成外信息存儲(chǔ)器的讀地址,第一軟入軟出單元鎖存每個(gè)外信息的同時(shí),將其讀地址同時(shí)鎖存,當(dāng)?shù)谝卉浫胲洺鰡卧?jì)算出新的外信息值之后,將這個(gè)新的外信息寫回其讀出地址;在后半次迭代過程中,當(dāng)?shù)诙浫胲洺鰡卧?jì)算出新的外信息后,就將這個(gè)外信息再次存儲(chǔ)到最初鎖存的地址,這樣完成的解交織過程;并且每個(gè)碼塊,以及同樣長度的碼塊只進(jìn)行一次地址計(jì)算,并不是每次迭代都要進(jìn)行地址計(jì)算。與現(xiàn)有技術(shù)相比較,本發(fā)明具有如下優(yōu)點(diǎn)(1)并行塊內(nèi)部采用并行處理方式,即并行塊內(nèi)部采用前向分支度量α和后向分支度量并行相對(duì)計(jì)算的方式,如此提高了處理速度;(2)解交織方法中不用每次迭代生成交織地址,提高了處理速度;(3)與通常的滑窗方法相比,不需要增加預(yù)推長度,極大降低了計(jì)算復(fù)雜度并且提高了處理速度;(4)與通常的滑窗方法的預(yù)推方法相比較,本發(fā)明提供的采用上次迭代結(jié)果作為初值的方法,具有更高的解碼性能;(5)當(dāng)碼長小于768時(shí),自動(dòng)轉(zhuǎn)為串行的執(zhí)行方式,這樣處理即滿足了處理速度的要求,又使性能有所提高。


圖1為實(shí)施本發(fā)明的系統(tǒng)架構(gòu)圖。圖2為實(shí)施本發(fā)明的流程圖。圖3為實(shí)施本發(fā)明的MAP單元的組成架構(gòu)圖。圖4為圖2所示一步驟的細(xì)節(jié)流程圖。圖5至圖8為圖2所示一步驟的細(xì)節(jié)流程圖。圖9為現(xiàn)有技術(shù)的滑窗方法與本發(fā)明提供的方法的性能比較圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)實(shí)施本發(fā)明的LTE系統(tǒng)中高速并行Turbo碼的解碼系統(tǒng)及方法進(jìn)行具體說明。請(qǐng)參閱圖1所示,為實(shí)施本發(fā)明的系統(tǒng)架構(gòu)圖,該解碼系統(tǒng)包括輸入存儲(chǔ)器,用以接收輸入的經(jīng)過編碼的軟信息,在本實(shí)施例中該輸入存儲(chǔ)器包括8個(gè)輸入存儲(chǔ)單元,分別為第一至第八輸入存儲(chǔ)單元,該軟信息包括系統(tǒng)位、校驗(yàn)位1和校驗(yàn)位2,根據(jù)LTE協(xié)議規(guī)定,其長度為3女K+12,其中K為碼塊長度,dl、d2、d3的長度分別為K+4,將三路信息分別分成8段存放在該輸入存儲(chǔ)器的8個(gè)不同的輸入存儲(chǔ)單元中,當(dāng)碼塊長度K < 768吋,不進(jìn)行分段處理,將三路信息存放在輸入存儲(chǔ)器的第一輸入存儲(chǔ)單元中;輸入控制器,與輸入存儲(chǔ)器連接,控制輸入存儲(chǔ)器的對(duì)軟信息輸入及將信息輸出至Turbo碼解碼器中;Turbo碼解碼器,具有8個(gè)MAP單元,分別為第一至第八MAP單元,當(dāng)該8個(gè)MAP處于Ready狀態(tài)后,分別從8個(gè)不同的輸入存儲(chǔ)單元取出軟信息值進(jìn)行迭代解碼計(jì)算;局部存儲(chǔ)器,具有8個(gè)局部存儲(chǔ)單元,用于存儲(chǔ)MAP単元解碼計(jì)算過程中產(chǎn)生的值,由于內(nèi)交織的存在,8個(gè)MAP単元與8個(gè)局部存儲(chǔ)單元并不是一一對(duì)應(yīng)的,也就是第一 MAP單元讀寫的局部存儲(chǔ)單元不一定是第一局部存儲(chǔ)單元,但是同一時(shí)刻,沒有兩個(gè)MAP單元會(huì)訪問同一塊局部存儲(chǔ)單元,這是LTE無爭用的交織器的特點(diǎn)決定的,當(dāng)碼塊長度K小于 768吋,不進(jìn)行分段處理,只用到第一 MAP単元和第一局部存儲(chǔ)單元;輸出控制器,用以控制Turbo碼解碼器硬判輸出結(jié)果;硬判輸出存儲(chǔ)器,存儲(chǔ)Turbo碼解碼器硬判輸出結(jié)果。請(qǐng)參閱圖2所示,為實(shí)施本發(fā)明的流程圖,包括如下步驟步驟200 判斷碼塊長度K是否大于768 ;如是,則進(jìn)行步驟201,即將輸入三路軟信息dl、d2、d3 (長度分別為K+4)分別分成8段存放在該輸入存儲(chǔ)器的8個(gè)不同的輸入存儲(chǔ)單元中;步驟203 持續(xù)判斷Turbo碼解碼器的8個(gè)MAP單元是否處于Ready狀態(tài);步驟204 當(dāng)8個(gè)MAP單元均處于Ready狀態(tài)后,每ー MAP單元分別從8個(gè)不同的輸入存儲(chǔ)單元取出軟信息值進(jìn)行迭代解碼計(jì)算,解碼計(jì)算過程中產(chǎn)生的值分別存儲(chǔ)于8個(gè)局部存儲(chǔ)單元中;步驟206 判斷是否達(dá)到最大迭代次數(shù)或者CRC校驗(yàn)通過;如是則進(jìn)行步驟207, 即將對(duì)軟信息進(jìn)行硬判輸出,K個(gè)輸出結(jié)果保存在輸出存儲(chǔ)器中,如否則返回步驟200 ;
如碼塊長度K小于或等于768,則進(jìn)行步驟202,即碼塊不進(jìn)行分段處理,將三路信息存放在輸入存儲(chǔ)器的第一輸入存儲(chǔ)單元中,之后持續(xù)判斷Turbo碼解碼器的第一 MAP單元是否處于Ready狀態(tài),即步驟208 ;之后進(jìn)行步驟205,即只通過第一 MAP單元從第一輸入存儲(chǔ)單元中取出軟信息值進(jìn)行迭代解碼計(jì)算,解碼計(jì)算過程中產(chǎn)生的值存儲(chǔ)于第一局部存儲(chǔ)單元中;之后判斷是否達(dá)到最大迭代次數(shù)或者CRC校驗(yàn)通過;如是則進(jìn)行步驟209,即將對(duì)軟信息進(jìn)行硬判輸出,K個(gè)輸出結(jié)果保存在輸出存儲(chǔ)器中,如否則返回步驟200。 請(qǐng)參閱圖3所示,為實(shí)施本發(fā)明的MAP単元的組成架構(gòu)圖,該MAP単元由第一軟入軟出單元,第一外信息計(jì)算單元,交織單元,第二軟入軟出単元,第二外信息計(jì)算單元,解交織單元,迭代控制単元,軟入硬出硬判單元組成,其中
所述的第一軟入軟出単元根據(jù)系統(tǒng)位,第一校驗(yàn)位1及外信息計(jì)算對(duì)數(shù)似然信息;所述的第一外信息計(jì)算單元根據(jù)第一軟入軟出單元輸出的對(duì)數(shù)似然信息及輸入的外信息計(jì)算新的外信息;所述的交織單元將系統(tǒng)位信息與新的外信息進(jìn)行交織;所述的第二軟入軟出単元根據(jù)交織信息與第二校驗(yàn)位2計(jì)算對(duì)數(shù)似然信息;所述的第二外信息計(jì)算單元根據(jù)第二軟入軟出単元的輸出計(jì)算出ー個(gè)更為準(zhǔn)確的外信息;所述的解交織單元將準(zhǔn)確的外信息進(jìn)行解交織;所述的迭代控制單元根據(jù)解交織后的外信息判定是否停止迭代;所述的軟入硬出硬判単元根據(jù)迭代控制單元發(fā)出的停止迭代指令對(duì)解交織后的外信息進(jìn)行硬判決輸出。請(qǐng)參閱圖4所示,為圖3中每ー MAP単元進(jìn)行迭代解碼的細(xì)節(jié)流程圖,包括如下步驟步驟400 將系統(tǒng)位dl(i)、校驗(yàn)信息d2(i)以及外信息輸入到第一軟入軟出単元 SIS01,計(jì)算對(duì)數(shù)似然信息,其中i = 1,…,8,表示8個(gè)不同的輸入存儲(chǔ)單元的輸入;步驟401 第一外信息計(jì)算單元根據(jù)對(duì)數(shù)似然信息和輸入的外信息計(jì)算新的外信息;步驟402 交織單元將系統(tǒng)位dl(i)、新的外信息進(jìn)行交織后,與校驗(yàn)信息d3⑴一起輸入到第二軟入軟出単元SIS02,計(jì)算對(duì)數(shù)似然信息;步驟403 第二外信息計(jì)算單元利用SIS02的輸出計(jì)算出一個(gè)更為準(zhǔn)確的外信息;步驟404 解交織單元對(duì)計(jì)算出的外信息進(jìn)行解交織;步驟405 迭代控制単元先對(duì)解交織后的外信息進(jìn)行CRC運(yùn)算(LTE系統(tǒng)中規(guī)定的 CRC),如果CRC校驗(yàn)未通過,再判斷是否達(dá)到最大迭代次數(shù)。步驟406 如果CRC校驗(yàn)通過或達(dá)到最大迭代次數(shù),則進(jìn)行硬判決輸出解碼結(jié)果, 如未達(dá)到最大迭代次數(shù)則轉(zhuǎn)到步驟400。請(qǐng)參閱圖5至圖8所示,為圖2中SISOl計(jì)算方法的流程圖,SIS02與SISOl計(jì)算方法相似,不再重復(fù)敘述。該方法中采用工程應(yīng)用中通常用到的修正的最大后驗(yàn)概率算法 (Max-Log-MAP算法),Max-Log-MAP算法主要是對(duì)前向分支度量α和后向分支度量β進(jìn)行計(jì)算,通過狀態(tài)轉(zhuǎn)移實(shí)現(xiàn)迭代譯碼,其他內(nèi)容在現(xiàn)有技術(shù)中多有掲示,此處不再詳細(xì)說明, 主要說明α值和β值如何實(shí)現(xiàn)并行計(jì)算。在軟入軟出(SISO)內(nèi)部采用α值和β值同時(shí)進(jìn)行對(duì)推的方案。具體做法是從單個(gè)SISO處理的數(shù)據(jù)段的末尾利用反向遞推公式計(jì)算每一時(shí)刻的β值,一直算到本段的第一個(gè)符號(hào),并將各個(gè)時(shí)刻計(jì)算得到的β值存儲(chǔ)下來。與此同吋,用正向遞推公式從數(shù)據(jù)段的開頭開始計(jì)算本段各個(gè)時(shí)刻的α值,一直到本段的最后ー個(gè)符號(hào),將本段中個(gè)時(shí)刻的 α值存儲(chǔ)下來。上述過程如圖5所示。當(dāng)解碼進(jìn)行到本段的中間時(shí)刻吋,往后每一個(gè)時(shí)刻均可利用計(jì)算得到的α值和相應(yīng)時(shí)刻的β值相乘求和得到相應(yīng)的似然輸出,此時(shí)每個(gè)時(shí)刻可得到兩個(gè)比特的似然輸出,如圖7所示。
在實(shí)施中,假設(shè)碼長為N,并行度為P,則相當(dāng)于有P個(gè)MAP解碼器同時(shí)進(jìn)行解碼, 每個(gè)解碼器需要處理的碼字個(gè)數(shù)為N/P。相當(dāng)于將原來的碼長分為P段,每一段分別由ー個(gè)解碼器來解碼。由于P個(gè)MAP解碼器同時(shí)進(jìn)行解碼,故每一段碼的α初值和β初值均不確定(除了第一段的α初值和最后一段的β初值),因此需要解決每ー個(gè)數(shù)據(jù)段的邊界初值問題。本發(fā)明通過令本次迭代的邊界初值采用上次迭代得到的結(jié)果,同時(shí)在本次迭代中計(jì)算出下次迭代的邊界初值,具體的實(shí)現(xiàn)方法如下1.對(duì)于第一次迭代,邊界的α和β均假設(shè)為均勻分布(第一段的α初值和最后一段的β初值除外,這兩種情況均為零狀態(tài)概率最大),在此假定的邊界初值條件下,每個(gè)MAP単元按圖5與圖6所示的單個(gè)MAP単元內(nèi)部算法進(jìn)行解碼,同時(shí)計(jì)算出下次迭代的邊界初值并存儲(chǔ)下來,如圖7所示。2.對(duì)于非首次的迭代,邊界的α和β均采用上次迭代計(jì)算得到的結(jié)果(第一段的α初值和最后一段的β初值除外,這兩種情況均為零狀態(tài)概率最大),在此初值條件下, 每個(gè)MAP単元按照?qǐng)D5與圖6所示的單個(gè)MAP単元內(nèi)部算法進(jìn)行解碼,同時(shí)計(jì)算出下次迭代的邊界初值并更新上次存儲(chǔ)的值,如圖8所示。完成上述的前向分支度量α和后向分支度量β計(jì)算輸出似然信息就可以進(jìn)行外信息的計(jì)算。另外,本發(fā)明的交織和解交織過程可以用同一模塊實(shí)現(xiàn),如圖3中的交織和解交織可以合并為ー個(gè)地址生成器模塊。首先地址生成器用于生成外信息存儲(chǔ)器的讀地址, SISOl鎖存每個(gè)外信息的同吋,將其讀地址同時(shí)鎖存,當(dāng)SISOl計(jì)算出新的外信息值之后, 將這個(gè)新的外信息寫回其讀出地址。在后半次迭代過程中,當(dāng)SIS02計(jì)算出新的外信息后, 就將這個(gè)外信息再次存儲(chǔ)到最初鎖存的地址,這樣完成的解交織過程,并且每個(gè)碼塊,以及同樣長度的碼塊只進(jìn)行一次地址計(jì)算,并不是每次迭代都要進(jìn)行地址計(jì)算。在實(shí)施時(shí),本發(fā)明用8比特實(shí)現(xiàn),主要存儲(chǔ)器構(gòu)成如下表所示
權(quán)利要求
1.一種Turbo碼的解碼系統(tǒng),其特征在于,包括 輸入存儲(chǔ)器,用以接收輸入的經(jīng)過編碼的軟信息;輸入控制器,與輸入存儲(chǔ)器連接,控制輸入存儲(chǔ)器對(duì)軟信息輸入及將信息輸出至Turbo 碼解碼器中;Turbo碼解碼器,具有多個(gè)MAP單元,該MAP單元從輸入存儲(chǔ)器取出軟信息值進(jìn)行迭代解碼計(jì)算;局部存儲(chǔ)器,用于存儲(chǔ)Turbo碼解碼器計(jì)算過程中產(chǎn)生的值; 輸出控制器,用以控制Turbo碼解碼器硬判輸出結(jié)果; 硬判輸出存儲(chǔ)器,存儲(chǔ)Turbo碼解碼器硬判輸出結(jié)果。
2.根據(jù)權(quán)利要求1所述的Turbo碼的解碼系統(tǒng),其特征在于,所述的解碼系統(tǒng)是一種應(yīng)用于LTE系統(tǒng)中的8位并行的Turbo碼解碼系統(tǒng)。
3.根據(jù)權(quán)利要求1所述的Turbo碼的解碼系統(tǒng),其特征在于,所述的輸入存儲(chǔ)器包括8 個(gè)輸入存儲(chǔ)單元。
4.根據(jù)權(quán)利要求1所述的Turbo碼的解碼系統(tǒng),其特征在于,所述的軟信息依據(jù)系統(tǒng)位、第一校驗(yàn)位1和第二校驗(yàn)位2劃分為三路信息。
5.根據(jù)權(quán)利要求4所述的Turbo碼的解碼系統(tǒng),其特征在于,所述的碼塊長度小于768 時(shí),不進(jìn)行分段處理,將三路信息存放在輸入存儲(chǔ)器的第一輸入存儲(chǔ)單元中;當(dāng)碼塊長度大于768時(shí),將三路信息分別分成8段存放在該輸入存儲(chǔ)器的8個(gè)不同的輸入存儲(chǔ)單元中。
6.根據(jù)權(quán)利要求4所述的Turbo碼的解碼系統(tǒng),其特征在于,所述的Turbo碼解碼器具有8個(gè)MAP單元,當(dāng)該8個(gè)MAP處于Ready狀態(tài)后,分別從8個(gè)不同的輸入存儲(chǔ)單元取出軟信息值進(jìn)行迭代解碼計(jì)算。
7.根據(jù)權(quán)利要求6所述的Turbo碼的解碼系統(tǒng),其特征在于,所述的每個(gè)MAP單元包括第一軟入軟出單元,第一外信息計(jì)算單元,交織單元,第二軟入軟出單元,第二外信息計(jì)算單元,解交織單元,迭代控制單元及軟入硬出硬判單元,其中,所述的第一軟入軟出單元根據(jù)系統(tǒng)位,第一校驗(yàn)位1及外信息計(jì)算對(duì)數(shù)似然信息; 所述的第一外信息計(jì)算單元根據(jù)第一軟入軟出單元輸出的對(duì)數(shù)似然信息及輸入的外信息計(jì)算新的外信息;所述的交織單元將系統(tǒng)位信息與新的外信息進(jìn)行交織; 所述的第二軟入軟出單元根據(jù)交織信息與第二校驗(yàn)位2計(jì)算對(duì)數(shù)似然信息; 所述的第二外信息計(jì)算單元根據(jù)第二軟入軟出單元的輸出計(jì)算出一個(gè)更為準(zhǔn)確的外 fn息;所述的解交織單元將準(zhǔn)確的外信息進(jìn)行解交織; 所述的迭代控制單元根據(jù)解交織后的外信息判定是否停止迭代; 所述的軟入硬出硬判單元根據(jù)迭代控制單元發(fā)出的停止迭代指令對(duì)解交織后的外信息進(jìn)行硬判決輸出。
8.根據(jù)權(quán)利要求1所述的Turbo碼的解碼系統(tǒng),其特征在于,所述的局部存儲(chǔ)器具有8 個(gè)局部存儲(chǔ)單元。
9.根據(jù)權(quán)利要求6或7或8所述的Turbo碼的解碼系統(tǒng),其特征在于,所述的8個(gè)MAP 單元與8個(gè)局部存儲(chǔ)單元并不是一一對(duì)應(yīng)的,并且同一時(shí)刻,沒有兩個(gè)MAP單元會(huì)訪問同一塊局部存儲(chǔ)單元。
10.根據(jù)權(quán)利要求6或7或8所述的Turbo碼的解碼系統(tǒng),其特征在于,當(dāng)碼塊長度小于768時(shí),不進(jìn)行分段處理,只用到第一 MAP單元和第一局部存儲(chǔ)單元。
11.一種利用權(quán)利要求1所述的Turbo碼的解碼系統(tǒng)對(duì)Turbo碼進(jìn)行解碼的方法,其特征在于該方法包括如下步驟判斷碼塊長度K是否大于768,即步驟一;如是,則將輸入三路軟信息存放在該輸入存儲(chǔ)器的輸入存儲(chǔ)單元中;持續(xù)判斷Turbo碼解碼器的多個(gè)MAP單元是否處于Ready狀態(tài);當(dāng)多個(gè)MAP單元均處于Ready狀態(tài)后,每一 MAP單元分別從多個(gè)不同的輸入存儲(chǔ)單元取出軟信息值進(jìn)行迭代解碼計(jì)算,解碼計(jì)算過程中產(chǎn)生的值分別存儲(chǔ)于多個(gè)局部存儲(chǔ)單元中;判斷是否達(dá)到最大迭代次數(shù)或者CRC校驗(yàn)通過;如是則對(duì)軟信息進(jìn)行硬判輸出,K個(gè)輸出結(jié)果保存在輸出存儲(chǔ)器中,如否則返回步驟一;如碼塊長度K小于或等于768,則碼塊不進(jìn)行分段處理,將三路信息存放在輸入存儲(chǔ)器的一預(yù)定的輸入存儲(chǔ)單元中,之后持續(xù)判斷Turbo碼解碼器的一預(yù)定的MAP單元是否處于 Ready狀態(tài);如此預(yù)定的MAP單元處于Ready狀態(tài),則該MAP單元從預(yù)定的輸入存儲(chǔ)單元中取出軟信息值進(jìn)行迭代解碼計(jì)算,解碼計(jì)算過程中產(chǎn)生的值存儲(chǔ)于預(yù)定的一局部存儲(chǔ)單元中;判斷是否達(dá)到最大迭代次數(shù)或者CRC校驗(yàn)通過;如是則對(duì)軟信息進(jìn)行硬判輸出,K個(gè)輸出結(jié)果保存在輸出存儲(chǔ)器中,如否則返回步驟一。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,該Turbo碼解碼器具有8個(gè)MAP單元, 分別為第一至第八MAP單元,該Turbo碼的解碼系統(tǒng)相應(yīng)的也設(shè)有8個(gè)局部存儲(chǔ)單元,分別為第一至第八局部存儲(chǔ)單元,并且輸入存儲(chǔ)器具有8個(gè)輸入存儲(chǔ)單元,分別為第一至第八輸入存儲(chǔ)單元,如碼塊長度K小于或等于768,則將三路信息存放在輸入存儲(chǔ)器的第一輸入存儲(chǔ)單元中,后續(xù)由第一 MAP單元從第一輸入存儲(chǔ)單元中取出軟信息值進(jìn)行迭代解碼計(jì)算,解碼計(jì)算過程中產(chǎn)生的值存儲(chǔ)于第一局部存儲(chǔ)單元中。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,在步驟二中,將輸入的軟信息分為三路 dl、d2、d3,其中dl、d2、d3的長度分別為K+4,將三路信息分別分成8段存放在該輸入存儲(chǔ)器的8個(gè)不同的輸入存儲(chǔ)單元中。
14.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述的步驟五中,所述的每個(gè)MAP單元包括第一軟入軟出單元,第一外信息計(jì)算單元,交織單元,第二軟入軟出單元,第二外信息計(jì)算單元,解交織單元,迭代控制單元及軟入硬出硬判單元,每個(gè)MAP單元內(nèi)部的處理流程包括步驟一將系統(tǒng)位dl(i)、第一校驗(yàn)信息d2⑴以及外信息輸入到第一軟入軟出單元,計(jì)算對(duì)數(shù)似然信息,其中i = 1,…,8,表示8個(gè)不同的輸入存儲(chǔ)單元的輸入;步驟二 第一外信息計(jì)算單元根據(jù)對(duì)數(shù)似然信息和輸入的外信息計(jì)算新的外信息;步驟三交織單元將系統(tǒng)位dl(i)、新的外信息進(jìn)行交織后,與第二校驗(yàn)信息d3⑴一起輸入到第二軟入軟出單元,計(jì)算對(duì)數(shù)似然信息;步驟四第二外信息計(jì)算單元利用第二軟入軟出單元的輸出計(jì)算出一個(gè)更為準(zhǔn)確的外 fn息;步驟五解交織單元對(duì)計(jì)算出的外信息進(jìn)行解交織;步驟六迭代控制單元先對(duì)解交織后的外信息進(jìn)行CRC運(yùn)算,如果CRC校驗(yàn)未通過,再判斷是否達(dá)到最大迭代次數(shù);步驟七如果CRC校驗(yàn)通過或達(dá)到最大迭代次數(shù),則進(jìn)行硬判決輸出解碼結(jié)果,如未達(dá)到最大迭代次數(shù)則返回步驟一。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述的第一與第二軟入軟出單元采用 Max-Log-MAP 算法和 Max * -Log-MAP 算法。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,在軟入軟出單元內(nèi)部采用前向分支度量α值和后向分支度量β值同時(shí)進(jìn)行對(duì)推的方案;其具體做法是從單個(gè)軟入軟出單元處理的數(shù)據(jù)段的末尾利用反向遞推公式計(jì)算每一時(shí)刻的β值,一直算到本段的第一個(gè)符號(hào), 并將各個(gè)時(shí)刻計(jì)算得到的β值存儲(chǔ)下來。與此同時(shí),用正向遞推公式從數(shù)據(jù)段的開頭開始計(jì)算本段各個(gè)時(shí)刻的α值,一直到本段的最后一個(gè)符號(hào),將本段中個(gè)時(shí)刻的α值存儲(chǔ)下來。當(dāng)解碼進(jìn)行到本段的中間時(shí)刻之后的每一個(gè)時(shí)刻均可利用計(jì)算得到的α值和相應(yīng)時(shí)刻的β值相乘求和得到相應(yīng)的似然輸出,此時(shí)每個(gè)時(shí)刻可得到兩個(gè)比特的似然輸出。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述的前向分支度量α值和后向分支度量β值的初值選取方法是本次迭代的邊界初值采用上次迭代得到的結(jié)果,同時(shí)在本次迭代中計(jì)算出下次迭代的邊界初值;其具體的實(shí)現(xiàn)方法如下(1)對(duì)于第一次迭代,邊界的α和β均假設(shè)為均勻分布,其中第一段的α初值和最后一段的β初值除外,這兩種情況均為零狀態(tài)概率最大,在此假定的邊界初值條件下,每個(gè) MAP單元按軟入軟出單元內(nèi)部的前向分支度量α值和后向分支度量β值同時(shí)進(jìn)行對(duì)推的算法進(jìn)行譯碼,同時(shí)計(jì)算出下次迭代的邊界初值并存儲(chǔ)下來;(2)對(duì)于非首次的迭代,邊界的α和β均采用上次迭代計(jì)算得到的結(jié)果,其中第一段的α初值和最后一段的β初值除外,這兩種情況均為零狀態(tài)概率最大,在此初值條件下, 每個(gè)MAP單元按軟入軟出單元內(nèi)部的前向分支度量α值和后向分支度量β值同時(shí)進(jìn)行對(duì)推的算法進(jìn)行譯碼,同時(shí)計(jì)算出下次迭代的邊界初值并更新上次存儲(chǔ)的值。
18.根據(jù)權(quán)利要求15所述的方法,其特征在于,該方法利用同一模塊實(shí)現(xiàn)交織與解交織過程,首先地址生成器用于生成外信息存儲(chǔ)器的讀地址,第一軟入軟出單元鎖存每個(gè)外信息的同時(shí),將其讀地址同時(shí)鎖存,當(dāng)?shù)谝卉浫胲洺鰡卧?jì)算出新的外信息值之后,將這個(gè)新的外信息寫回其讀出地址;在后半次迭代過程中,當(dāng)?shù)诙浫胲洺鰡卧?jì)算出新的外信息后,就將這個(gè)外信息再次存儲(chǔ)到最初鎖存的地址,這樣完成的解交織過程;并且每個(gè)碼塊,以及同樣長度的碼塊只進(jìn)行一次地址計(jì)算,并不是每次迭代都要進(jìn)行地址計(jì)算。
全文摘要
一種Turbo碼的解碼方法,先判斷碼塊長度K是否大于768;如是則將輸入的三路軟信息分段存放在輸入存儲(chǔ)單元中,如否,則將三路信息存放在一預(yù)定的輸入存儲(chǔ)單元中,之后只通一預(yù)定的MAP單元從預(yù)定的輸入存儲(chǔ)單元中取出軟信息值進(jìn)行迭代解碼計(jì)算,解碼計(jì)算過程中產(chǎn)生的值存儲(chǔ)于預(yù)定的一局部存儲(chǔ)單元中;之后,持續(xù)判斷Turbo碼解碼器的8個(gè)MAP單元是否處于就緒狀態(tài);如是,每一MAP單元分別從多個(gè)不同的輸入存儲(chǔ)單元取出軟信息值進(jìn)行迭代解碼計(jì)算,解碼計(jì)算過程中產(chǎn)生的值分別存儲(chǔ)于多個(gè)局部存儲(chǔ)單元中;最后判斷是否達(dá)到最大迭代次數(shù)或者CRC校驗(yàn)通過;如是則對(duì)軟信息進(jìn)行硬判輸出,將K個(gè)輸出結(jié)果保存在輸出存儲(chǔ)器中。
文檔編號(hào)H03M13/29GK102571107SQ20101059222
公開日2012年7月11日 申請(qǐng)日期2010年12月15日 優(yōu)先權(quán)日2010年12月15日
發(fā)明者冷欣, 張力, 董霄劍 申請(qǐng)人:展訊通信(上海)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1