本發(fā)明屬于無線通信技術(shù)領(lǐng)域,特別涉及一種適用于LTE系統(tǒng)中Turbo譯碼的交織解交織設(shè)計(jì)方法。
背景技術(shù):
1993年,在IIC(Intemational Information Conference)大會(huì)上,C.Berrou,A.Glavieux和P.Thitimajshima提出Turbo碼的概念。Turbo碼的提出具有里程碑式的意義,以其接近Shannon限的優(yōu)異性能引起了學(xué)者們的廣泛關(guān)注和研究。Turbo碼實(shí)際上是一種并行級聯(lián)卷積碼(Parallel Concatenated Convolutional Codes)。它巧妙地將兩個(gè)簡單分量碼通過偽隨機(jī)交織器并行級聯(lián)來構(gòu)造具有偽隨機(jī)特性的長碼,并通過在兩組軟入/軟出(SISO)譯碼器之間進(jìn)行多次迭代實(shí)現(xiàn)了偽隨機(jī)譯碼。由于性能遠(yuǎn)遠(yuǎn)超過了其他的編碼方式,Turbo碼已逐漸被應(yīng)用到衛(wèi)星通信、網(wǎng)絡(luò)、廣播、個(gè)人通信等實(shí)時(shí)通信系統(tǒng)中。目前Turbo碼已經(jīng)作為3G和4G的信道編碼標(biāo)準(zhǔn)。
為了減少譯碼時(shí)延,Turbo譯碼器采用了數(shù)據(jù)分組技術(shù)。然而數(shù)據(jù)的交織解交織需要實(shí)時(shí)計(jì)算,占用了較大的資源同時(shí)也提高額外的功耗。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為了解決現(xiàn)有技術(shù)中存在的問題,特別提出一種交織解交織方案應(yīng)用于LTE系統(tǒng)turbo譯碼中,新方案保證了交織速度和準(zhǔn)確性的同時(shí),大大降低了硬件開銷和功耗,。
根據(jù)本發(fā)明的一方面,提供一種適用于LTE系統(tǒng)中Turbo碼的交織解交織方法,其特征在于,包括:
將輸入數(shù)據(jù)分為至少一組,當(dāng)分多組的情況下根據(jù)所分組數(shù)、編碼長度和交織系數(shù)確定循環(huán)移位寄存器的初始化和循環(huán)移位寄存器個(gè)數(shù),初始化包括確定循環(huán)移位寄存器中的數(shù)據(jù)和順序;
交織讀取數(shù)據(jù),根據(jù)初始化的存儲(chǔ)序號計(jì)算數(shù)據(jù)交織列地址的位置,計(jì)算相應(yīng)的參數(shù),然后根據(jù)存儲(chǔ)序號選擇循環(huán)移位寄存器,再根據(jù)所述參數(shù),計(jì)算循環(huán)移位寄存器移位長度,移位后的寄存器中的數(shù)據(jù)用于行交織;
解交織寫入數(shù)據(jù),對于交織的數(shù)據(jù)根據(jù)行地址的對應(yīng)關(guān)系,反映射至正常順序,再計(jì)算交織的列地址寫入。
進(jìn)一步的,所述至少一組為1組、4組、8組或者16組,分組數(shù)對應(yīng)著移位寄存器的長度。
進(jìn)一步的,循環(huán)移位寄存器的循環(huán)移位長度由第一行行映射地址來確定,第一行行映射地址對應(yīng)的移位寄存器地址即為循環(huán)移位值。
進(jìn)一步的,所述交織的公式f(x)為:
f(x)=(f0x+f1x2)mod N,
其中N為數(shù)據(jù)長度,f0和f1為交織參數(shù),x對應(yīng)正常的地址順序;
對應(yīng)的交織變換為:
f(x+d)=(f(x)+g(x))mod N
g(x)=(f0d+2f1dx+f1d2)mod N
g(x+d)=(g(x)+delta)mod N
delta=2d2f1mod N
其中g(shù)(x)和delta為中間變量,d為步長。
分組后,分組長度為K,分組數(shù)為M,根據(jù)上述公式可知不同行的列交織地址取值是一致,同一行列地址交織分成前向遞推和后向遞推,步長d=1。
列地址前向遞推公式為:
fcol(x+1)=(fcol(x)+gcol(x))mod K
gcol(x)=(f0+2f1x+f1)mod K
gcol(x+1)=(gcol(x)+deltacol)mod K
deltacol=2f1mod K
列地址后向遞推公式為
fcol(x+1)=(fcol(x)+g′col(x))mod K
g′col(x)=K-gcol(x)mod K
進(jìn)一步的,當(dāng)為4組時(shí),所述映射的關(guān)系固定,所述循環(huán)移位寄存器個(gè)數(shù)為1,循環(huán)移位寄存器循環(huán)移位的位數(shù)根據(jù)第一行對應(yīng)的映射關(guān)系來確定。
進(jìn)一步的,當(dāng)為分組為8時(shí),
根據(jù)公式g(x)=(f0+2f1x+f1K)%M分為兩種情況,K為每組長度,M為8;
第一種情況,f1為4的整數(shù)倍,則行映射關(guān)系是固定的,存在于一個(gè)循環(huán)移位寄存器中;
第二種情況,f1不能被4整除,所述循環(huán)移位寄存器為2各,分別存儲(chǔ)序號x為奇數(shù)的數(shù)據(jù),和序號x為偶數(shù)的數(shù)據(jù)。
進(jìn)一步的,當(dāng)為8組時(shí),
對于分組數(shù)為16的情況,根據(jù)公式grow(x)=(f0+2f1x+f1K)mod M分為三種情況,K為每組長度,M為16;
第一種情況,f1為8的整數(shù)倍,行映射關(guān)系是固定的,所述循環(huán)移位寄存器個(gè)數(shù)為1;
第二種情況,f1為4的整數(shù)倍,所述循環(huán)移位寄存器個(gè)數(shù)為2,分別存儲(chǔ)序號x為奇數(shù)的數(shù)據(jù),和序號x為偶數(shù)的數(shù)據(jù);
第三種情況,f1不能被4整除,所述循環(huán)移位寄存器個(gè)數(shù),分別對應(yīng)mod(x,4)=0,1,2,3的存儲(chǔ)情況。
從上述技術(shù)方案可以看出,和目前的行地址映射相比較,新方案不需要進(jìn)行加減計(jì)算,只需要在初始化好的循環(huán)移位寄存器進(jìn)行循環(huán)移位即可得到相應(yīng)的映射結(jié)果。減少了硬件開銷和功耗。
附圖說明
圖1為本發(fā)明實(shí)施例適用于LTE系統(tǒng)中Turbo譯碼器交織與解交織框圖,其中地址產(chǎn)生器包括行地址和列地址的計(jì)算;
圖2a和2b分別為本發(fā)明實(shí)施例適用于LTE系統(tǒng)中列交織地址計(jì)算框圖中列地址迭代計(jì)算過程圖和中間變量gcol(x)的計(jì)算過程圖;
圖3a、3b和3c分別為本發(fā)明實(shí)施例適用于LTE系統(tǒng)中行交織參數(shù)計(jì)算框圖中第一行行映射地址的計(jì)算圖、中間變量gcol(x)的計(jì)算過程圖、以及中間變量forward_row和backward_row的計(jì)算過程圖;
圖4為本發(fā)明實(shí)施例適用于LTE系統(tǒng)中行交織映射框圖。
具體實(shí)施方式
本發(fā)明的核心思想為簡化交織解交織計(jì)算,減少了硬件開銷,降低了功耗?;诖?,本發(fā)明實(shí)施例提供一種適用于LTE系統(tǒng)的turbo譯碼器交織方案,在設(shè)計(jì)的存儲(chǔ)方面進(jìn)行如下設(shè)置:首先將輸入數(shù)據(jù)分組,根據(jù)交織系數(shù),編碼長度和分組長度確定循環(huán)移位寄存器的初始化和循環(huán)移位寄存器個(gè)數(shù)。
數(shù)據(jù)的讀取分成順序讀取和交織讀取兩種情況,對于第一種情況,數(shù)據(jù)的按照順序讀取,并不經(jīng)過行變換,直接輸出給計(jì)算單元。對于第二種情況,首先根據(jù)序號計(jì)算交織列地址的位置,計(jì)算相應(yīng)的參數(shù),然后根據(jù)序號選擇循環(huán)移位寄存器,再根據(jù)參數(shù),計(jì)算循環(huán)移位寄存器移位長度,移位后的寄存器中的數(shù)據(jù)用于行交織。這樣數(shù)據(jù)的讀取完成了交織過程。
數(shù)據(jù)的寫入分兩種情況,一種情況是順序?qū)懭?,另一種情況是解交織寫入。對應(yīng)第一種情況,數(shù)據(jù)無需進(jìn)行映射,按照順序?qū)懙较鄳?yīng)的地址中。對應(yīng)第二中情況,首先交織的數(shù)據(jù)根據(jù)行地址的對應(yīng)關(guān)系,反映射到正常順序。之后再計(jì)算交織的列地址寫入,完成了數(shù)據(jù)的解交織變換。其中行映射關(guān)系也是通過循環(huán)移位寄存器循環(huán)移位得到的。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對本發(fā)明作進(jìn)一步的詳細(xì)說明。
參照圖1,在數(shù)據(jù)處理方面,首先對輸入的三路譯碼數(shù)據(jù)進(jìn)行分組,將每一路長度為N的數(shù)據(jù)分成M組每組長度為K。M為分組數(shù),取值范圍為[1 4 8 16]。f0和f1為交織參數(shù),根據(jù)不同的數(shù)據(jù)長度由LTE規(guī)范給出。
在LTE系統(tǒng)中Turbo碼中無沖突交織公式為:
f(x)=(f0x+f1x2)mod N
為了減少乘法計(jì)算,上述乘法公式可以改寫為遞推加法計(jì)算,公式為
f(x)=(f0x+f1x2)mod N
f(x+d)=(f(x)+g(x))mod N
g(x)=(2f1dx+f0d+f1d2)mod N
g(x+d)=(g(x)+delta)mod N
delta=2d2f1 mod N
其中g(shù)(x)和delta為中間變量,d為步長。
參照圖2a和2b,分組后列地址計(jì)算公式為fcol(x)=(f0x+f1x2)mod K,下一行的列地址通過公式可知fcol(x+K)=(f0(x+K)+f1(x+K)2)mod K=fcol(x)。通過上述公式可以看出不同行的列地址取值是相同的。
列地址計(jì)算可以通過兩個(gè)加法進(jìn)行迭代計(jì)算,圖2a給出了列地址迭代計(jì)算過程,對于前向列地址,選擇開關(guān)為1,fcol(x+1)=(fcol(x)+gcol(x))mod K。對于后向列地址,選擇開關(guān)為0,fcol(H-x-1)=(fcol(H-x)+gcol(H-x))mod K,其中H為后向初始位置。初始值為
fcol(0)=0。
fcol(H)=(f0H+f1H2)mod K
圖2b給出了中間變量gcol(x)的計(jì)算過程。對于前向中間值,令步長d=1,選擇開關(guān)為1,gcol(x+1)=(gcol(x)+(2f1mod K))mod K。對于后向中間值,令步長d=-1,選擇開關(guān)為0,gcol(H-x-1)=(gcol(H-x)+K-(2f1mod K))mod K。其中初始值為
gcol(0)=f0+f1
gcol(H)=K-((2f1H-f1+f0)mod K)
參照圖3a、3b和3c,行映射地址計(jì)算可以通過三個(gè)加法進(jìn)行迭代計(jì)算,圖3a給出了第一行行映射地址的計(jì)算,對于前向列地址,選擇開關(guān)為1,frow(x+1)=(frow(x)+grow(x))mod M。對于后向列地址,選擇開關(guān)為0,frow(H-x-1)=(frow(H-x)+grow(H-x))mod M。其中初始值為
frow(0)=0
frow(H)=floor((f0H+f1H2)/K)mod M
圖3b給出了中間變量gcol(x)的計(jì)算過程。對于前向中間值,令步長d=1,選擇開關(guān)為1,grow(x+1)=(grow(x)+forward_row)mod M。對于后向中間值,令步長d=-1,選擇開關(guān)為0,gcol(H-x-1)=(gcol(H-x)+K-(2f1 mod K))mod K。其中初始值為
gcol(0)=floor((f0+f1)/K)mod M
gcol(H)=M-(floor((2f1H-f1+f0)/K))mod M
圖3c給出了中間變量forward_row和backward_row的計(jì)算過程。對于前向中間值,選擇開關(guān)為1,forward_row=(forward_row+forward_c_in)mod M。對于后向中間值,選擇開關(guān)為0,backward_row=(backward_row+backward_c_in)mod M。其中初始值為
forward_row=(floor(2f1/K))mod M
backward_row=M-(floor(2f1/K))mod M-1
參照圖4,首先在分組中保證分組長度K能被4整除,則有delta=0即g(x)保持不變。下面對分組數(shù)為4,8,16的情況分別進(jìn)行描述。
對于分組數(shù)為4的情況,g(x)可以改寫為g(x)=(f0+f1K)%M,則行映射關(guān)系是固定的,可以存在一個(gè)循環(huán)移位寄存器中,根據(jù)第一行對應(yīng)的映射關(guān)系來確定循環(huán)移位寄存器循環(huán)移位的位數(shù)。
對于分組數(shù)為8的情況,根據(jù)公式g(x)=(f0+2f1x+f1K)%M可分為兩種情況,第一種情況,f1為4的整數(shù)倍,則行映射關(guān)系是固定的,可以存在一個(gè)循環(huán)移位寄存器中。第二種情況,f1不能被4整除,則需要兩個(gè)寄存器分別存儲(chǔ)序號x為奇數(shù)的情況,和序號x為偶數(shù)的情況。
對于分組數(shù)為16的情況,根據(jù)公式g(x)=(f0+2f1x+f1K)%M可分為三種情況,第一種情況,f1為8的整數(shù)倍,則行映射關(guān)系是固定的,可以存在一個(gè)循環(huán)移位寄存器中。第二種情況,f1為4的整數(shù)倍,則需要兩個(gè)寄存器分別存儲(chǔ)序號x為奇數(shù)的情況,和序號x為偶數(shù)的情況。第三種情況,f1不能被4整除,則需要四個(gè)循環(huán)移位寄存器,分別對應(yīng)mod(x,4)=0,1,2,3的情況。
通過上述方案,本發(fā)明僅用少量的循環(huán)移位寄存器和一些簡單判斷的基礎(chǔ)上解決了交織解交織問題。減少了硬件開銷,降低了功耗。
以上所述的具體實(shí)施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。