應用陪集分割的交錯器的製作方法
2023-06-05 08:08:06 1
專利名稱:應用陪集分割的交錯器的製作方法
技術領域:
本發明涉及通信系統,特別涉及作代碼調製的交錯器。
發明
背景技術:
業已發現,編碼通信信道(即編碼調製)可改善數據機與無線通信系統等電子通信系統的誤碼率(BER)。對於以加白高斯噪聲(AWGN)或衰落為特徵的「隨機誤差」信道而言,Turbo(渦輪)編碼調製被證明是一種高效、帶寬有效的實用調製方法。這類隨機誤差信道可以在例如碼分多址(CDMA)環境中見到。
Turbo碼的主要創意是一個交錯器,可將原始數據幀置換後輸入第二編碼器。
圖1示出一常規的平行級聯在一起的Turbo編碼器,它包括兩個分編碼器102與104及一個交錯器106。開關108能間縮(puncture)來自各編碼器102與104的交替位而保持期望的比率(如R=1/2)。分編碼器的結構與工作原理以及比率的選用是眾所周知的,這裡不再討論。然而,交錯器的結構還是一個未解決的問題,尤其對小數據塊的Turbo碼更是如此。
最近,在加白高斯噪聲(AWGN)信道(如CDMA信道)中,如果數據幀規模趨於無限大,則常規「隨機交錯器」被認為最佳。然而,對於有限規模的數據幀(即Turbo碼)而言,最佳交錯器還有待於確定。
因此,對有限規模的數據幀提出了交錯器設計的要求。這樣,對有限規模的數據幀(即Turbo碼)提供交錯器,正是本發明的一個優點。本發明的另一優點是為預定規模的幀提供優化的交錯器。
發明概要本發明的一個方面是提供一種對包含N個數據元的塊進行置換(排列)的方法,N是大於1且能被大於1的正整數n整除的正整數。該方法包括把塊分成n個陪集(co-set),每個陪集的規模為N/n;對每一陪集作置換;以及按預定順序將置換的陪集的元組合起來而形成置換的塊。
本發明的一個方面是通過對在所述塊中其相對於位置有一公共值(N模(n))的n個陪集元都賦值而將所述塊分成n個陪集的系統與方法。
本發明的一個方面是對適合該陪集規模的代數交錯器構件塊中的各陪集提供置換,並作數次陪集分割與交錯。本發明的一個方面是通過按該陪集生成m序列對各陪集作置換。
本發明的另一個方面提供一種根據一N系統位流生成Turbo碼的系統和方法,N是大於1且可被大於1的正整數n整除的正整數。該方法包括在第一編碼器中對N系統位編碼而生成第一N Turbo位流;將N系統位流分成每個規模為N/n的n個陪集;對各陪集作置換;通過以預定順序組合被置換的所述陪集而形成置換的N系統位流;在第二編碼器中對N個置換的系統位編碼而生成第二N Turbo位流;以及按預定順序將第一與第二N Turbo位流組合起來。
本發明的一個方面是通過對在流中其相對位置有一公共值(N模(n))的所述n個陪集元都賦值而將N系統位流分成n個陪集,並數次應用陪集分割與交錯。
本發明的一個方面是由系統位流生成兩Turbo位流,並對這兩個N Turbo位流間縮而保持預定的系統位/Turbo位之比。
下面將結合幾個示例實施例描述本發明;然而,本領域的技術人員顯然明白,在不背離所附權項的精神與範圍的情況下,可以作出各種修正和增減。
附圖簡述通過參照下面結合附圖對示例實施例所作的詳細描述,將更清楚理解本發明的詳細描述本發明揭示一種能提供常規Turbo碼性能的交錯器。本發明的一實施例通過拓展集分割映射原理,應用某種算法基於較小規模交錯器而構建任意規模的代數交錯器。該技術可對代數交錯器實現參數化,並按選擇的標準使交錯器優化。
描述的實施例可補償平行級聯的Turbo碼因間縮而丟失的奇偶檢驗位。應用陪集分割的代數交錯器,可提高間縮的Turbo碼(尤其對R=1/2)的性能。本發明可用軟體或硬體(即專用集成電路(ASIC)、可編程邏輯陣列(PLA)或任何其它合適的邏輯器件)實施。
雖然這裡討論的交錯器實施例是針對Turbo碼與cdma2000的,但是本領域的技術人員將理解,這類交錯器也可應用於當前的CDMA等其它系統和其它代碼。基於陪集分割構建的代數交錯器本發明交錯器的設計基於一種確定性的代數結構。它應用了陪集分割原理來設計代數交錯器,通過將數據塊分成更小的陪集小塊並用更小規模的代數交錯器使陪集交錯,這種代數交錯器能使任意規模的數據塊交錯。然後將來自交錯的陪集的諸元以預定順序組合起來形成交錯式的原始數據塊版本。
在本實施例中,通過對共享模n計算的同一餘數的數據塊的n個陪集元都賦值,實現了陪集分割。
例如,含12個元的數據塊可標為{1 2 3 4 5 6 7 8 9 10 11 12}可被分成2個陪集,包含{1 3 5 7 9 11}(模2,餘數=1){2 4 6 8 10 12}(模2,餘數=0)或被分成3個陪集,包含{1 4 7 10} (模3,餘數=1){2 5 8 11} (模3,餘數=2){3 6 9 12} (模3,餘數=0)或被分成4個陪集,包含{1 5 9 } (模4,餘數=1){2 6 10} (模4,餘數=2){3 7 11} (模4,餘數=3){4 8 12} (模4,餘數=0)(雖然還可把數據塊分成6個陪集,每個陪集為2個元,但是置換兩元陪集的結果可能不實用)。
現在詳細研究一下有48個數據元(標為元1~48)的數據塊的交錯例子。將該數據塊分成兩個陪集,一個陪集包含元1~48,模2,餘數為0(即24個「偶數」元2,4,6,……48),另一個陪集包含的元為模2,餘數1(即24個「奇數」元1,3,5,……47)。這兩個數據塊在討論中被稱為偶數據塊與奇數據塊。本領域的技術人員將理解,選擇2作為陪集數僅是示例,而不是限制。兩個數據塊將作逐行與逐列置換。
每個24元數據塊均被處理成4行乘6列的陣列,即N1×N2陣列,N1選成4,因而N2選成6。本領域的技術人員應理解,這些數字為示例,也可選擇其它數字。然後選擇質數P1與P2。P1是大於N1的質數;最好使最小質數大於N1,但是選用更大的質數本方法也可適用。因此,對P1選5,因為5是大於4的最小質數(N1為4)。同樣地,對P2選7,因為7是大於6(N2值)的最小質數。接著選擇α1、α2、β1與β2的值α1與α2的值分別是常規方法求出的P1與P2的原始根。β1與β2可從下式選出最佳結果β1≤P1-1,和β2≤P2-1本例中,α1=2,α2=3,β1=1,β2=3。
把準備交錯的數據塊逐行讀入N1×N2陣列,這樣把偶數據塊讀成02 04 06 08 10 1214 16 18 20 22 2426 28 30 32 34 3638 40 42 44 46 48然後按下式置換行標誌Irow(n)對於n=1,2,…,P1-1irow(n)=α1n+β1mod(P1)間縮irow(n)>N1因此,對於本例的行1,2,3和4irow(1)=21+1mod 5=4 mod 5=4irow(2)=22+1mod 5=8 mod 5=3irow(3)=23+1mod 5=16 mod 5=1irow(4)=24+1mod 5=32 mod 5=2這樣,前者的行l變為行4,行2變為行3,依次類推,得出26 28 30 32 34 3638 40 42 44 46 4814 16 18 20 22 2402 04 06 08 10 12接下來按下式置換列標誌icol(n)對於n=1,2,…,P2-1icol(n)=α2n+β2mod(P2)間縮icol(n)>N2因此,對於本例的行1,2,3,4,5和6icol(1)=31+3mod 7= 81 mod 7=4icol(2)=32+3mod 7= 243 mod 7=5icol(3)=33+3mod 7= 729 mod 7=1icol(4)=34+3mod 7=2187 mod 7=3icol(5)=35+3mod 7=6561 mod 7=2icol(6)=36+3mod 7=19683 mod 7=6這樣,前者的列1變為列4,列2變為列5,依次類推,得到30 34 32 26 28 3642 46 44 38 40 4818 22 20 14 16 2406 10 08 02 04 12接著對行循環移動β1行(1行),得出42 46 44 38 40 4818 22 20 14 16 2406 10 08 02 04 1230 34 32 26 28 36再對列循環移動β2列(3列),得出38 40 48 42 46 4414 16 24 18 22 2002 04 12 06 10 0826 28 36 30 34 32逐列讀出交錯的偶數據塊,得出交錯的輸出標誌38,14,02,26,40,16,04,28,48,24,12,36,42,18,06,30,46,22,10,34,44,20,08,32。
應用同樣的處理使奇數據塊交錯(在研究的48元數據塊中的24個奇數元)。按預定順序重新組合交錯的陪集。規模不便於以數字處理的數據塊可以裝填成便於置換的規模,置換後可以廢棄裝填位置。例如,本例中,45元的數據塊在置換前可以擁有被添加的額外的元46、47和48,置換後可以廢棄元46、47和48。
這樣,對特定規模(這裡為24)的基本代數交錯器構成塊給出了參數,這些參數可以表示成兀{α1,α2,β1,β2},其中兀包含該交錯器數據塊,而根{α1,α2}和移位{β1,β2}可按不同的優化標準選擇,這類標準為某個代數交錯器制定並對構成塊規模改成其最優值。
圖2示出一例應用此類陪集交錯器的Turbo編碼器。本例中,把輸入序列分成兩個陪集,一個包括該輸入序列的偶數位,另一個包括奇數位。元204與206是將每個第二元傳給它們的十進位器。在通路中,單位延遲202隻結合十進位器204與206之一,其作用是將包括奇數系統位(1,3,…)序列的陪集傳至交錯器構成塊210,而將包括偶數系統位序列的陪集傳至交錯器構成塊208。本領域的技術人員理解,可以使用其它傳送方法。
開關108與212的開始位置被初始化成圖2所示的位置。然後與通過圖2中Turbo編碼器的位流同步地開關。這樣,開關212重建輸入編碼器104的單個數據塊,包括交錯器210輸出的第一元、交錯器208輸出的第一元、交錯器210輸出的第二元,等等。在不設開關108時,圖2的結構將輸出一比率R=1/3(對每個系統位輸入,將輸出一個系統位上兩個Turbo位)的位流。開關108間縮來自編碼器102與104各自的交替Turbo位,因而輸出的比率R=1/2。
選用規模N0=N/2的代數交錯器構成塊(陪集),N是準備交錯的塊的規模。把N0值選為N/2是一種設計選擇,本領域的技術人員理解,也可選用其它構件塊規模。然後對每個構件塊指定行數N1與列數N2,且N1×N2=N0。對第一構件塊,選擇的參數為{α1,α2,0,0},第二構件塊選擇的參數為{α3,α4,β1,β2}。根據Turbo碼的性能,用適當的值對參數化的交錯器優化。表1列出一組對cdma2000中規定的Turbo碼所確定的優化參數。
表1在本發明的另一些實施過程中,可作一次以上的陪集分割。上例中,偶陪集的列1,2,3,4,5和6被置換成列4,5,1,3,2和6,而且還可作陪集分割。即,把新的第一、第三和第五列取作一個陪集,而把新的第二、第四和第六列取作另一陪集,由此生成兩個陪集30 32 28 34 26 3642 44 40 和 46 38 4818 20 16 22 14 2406 08 04 10 02 12然後像上例那樣,使每個陪集作行與列循環移位,在本發明的其它實施過程中,每次行或列移位都可使用不同的值,即β值可以與行無關,或與列無關,或與行和列都無關。不丟失Turbo碼位的間縮的Turbo碼以陪集數為2實施本發明的陪集分割,一個附帶優點在於,得到特定比率R的間縮(由圖2的開關108實現)將不間縮對應於某一特定系統位的兩個Turbo碼位。圖3示出,對於圖1的常規Turbo編碼器,5個系統位包含S1~S5,以系統位S2為例,其對應的Turbo碼位T12與T22在間縮中都丟失了(對於某種假設的交錯位順序)。由於這些位流之一是相對於另一位流交錯的,所以無法保證不會出現這種情況,當在目的地解碼時,正確地解釋系統位2的概率減少了。
根據本發明,其中輸入序列分為偶序列與奇序列,對每個序列分別交錯,而且以後重新把序列組合起來,每個系統位在間縮後將保持一個其對應的Turbo碼位。
再者,可將單個偽隨機序列發生器(如m序列、M序列、Gold序列、kasami序列等)用作交錯器構件塊,或像圖4所示那樣,可用兩個m序列發生器408與410結合起來對陪集分割形成交錯器。
這樣將會看到,本發明提供的交錯處理能有利地應用於Turbo編碼器對有限規模的幀進行編碼。本領域的技術人員顯然理解,圖2和4示出的結構可提供帶陪集分割的Turbo編碼器。
應該理解,可對上述結構和前述操作順序加以更改而不偏離本發明的範圍。因此,上述描述或附圖示出的所有內容僅僅作為示例,並無限制的含義。
權利要求
1.一種置換數據元的數據塊的方法,其特徵在於,包括下述步驟將所述數據塊分成多個陪集;置換每個陪集;及以預定順序組合所述被置換陪集的元而形成置換數據塊。
2.如權利要求1所述的方法,其特徵在於,所述數據塊含N個數據元,N是大於1且可被n整除的正整數,n是大於1的正整數;及將所述數據塊分成陪集的步驟,包括對在所述數據塊中其相對位置有一公共值(N模(n))的n個陪集元都賦值。
3.如權利要求2所述的方法,其特徵在於,n值為2,因而第一陪集包含所述數據塊中的所有奇數元,而第二陪集包含所述數據塊中的所有偶數元。
4.如權利要求1所述的方法,其特徵在於,置換各陪集的步驟包括將各陪集逐行讀入有N1列、N2行的陣列,N1×N2等於N/n,N是所述數據塊中的元數,n是陪集數;選擇質數P1<N1和P2<N2;確定P1與P2的根α1與α2;選擇β1與β2值;將所述陣列的行標誌作為α1與β1的函數而置換;將所述陣列的列標誌作為α2與β2的函數而置換;將所述陣列的諸行循環移動β1行;將所述陣列的諸列循環移動β2列;及逐列讀出所述陣列的各陪集。
5.如權利要求1所述的方法,其特徵在於,置換各陪集的步驟包括將各陪集逐行讀入有N1列、N2行的陣列,N1×N2等於N/n,N是所述數據塊中的元數,n是陪集數;選擇質數P1<N1和P2<N2;確定P1與P2的根α1與α2;選擇β1與β2值;將所述陣列的行標誌作為α1與β1的函數而置換;將所述陣列的列標誌作為α2與β2的函數而置換;將所述陣列的各行循環移動預定的行數;將所述陣列的各列循環移動預定的列數;及逐列讀出所述陣列的各陪集。
6.如權利要求1所述的方法,其特徵在於,置換各陪集的步驟包括按各陪集產生一個m序列。
7.一種由系統元流生成Turbo碼的方法,其特徵在於,它包括下述步驟在第一編碼器中對系統諸元編碼而生成第一Turbo元流;將所述系統元流分成多個陪集;置換各陪集;以預定順序組合所述被置換的陪集而形成置換系統元流;在第二編碼器中對置換系統元編碼而生成第二Turbo元流;及以預定順序組合所述第一與第二Turbo元流。
8.如權利要求7所述的方法,其特徵在於,將所述系統元流分成陪集的步驟,包括對在所述流中其相對位置有一公共值(N模(n))的n個陪集元都賦值,N是所述系統元流中的元數。
9.如權利要求7所述的方法,其特徵在於,所述組合所述第一與第二NTurbo元流的步驟,包括間縮所述第一與第二Turbo元流以保持預定的系統元與Turbo元的比率。
10.如權利要求9所述的方法,其特徵在於,所述預定比率是1/2,n值為2,因而所述Turbo碼包括至少一個對應於各系統元的元。
11.用於置換數據元的數據塊的設備,其特徵在於,它包括將所述數據塊分成多個陪集的裝置;置換各陪集的裝置;及以預定順序組合所述置換陪集的諸元而形成置換數據塊的裝置。
12.如權利要求11所述的設備,其特徵在於,所述數據塊包含N個數據元,N是大於1且可被n整除的正整數,n是大於1的正整數;及將所述數據塊分成陪集的裝置對在所述數據塊中其相對位置有一公共值(N模(n)的n個陪集元都賦值。
13.如權利要求12所述的設備,其特徵在於,n值為2,因而第一陪集包含所述數據塊中所有的奇數元,而第二陪集包含所述數據塊中所有的偶數元。
14.如權利要求11所述的設備,其特徵在於,置換各陪集的裝置包括將各陪集逐行讀入N1列與N2行的陣列裝置,其中N1×N2等於N/n,N是所述數據塊中的元數,n是陪集數;選擇質數P1<N1和P2<N2的裝置;確定P1與P2的根α1與α2的裝置;選擇β1與β2值的裝置;置換所述陣列作為α1與β1函數的行標誌的裝置;置換所述陣列作為α2與β2函數的列標誌的裝置;將所述陣列的諸行循環移動β1行的裝置;將所述陣列的諸列循環移動β2列的裝置;及逐列讀出所述陣列的各陪集的裝置。
15.如權利要求11所述的設備,其特徵在於,置換各陪集的裝置包括將各陪集逐行讀入N1列與N2行的陣列裝置,其中N1×N2等於N/n,N是所述數據塊中的元數,n是陪集數;選擇質數P1<N1和P2<N2的裝置;確定P1與P2的根α1與α2的裝置;選擇β1與β2值的裝置;置換所述陣列作為α1與β1函數的行標誌的裝置;置換所述陣列作為α2與β2函數的列標誌的裝置;將所述陣列中各行循環移動預定行數的裝置;將所述陣列中各列循環移動預定列數的裝置;及逐列讀出所述陣列中各陪集的裝置。
16.如權利要求11所述的設備,其特徵在於,置換各陪集的裝置包括按各陪集產生一個m序列的裝置。
17.一種由系統元流生成Turbo碼的設備,其特徵在於,它包括對系統元編碼而生成第一Turbo元流的裝置;將所述系統元流分成多個陪集的裝置;置換各陪集的裝置;以預定順序組合所述被置換陪集而形成置換的系統元流的裝置;對置換的系統元編碼而生成第二Turbo元流的裝置;及以預定順序組合所述第一與第二Turbo元流的裝置。
18.如權利要求17所述的設備,其特徵在於,將所述系統元流分成諸陪集的裝置,對在所述流中其相對位置有一公共值(N模(n))的n個陪集元都賦值,其中N是所述系統元流中的元數。
19.如權利要求17所述的設備,其特徵在於,組合所述第一與第二N Turbo元流的裝置,間縮所述第一與第二Turbo元流以保持預定的系統元/Turbo元的比率。
20.如權利要求19所述的設備,其特徵在於,所述預定比率為1/2,n值為2,因而所述Turbo碼包括至少一個對應於各系統元的元。
21.一種置換數據元的數據塊的系統,其特徵在於,它包括將所述數據塊分成多個陪集的分割邏輯;置換各陪集的置換邏輯;及以預定順序組合所述被置換陪集諸元而形成置換數據塊的組合邏輯。
22.如權利要求21所述的系統,其特徵在於所述數據塊包含N個數據元,N是大於1且可被n整除的正整數,n是大於1的正整數;及所述分割邏輯對在所述數據塊中其相對位置有一公共值(N模(n))的n個陪集元都賦值。
23.如權利要求22所述的系統,其特徵在於,n值為2,因而第一陪集包含所述數據塊的所有奇數元,而第二陪集包含所述數據塊的所有偶數元。
24.如權利要求21所述的系統,其特徵在於所述置換邏輯包括讀入邏輯,將各陪集逐行存入N1列、N2行的陣列,N1×N2等於N/n,其中N是所述數據塊的元數,n是陪集數;算法邏輯,被配置成選擇質數P1<N1和P2<N2;確定P1與P2的根α1與α2;及選擇β1與β2值;數據處理邏輯,被配置成置換所述陣列的中作為α1與β1函數的行標誌;置換所述陣列的中作為α2與β2的函數列標誌;將所述陣列的諸行循環移動β1行;將所述陣列的諸列循環移動β2列;及讀出邏輯,逐列讀出所述陣列的各陪集。
25.如權利要求21所述的系統,其特徵在於,所述置換邏輯包括讀入邏輯,將各陪集逐行存入N1列、N2行的陣列,N1×N2等於N/n,其中N是所述數據塊的元數,n是陪集數;算法邏輯,被配置成選擇質數P1<N1和P2<N2;確定P1與P2的根α1與α2;及選擇β1與β2值;數據處理邏輯,被配置成置換所述陣列的中作為α1與β1函數的行標誌;置換所述陣列的中作為α2與β2的函數列標誌;將所述陣列中各行循環移動預定的行數;及將所述陣列中各列循環移動預定的列數,及讀出邏輯,逐列讀出所述陣列的各陪集。
26.如權利要求21所述的系統,其特徵在於,置換邏輯按各陪集生成一個m序列。
27.一種由系統元流生成Turbo碼的系統,其特徵在於,它包括配置成對系統元編碼而生成第一Turbo元流的第一編碼器;配置成將所述系統元流分成多個陪集的分割邏輯;配置成置換各陪集的置換邏輯;按預定順序組合所述被置換陪集而形成置換的系統元流的第一組合邏輯;對置換的系統元編碼而生成第二Turbo元流的第二編碼器;及按預定順序組合所述第一與第二Turbo元流的第二組合邏輯。
28.如權利要求27所述的系統,其特徵在於,所述分割邏輯對在所述流中其相對位置有一公共值(N模(n))的n個陪集元都賦值,其中N是所述系統元流的元數。
29.如權利要求27所述的系統,其特徵在於,所述第二組合邏輯間縮第一與第二Turbo元流,以保持預定的系統元/Turbo元的比率。
30.如權利要求29所述的系統,其特徵在於,所述預定的比率是1/2,n值為2,因而所述Turbo碼包括至少一個對應於各系統元的元。
全文摘要
通過把數據塊分成預定規模的陪集,運用對預定規模選擇並優化了其參數的交錯器對各陪集作置換,再按預定順序重新組合被置換的陪集的元,有利於對任何規模的數據塊構建一種Turbo碼交錯器。通過對陪集數選用值n,並對其在數據塊的位置有公共值的各陪集賦值,可將數據塊分成陪集,該公共值為數據塊的規模與n的模。可對置換的輸出作間縮,以保持期望的比率。
文檔編號H03M13/45GK1321364SQ99810258
公開日2001年11月7日 申請日期1999年9月29日 優先權日1998年9月29日
發明者李斌, 童文, 崔健, 汪瑞 申請人:諾泰網絡有限公司