專利名稱:特博碼的解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動通信系統(tǒng),具體涉及一種使用滑動窗口方法的turbo(特博)碼解碼方法。
turbo碼以塊為單位處理一個產(chǎn)生的信息比特序列。尤其是在編碼一個大信息比特序列的情況下,已經(jīng)知道,相對于卷積碼獲得了非常優(yōu)越的編碼增益,并且通過在接收端迭代地對簡單分量碼(simplecomponent code)進(jìn)行解碼獲得了非常優(yōu)越的糾錯能力。
近來,已經(jīng)提出了一種相對簡單的turbo解碼技術(shù),其能夠在移動通信環(huán)境中支持高速數(shù)據(jù)傳輸。在該結(jié)構(gòu)中,輸入的碼字交替地通過兩個卷積解碼器,顯著降低了結(jié)構(gòu)的復(fù)雜性。
但是,為了迭代地通過卷積解碼器,要求卷積解碼器的輸出不是硬判決值“0”或“1”,而是對應(yīng)于卷積解碼器的輸出是“0”或“1”的概率值的軟判決值。
為此,已經(jīng)提出了一種最大后驗(yàn)(MAP)解碼技術(shù),其計(jì)算信息比特的后驗(yàn)概率值,并進(jìn)行解碼,使得概率值變得最大。
通常,turbo碼的信息源是具有一個不連續(xù)時間和量化狀態(tài)的“馬爾可夫過程”。因此,信息源可以通過一個二進(jìn)制矩陣圖表示。
在該二進(jìn)制矩陣中,Sk代表編碼器在時間k的狀態(tài),“xk=xk,1,k,xk,n(xk={0,1})”代表編碼率是1/n的編碼器的輸出。此處,信息源的狀態(tài)“Sk=m(m=0,1,2,..,M-1)”的數(shù)量是M。
當(dāng)時間從k-1移動到k時,turbo編碼器的輸入比特dk把編碼器的狀態(tài)Sk-1改變?yōu)镾k。信息的狀態(tài)序列S=(S0,..,ST)在時間k=0開始并在時間k=T結(jié)束。此時,編碼器的初始狀態(tài)S0是0。
turbo編碼器的輸出序列x被BPSK或QPSK調(diào)制,并且經(jīng)受一個離散存儲器信道(discrete memory channel)中的衰落。因此,在接收端接收的序列變成“y=(y1,k,yk,k,yT)”。此處,yk=(yk,1,k,yk,n)。
如上所述,MAP算法是一個用于使用所接收的序列估算信息的狀態(tài)變換(state shift)的后驗(yàn)概率的算法。MAP算法計(jì)算信息比特P(dk=1|y)和P(dk=0|y)的后驗(yàn)概率。然后,可以最終獲得以一個希望的對數(shù)似然比(LLR)形式表示的解碼器輸出。L(dk)=logP(dk=1|y)P(dk=0|y)]]>=logΣ(m′,m)dk=1P(Sk-1=m′,Sk=m,y)Σ(m′,m)dk=0P(Sk-1=m′,Sk=m,y)]]>此時,通過以下公式2獲得信息比特的狀態(tài)變換的后驗(yàn)概率“P(Sk-1=m′,Sk=m,y)”。P(Sk-1=m′,Sk=m,y)=P(Sk-1=m′,yj<k)P(yj>k|Sk=m).P(Sk=m′,yk|Sk-1=m′)
在公式2中,yj<k代表從初始時間到時間k-1接收的序列,yj>k代表從時間k+1到最后時間接收的序列。
在公式2中,“P(Sk-1=m′,yj<k)”被定義為“α(Sk-1)”,并且從其定義“α(Sk)”。“P(yj>k|Sk=m)”被定義為“β(Sk)”。
為了獲得最佳后驗(yàn)概率,在獲得“β(Sk)”之前需要一個預(yù)定長度的時段。該時段稱為“學(xué)習(xí)”時段。在學(xué)習(xí)時段之后計(jì)算的“β(Sk)”被用于解碼器的輸出比特的確定。
此后,分別把α(Sk)和β(Sk)稱為α值和β值。
圖1是常規(guī)MAP解碼的時序圖。
在圖1中,X軸代表時間流,尤其代表隨著時間流動,每個處理器所處理的碼元。一個前向處理器的碼元數(shù)量增加,一個后向處理器的碼元數(shù)量減小。斜線部分代表后向處理器正在學(xué)習(xí)。彎曲的箭頭代表比特判決所需的α和β值之間的相關(guān)。
參見圖1,使用兩個后向處理器,一個后向處理器(即,圖1中的第一處理器)進(jìn)行學(xué)習(xí),而另一個后向處理器(即,圖1中的第二處理器)計(jì)算解碼器的比特確定所需的β值。
具體地說,當(dāng)一個MAP解碼開始時,第一后向處理器從2L到1L進(jìn)行學(xué)習(xí)過程。在該學(xué)習(xí)過程期間,第二后向處理器為靜止?fàn)顟B(tài)。此處,L代表滑動窗口的長度。
然后,第一后向處理器計(jì)算從1L到0的β值,并使用先前計(jì)算和存儲的從0到1L的α值確定從1L到0的解碼器比特。在解碼器的比特確定期間,第二后向處理器使用從3L到2L的碼元進(jìn)行學(xué)習(xí)。
在下一個部分,第二后向處理器通過計(jì)算從2L到1L的β值確定從2L到1L的解碼器比特。在解碼器的比特確定期間,第一處理器使用從4L到3L的碼元進(jìn)行學(xué)習(xí)。
在解碼器輸出塊中可以看出,按照從1L到0,和從2L到1L的順序進(jìn)行比特確定,通過一個后入先出(LIFO)過程獲得一個正確順序的結(jié)果,該過程每次按L長度存儲多個輸出,并從其結(jié)尾讀取它們。
在1998年2月的有關(guān)通信中的選擇區(qū)域的IEEE期刊,vol.16,no.2,A.J.維特比,“用于卷積碼的MAP解碼器的直覺調(diào)整和簡化實(shí)現(xiàn)”中詳細(xì)描述了上述過程。
根據(jù)上述常規(guī)方法,針對幾乎所有碼元進(jìn)行兩次后向處理。結(jié)果,每個MAP解碼需要兩次后向處理,這造成計(jì)算量和功耗的增加。因此,減少了使用電池操作的無線電移動設(shè)備的使用時間。
而且,在僅使用一個后向處理器來減小計(jì)算量的情況下,解碼時間增加了兩倍。
而且,如果進(jìn)行長度L的學(xué)習(xí)過程,前向處理,和后向處理,不能充分使用編碼在turbo碼的格柵終止(trellis termination)以ST=0完成的性質(zhì),這造成turbo碼的編碼增益變差。
而且,雖然用于存儲結(jié)果值的存儲器的尺寸小到“深度60*寬度56(在3GPP WCDMA turbo編碼器的情況下)”,通常使用的存儲器的深度遠(yuǎn)大于此,這造成存儲器的浪費(fèi)。
因此,本發(fā)明致力于一種turbo碼的解碼方法,其實(shí)質(zhì)上消除了由于現(xiàn)有技術(shù)的局限和缺點(diǎn)造成的一個或多個問題。
本發(fā)明的一個目的是提供一種turbo碼的解碼方法,其使用一個后向處理器,需要小數(shù)量的計(jì)算和小尺寸的存儲器。
本發(fā)明的另一個目的是提供一種turbo碼的解碼方法,其通過使用一個后向處理器利用在最大值的格柵終止,適于提高編碼增益和減小功耗。
本發(fā)明的另一個目的是提供一種turbo碼的解碼方法,其適于減少解碼時間。
在下面的說明中將提出本發(fā)明的其它優(yōu)點(diǎn)、目的和特征,并且可以由本領(lǐng)域技術(shù)人員從說明中部分地了解,或可以通過實(shí)踐本發(fā)明來學(xué)習(xí)。通過寫出的說明書和權(quán)利要求以及附圖中特別指出的結(jié)構(gòu),可以實(shí)現(xiàn)和獲得本發(fā)明的上述目的和其它優(yōu)點(diǎn)。
為了實(shí)現(xiàn)這些目的和其它優(yōu)點(diǎn),并根據(jù)本發(fā)明的目的,如此處所實(shí)施和廣義描述的,在進(jìn)行迭代解碼的接收端的MAP解碼器,包括后向處理器,用于計(jì)算第一結(jié)果值并計(jì)算和存儲第二結(jié)果值,第一結(jié)果值是所接收序列的一個L比特長度接收序列的參考號之后的狀態(tài)概率值,第二結(jié)果值是下一個所接收序列的一個W比特長度接收序列的參考號之后的狀態(tài)概率值;前向處理器,用于與第一結(jié)果值的計(jì)算同時地計(jì)算第三結(jié)果值,第三結(jié)果值是在所接收序列的參考號之前的狀態(tài)概率值;存儲器,用于在計(jì)算第二結(jié)果值之后按順序存儲第二結(jié)果值,并以相反順序輸出第二結(jié)果值;輸出確定模塊,用于使用計(jì)算的第三結(jié)果值和輸出的第二結(jié)果值確定所接收序列的輸出值。
優(yōu)選地,存儲器通過交替使用增加地址和減小地址來寫入第二結(jié)果值,并通過交替使用與寫入對稱的減小地址和增加地址來輸出第二結(jié)果值。
特別地,以相反順序從多個比特(即,L+把所接收序列的長度除以W所得的余數(shù))計(jì)算首先從所接收序列計(jì)算的第一結(jié)果值,并且以相反順序從一個余數(shù)長度的接收序列計(jì)算首先從所接收序列計(jì)算的第二結(jié)果值以便以相反順序存儲,該余數(shù)是通過把所接收序列的長度除以W得到的。而且,按順序從一個余數(shù)長度的接收序列計(jì)算首先從所接收序列計(jì)算的第三結(jié)果值,該余數(shù)是通過把所接收序列的長度除以W得到的。
優(yōu)選地,以如下方式確定所接收序列的輸出值以相反順序輸出的第二結(jié)果值變成與按順序計(jì)算的第三結(jié)果值相同的順序。
在本發(fā)明的另一個方面,一種在進(jìn)行迭代解碼的接收端進(jìn)行MAPturbo解碼的方法,包括以下步驟計(jì)算第一結(jié)果值并計(jì)算和存儲第二結(jié)果值,第一結(jié)果值是在所接收序列的一個L比特長度接收序列的參考號之后的狀態(tài)概率值,第二結(jié)果值是下一個所接收序列的一個W比特長度接收序列的參考號之后的狀態(tài)概率值;與第一結(jié)果值的計(jì)算同時地計(jì)算第三結(jié)果值,第三結(jié)果值是在所接收序列的參考號之前的狀態(tài)概率值;在計(jì)算第二結(jié)果值之后按順序存儲第二結(jié)果值,并以相反順序輸出第二結(jié)果值;使用計(jì)算的第三結(jié)果值和輸出的第二結(jié)果值確定所接收序列的輸出值。
優(yōu)選地,通過交替使用增加地址和減小地址來寫入第二結(jié)果值,并通過交替使用與寫入對稱的減小地址和增加地址來輸出第二結(jié)果值。
特別地,以相反順序從多個比特(即,L+把所接收序列的長度除以W所得的余數(shù))計(jì)算首先從所接收序列計(jì)算的第一結(jié)果值,并且以相反順序從一個余數(shù)長度的接收序列計(jì)算首先從所接收序列計(jì)算的第二結(jié)果值以便以相反順序存儲,該余數(shù)是通過把所接收序列的長度除以W得到的。而且,按順序從一個余數(shù)長度的接收序列計(jì)算首先從所接收序列計(jì)算的第三結(jié)果值,該余數(shù)是通過把所接收序列的長度除以W得到的。
因此,本發(fā)明考慮了在MAP解碼器的終止的格柵終止性質(zhì),因此具有獲得編碼增益的效果。
優(yōu)選地,以如下方式確定所接收序列的輸出值以相反順序輸出的第二結(jié)果值變成與按順序計(jì)算的第三結(jié)果值相同的順序。
在本發(fā)明的另一個方面,一種使用最大后驗(yàn)(MAP)算法對所接收序列進(jìn)行解碼的方法,包括以下步驟通過一個預(yù)定長度的后向處理進(jìn)行學(xué)習(xí),利用后向處理計(jì)算并存儲第一結(jié)果值,利用與學(xué)習(xí)時間同時的前向處理計(jì)算第二結(jié)果值,并使用第二結(jié)果值和在第一結(jié)果值之前存儲的第一結(jié)果值來確定一個解碼比特輸出。
優(yōu)選地,如果后向或前向處理的長度是W,學(xué)習(xí)的長度是L,一個通過把所接收序列的長度除以W得到的余數(shù)是W0,并且N是一個不小于1的整數(shù),通過利用所接收序列“W0+NW+L”到“W0+NW”的碼元數(shù)的后向處理進(jìn)行學(xué)習(xí),存儲通過利用“W0+NW”到“W0+(N-1)”的碼元的后向處理的第一結(jié)果值,并且與學(xué)習(xí)時間同時地計(jì)算通過利用“W0+(N+1)W+L”到“W0+NW”的碼元的前向處理的第二結(jié)果值,并利用從“W0+(N-1)W”到“W0+NW”計(jì)算和存儲的第一結(jié)果值和第二結(jié)果值進(jìn)行解碼比特確定。
但是,在N是0的情況下,通過利用所接收序列“W0+L”到W0的碼元數(shù)進(jìn)行學(xué)習(xí),存儲通過利用碼元W0到0的后向處理的第一結(jié)果值,然后與下一個窗口的學(xué)習(xí)開始同時地計(jì)算通過利用0到W0碼元的前向處理的第二結(jié)果值,以計(jì)算第二結(jié)果值。此處,通過雙端口RAM(DPRAM)的一個端口寫入第一結(jié)果值,并通過其另一個端口讀出。通過DPRAM的端口存儲或讀出的地址為W0或W的每個長度增加或減小,并且通過DPRAM的端口存儲或讀出的地址以互斥方式為W0或W的每個長度增加或減小。
優(yōu)選地,按順序確定解碼比特輸出。
應(yīng)該理解,上述的一般性說明和以下的詳細(xì)說明都是示例性和解釋性的,旨在提供對本發(fā)明權(quán)利要求的進(jìn)一步理解。
本發(fā)明詳述下面將參考附圖中的示例對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)說明。
如上所述,MAP算法是一個估算信息比特P(dk=1|y)和P(dk=0|y)的后驗(yàn)概率,然后最終從信息的估算后驗(yàn)獲得對數(shù)似然比(LLR)形式的解碼器輸出的算法。通過公式1描述了LLR形式的解碼器輸出。
此時,為了獲得信息比特的后驗(yàn)概率,應(yīng)該分別針對P(dk=1|y)和P(dk=0|y)獲得狀態(tài)變換的后驗(yàn)概率,并且通過三個乘法項(xiàng)可以獲得狀態(tài)變換的各自后驗(yàn)概率。公式2表示了針對狀態(tài)變換的后驗(yàn)概率的三個乘法項(xiàng)。
具體地說,參見公式2,第一項(xiàng)α(Sk-1)是狀態(tài)Sk-1的聯(lián)合概率函數(shù),Sk-1是具有時間索引0到k-1的所接收序列中的m′,并且α(Sk-1)由以下公式3表示。α(Sk-1)=P(Sk-1=m′,yj<k)在公式3中,α(Sk)是狀態(tài)變換的聯(lián)合概率密度函數(shù),其中在具有0到k的序列號的所接收序列yj<k+1中,狀態(tài)Sk-1是m′,狀態(tài)Sk是m,并且由如下公式4表示。α(Sk)=Σm′=0M-1P(Sk-1=m′,Sk=m,yj<k+1)]]>第二項(xiàng)γ(Sk-1,Sk)是一個分支量度,涉及一個狀態(tài)Sk-1何時變換到狀態(tài)Sk,并且是一個條件概率函數(shù),其中在狀態(tài)Sk-1是m′的條件下下一個狀態(tài)Sk是m,并且在該時間所接收的序列是yk。其由以下公式5表示。γ(Sk-1,Sk)=P(Sk=m,yk|Sk-1=m′)第三項(xiàng)β(Sk)是一個條件概率函數(shù),其中在狀態(tài)Sk是m的條件下所接收序列yj>k的號碼不小于k+1,并且由如下公式6表示。β(Sk)=P(yj>k|Sk=m)在公式6中,dk代表在turbo編碼之前的信息比特序列,Sk代表在所接收序列的號碼k的編碼器狀態(tài)(m={0,1,..,M-1})。二者都具有M種狀態(tài),并且當(dāng)所接收序列的號碼從k-1變換到k時,輸入比特dk把編碼器狀態(tài)從Sk-1改變?yōu)镾k。
具體地說,在MAP解碼中,通過公式4中的前向遞歸方法可以獲得α(Sk),并且所計(jì)算的α(Sk)被直接用于確定解碼器的輸出比特。α(Sk)由一個前向(α)處理器執(zhí)行。
而且,通過公式6中的后向遞歸方法可以獲得β(Sk),為了把β(Sk)用于獲得MAP概率,需要一個稱為學(xué)習(xí)時段的預(yù)定時段。在該學(xué)習(xí)時段之后,由一個后向(β)處理器計(jì)算的β(Sk)被用于確定解碼器的輸出比特。
此后,α(Sk)和β(Sk)分別被稱為α值和β值。
圖2是根據(jù)本發(fā)明的MAP解碼的時序圖。
參見圖2,后向處理器利用從W0+L到W0的特定碼元開始學(xué)習(xí)。在整個MAP解碼的長度“L”期間進(jìn)行學(xué)習(xí)。在進(jìn)行學(xué)習(xí)時,碼元以與常規(guī)方法相同的方式對應(yīng)于所接收序列的L個比特。此處,W0對應(yīng)于把所接收序列的長度除以W所得到的余數(shù)。
接著,利用從W0到0的碼元計(jì)算β值,然后將其存儲在存儲器中。此處,使用一個具有不同輸入/輸出端口的雙端口隨機(jī)存取存儲器(DPRAM)作為存儲器。
接著,利用從W0+W+L到W0+W的碼元開始學(xué)習(xí),并且利用要存儲在存儲器中的從W0+W到W0的碼元計(jì)算β值。
在利用從W0+W+L到W0+W的碼元開始學(xué)習(xí)的同時,前向處理器利用從0到W0的碼元計(jì)算α值,并使用所計(jì)算的α值和由后向處理器存儲的從W0到0的β值確定解碼器的輸出比特。在長度W中進(jìn)行α或β值的計(jì)算。
然后,利用從W0+2W+L到W0+2W的碼元開始學(xué)習(xí)過程,并且利用所要存儲在存儲器中的從W0+2W到W0+W的碼元計(jì)算β值。
在利用從W0+2W+L到W0+2W的碼元開始學(xué)習(xí)的同時,前向處理器利用從W0到W0+W的碼元計(jì)算α值,并使用所計(jì)算的α值和由后向處理器存儲的從W0+W到W0的β值確定解碼器的輸出比特。
如上所述,通過重復(fù)學(xué)習(xí),后向處理,前向處理和解碼,完成了一個代碼塊(為方便起見,將其稱為一個接收序列,該序列的長度稱為一個代碼塊大小)的MAP解碼。
同時,在圖2的下部兩條線中,顯示了用于存儲作為后向處理結(jié)果的β值的雙端口RAM(DPRAM)的地址。假設(shè)通過端口A存儲β值,并通過端口B讀出。
但是,不存儲在學(xué)習(xí)時段期間計(jì)算的β值。
通過端口A按照地址從W0到0減小的順序存儲從W0到0計(jì)算的β值,然后通過端口B按照地址從0到W0增加的順序讀出,從而使用讀取的β值以及從0到W0計(jì)算的α值來確定解碼器的輸出比特。
而且,通過端口A按照地址從0到W增加的順序存儲從W0+W到W計(jì)算的β值,然后通過端口B按照地址從W到0減小的順序讀出,從而使用讀取的β值以及從W0到W0+W計(jì)算的α值來確定解碼器的輸出比特。
具體地說,端口A和B按照增加或減小地址的順序存儲或讀取在預(yù)定長度中計(jì)算的β值。在已經(jīng)通過端口A按照增加地址的順序存儲了β值的情況下,通過端口B按照減小地址的順序把它們讀出,而在已經(jīng)按照減小地址的順序存儲了β值的情況下,通過端口B按照增加地址的順序把它們讀出。
即,端口A和B以互斥方式按照增加或減小地址的順序輸入/輸出這些值。
如果所使用的地址總是在相同方向前進(jìn),即,如果重復(fù)地把端口A的地址從W或W0減小到0并且把端口B的地址從0增加到W或W0,那么在所存儲的β值還沒有被讀出的狀態(tài)下β值就被新值更新。為了防止這種現(xiàn)象,應(yīng)該把用于存儲β值的存儲器的尺寸增加到兩倍,或者應(yīng)該使用根據(jù)本發(fā)明提出的方法。
根據(jù)本發(fā)明,一個后向處理從W0+NW+L(N=0,1,2,..)開始,并且對于每個滑動窗口把該開始點(diǎn)增加W。而且,后向處理的結(jié)束點(diǎn)是0(N+0)或W0+NW+L(N=0,1,2,..),并且也被增加W。在進(jìn)行學(xué)習(xí)時,碼元以與常規(guī)方法中相同的方式對應(yīng)于所接收序列的L個比特。
同時,W0由(所接收序列的長度)mod W(模計(jì)算)確定。但是,如果模的結(jié)果是0,則使用W。
例如,如果所接收序列的長度是3840比特,并且W是256,W0被確定為256,與W相同。如果所接收序列的長度是3841比特,W0變成1。由于W0被如上確定,后向處理的最終單元將總是W。由此,諸如3GPP WCDMA的使用格柵終止的turbo碼的性質(zhì)(3GPP TS25.212V2.2.1 turbo編碼部分,1999年10月)可以達(dá)到最大。
這與當(dāng)由一個維特比解碼器對使用尾部比特的卷積碼進(jìn)行解碼時是相同的概念,只是代碼塊的最后追溯深度(very last trace-back depth)從狀態(tài)0開始,并且被一次解碼。
例如,如果確定W是256,在3841比特的代碼塊中保留一個比特,并且可以認(rèn)為這一個比特是根據(jù)本發(fā)明在第一個窗口中處理的或者是在最后一個窗口中處理的。由于可以在每個代碼塊的結(jié)尾使用終止性質(zhì),通過使用終止性質(zhì)對256個比特而不是一個比特進(jìn)行解碼,可以獲得更好的解碼性能。
同時,對于MAP解碼所需的存儲器尺寸,常規(guī)方法需要大約60深度,而根據(jù)本發(fā)明的解碼器使用256深度。但是,在實(shí)現(xiàn)實(shí)際電路時將不會有差別,因?yàn)橛糜趯?shí)現(xiàn)本發(fā)明的“Xilinx Virtex”芯片的內(nèi)部塊RAM的最小深度是256。
如上所述,本發(fā)明僅使用一個后向處理器,因此可以減小電路尺寸和計(jì)算量(即,功耗)。
而且,通過填充最后一個窗口來實(shí)現(xiàn)格柵終止的性質(zhì),可以獲得更好的解碼性能。
而且,由于可以按順序獲得解碼結(jié)果,可以除去LIFO所需的存儲器和電路,并且可以改善功耗。
而且,通過調(diào)整用于存儲β值的雙端口RAM的讀/寫地址,可以把存儲器尺寸減半。
上述實(shí)施例僅是示例性的,不應(yīng)理解為對本發(fā)明的限制。本發(fā)明的教導(dǎo)可以容易地應(yīng)用于其它類型的裝置。本發(fā)明的描述是示意性的,不是為了限制權(quán)利要求的范圍。本領(lǐng)域技術(shù)人員可以進(jìn)行很多替換,修改和變型。
權(quán)利要求
1.一種在進(jìn)行迭代解碼的接收端的最大后驗(yàn)解碼器,該最大后驗(yàn)解碼器包括后向處理器,用于計(jì)算第一結(jié)果值并計(jì)算和存儲第二結(jié)果值,第一結(jié)果值是所接收序列的一個L比特長度接收序列的參考號之后的狀態(tài)概率值,第二結(jié)果值是下一個所接收序列的一個W比特長度接收序列的參考號之后的狀態(tài)概率值;前向處理器,用于與第一結(jié)果值的計(jì)算同時地計(jì)算第三結(jié)果值,第三結(jié)果值是在所接收序列的參考號之前的狀態(tài)概率值;存儲器,用于在計(jì)算第二結(jié)果值之后按順序存儲第二結(jié)果值,并以相反順序輸出第二結(jié)果值;輸出確定模塊,用于使用計(jì)算的第三結(jié)果值和輸出的第二結(jié)果值確定所接收序列的輸出值。
2.根據(jù)權(quán)利要求1的最大后驗(yàn)解碼器,其中存儲器通過交替使用增加地址和減小地址來寫入第二結(jié)果值。
3.根據(jù)權(quán)利要求2的最大后驗(yàn)解碼器,其中存儲器通過交替使用與寫入對稱的減小地址和增加地址來輸出第二結(jié)果值。
4.根據(jù)權(quán)利要求1的最大后驗(yàn)解碼器,其中以相反順序從多個比特計(jì)算首先從所接收序列計(jì)算的第一結(jié)果值,這多個比特是“L+把所接收序列的長度除以W所得的余數(shù)”。
5.根據(jù)權(quán)利要求1的最大后驗(yàn)解碼器,其中以相反順序從一個余數(shù)長度的接收序列計(jì)算首先從所接收序列計(jì)算的第二結(jié)果值以便以相反順序存儲,該余數(shù)是通過把所接收序列的長度除以W得到的。
6.根據(jù)權(quán)利要求4的最大后驗(yàn)解碼器,其中按順序從一個余數(shù)長度的接收序列計(jì)算首先從所接收序列計(jì)算的第三結(jié)果值,該余數(shù)是通過把所接收序列的長度除以W得到的。
7.根據(jù)權(quán)利要求1的最大后驗(yàn)解碼器,其中以如下方式確定所接收序列的輸出值以相反順序輸出的第二結(jié)果值變成與按順序計(jì)算的第三結(jié)果值相同的順序。
8.一種在進(jìn)行迭代解碼的接收端進(jìn)行最大后驗(yàn)特博解碼的方法,該方法包括以下步驟計(jì)算第一結(jié)果值并計(jì)算和存儲第二結(jié)果值,第一結(jié)果值是在所接收序列的一個L比特長度接收序列的參考號之后的狀態(tài)概率值,第二結(jié)果值是下一個所接收序列的一個W比特長度接收序列的參考號之后的狀態(tài)概率值;與第一結(jié)果值的計(jì)算同時地計(jì)算第三結(jié)果值,第三結(jié)果值是在所接收序列的參考號之前的狀態(tài)概率值;在計(jì)算第二結(jié)果值之后按順序存儲第二結(jié)果值,并以相反順序輸出第二結(jié)果值;使用計(jì)算的第三結(jié)果值和輸出的第二結(jié)果值確定所接收序列的輸出值。
9.根據(jù)權(quán)利要求8的最大后驗(yàn)解碼方法,其中通過交替使用增加地址和減小地址來寫入第二結(jié)果值。
10.根據(jù)權(quán)利要求9的最大后驗(yàn)解碼方法,其中通過交替使用與寫入對稱的減小地址和增加地址來輸出第二結(jié)果值。
11.根據(jù)權(quán)利要求8的最大后驗(yàn)解碼方法,其中以相反順序從多個比特計(jì)算首先從所接收序列計(jì)算的第一結(jié)果值,這多個比特是“L+把所接收序列的長度除以W所得的余數(shù)”。
12.根據(jù)權(quán)利要求8的最大后驗(yàn)解碼方法,其中以相反順序從一個余數(shù)長度的接收序列計(jì)算首先從所接收序列計(jì)算的第二結(jié)果值以便以相反順序存儲,該余數(shù)是通過把所接收序列的長度除以W得到的。
13.根據(jù)權(quán)利要求8的最大后驗(yàn)解碼方法,其中按順序從一個余數(shù)長度的接收序列計(jì)算首先從所接收序列計(jì)算的第三結(jié)果值,該余數(shù)是通過把所接收序列的長度除以W得到的。
14.根據(jù)權(quán)利要求8的最大后驗(yàn)解碼方法,以如下方式確定所接收序列的輸出值以相反順序輸出的第二結(jié)果值變成與按順序計(jì)算的第三結(jié)果值相同的順序。
15.一種使用最大后驗(yàn)算法對所接收序列進(jìn)行特博解碼的方法,包括以下步驟通過一個預(yù)定長度的后向處理進(jìn)行學(xué)習(xí),利用后向處理計(jì)算并存儲第一結(jié)果值,利用與學(xué)習(xí)時間同時的前向處理計(jì)算第二結(jié)果值,并使用第二結(jié)果值和在第一結(jié)果值之前存儲的第一結(jié)果值來確定一個解碼比特輸出。
16.根據(jù)權(quán)利要求15的特博解碼方法,其中如果后向或前向處理的長度是W,學(xué)習(xí)的長度是L,一個通過把所接收序列的長度除以W得到的余數(shù)是W0,并且N是一個不小于1的整數(shù),通過利用所接收序列“W0+NW+L”到“W0+NW”的碼元數(shù)的后向處理進(jìn)行學(xué)習(xí),存儲通過利用“W0+NW”到“W0+(N-1)”的碼元的后向處理的第一結(jié)果值,并且與學(xué)習(xí)時間同時地計(jì)算通過利用“W0+(N+1)W+L”到“W0+NW”的碼元的前向處理的第二結(jié)果值,并利用從“W0+(N-1)W”到“W0+NW”計(jì)算和存儲的第一結(jié)果值和第二結(jié)果值進(jìn)行解碼比特確定。
17.根據(jù)權(quán)利要求15的特博解碼方法,其中在N是0的情況下,通過利用所接收序列“W0+L”到W0的碼元數(shù)的后向處理進(jìn)行學(xué)習(xí),存儲通過利用碼元W0到0的后向處理的第一結(jié)果值,然后與下一個窗口的學(xué)習(xí)開始同時地計(jì)算通過利用0到W0碼元的前向處理的第二結(jié)果值,以計(jì)算第二結(jié)果值。
18.根據(jù)權(quán)利要求15的特博解碼方法,其中通過雙端口RAM(DPRAM)的一個端口寫入第一結(jié)果值,并通過其另一個端口讀出。
19.根據(jù)權(quán)利要求18的特博解碼方法,其中通過DPRAM的端口存儲或讀出的地址為W0或W的每個長度增加或減小。
20.根據(jù)權(quán)利要求18的特博解碼方法,其中通過DPRAM的端口存儲或讀出的地址以互斥方式為W0或W的每個長度增加或減小。
21.根據(jù)權(quán)利要求15的特博解碼方法,其中按順序確定解碼比特輸出。
全文摘要
揭示了一種使用滑動窗口方法的turbo碼解碼方法。在根據(jù)本發(fā)明使用最大后驗(yàn)(MAP)算法對所接收序列進(jìn)行解碼時,通過一個預(yù)定長度的后向處理進(jìn)行學(xué)習(xí),利用后向處理計(jì)算并存儲第一結(jié)果值,利用與學(xué)習(xí)時間同時的前向處理計(jì)算第二結(jié)果值,并使用第二結(jié)果值和在第一結(jié)果值之前存儲的第一結(jié)果值來確定一個解碼比特輸出。
文檔編號H03M13/29GK1349361SQ01141558
公開日2002年5月15日 申請日期2001年10月15日 優(yōu)先權(quán)日2000年10月16日
發(fā)明者沈明燮 申請人:Lg電子株式會社