專利名稱:一種高效卷積編碼方法
技術領域:
本發(fā)明涉及通信系統(tǒng)中,特別是,涉及在通信系統(tǒng)中的一種經改進的高效卷積編碼方法。
卷積編碼是當今各種通信系統(tǒng)中廣為采用的信道編碼技術。它是把k個信息比特編碼成n個比特,特別適合于以串行形式傳輸?shù)男畔?,延時小。卷積碼中編碼后的n個碼元不但與當前段的k個信息有關,而且與前面(N-1)段的信息有關,編碼過程中相互關聯(lián)的碼元為Nn個。卷積碼的糾錯能力隨著N的增加而增大,而差錯率隨著N的增加而指數(shù)下降,N被稱為約束長度。
卷積碼編碼器的一般形式如
圖1所示,它包括一個由N段組成的輸入移位寄存器,每段有k級,共Nk位寄存器;一組n個異或相加器;一個由n級組成的輸出移位寄存器。對應于每段k個比特的輸入序列,輸出n個比特。由圖可知,n個輸出比特不但與當前的k個輸入比特有關,而且與以前的(N-1)k個輸入信息比特有關。整個編碼過程可以看成是輸入信息序列與移位寄存器和異或連接方式所決定的另一個序列的卷積。通常卷積碼記作(n,k,N),它的編碼效率(簡稱碼率)為Rc=k/n。通信系統(tǒng)采用碼率為1/2和1/3的卷積碼。卷積編碼操作通常采用生成多項式來表示,如下式(1)所示G(D)=A0+A1D+A2D2+…An-1Dn-1(1)上式中,A0、A1、…An-1為二進制的0或1。顯然,卷積碼的運算量取決于表達式(1)中的非零項的數(shù)目。
以上所述的碼率以及(1)式中各個系數(shù)的選擇是與具體的應用相關的,即,根據(jù)不同具體應用可產生不同的生成多項式。所謂的具體應用包括業(yè)務種類;數(shù)據(jù)速率;編碼效率和約束長度。其中業(yè)務種類可包含語音業(yè)務和數(shù)據(jù)業(yè)務;數(shù)據(jù)速率可包含全速率和半速率,等等;編碼效率可包含1/2碼率和1/3碼率;而約束長度可視情況而定。比如,GSM信道編碼中,對于全速率的語音業(yè)務采用約束長度為5的1/2碼率卷積編碼。其生成多項式如下
G0=1+D3+D4(2)G1=1+D+D3+D4(3)又如,GSM系統(tǒng)中,6.0kbit/s的全速率數(shù)據(jù)業(yè)務信道采用的約束長度為5的1/3卷積編碼。其生成多項式如(4)、(5)、(6)所示G0=1+D+D3+D4(4)G1=1+D2+D4(5)G2=1+D+D2+D3+D4(6)對于給定的生成多項式其運算量是一定的,但是由于實現(xiàn)方法的不同,代碼的效率相差還是非常大的。在現(xiàn)有技術中,在實現(xiàn)卷積編碼的過程中通常被采用的方法是將待編碼的輸入比特流中的每一個比特作為一個數(shù)據(jù)單元,每一個輸出比特都是由當前輸入比特單元與它前面相關的若干比特單元進行異或運算得到。圖2示出現(xiàn)有技術在對于全速率的語音業(yè)務采用約束長度為5的1/2碼率卷積編碼的過程。由于生成多項式中的每一項代表的是待編碼輸入序列中的某一比特。即,卷積編碼輸出的每一比特都是與之對應的一些輸入比特異或運算所得的結果。由于處理器的最小可操作單元通常為8、16或32比特,而不能對比特直接進行操作,所以通常做法是在卷積編碼前,先把按比特排列的輸入序列拆分,拆分后,每比特用一個最小操作單元(為說明方便下面的最小操作單元取為8位)來表示。根據(jù)式(2)和(3)將待編碼的輸入比特流中的每一個比特設置在寄存器的各操作單元中,而該寄存單元的其它位設為零。在現(xiàn)有技術的方法中,生成多項式中的1對應于當前位(如圖2中的D(k)),而多項式中的Dm則對應于比當前位提前m時刻的位(如圖2中的D(k-3)對應于多項式中的D3,它表示比當前位D(k)提前3個時刻的位)。在圖2中,待編碼的當前位D(k)為例,根據(jù)生成多項式(2)和(3),將位D(k)和D(k-3)以及D(k-4)異或運算,得出對于當前位D(k)的一個卷積編碼結果G(2k)(它對應于式(2)中的G0)。然后,將G(2k)與D(k-1)異或運算,得出對于當前位D(k)的另一個卷積編碼結果G(2k+1)(它對應于式(3)中的G1)。依此類推,便得出對于輸入比特流的編碼結果。
可見,傳統(tǒng)的方法中,以上述1/2碼率的卷積編碼為例,每計算兩個輸出信息比特都需要進行5次異或運算,而且在編碼前還要將輸入的比特流進行拆分,然后緩存,這勢必減緩了編碼效率。
本發(fā)明的目的是提供一種能夠提高卷積編碼效率的高效卷積編碼方法。
本發(fā)明提供一種對輸入比特流進行高效卷積編碼的方法,其特征在于,包括下列步驟a.根據(jù)具體應用產生生成多項式;b.將待編碼的所述輸入信息比特流分成一個或多個信息比特單元;c.根據(jù)所述生成多項式,對于每個待編碼的所述信息比特單元進行卷積編碼,從而產生對應于該信息比特單元的經卷積編碼后的信息比特流,其中正在進行卷積編碼的所述信息比特單元即為當前信息比特單元。其中,所述具體應用包括業(yè)務種類;數(shù)據(jù)速率;編碼效率和約束長度。
在本發(fā)明的方法中,所述步驟(c)中的卷積編碼是通過下列步驟完成的e.產生與所述生成多項式中各狀態(tài)項相對應的狀態(tài)比特單元;f.按照所述生成多項式,對所述各狀態(tài)比特單元逐位地進行異或運算,從而產生對應于所述當前信息比特單元的經卷積編碼后的信息比特流。
由于在本發(fā)明的卷積編碼方法中,充分利用了寄存器中的每個處理單元,從而使本發(fā)明的卷積編碼效率較傳統(tǒng)的提高L倍,即,信息比特單元或狀態(tài)比特單元的比特數(shù)(也是寄存器中的處理單元的位數(shù))。而且,本發(fā)明的卷積編碼方法無需對待編碼的輸入比特流進行逐位的拆分,以及緩存,所以進一步提高了卷積編碼的效率。
圖1示出卷積編碼器的一般形式。
圖2示出在現(xiàn)有技術中全速率語音信道卷積編碼方法的實現(xiàn)框圖。
圖3示出根據(jù)本發(fā)明的全速率語音信道卷積編碼方法的實現(xiàn)框圖。
下面,結合附圖,通過對本發(fā)明的較佳實施例的詳細描述,對于熟悉本技術領域的人員而言,本發(fā)明的上述和其它特征、目的和優(yōu)點將顯而易見。
下面以全速率語音業(yè)務采用約束長度為5的1/2卷積效率的對輸入比特碼流1011010111001001……進行卷積編碼為例,結合圖3說明本發(fā)明的方法,其中圖3示出根據(jù)本發(fā)明的全速率語音信道卷積編碼方法的實現(xiàn)框圖。
首先,根據(jù)具體應用產生生成多項式,如上式(2)和(3)。
然后,將待編碼的輸入信息比特流分成一個或多個信息比特單元。其中信息比特單元所包含的比特數(shù)(L)是根據(jù)進行該卷積編碼的處理器的處理位寬、輸入比特流的長度等綜合因素進行考慮的。如本實施例,根據(jù)上述綜合因素將信息比特單元所包含的比特數(shù)(L)設為8。于是,輸入信息比特流就被分成10110101、11001001、……。
接著,根據(jù)生成多項式(2)和(3),對于每個待編碼的所述信息比特單元進行卷積,從而產生對應于該信息比特單元的經編碼信息比特流,其中正在進行編碼的信息比特單元即為當前信息比特單元。現(xiàn)在以當前信息比特單元是10110101為例,對其進行編碼的具體的步驟如下,其中信息比特單元11001001為前一時刻的信息比特單元首先,產生與生成多項式中各狀態(tài)項相對應的狀態(tài)比特單元。其中狀態(tài)比特單元所包含的比特數(shù)與信息比特單元所包含的比特數(shù)相等,在本實施例中都為8。在生成多項式(2)和(3)中有4個狀態(tài)項,1、D、D3和D4。在本發(fā)明中,狀態(tài)項1所對應的當前狀態(tài)比特單元就是當前信息比特單元,即,10110101(圖3中的U(k));與D所對應的狀態(tài)比特單元中的每位都比當前狀態(tài)比特單元中的每位提前1個時刻,在本實施例中即為01101011(圖3中的U(k-1));而與D3和D4所對應的狀態(tài)比特單元中的每個比特位都比當前狀態(tài)比特單元中的每一位提前3和4個時刻,在本實施例中分別為10101110(圖3中的U(k-3))和01011100(圖3中的U(k-4))。然后將與式(2)中的各狀態(tài)項1、D3和D4所對應的狀態(tài)比特單元放入圖3中的相應操作單元中。
然后,按照生成多項式(2),對狀態(tài)比特單元U(k)、U(k-3)和U(k-4)逐位地進行異或運算,從而產生對應于當前信息比特單元(10110101)的一個經卷積信息比特流,生成多項式(2)中的G0(對應于圖3中的G(2k))。之后根據(jù)生成多項式(3),對狀態(tài)比特單元U(k)、U(k-1)、U(k-3)和U(k-4)逐位地進行異或運算,也就是對G(2k)和U(k-1)進行異或運算,從而得出對應于當前信息比特單元(10110101)的另一個經卷積信息比特流,生成多項式(3)中的G1(對應于圖3中的G(2k+1))。
由此可見,由于本發(fā)明的方法中,完全利用操作單元,而不是只將當前位放如操作單元中,而操作單元的其它位設零,從而本發(fā)明的編碼方法的效率是傳統(tǒng)方法的L倍,其中L是操作單元的位數(shù)(即,信息比特單元的比特數(shù))。而且本發(fā)明的方法省略了傳統(tǒng)方法中的拆分和緩存步驟,因此進一步提高了編碼速度。
當然,獲得與生成多項式中Dm狀態(tài)項相對應的狀態(tài)比特單元有如下步驟
如果處理器的處理位寬大于信息比特單元或狀態(tài)比特單元的比特數(shù)(L),可直接從處理器一次處理提取的信息中獲得與Dm狀態(tài)項相對應的狀態(tài)比特單元。舉例而言,如果進行卷積編碼的處理器的處理位寬是16,而根據(jù)綜合因素設定的信息比特單元的比特數(shù)L=8,那么可以從處理器一次處理所提取的信息中獲得比與Dm狀態(tài)項相對應的狀態(tài)比特單元。在上述實施例中,處理器一次處理提取16位信息,1011010111001001,而當前信息比特單元是10110101。那么可直接獲得與D、D3、D4對應的各狀態(tài)比特單元。
但是,如果所述處理器的處理位寬等于信息比特單元或所述狀態(tài)比特單元的比特數(shù),那么通過對當前信息比特單元以及前一時刻的信息比特單元進行移位以及與或運算得出與Dm狀態(tài)項對應的所述狀態(tài)比特單元。以實施例中的待卷積的當前信息比特單元10110101為例,要獲得與狀態(tài)項D相對應的狀態(tài)比特單元,具體步驟如下第一,將當前信息比特單元向高位移m位(本實施例為1位),而低位補零。即,將10110101左移1位,最右位補0,得出01101010;第二,將所述前一時刻信息比特單元向低位符號移位達L-m位。在本實施例中,前一時刻的信息比特單元是11001001,將它向右符號移位8-1=7位,得出11111111,因為符號移位是根據(jù)移位前最高位的符號位來補充移位后的高位。
第三,對經步驟二得出的信息比特單元11111111和(0)L-m(1)m的二進制數(shù)進行與運算,其中上述(0)L-m(1)m表示在該二進制數(shù)中有L-m個0和m個1,由于在本實施例中L=8而m=1,所以該二進制數(shù)是00000001。經過與運算屏蔽掉經步驟二得出的信息比特單元中的高位,于是經與運算后得出信息比特單元00000001。
第四,將經步驟一后得出的信息比特單元和經步驟三后得出的信息比特單元進行或運算,從而得出與Dm狀態(tài)項對應的所述狀態(tài)比特單元。在本實施例中,經步驟1后得出的信息比特單元是01101010,而經步驟三后得出的信息比特單元是00000001,經過與運算后得出與狀態(tài)項D相對應的狀態(tài)比特單元01101011。
依此類推,即可得出與生成多項式中各狀態(tài)項對應的狀態(tài)比特單元。
以上是對本發(fā)明的較佳實施例的描述,熟悉本技術領域的人員應理解,對本發(fā)明的較佳實施例的各種變化和修正都落在本發(fā)明構思和范圍內。例如,在本發(fā)明的較佳實施例中例舉全速率語音業(yè)務采用約束長度為5的1/2碼率的卷積編碼的生成多項式,還可根據(jù)不同應用產生其它生成多項式,如對于6.0kbit/s的全速率數(shù)據(jù)也信道采用的約束長度為5的1/3卷積編碼,如式(4)、(5)和(6)。然后根據(jù)生成多項式對輸入比特流進行卷積編碼。有如,在本發(fā)明的較佳實施例中,信息比特單元的比特數(shù)位8,當然還可16位或32位,視具體應用而定。
權利要求
1.一種對輸入比特流進行高效卷積編碼的方法,其特征在于,包括下列步驟a.根據(jù)具體應用產生生成多項式;b.將待編碼的所述輸入信息比特流分成一個或多個信息比特單元;c.根據(jù)所述生成多項式,對于每個待編碼的所述信息比特單元進行卷積編碼,從而產生對應于該信息比特單元的經卷積編碼后的信息比特流,其中正在進行卷積編碼的所述信息比特單元即為當前信息比特單元。
2.如權利要求1所述的方法,其特征在于,所述具體應用包括業(yè)務種類;數(shù)據(jù)速率;編碼效率和約束長度。
3.如權利要求1所述的方法,其特征在于,所述生成多項式可包含1和/或一個或多個Dm的狀態(tài)項,其中m是大于等于1并小于等于所述信息比特單元的比特個數(shù)的整數(shù)。
4.如權利要求3所述的方法,其特征在于,所述步驟(c)中的卷積編碼是通過下列步驟完成的e.產生與所述生成多項式中各狀態(tài)項相對應的狀態(tài)比特單元;f.按照所述生成多項式,對所述各狀態(tài)比特單元逐位地進行異或運算,從而產生對應于所述當前信息比特單元的經卷積編碼后的信息比特流。
5.如權利要求4所述的方法,其特征在于,所述信息比特單元和所述狀態(tài)比特單元所包含的比特數(shù)(L)相等,并根據(jù)進行卷積編碼的處理器的處理位寬和所述輸入比特流的長度等綜合因素確定所述比特數(shù)。
6.如權利要求5所述的方法,其特征在于,在所述步驟(e)中,如果所述狀態(tài)項是1,那么所對應的狀態(tài)比特單元就是所述當前信息比特單元;如果所述狀態(tài)項是Dm,其所對應的狀態(tài)比特單元中的每一位都比所述當前信息比特單元中的每一位提前m位,其中所述狀態(tài)比特單元是通過如下步驟獲得如果所述處理器的處理位寬大于所述信息比特單元或所述狀態(tài)比特單元的比特數(shù),可直接從處理器一次處理提取的信息中獲得與Dm狀態(tài)項相對應的狀態(tài)比特單元;如果所述處理器的處理位寬等于所述信息比特單元或所述狀態(tài)比特單元的比特數(shù),那么通過對所述當前信息比特單元以及前一時刻的信息比特單元進行移位以及與或運算得出與Dm狀態(tài)項對應的所述狀態(tài)比特單元,其中所述前一時刻的信息比特單元中的每一位都比所述當前信息比特單元中的每一位提前L位。
7.如權利要求6所述的方法,其特征在于,通過對所述當前信息比特單元以及前一時刻的信息比特單元進行移位以及與或運算得出與Dm狀態(tài)項對應的所述狀態(tài)比特單元的所述步驟包括g.將所述當前信息比特單元向高位移m位,而低位補零;h.將所述前一時刻信息比特單元向低位符號移位達L-m位;i.對經步驟(h)后得出的信息比特單元和二進制數(shù)(0)L-m(1)m進行與運算,其中二進制數(shù)(0)L-m(1)m包括L-m個0和m個1;j.將經步驟(g)后得出的信息比特單元和經步驟(i)后得出的信息比特單元進行或運算,從而得出與Dm狀態(tài)項對應的所述狀態(tài)比特單元。
全文摘要
本發(fā)明提供一種高效的卷積編碼方法,包括下列步驟:a.根據(jù)具體應用產生生成多項式;c.將所述待編碼的輸入信息比特流分成一個或多個信息比特單元;d.根據(jù)所述生成多項式,對于每個待編碼的所述信息比特單元進行卷積,從而產生對應于該信息比特單元的經編碼信息比特流,其中正在進行卷積編碼的所述信息比特單元即為當前信息比特單元。
文檔編號H03M13/00GK1374759SQ0110563
公開日2002年10月16日 申請日期2001年3月9日 優(yōu)先權日2001年3月9日
發(fā)明者周璇 申請人:華為技術有限公司