專利名稱:透平編碼器和信道編碼方法
技術領域:
本發(fā)明涉及用于通信系統(tǒng)的自適應(adaptive)信道編碼方法和裝置,尤其涉及在聲音和數(shù)據(jù)的傳輸中使用的、用于對輸入信息位進行編碼的透平(turbo)編碼器及相應的信道編碼方法。
背景技術:
帶有兩個簡單的分量(或組成)(simple component(or constituent))編碼器的、以并行或串行結構構成的透平編碼器從輸入的N信息位幀中產生奇偶校驗符號。透平編碼器將遞歸系統(tǒng)卷積(recursive systematic convolutional,RSC)代碼用作分量(或組成)代碼。
圖1是由Berrou在美國專利NO.5,446,747中公開的一種傳統(tǒng)的并行透平編碼器的方框圖。在圖1的透平編碼器中,交織器12置于第一和第二分量編碼器11和13之間。該交織器12的大小與輸入的信息位的幀長N相等,并修改第二分量編碼器13中收到的信息位的順序以便減小信息位之間的相關性。圖2是一種傳統(tǒng)的串行透平編碼器的方框圖,該串行透平編碼器也有在第一和第二分量編碼器11和13之間連接的交織器12。
上述卷積編碼器產生用于空間通信的透平代碼。盡管分量編碼器11和13中的約束長度K比傳統(tǒng)卷積代碼的約束長度(即,K=9)要短,但交織器12使用非常大的存儲器,造成了在解碼時非常長的時延。
圖3也是由Berrou在美國專利NO.5,446,747中公開的一種對圖1中所示的并行卷積編碼器的輸出進行解碼的卷積解碼器的方框圖。圖4是由Benedetto于1996年6月在IEEE電子信件(IEEE Electronics Letters)第32卷第13號中的一篇文章中提出的、用于對圖2所示的串行透平編碼器的輸出進行解碼的卷積解碼器的方框圖。
圖3中的并行卷積解碼器通過采用迭代解碼算法對幀單元中的輸入數(shù)據(jù)進行重復解碼,有利地改善了關于位錯誤率(bit error rate,BER)的性能特性。交織器323在校正第二解碼器327中的突發(fā)錯誤模式之前,通過分配沒有被第一解碼器319校正的突發(fā)錯誤模式,使錯誤校正能力得以提高。
迭代解碼指的是利用產生的外部信息對在特定程序中解碼得到的符號進行重復解碼,以便實現(xiàn)極好的解碼性能。迭代解碼算法是SOVA(軟輸出Viterbi算法見《IEEE車輛技術會刊學報》,1993年5月第941到944頁(Soft-OutputViterbi Algorithmsee Proceedings of IEEE Vehicular Technology Conference,pp.941-944,May 1993))和MAP(最大限度的歸納可能性見《IEEE關于信息理論的學報》,1996年3月第42卷第二號第429到445頁(Maximum AposterioriProbabilitysee IEEE Transactions on Information Theory,PP429-445,Vol.42,No.2,March 1996))。SOVA是對產生軟決定輸出(soft decision output)的Viterbi算法進行的改進,并能使代碼字(codeword)錯誤率最小化。另一方面,MAP能使符號錯誤率最小化。
在圖3的解碼器中,當從圖1的第一分量編碼器11中收到奇偶校驗符號yk時,解穿孔器(depuncturer)3 13的輸出y1k和y2k分別為yk和0,然而當從圖1的第二分量編碼器13中收到奇偶校驗符號yk時,y1k和y2k分別是0和yk。Zk+1是在迭代解碼算法中用作外部信息的軟決定符號(soft decision symbol)和用于下一階段解碼的輸入。通過將Zk+1進行硬決定(hard decision)得到最終所需的符號。透平代碼的性能取決于交織器的大小、交織器的結構和迭代解碼的次數(shù)。
如圖1所示,透平編碼器包括交織器12。交織器12使得透平編碼/解碼在幀單元中完成。這樣,透平代碼的復雜性與圖3所示的第一和第二迭代解碼器319和327所必需的存儲器的幀大小(size)與用于第一和第二分量編碼器11和13的分量代碼的狀態(tài)數(shù)量的乘積是成比例的。由于透平代碼使用非常多的幀,因而并不能應用在聲音和數(shù)據(jù)傳輸中。為了取得更好的性能,不斷增加用于透平編碼器的分量代碼的狀態(tài)數(shù)量,從而增加了第一和第二分量編碼器11和13的復雜性。
由于如圖3所示的解碼器中發(fā)生突發(fā)錯誤,因此第一迭代解碼器319的輸出具有相關性,它能妨礙下一解碼階段中第二迭代解碼器327中的可靠解碼。因此,在整個塊(block)中會發(fā)生錯誤而且在下一迭代解碼階段不可能得到糾正。在這個范圍(context),總是不斷需要能分配代碼的單個幀中的突發(fā)錯誤的交織器和解交織器(deinterleaver),使迭代解碼不再有相關性。
由于具有低相關性的優(yōu)點,隨機交織器改善了透平代碼的性能。然而,因為隨機交織器的幀大小較小,所以在無相關性地有效分配突發(fā)錯誤方面存在局限而且需要查找表。因此,聲音傳輸或低速率數(shù)據(jù)傳輸要求有小的幀大小和數(shù)量較小的分量代碼狀態(tài),以便使時延最小化。聲音傳輸或低速率數(shù)據(jù)傳輸還需要結構化的交織器。總之,由于不能接受分量代碼的約束長度和大的交織器,所以傳統(tǒng)的透平代碼在聲音和數(shù)據(jù)傳輸中是不可行的。盡管如此,考慮到傳統(tǒng)的透平代碼的優(yōu)點,仍然不斷努力實現(xiàn)用于通信系統(tǒng)的編碼器和解碼器。
因此,存在對一種具有與傳統(tǒng)通信系統(tǒng)中的卷積編碼器相同或更高性能的卷積編碼器的需要。還存在對一種具有較少的分量代碼狀態(tài)和最小時延的極佳性能的交織器的需要。盡管用在透平編碼器中的圖1或圖2的交織器12的性能大體上與交織器大小成比例,但是透平代碼的幀大小是有限的。在這種情況下,最好使用一種使關于塊代碼的透平代碼的漢明(hamming)距離最大化的交織器。結構化的交織器能用于小的幀。
發(fā)明內容
因此,本發(fā)明的一個目的是提供一種透平編碼方法和裝置,它能對通信系統(tǒng)中的聲音和低傳輸速率數(shù)據(jù)進行編碼。
本發(fā)明的另一個目的是提供一種并行或串行透平編碼方法或裝置,其中對角交織器用于在通信系統(tǒng)中交織輸入數(shù)據(jù),而不考慮幀大小為多大。
本發(fā)明還有一個目的是提供一種用于在將聲音和數(shù)據(jù)信號編碼成透平代碼的裝置中的信道上傳輸尾部位(tail bit)以及從該尾部位產生的奇偶校驗位的方法和裝置。
本發(fā)明還有一個目的是提供一種通過在將聲音和數(shù)據(jù)信號編碼成透平代碼的裝置中的穿孔數(shù)據(jù)和奇偶校驗信息,對數(shù)據(jù)傳輸率進行調整的方法和裝置。
為達到以上目的,提供了一種透平編碼器。該透平編碼器包括多個用于對輸入信息位進行編碼的分量編碼器,以及連接到所述多個分量編碼器之一的輸入端的對角交織器,該對角交織器具有一表,用于存儲對應于可變幀大小的列和行信息、確定對應于輸入信息的幀大小的列和行信息、和對信息位對角交織。
按照本發(fā)明的另一方面,提供了一種透平編碼器。該透平編碼器包括多個用于對輸入信息位進行編碼的分量編碼器,以及連接到所述多個分量編碼器之一的輸入端的循環(huán)移位交織器,該交織器具有一表,用于存儲對應于可變幀大小的跳躍和步進(hop and step)信息、確定對應于輸入信息位的幀大小的跳躍和步進信息以及對于信息位執(zhí)行循環(huán)移位交織。
按照本發(fā)明的另一方面,提供了一種透平編碼器。該透平編碼器包括多個用于對輸入信息位進行編碼的分量編碼器,連接到所述多個分量編碼器之一的輸入端、用于按照幀大小對信息位進行交織的一交織器,以及與分量編碼器一樣多的尾部位生成器,這些位生成器對輸入到用于終止幀的分量編碼器中的信息位進行分塊(blocking)、分析分量編碼器中的各存儲裝置的值,以及生成尾部位以便終止輸入數(shù)據(jù)的幀。
按照本發(fā)明的另一方面,提供了一種透平編碼器。在該透平編碼器中,多個分量編碼器對輸入信息位進行編碼。一交織器被連接到所述分量編碼器之一的輸入端,用于按照幀大小交織信息位。與分量編碼器一樣多的尾部位生成器,對輸入到用于終止幀的分量編碼器的信息位進行分塊、分析分量編碼器中的各存儲裝置的值,并生成尾部位,以便終止輸入數(shù)據(jù)的幀。第一穿孔器(puncturer)以預定的速率穿孔輸入信息位。第二穿孔器以預定的速率穿孔分量編碼器的輸出,以便調整編碼數(shù)據(jù)的傳輸速率。
具體來講,本發(fā)明提供了一種透平編碼器,用于對輸入信息位進行編碼,所述編碼器包括第一分量編碼器,用于對輸入信息位進行編碼,以生成第一奇偶校驗位;一交織器,用于交織所述輸入信息位;第二分量編碼器,用于對所交織的輸入信息位進行編碼,以生成第二奇偶校驗位;第一尾部位生成器,用于生成第一尾部位,該第一尾部位用于初始化所述第一分量編碼器中的存儲器;第二尾部位生成器,用于生成第二尾部位,該第二尾部位用于初始化所述第二分量編碼器中的存儲器;第一切換器,用于將所述第一分量編碼器的輸入從輸入信息位切換到一幀端部的第一尾部位;以及第二切換器,用于將所述第二分量編碼器的輸入從交織后的輸入信息位切換到所述幀端部的第二尾部位。
本發(fā)明還提供了一種信道編碼方法,用在具有第一分量編碼器和第二分量編碼器的信道編碼器中,所述方法包括下列步驟由所述第一分量編碼器生成輸入信息位的第一奇偶校驗位;對所述輸入信息位進行交織;由所述第二分量編碼器生成交織后的輸入信息位的第二奇偶校驗位;生成第一尾部位,該第一尾部位用于初始化所述第一分量編碼器中的存儲器;生成第二尾部位,該第二尾部位用于初始化所述第二分量編碼器中的存儲器;以及將所述第一分量編碼器的輸入從輸入信息位切換到第一尾部位,并且將所述第二分量編碼器的輸入從交織后的輸入信息位切換到一幀端部的第二尾部位。
通過參照附圖詳細描述本發(fā)明的優(yōu)選實施例,本發(fā)明的以上目的和優(yōu)點將會變得更明朗。
圖1是傳統(tǒng)的并行連接(concatenate)的遞歸系統(tǒng)編碼器的方框圖;圖2是傳統(tǒng)的串行連接的遞歸系統(tǒng)編碼器的方框圖;圖3是傳統(tǒng)的并行連接的遞歸系統(tǒng)解碼器的方框圖;圖4是傳統(tǒng)的串行連接的遞歸系統(tǒng)解碼器的方框圖;圖5是按照本發(fā)明的第一實施例的連接的剃歸系統(tǒng)編碼器的方框圖;圖6是按照本發(fā)明的第二實施例的連接的剃歸系統(tǒng)編碼器的方框圖;圖7是按照本發(fā)明的第一實施例的透平編碼器中的對角交織器的方框圖;圖8是表示在圖7所示的對角交織器中第一對角交織運算的流程圖;圖9是按照本發(fā)明的第二實施例的透平編碼器中循環(huán)移位交織器的方框圖;圖10是表示在圖9的循環(huán)移位交織器中第一循環(huán)移位交織器運算的流程圖;圖11是表示圖7所示的交織器中第二循環(huán)移位交織運算的流程圖;圖12是表示按照本發(fā)明的第二實施例,基于隨機和塊交織器的透平編碼的特性與基于循環(huán)移位交織的透平編碼器的特性的對比的圖;及圖13是按照本發(fā)明的實施例的透平編碼器的方框圖,是指用于描述尾部位生成和穿孔的方框圖。
具體實施例方式
為使描述清晰,本發(fā)明的實施例將參照并行連接的遞歸透平編碼器進行描述,諸如串行遞歸透平編碼器的其它結構將被考慮。圖5和6是按照本發(fā)明的實施例的透平編碼器的方框圖。類似于圖1和圖2的分量編碼器,編碼器410和420是用于將輸入信息位dk編碼成奇偶校驗符號Yk的分量編碼器。對角交織器432和循環(huán)移位交織器434是本發(fā)明的特征,并且在不特指某一種的情況下將被稱為交織器430。
參照圖5和6,信息位dk被同時輸入到第一分量編碼器410和交織器430。交織器430將修改排列好的信息位的順序并且最好使相應于信息位dk的編碼輸出順序(Xk,Yk)的最小漢明距離最大化。因為數(shù)據(jù)中加入了CRC(循環(huán)冗余檢查)位和其它控制位,輸入到信道編碼器的數(shù)據(jù)幀的長度是可變的。基于幀大小和交織器大小的區(qū)別,為強性固定數(shù)據(jù)幀的長度,應該加入空白比特。但是,因為這些空白比特與提高系統(tǒng)性能無關,因此最好減少這些空白比特。這樣,交織器430提供了極好的性能和可靠的運算,而不管與幀大小相關的參數(shù)。
圖7是分別在圖5和圖6中所示的對角交織器432和循環(huán)移位交織器434的方框圖。對角和循環(huán)移位交織器432和434在接收到信息位時分析其相應的可變幀大小,并且按照幀大小分析結果,用從系統(tǒng)控制器接收的與交織器有關的參數(shù)來對輸入信息位執(zhí)行最優(yōu)化交織。在對本發(fā)明的實施例的描述中,對角交織器432和循環(huán)移位交織器434被結合成一體,然而,透平編碼器可特別地分別使用對角交織器或循環(huán)移位交織器。在下文中,對角交織器432和循環(huán)移位交織器434被稱為交織器430。
參照圖7,寄存器511存儲從系統(tǒng)控制器(未示出)接收的幀大小信號和交織器類型信號。對角交織表513存儲矩陣中的列數(shù)和行數(shù)M和N,該矩陣能使關于對角交織中的幀大小得到最佳的對角交織特征。即,它存儲了測定的、能使帶有可變幀大小的信息位對角交織最佳的M*N值。對角交織表513輸出對應于從寄存器511接收到的幀大小信號的M*N值。對角交織控制器517接收來自對角交織表513的M*N值并且以指定的交織方法生成用于交織信息位的讀地址。
在循環(huán)移位交織的情況下,循環(huán)移位交織表515存儲能使關于信息位的幀大小的循環(huán)移位交織特征最佳的跳躍參數(shù)P和步進參數(shù)STEP。跳躍參數(shù)P和步進參數(shù)STEP是經驗測定的。循環(huán)移位交織表513輸出對應于從寄存器511接收的幀大小信號的參數(shù)P和STEP。循環(huán)移位交織控制器519接收來自循環(huán)移位交織表515的參數(shù)P和STEP并且以指定的循環(huán)移位交織方法生成用于對信息位進行交織的讀地址。多路復用器521接收來自對角交織控制器517和循環(huán)移位交織控制器519的讀地址并且按照從寄存器511接收的交織類型符號選擇其中的一種。存儲器523順序接收信息位并且以交織順序輸出存儲在從多路復用器521接收到的讀地址上的信息位。存儲器523設計的大小應足以容納帶有最大可變幀大小的信息位。
對于圖7中僅有對角交織器432的結構,包括寄存器511、對角交織表513、對角交織控制器517和存儲器523。另一方面,對于圖7中僅有循環(huán)移位交織器434的結構,包括寄存器511、循環(huán)移位交織表515、循環(huán)移位交織控制器519和存儲器523。如果僅使用一種類型的交織,這兩種情況都不需多路復用器521和交織器類型信號。
對角交織表513和循環(huán)移位交織表515可由類似于ROM或RAM的存儲器或組合的邏輯裝置組成。利用組合的邏輯裝置或數(shù)字信號處理器,能實現(xiàn)對角交織控制器517和循環(huán)移位交織控制器519。
圖8和圖9是典型的對角交織的流程圖,而圖10和圖11是典型的循環(huán)移位交織的流程圖。作為示例將在下文描述的交織器,包括輸入緩沖器。
參照圖7所示的交織器430的結構,將在下文中描述第一到第三對角交織運算。
圖8是第一對角交織運算的流程圖。在圖8中,第一對角交織包括在M*N矩陣中重新排列輸入位順序的過程。對于第一對角交織,在步驟611,在接收到信息位dk時,該信息位將被存儲在用于在存儲器523(圖7)中順序存儲信息位的地址old_addr[k]處,并且確定數(shù)據(jù)幀的大小k。接著,在步驟613,確定用于對角交織的數(shù)據(jù)幀的列和行參數(shù)M*N。即,為實現(xiàn)對角交織,要基于輸入的幀數(shù)據(jù)大小k從對角交織表指定M*N值。按照輸入幀大小k,可在查找表中存儲多個M*N值以供選擇。另一方面,按照輸入幀大小k,可計算最佳的M*N值。在步驟615,決定M和N的最大公約數(shù)(greatest common divisorGCD)是否為1。在步驟617,當M和N的GCD為1時,第一對角交織地址如下運算。
for(k=0;k<M*N-1;k++)new addr[k]=(M-1-(kmod N))*N+(kmod N) ......(1)
隨著如公式(1)那樣對輸出緩沖器中的地址的指定,存儲在輸入緩沖器中的輸入信息位被交織并且存儲在輸出緩沖器中。
如果M和N的GCD不是1,即在步驟615中[GCD(M,N)≠1],將在步驟619中確定交織失敗并且中斷程序。
在第一對角交織中,假定存儲在old_addr[k]中的、M=6和N=5的數(shù)據(jù)順序為{0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2728 29},那么存儲在輸出緩沖器中的new_addr[k]中的第一對角交織器輸出順序為{25 21 17 13 90 26 22 18 14 51 27 23 19 10 62 28 24 15 11 73 29 20 16 1284}。
輸入數(shù)據(jù)和第一對角交織輸出以M*N矩陣列表如下。
輸入順序(M=6,N=5)交織順序(M=6,N=5)0 1 2 3 4 25 21 17 13 95 6 7 8 9 0 26 22 18 1410 11 12 13 14 5 1 27 23 1915 16 17 18 19 10 6 2 28 2420 21 22 23 24 15 11 7 3 2925 26 27 28 29 20 16 12 8 4然而,以上的第一對角交織僅當M和N的GCD為1的情況下是可行的。當GCD(M,N)≠1時,例如,M=6,N=6時,第一對角交織是不可能的并且相同的數(shù)據(jù)被重寫為如表2所示。
輸入順序(M=6,N=6)交織順序(M=6,N=6)0 1 2 3 4 5 30 25 20 15 10 56 7 8 9 10 1130 25 20 15 10 512 13 14 15 16 1730 25 20 15 10 518 19 20 21 22 2330 25 20 15 10 524 25 26 27 28 2930 25 20 15 10 530 31 32 33 34 3530 25 20 15 10 5第二和第三對角交織包括用于改變以M*N矩陣表示的輸入信息位順序的過程,并且不管GCD(M,N)=1或≠1都能使輸入數(shù)據(jù)進行交織。
圖9是第二對角交織運算的流程圖。參照圖9,第二對角交織對M*N矩陣中的輸入位重新排序并且可應用在GCD(M,N)=1和GCD(M,N)≠1的兩種情況下。在第二對角交織中,當信息位dk被輸入時,在步驟631中,信息輸入位被存儲在地址old_addr[k]處,并且確定幀大小。在步驟633中,用于對角交織的列和行參數(shù)(M*N)得以確定。在步驟635中,第二對角交織地址是這樣運算的for(j=0;j<M;j++)for(i=0;i<N;i++)new addr[i+j+N]=i+(M-1-(i+j)mod M)*N……(2)其中i和j遞增幀的存儲單元。
隨著如公式(2)那樣對輸出緩沖器中的地址的指定,存儲在輸入緩沖器中的信息位被交織并存儲在輸出緩沖器中。
對應于M=6,N=5和GCE(M,N)=1的輸入順序的第二對角交織輸出如表3所示。
輸入順序(M=6,N=5) 交織順序(M=6,N=5)0 1 2 3 4 25 21 17 13 95 6 7 8 9 20 16 12 8 410 11 12 13 1415 11 7 3 2915 16 17 18 1910 6 2 28 2420 21 22 23 245 1 27 23 1925 26 27 28 290 26 22 18 14另外,M=6,N=6及GCD(M,N)≠1的輸入順序的交織如表4所示。
輸入順序(M=6,N=6) 交織順序(M=6,N=6)0 1 2 3 4 5 30 25 20 15 10 56 7 8 9 10 11 24 29 14 9 4 3512 13 14 15 16 17 18 13 8 3 34 2918 19 20 21 22 23 12 7 2 33 28 2324 25 26 27 28 29 6 1 32 27 22 1730 31 32 33 34 35 0 31 26 21 16 11
在第三對角交織中,對角交織控制器517由下式實現(xiàn)。
for(j=0;j<M;j++)for(i=0;i<N;i++)new addr[i+j+N]=i+((i+j)mod M)*N.......(3)輸入順序存儲在映射存儲器的地址處,然后由對角交織器432按列或行順序讀取。否則,輸入順序以列或行存儲在存儲器中并且由對角交織器432逐位從地址中讀取。
解交織是以相反于交織輸入數(shù)據(jù)的順序來實現(xiàn)的。
圖10是由循環(huán)移位交織器434實現(xiàn)的第一循環(huán)移位交織的流程圖。第一循環(huán)移位交織運算是在將輸入順序視為循環(huán)的情況下,在預定間隔中的數(shù)據(jù)重新排序過程。不管其長度是多大,第一循環(huán)移位交織運算都能交織輸入順序。
參照圖10,在步驟711,輸入信息位dk被存儲在輸入緩沖器的地址old_addr[k]處,并且確定幀大小。在步驟713,參數(shù)P和STEP得以確定。這里,P是確定循環(huán)移位交織器性能的跳躍間隔參數(shù),這樣根據(jù)經驗可得到其值從而取得最佳的效果。另外,STEP是用于將跳躍了P值的位置處的數(shù)據(jù)向左或右移位,并且是整數(shù)值。然后,在步驟715將確定P和SIZE的GCD是否為1。在步驟717,當GCD(P,SIZE)=1時,將由下式計算出第一循環(huán)移位交織地址for(i=0;i<SIZE;i++)new addr[i]=(p*i+STEP)mod SIZE.......(4)其中,i是表示輸入數(shù)據(jù)的幀大小的參數(shù),或者表示小于輸入數(shù)據(jù)幀大小的幀大小的參數(shù),其范圍從0到SIZE,即,它是地址的數(shù)目,SIZE是幀大小,p是滿足GCD(SIZE,P)=1的自然數(shù),以及STEP是整數(shù)并且表示開始點。
例如,對應于存儲在輸入緩沖器的new_addr[k]中的、SIZE=30的輸入順序的第一循環(huán)移位交織輸出存儲在緩沖器的new_addr[k]中,即,如果P=11且STEP=0,則{0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2425 26 27 28 29}是{0 11 22 3 14 25 6 17 28 9 20 112 23 4 15 26 7 18 29 10 21 213 24 5 16 27 8 19}。輸入順序和第一循環(huán)移位交織輸出順序用表表示為[表5]輸入順序(M=6,N=5)交織順序(M=6,N=5,p=11)
0 1 2 3 4 0 11 22 3145 6 7 8 9 25 6 17 28 910 11 12 13 14 20 1 12 23 415 16 17 18 19 15 26 7 18 2920 21 22 23 24 10 21 2 13 2425 26 27 28 29 5 16 27 819然而,如果GCD(SIZE,p)≠1且p=6,那么第一循環(huán)移位交織會因相同的數(shù)據(jù)被重寫而不再可行。
假定用于輸入順序的SIZE=30存儲在初始存儲器的順序地址odd_addr[k]中,P=11且STEP=0,則相應于圖10的第一循環(huán)移位交織的交織結果用M*N矩陣表示如下[表6]輸入順序(M=6,N=5)交織順序(M=6,N=5,p=6)0 1 2 3 4 0 6 12 18 245 6 7 8 9 0 6 12 18 2410 11 12 13 14 0 6 12 18 2415 16 17 18 19 0 6 12 18 2420 21 22 23 24 0 6 12 18 2425 26 27 28 29 0 6 12 18 24如圖11所示,第二循環(huán)交織方案包括允許在GCD(SIZE,p)≠1的情況下進行交織。第二循環(huán)移位交織是數(shù)據(jù)重組過程,其中輸入順序被視為dxSIZE/d的矩陣,行被第一循環(huán)移位交織,而列被塊交織(block interleaved)。
圖11是第二循環(huán)移位交織的流程圖,它在GCD(SIZE,p)=1或≠1的情況都可被應用。在第二循環(huán)移位交織運算中,在步驟721,輸入信息位被存儲在存儲器的順序地址odd_addr[k]處并且大小將得到確定。這里,SIZE是表示輸入數(shù)據(jù)的大小的參數(shù)。在步驟723,確定用于循環(huán)移位交織的參數(shù)P和STEP。在步驟725,第二循環(huán)移位交織地址將由公式(5)取得。
d=GC(P,SIZE);for(k-j=0;j<d;j++)for(addr[k]=((p*i+STEP)+j)mod SIZE……(5)其中,i和k介于0和SIZE之間,j是地址參數(shù),其范圍從0到d,P是用于實現(xiàn)循環(huán)移位交織的跳躍參數(shù),以及STEP是通過將放置在P設定的位置中的數(shù)據(jù)移位到左或右來決定開始點的參數(shù)。
公式(5)中,(Px i+STEP)代表循環(huán)移位交織運算而j表示塊交織運算。SIZE是輸入數(shù)據(jù)的大小,p是自然數(shù),而STEP是整數(shù)。
當SIZE=30且P=11時,第二循環(huán)移位交織輸出以MxN表示為[表7]輸入順序(M=6,N=5)交織順序(M=6,N=5,p=11)0 1 2 3 4 0 11 22 3145 6 7 8 9 25 6 17 28 910 11 12 13 14 20 1 12 23 415 16 17 18 19 15 26 7 18 2920 21 22 23 24 10 21 2 13 2425 26 27 28 29 5 16 27 8 19它與表6的順序相同。然而當GCD(SIZE,p)≠1時,[表8]輸入順序(M=6,N=5)交織順序(M=6,N=5,p=15)0 1 2 3 4 0 15 1 16 25 6 7 8 9 17 3 18 4 1910 11 12 13 14 5 20 6 21 715 16 17 18 19 22 8 23 9 2420 21 22 23 24 10 25 11 26 1225 26 27 28 29 27 13 28 14 29在輸入順序存儲在映射存儲器的地址后,由循環(huán)移位交織器按列或行順序讀取數(shù)據(jù)。否則,輸入順序將按列或行順序存儲在存儲器中并且隨后從地址中逐位讀取。
解交織器以相反于交織輸入數(shù)據(jù)的順序來實現(xiàn)。
圖12是表示按照本發(fā)明的第二實施例的并行連接的透平編碼器中循環(huán)移位交織器的性能。在K=3、輸入104位幀、8個迭代解碼、BPSK(Bi-PhaseShift Key,雙相移位鍵)調制和AWGN(Additive White Gaussian Noise,附加白高斯噪聲)的分量代碼的條件下,大量使用的塊和隨機交織器與循環(huán)移位交織器就BER相互比較。從圖12得知,在BER為10-5情況下,循環(huán)移位交織器的Eb/No是3dB,而塊交織器的Eb/No是3.4dB。因此,可以推斷循環(huán)移位交織器在性能上優(yōu)于塊交織器0.4dB。
圖13是按照本發(fā)明的實施例的透平編碼器的方框圖。
參照圖13,第一分量編碼器410例如以K=3對輸入信息位進行編碼。交織器430以預定的方法對信息位進行交織以便修改信息位的順序。交織器430可按圖7所示的那樣構造。在這種情況下,可以實現(xiàn)第一到第三對角交織和第一到第三循環(huán)移位交織中的一種。第二分量編碼器420例如以K=3對交織器430的輸出進行編碼。
第一尾部位生成器450包括第一切換器(switch)455,連接到第一分量編碼器410的輸入端;異或門451,用于對第一分量編碼器410的存儲器412和413的輸出進行異或運算;以及位生成器453,用于按照異或門451的輸出生成用于終止幀的信號、并且將該信號施加到第一切換器455。在第一尾部位生成器450中,當一幀終止時,第一切換器455連接到第一分量編碼器410并生成幀終止信號。第二尾部位生成器460包括第二切換器465連接到第二分量編碼器420的輸入端;異或門461,用于對第二分量編碼器420的存儲器422和423的輸出進行異或運算;以及位生成器463,按照異或門461的輸出,生成幀終止信號且將該信號施加到第二切換器465。在第二尾部位生成器460中,當一幀終止時,第二切換器465連接到第二分量編碼器420并生成幀終止信號。
第一穿孔器470對信息位穿孔。第二穿孔器480對從第一和第二分量編碼器410和420接收的編碼數(shù)據(jù)進行穿孔。第一和第二穿孔器470和480用于調整數(shù)據(jù)傳輸率。多路復用器491對位生成器453和463的輸出進行多路復用。當一幀終止時,第三切換器493將從多路復用器491接收的尾部位切換到傳輸信道。
第一和第二尾部位生成器450和460分別生成用于終止第一和第二分量編碼器410和420的運算的尾部位。第一和第二穿孔器470和480的功能是將傳輸率調整到可接受的水平。
參照圖13,透平代碼含有用于終止分量編碼器410和420的尾部位。在這里,因為透平代碼的分量代碼是系統(tǒng)化的,所以即便是如同在非系統(tǒng)化的卷積代碼中那樣輸入連續(xù)的0,分量編碼器410和420的存儲器412和413、以及422和423都不被初使化。為了將最接近輸入的存儲器中的值設為0,第一和第二分量編碼器410和420得利用尾部位生成器將反饋值的和輸入到存儲器中。因此,透平編碼器需要與每個分量編碼器的存儲器一樣多的尾部位。第一和第二切換器455和465基于尾部位的生成而進行切換。接著,從尾部位生成的奇偶校驗位從第一和第二分量編碼器410和420施加到第二穿孔器480中,并且從尾部位器生成的尾部位被第三切換器493切換,以作為信息位Xk輸出。
最好將傳輸率設定成2的冪,以便減小硬件的復雜性。然而,在使用具有1/2的代碼率(code rate)的透平代碼時,384kps的傳輸率不可能是2的冪。在這種情況下,1/2透平代碼被穿孔成3/8透平代碼。特別地,在144kps的情況下,1/2透平代碼被穿孔成9/16透平代碼。9/16穿孔矩陣典型地表示為[表9]信息位111111111111111111RSC1 100101001010010010RSC2 010010010100101001[表10]信息位111011110111011110RSC1 101010101010101010RSC2 010101010101010101在表9和表10中,信息位是dk,它被施加到第一穿孔器470,而RSC1是奇偶校驗位,它從第一分量編碼器410施加到第二穿孔器480。在這里,表9典型地表示了從分量編碼器410和420輸出的奇偶校驗位的穿孔。這種情況下,有幾個相應于奇偶校驗位的連續(xù)的0。即,當奇偶校驗位被穿孔以便調整傳輸率時,如同表9中下劃線所表示的那樣,0連續(xù)地出現(xiàn)了。然而,由于每個分量編碼器410和420中有兩個存儲器,除非連續(xù)傳輸兩個或更多的奇偶校驗位,否則就會產生嚴重錯誤。因此,在本發(fā)明中信息位如表10中那樣被穿孔。表10表示與表9中的穿孔矩陣不同之處在于9/16穿孔矩陣中連續(xù)地傳輸了兩個或更多的奇偶校驗位。而且,由于迭代解碼的次數(shù)增加,透平代碼的性能得到了提高。
按照本發(fā)明以上的描述,透平代碼由于時延不能用于通信系統(tǒng)中的聲音和數(shù)據(jù)傳輸,卻可通過引入具有減小的大小的交織器而被應用在聲音和數(shù)據(jù)傳輸中,且表現(xiàn)出相對于透平編碼器中的透平代碼的優(yōu)良性能。而且,具有優(yōu)良性能的交織器減少了透平編碼器中的分量編碼器的狀態(tài)數(shù)量,從而又降低了解碼器的復雜性。另外,按照本發(fā)明以上描述的一個實施例,通過穿孔輸入信息,可提供多種編碼率。
盡管對本發(fā)明已經參照特定的實施例進行了詳細描述,但這僅僅是示例性的應用。因此,應該清楚地知道,在由所附權利要求提出的本發(fā)明的范圍和精神下,可由本領域的普通技術人員對其作各種修改。
權利要求
1.一種透平編碼器,用于對輸入信息位進行編碼,所述編碼器包括第一分量編碼器,用于對輸入信息位進行編碼,以生成第一奇偶校驗位;一交織器,用于交織所述輸入信息位;第二分量編碼器,用于對所交織的輸入信息位進行編碼,以生成第二奇偶校驗位;第一尾部位生成器,用于生成第一尾部位,該第一尾部位用于初始化所述第一分量編碼器中的存儲器;第二尾部位生成器,用于生成第二尾部位,該第二尾部位用于初始化所述第二分量編碼器中的存儲器;第一切換器,用于將所述第一分量編碼器的輸入從輸入信息位切換到一幀端部的第一尾部位;以及第二切換器,用于將所述第二分量編碼器的輸入從交織后的輸入信息位切換到所述幀端部的第二尾部位。
2.如權利要求1所述的透平編碼器,還包括一穿孔器,用于一次對所述第一奇偶校驗位或第二奇偶校驗位中的一個進行穿孔。
3.如權利要求1所述的透平編碼器,還包括一多路復用器,用于對所述第一尾部位和第二尾部位進行多路復用。
4.一種信道編碼方法,用在具有第一分量編碼器和第二分量編碼器的信道編碼器中,所述方法包括下列步驟由所述第一分量編碼器生成輸入信息位的第一奇偶校驗位;對所述輸入信息位進行交織;由所述第二分量編碼器生成交織后的輸入信息位的第二奇偶校驗位;生成第一尾部位,該第一尾部位用于初始化所述第一分量編碼器中的存儲器;生成第二尾部位,該第二尾部位用于初始化所述第二分量編碼器中的存儲器;以及將所述第一分量編碼器的輸入從輸入信息位切換到第一尾部位,并且將所述第二分量編碼器的輸入從交織后的輸入信息位切換到一幀端部的第二尾部位。
5.如權利要求4所述的信道編碼方法,還包括步驟有選擇地對所述第一奇偶校驗位或第二奇偶校驗位中的一個進行穿孔。
6.如權利要求4所述的信道編碼方法,還包括步驟對所述第一尾部位和第二尾部位進行多路復用。
全文摘要
提供了一種透平編碼器及相應的信道編碼方法。所述編碼器包括第一分量編碼器,用于對輸入信息位進行編碼,以生成第一奇偶校驗位;一交織器,用于交織所述輸入信息位;第二分量編碼器,用于對所交織的輸入信息位進行編碼,以生成第二奇偶校驗位;第一尾部位生成器,用于生成第一尾部位,該第一尾部位用于初始化所述第一分量編碼器中的存儲器;第二尾部位生成器,用于生成第二尾部位,該第二尾部位用于初始化所述第二分量編碼器中的存儲器;第一切換器,用于將所述第一分量編碼器的輸入從輸入信息位切換到一幀端部的第一尾部位;以及,第二切換器,用于將所述第二分量編碼器的輸入從交織后的輸入信息位切換到所述幀端部的第二尾部位。
文檔編號H03M13/27GK1492589SQ0214719
公開日2004年4月28日 申請日期1998年7月30日 優(yōu)先權日1997年7月30日
發(fā)明者樸昌洙, 李炫又, 李弼中, 孔駿鎮(zhèn), 金龍 申請人:三星電子株式會社