專利名稱:空時Turbo碼的二進制譯碼方法
技術(shù)領域:
本發(fā)明屬于多天線通信系統(tǒng)中的信息傳輸領域,主要涉及空時Turbo碼的譯碼方法。
背景技術(shù):
關于空時Turbo碼的譯碼方法,2001年Su提出了一種非二進制譯碼方法,2002年Kojima改進了他的方法,提出了比較復雜的二進制譯碼方法。
Su的非二進制譯碼方法。Su的空時Turbo碼的譯碼過程如圖3所示,接收機接受的信號r進入譯碼模塊1(300),而譯碼模塊1(300)則利用r和由譯碼模塊2(304)得到的先驗信息,經(jīng)過非二進制譯碼方法求出對數(shù)似然值和外部信息之后,對外部信息進行交織(302)并將它傳給譯碼模塊2(304);而經(jīng)過交織器(308)之后的接收信號則直接進入譯碼模塊2(304),譯碼模塊2(304)利用交織(308)后的接收信號和從譯碼模塊1(300)來的先驗信息得到外部信息并將其送入譯碼模塊1(300);這樣經(jīng)過數(shù)次的迭代之后,對譯碼模塊2(304)的對數(shù)似然值進行判決(310)并輸出估計的數(shù)據(jù)比特。在這里,Su的非二進制譯碼算法主要體現(xiàn)在譯碼模塊1(300)和譯碼模塊2(304)中。
Su定義了L(a,b)(ct1,cti)=logP(ct1=a,cti=b)P(ct1=-1,cti=-1)---(1)]]>在這里,i∈{2,3},且a,b∈{+1,-1}.
他考慮了最大后驗概率(MAP)和軟輸出Viterbi算法(SOVA)兩種譯碼器。關于MAP譯碼器,對數(shù)似然比(LLR)表示式為
L(a,b)(ct1,cti)=logΣ(s'→s)(ct1,cti)=(a,b)αt-1(s')γt(rt,s',s)βt(s)Σ(si→si+1)(ct1,cti)=(-1,-1)αt-1(s')γt(rt,s',s)βt(s)---(2)]]>在這里s和s’表示在格圖中的狀態(tài),且αt(s)=Σs'αt-1(s')γt(rt,s',s)---(3a)]]>βt(s)=Σs'γt+1(rt+1,s',s)βt+1(s')---(3b)]]>通常,我們使用最大似然軟判決(ML)在譯碼器中進行譯碼。如果我們考慮第一個RSC編碼器(遞歸系統(tǒng)卷積碼),即RSC1(200),且認為格圖狀態(tài)從s’變到s,則相對應的組成譯碼模塊(DEC1)(300)的輸入信號的偶數(shù)位置的值是編碼模塊RSC1(200)的輸入位ct1=a]]>和它的校驗位ct2=b]]>的疊加。在這種情況下,格圖中,對于特定的a,b只有唯一的值。因此,我們可以在最大似然軟判決中使用格圖中的信息。即,γt(rt,s',s)=P(rt,s',s)=P(rt|ct1=a,ct2=b)·P(ct1=a)---(4)]]>和logγt(rt,s',s)]]>=Γ(L0(a,+1)(ct1,ct3)-1N0Σj=1m|rtj-Es(α1,j(t)·a+α2,j(t)·b)|2,]]>L0(a,-1)(ct1,ct3)-1N0Σj=1m|rtj-Es(α1,j(t)·a+α2,j(t)·b)|2+K]]>=-1N0Σj=1m|rtj-Es(α1,j(t)·a+α2,j(t)·b)|2+Γ(L0(a,+1)(ct1,ct3),L0(a,-1)(ct1,ct3))+K---(5)]]>而相對應的譯碼模塊(DEC1)(300)的輸入信號的奇數(shù)位置的值是編碼模塊RSC1(200)的輸入位ct1=a]]>和編碼模塊RSC2(204)的校驗位ct3=c]]>的疊加,因此,對于RSC1(200),ct3=c]]>不是ct1=a]]>的校驗位,且RSC1(200)的校驗位被打孔了。在這種情況下,我們在最大似然軟判決中無法使用RSC1(200)格圖中的信息,也就說比特ct3和a沒有一一對應的關系。即γt(rt,s',s)=P(rt,s',s)]]>=[P(rt|ct1=a,ct3=+1)·P(ct3=+1|ct1=a)]]>+P(rt|ct1=a,ct3=-1)·P(ct3=-1|ct1=a)]·P(ct1=a)---(6)]]>logγt(rt,s',s)]]>=Γ(L0(a,+1)(ct1,ct3)-1N0Σj=1m|rtj-Es(α1,j(t)·a+α3,j(t)·1)|2,]]>L0(a,-1)(ct1,ct3)-1N0Σj=1m|rtj-Es(α1,j(t)·a+α3,j(t)·(-1))|2)+K---(7)]]>
在這里,L0(a,+1)(ct1,ct3),L0(a,-1)(ct1,ct3)可以從Le(a,c)(ct1,cti)(i=3)中得到,且Г(x,y)=log(ex+ey)=max(x,y)+log(1+e-|y-x|),K是一個常數(shù),會在計算L(a,b)(ct1,cti)時,被削去。這樣我們就可以得到外部信息,即Le(a,b)(ct1,ct2)=L(a,b)(ct1,ct2)-L0a(ct1).---(8)]]>圖3是背景文獻1中的譯碼器結(jié)構(gòu)圖,外部信息被輸入到下一個譯碼模塊(DEC2)(304),而譯碼模塊2(304)按同樣的方法進行譯碼并求出外部信息,再將外部信息傳給譯碼模塊1(300),這樣迭代幾次之后,從譯碼模塊2(304)輸出對數(shù)似然軟判決值,并進行最終判決。
Kojima的改進的二進制譯碼方法。Kojima在上面Su的譯碼方法基礎上,改進了譯碼模塊的譯碼算法。他假設P(ct3=+1|ct1=a)=P(ct3=-1|ct1=a),]]>則(6)和(7)就變成了(9)和(10)。
γt(rt,s',s)=P(rt,s',s)]]>=12[P(rt|ct1=a,ct3=+1)·P(ct1=a)+P(rt|ct1=a,ct3=-1)·P(ct1=a)]---(9)]]>logγt(rt,s',s)]]>=Γ(L0(a)(ct1)-1N0Σj=1m|rtj-Es(α1,j(t)·a+α3,j(t)·1)|2,]]>L0(a)(ct1)-1N0Σj=1m|rtj-Es(α1,j(t)·a+α3,j(t)·(-1))|2)+K′---(10)]]>因此,非二進制譯碼就變成了二進制譯碼,且Kojima從(8)式中分離出了估計的信道值 而外部信息就變成了Lea(ct1)=La(ct1)-L0a(ct1)-L~(ct1).---(11)]]>這個Kojima的二進制譯碼的外部信息和Su的非二進制譯碼比更精確,其譯碼器結(jié)構(gòu)如圖5所示,從一個譯碼模塊(DEC1)(504)得出的外部信息被輸入到下一個譯碼模塊(DEC2)(500),而譯碼模塊2(500)按同樣的方法進行譯碼并求出外部信息,再將外部信息傳給譯碼模塊1(504),這樣迭代幾次之后,從譯碼模塊2(500)輸出對數(shù)似然軟判決值,并進行最終判決。
Su的二進制譯碼方法中,因為RSC1(200)的校驗位被打孔了,接收到的bitct3和a在RSC1(200)的格圖中沒有一一對應的關系,在最大似然軟判決中無法使用RSC1(200)格圖中的信息,這樣就產(chǎn)生了一定的誤差。
Kojima的改進的二進制譯碼方法,利用分離估計的輸出信道值的方法,在一定程度上提高了空時Turbo碼的譯碼性能,但為了估計信道值增加了一個功能模塊,從而增加了一定的譯碼復雜度??諘rTurbo碼的譯碼器本來的復雜度就很大,Kojima的改進又增加了這種復雜度,且還會隨著碼長的增加而增加。因此,這兩種譯碼方法都有其局限性。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種空時Turbo碼的二進制譯碼方法,用于提高空時Turbo碼的譯碼性能的同時,降低其復雜度。
為實現(xiàn)上述目的,一種二進制空時Turbo碼譯碼方法,包括步驟接收信號直接輸入至譯碼模塊1,譯碼模塊1利用接收信號和從譯碼模塊2得到的先驗信息進行軟譯碼求出對數(shù)似然值和外部信息,并將外部信息送入譯碼模塊2;交織后的接收信號輸入至譯碼模塊2,譯碼模塊2利用交織后的接收信號和從譯碼模塊1得到的先驗信息進行軟譯碼求出對數(shù)似然值和外部信息,并將外部信息送入譯碼模塊1;按上述兩個步驟,進行多次循環(huán)迭代,經(jīng)過幾次的迭代之后,對譯碼模塊2輸出的對數(shù)似然值進行判決,并輸出。
本發(fā)明在譯碼性能上,優(yōu)于Su的非二進制譯碼方法,接近于Kojima的二進制譯碼方法;且在譯碼復雜度上,比Su的非二進制譯碼方法和Kojima的二進制譯碼方法具有更低的復雜度,因此,更利于在實際系統(tǒng)中使用。
圖1是使用新的二進制譯碼方法的空時Turbo碼譯碼器結(jié)構(gòu)圖;圖a是相對于Su的背景文獻1中編碼器的譯碼器結(jié)構(gòu)圖;圖b是相對于Kojima的背景文獻2中編碼器的譯碼器結(jié)構(gòu)圖;圖2是Su在背景文獻1中的空時Turbo碼編碼器結(jié)構(gòu)圖;圖3是Su在背景文獻1中的空時Turbo碼譯碼器結(jié)構(gòu)圖;圖4是Kojima在背景文獻2中的空時Turbo碼編碼器結(jié)構(gòu)圖;圖5是Kojima在背景文獻2中的空時Turbo碼譯碼器結(jié)構(gòu)圖;
圖6是空時Turbo碼的新的二進制譯碼方法和Su的非二進制譯碼、Kojima的二進制譯碼方法的性能比較曲線圖;圖7是在OFDM系統(tǒng)的頻率選擇性衰落信道中,空時Turbo碼的新的二進制譯碼方法和Su的非二進制譯碼、Kojima的二進制譯碼方法的性能比較。
具體實施例方式
新的空時Turbo碼的譯碼過程如圖1.a所示,接收機接收的信號r進入譯碼模塊1(100),而譯碼模塊1(100)則利用r和由譯碼模塊2(104)得到的先驗信息,經(jīng)過新的二進制譯碼方法求出對數(shù)似然值和外部信息之后,對外部信息進行交織(102)并將它傳給譯碼模塊2(104);而經(jīng)過交織器(106)之后的接收信號則直接進入譯碼模塊2(104),譯碼模塊2(104)利用交織(106)后的接收信號和從譯碼模塊1(100)來的先驗信息得到外部信息并將其送入譯碼模塊1(100);這樣經(jīng)過數(shù)次的迭代之后,對譯碼模塊2(104)的對數(shù)似然值進行判決并輸出估計的數(shù)據(jù)比特。
本發(fā)明的譯碼方法1.通過譯碼模塊1(100)得出數(shù)據(jù)比特ct1的對數(shù)似然值和外部信息。本發(fā)明的改進主要是在求logγt(γt,s’,s)的算法中。
1)求logγt(γt,s’,s)通常,我們使用最大似然軟判決(ML)在譯碼器中進行譯碼。如果我們考慮第一個RSC編碼模塊(遞歸系統(tǒng)碼),即RSC1(200),且認為格圖狀態(tài)從s’變到s,則相對應的譯碼模塊(DEC1)(100)的輸入信號的偶數(shù)位置的值是編碼模塊RSC1(200)的輸入位ct1=a]]>和它的校驗位ct2=b]]>的疊加。在這種情況下,格圖中,對于特定的a,b只有唯一的值。因此,我們可以在最大似然軟判決中使用格圖中的信息。
即logγt(γt,s’,s)用似然概率P(rt|ct1=a,ct2=b)]]>和先驗概率P(ct1=a)]]>來求得,如下面兩個式子,γt(rt,s',s)=P(rt,s',s)=P(rt|ct1=a,ct2=b)·P(ct1=a)---(12)]]>
logγt(rt,s',s)]]>=-1N0Σj=1m|rtj-Es(α1,j(t)·a+α2,j(t)·b)|2+L0(ct1)+K---(13)]]>而相對應的譯碼模塊(DEC1)(100)的輸入信號的奇數(shù)位置的值是編碼模塊RSC1(200)的輸入位ct1=a]]>和編碼模塊RSC2(204)的校驗位ct3=c]]>的疊加,因此,對于RSC1(200),ct3=c]]>不是ct1=a]]>的校驗位。在這種情況下,我們在最大似然軟判決中無法使用RSC1(200)格圖中的信息,且ct3和a不是一一對應的關系。然而在RSC2(204),ct3是a的校驗位,且有一一對應的關系,因此,可以利用RSC2(204)的對數(shù)似然比計算結(jié)果,即從譯碼模塊2(104)得出的先驗信息P(ct1=a)]]>和L0(ct1)。我們可以假設P(rt|ct1=a,ct3=c)a,c∈(+1,-1)]]>是等概率的,且其值為KK,即logγt(γt,s’,s)可以只由先驗概率P(ct1=a)]]>來求得,γt(rt.s',s)=P(rt,s',s)=P(ct1=a)·KK---(14)]]>logγt(rt,s',s)=log(L0(ct1))+K′′.---(15)]]>在這里,K”是常數(shù),并將會在計算Λi時,被削去。
2)求αt(s)和βt(s)αt(s)和βt(s)可以由下面兩個式子求出來,即αt(s)=Σs'αt-1(s')γt(rt,s',s,)---(16a)]]>βt(s)=Σs'γt+1(rt+1,s',s)βt+1(s')---(16b)]]>在這里s和s’表示格圖中的狀態(tài)。
3)求數(shù)據(jù)比特ct1的后驗概率的對數(shù)似然比Λt=logΣ(s',s)ct1=+1αt-1(s')γt(rt,s',s)βt(s)Σ(s',s)ct1=-1αt-1(s')γt(rt,s',s)βt(s)---(17)]]>4)外部信息Le(ct1)外部信息可以通過對數(shù)似然比減去先驗信息來求得,即Le(ct1)=Λi-L0(ct1).---(18)]]>5)對外部信息進行交織(102),并作為先驗信息傳給譯碼模塊2(104);2.經(jīng)過交織器(106)之后的接收信號直接輸入至譯碼模塊2(104),譯碼模塊2(104)利用交織(106)后的接收信號和從譯碼模塊1(100)得到的先驗信息,以上面步驟1中的1)到5)的方法得到外部信息并將其送入譯碼模塊1(100);3.再進行步驟1到2,這樣循環(huán)迭代幾次之后,對譯碼模塊2(104)輸出的對數(shù)似然值進行判決,并輸出。
實施例在這里,將舉幾個實際的例子來說明。
1.本發(fā)明與其它兩種譯碼方法的復雜度比較背景文獻1和2提出了結(jié)構(gòu)上有些不同的編碼器結(jié)構(gòu),如圖2和圖4所示。在相應的空時Turbo碼的譯碼器結(jié)構(gòu)中,新的二進制譯碼方法和裝置都可以被采用。
1)使用如圖2所示的編碼器結(jié)構(gòu)時,其譯碼器結(jié)構(gòu)如圖1.a所示,輸入信號y直接輸入到新的二進制譯碼模塊1(100),再通過交織器進行交織后輸入到新的二進制譯碼模塊2(104),譯碼模塊1(100)將得到的外部信息進行交織(102)后送入譯碼模塊2(104),而譯碼模塊2(104)將得到的外部信息進行解交織(108)后送入譯碼模塊1(100)。這樣循環(huán)多次后,從譯碼模塊2(104)經(jīng)過判決(110)輸出判決值。
2)使用如圖4所示的編碼器結(jié)構(gòu)時,其譯碼器結(jié)構(gòu)如圖1.b所示,輸入信號y直接輸入到新的二進制譯碼模塊2(112),再通過解交織器(114)進行解交織后輸入到新的二進制譯碼模塊1(116),譯碼模塊1(116)將得到的外部信息進行交織(118)后送入譯碼模塊2(112),而譯碼模塊2(112)將得到的外部信息進行解交織(114)后送入譯碼模塊1(116)。
這樣循環(huán)多次后,從譯碼模塊2(112)經(jīng)過判決(122)輸出判決值。這兩種譯碼器在結(jié)構(gòu)上沒有本質(zhì)區(qū)別,只是譯碼模塊1、譯碼模塊2和交織器、解交織器的位置有所不同,因此,可以認為對性能不會產(chǎn)生影響,且譯碼器的復雜度也是一樣的。
因此,在這里我們只分析三種譯碼方法之間的復雜度區(qū)別。
我們假設N是譯碼器的輸入信息比特數(shù),且令P為實數(shù)乘積操作;A為實數(shù)加操作;E為實數(shù)指數(shù)操作;
L為實數(shù)對數(shù)操作;C為兩個實數(shù)之間的比較操作。
圖1.a和圖3分別是使用了新的二進制譯碼方法和Su的非二進制譯碼方法的譯碼器結(jié)構(gòu)圖。在圖中可以看出,除了組成譯碼模塊不同之外,其他的模塊完全一樣,因此,我們只要對比組成譯碼模塊的復雜度就可以了。Su的非二進制譯碼模塊需要(51E+51L+51C+162P+289A)*N,而新的二進制譯碼模塊需要(30E+30L+30C+108P+197A)*N,如表1所示。通過這種比較,我們可以得出新的二進制譯碼模塊需要的操作數(shù)少,即譯碼復雜度比Su的非二進制譯碼低。
圖1.b和圖4分別是使用了新的二進制譯碼方法和Kojima的二進制譯碼方法的譯碼器結(jié)構(gòu)。在圖中可以看出,除了組成譯碼模塊不同之外,Kojima的二進制譯碼方法還多了一個功能模塊,即估計信道值的模塊。因此,我們需要同時計算組成譯碼模塊的復雜度和估計信道值模塊的復雜度。Kojima估計信道值的模塊需要(2E+2L+2C+36P+27A)*N,且其二進制譯碼的組成模塊需要(33E+33L+33C+162P+232A)*N,而新的二進制譯碼模塊只需要(30E+30L+30C+108P+197A)*N,如表1所示。通過比較,我們可以看出,新的二進制譯碼模塊需要的操作數(shù)比Kojima的二進制譯碼模塊少,且還少一個功能塊,因此,譯碼復雜度比Kojima的二進制譯碼低。
表1.新的二進制譯碼方法和其他兩種譯碼方法的復雜度比較
2.本發(fā)明與其它兩種譯碼方法的性能比較我們考慮兩發(fā)一收的空時Turbo碼,數(shù)據(jù)位長度為510,且尾比特沒有打孔;使用了兩個(1,5/7)的遞歸系統(tǒng)卷積碼,BPSK調(diào)制;使用了背景文獻1中的“旋轉(zhuǎn)”結(jié)構(gòu);還使用了滿足背景文獻2中較輕條件的S=12的奇偶交織器;且疊代次數(shù)都為4。我們考慮了三種瑞利衰落情況1)準靜態(tài),即在一個幀長度中衰落增益保持一個常數(shù),且從這一幀到下一幀是互相獨立的;2)Fd*Ts=0.001,在這里,F(xiàn)d是最大多普勒頻率,Ts是符號周期;3)Fd*Ts=0.01。
在多普勒衰落情況下,我們使用了一個35*15的信道塊交織器。
圖6就是在三種信道衰落情況下的誤碼率(BER)曲線。其中小圓圈表示的是Su的非二進制譯碼方法的性能曲線;小星星表示的是Kojima的非二進制譯碼方法的性能曲線;而方塊表示的是新的二進制譯碼方法的性能曲線。從圖中可以看出在所有三種信道狀態(tài)下,新的二進制譯碼方法BER性能比Su的非二進制譯碼方法好0.2-0.3dB,且接近于Kojima的二進制譯碼方法。
3.0FDM系統(tǒng)中本發(fā)明與其它兩種譯碼方法的性能比較我們考慮兩發(fā)一收的空時Turbo碼和實施例2中一致,即數(shù)據(jù)位長度為510,且尾比特沒有被打孔;使用了兩個(1,5/7)的遞歸系統(tǒng)卷積碼,BPSK調(diào)制;使用了背景文獻1中的“旋轉(zhuǎn)”結(jié)構(gòu);還使用了滿足背景文獻2中較輕條件的S=12的奇偶交織器;且疊代次數(shù)都為4;在多普勒衰落情況下,使用了一個35*15的信道塊交織器。
我們假設載波頻率為5GHz,符號速率為20MHz,且將20MHz帶寬分為512個子載波,即FFT大小為512。我們使用M.1225車輛環(huán)境的信道模型A,且最大移動速率設為250km/h。
圖7就是在OFDM系統(tǒng)中,三種譯碼方法在頻率選擇性衰落信道中的性能仿真曲線。在圖7中,我們同樣可以觀察到新的二進制譯碼方法的性能好于Su的非二進制譯碼方法,且和Kojima的二進制譯碼方法同樣好。
權(quán)利要求
1.一種二進制空時Turbo碼譯碼方法,包括步驟接收信號直接輸入至譯碼模塊(1),譯碼模塊(1)利用接收信號和從譯碼模塊(2)得到的先驗信息進行軟譯碼求出對數(shù)似然值和外部信息,并將外部信息送入譯碼模塊(2);交織后的接收信號輸入至譯碼模塊(2),譯碼模塊(2)利用交織后的接收信號和從譯碼模塊(1)得到的先驗信息進行軟譯碼求出對數(shù)似然值和外部信息,并將外部信息送入譯碼模塊(1);按上述兩個步驟,進行多次循環(huán)迭代,經(jīng)過幾次的迭代之后,對譯碼模塊(2)輸出的對數(shù)似然值進行判決并輸出。
2.按權(quán)利要求1所述的方法,其特征在于求出對數(shù)似然值和外部信息包括步驟求logγt(rt,s’,s);求αt(s)和βt(s);求數(shù)據(jù)比特ct1的后驗概率的對數(shù)似然比;求外部信息Le(ct1);
3.按權(quán)利要求2所述的方法,其特征在于所述求logγt(rt,s’,s)采用下列公式Λi=logΣ(s′,s)ct1=+1αt-1(s′)rt(rt,s′,s)βt(s)Σ(s′,s)ct1=-1αt-1(s′)rt(rt,s′,s)βt(s).]]>
4.按權(quán)利要求1所述的γt(rt,s’,s)的方法,其特征在于當前譯碼模塊計算的P(rt|ct1=a,ct3=c)a,c∈(+1,-1)]]>是等概率的,而只利用當前的先驗信息L0(ct1)來計算γt(rt,s’,s)。
5.按照權(quán)利要求4所述的方法,其特征在于所述先驗信息L0(ct1)通過前一個譯碼模塊輸出的外部信息Le(ct1)得到。
6.按照權(quán)利要求3所述的方法,其特征在于所述前一個譯碼模塊輸出的外部信息Le(ct1)通過前一個譯碼模塊計算的對數(shù)似然比Λi減去其先驗信息得到,即Le(Ct1)=Λi-L0(ct1).]]>
全文摘要
一種二進制空時Turbo碼譯碼方法,包括步驟接收信號直接輸入至譯碼模塊(1),譯碼模塊(1)利用接收信號和從譯碼模塊(2)得到的先驗信息進行軟譯碼求出對數(shù)似然值和外部信息,并將外部信息送入譯碼模塊(2);交織后的接收信號輸入至譯碼模塊(2),譯碼模塊(2)利用交織后的接收信號和從譯碼模塊(1)得到的先驗信息進行軟譯碼求出對數(shù)似然值和外部信息,并將外部信息送入譯碼模塊(1);按上述兩個步驟,進行多次循環(huán)迭代,經(jīng)過幾次的迭代之后,對譯碼模塊(2)輸出的對數(shù)似然值進行判決,并輸出。本發(fā)明在譯碼性能上,優(yōu)于Su的非二進制譯碼方法,接近于Kojima的二進制譯碼方法;且在譯碼復雜度上,比Su的非二進制譯碼方法和Kojima的二進制譯碼方法具有更低的復雜度,因此,更利于在實際系統(tǒng)中使用。
文檔編號H03M13/27GK1702975SQ200410042728
公開日2005年11月30日 申請日期2004年5月24日 優(yōu)先權(quán)日2004年5月24日
發(fā)明者金香蘭, 王家成, 王海, 馬科斯, 卡茨, 尹皙鉉, 金宰, 樸東植 申請人:北京三星通信技術(shù)研究有限公司, 三星電子株式會社