專利名稱:位倒置隨機交織的綜合地址發(fā)生的制作方法
背景技術(shù):
I.發(fā)明領域本發(fā)明涉及通信。具體地說,本發(fā)明涉及交織器(interleaver)中產(chǎn)生存儲地址的新穎和改進的方法和裝置。
II.相關技術(shù)的說明快速編碼(Turbo Coding)是正向糾錯(FEC)編碼的強有力的形式。正向糾錯涉及糾正發(fā)送的數(shù)據(jù)中的錯誤。為實現(xiàn)糾錯,在發(fā)送前對數(shù)據(jù)施加FEC編碼。一經(jīng)接收,就用解碼處理從接收到的數(shù)據(jù)恢復原始數(shù)據(jù)。提供這種糾錯允許在噪聲環(huán)境中成功的發(fā)送數(shù)據(jù),因此有利于各類數(shù)字通信。
快速編碼通常涉及最佳性能的隨機或偽隨機交織運用。隨機交織需要大而復雜的地址發(fā)生電路,這在用集成電路實現(xiàn)時是不希望的。此外,當要交織的塊的大小不是2的整數(shù)冪時,隨機地址發(fā)生器存在問題。
本發(fā)明針對更適合于在集成電路中實現(xiàn)地址發(fā)生的方法和裝置。這將增加快速編碼對所有應用的有效性,特別是在電路大小、成本和功耗成為算要關心的移動通信的場合。
發(fā)明概述本發(fā)明是交織器中地址發(fā)生的新穎和改進的方法和裝置。按照本發(fā)明的一個實施例,用隨機地址段和位倒置地址段來產(chǎn)生地址。由首先產(chǎn)生的兩個順序的交織段的候選位,選擇位交織器段。當?shù)谝晃唤豢椀匚欢萎a(chǎn)生大于最大地址的地址地時,第二位交織段被選。地址發(fā)生器允許對交織器和去交織器產(chǎn)生地址N的幀的大小,其中N不是2的整數(shù)冪,而無任何周期損失。
附圖簡述從下面結(jié)合附圖詳細說明中,本發(fā)明的特點、目的和優(yōu)點將更明業(yè),附圖中相同的標號全部對應一致。
圖1為交織器的方框圖;圖2為地址發(fā)生器的方框圖;圖3為地址發(fā)生器的方框圖;以及圖4為各種大小的交織器的表。
較佳實施例的詳細說明本發(fā)明是交織器中產(chǎn)生地址的新穎的和改進的方法和裝置。本發(fā)明可用于各種數(shù)學通信中,包括基于衛(wèi)星的通信系統(tǒng)和基于地面的數(shù)字通信系統(tǒng)、如蜂窩電話系統(tǒng)。這兩種系統(tǒng)都是“無線”的并用射頻電磁信號來發(fā)送其他信號或數(shù)據(jù)。有線系統(tǒng)也可使用本發(fā)明。本發(fā)明較佳地以集成電路來實,但顯然也可用其他各種方法來實,包括分立電路或門陳邏輯電路或在微處理器中用軟件運行。用來描述本發(fā)明的各方框圖示出了硬件配置和方法步驟。
圖1是根據(jù)本發(fā)明一個實施例配置的一般化的代碼交織器的框圖。代用交織器與信道交織器的區(qū)域在于發(fā)送和接收處理鏈中應用。一般說,代碼和信道交織器都用于采用快速編碼的系統(tǒng)中。所述的發(fā)明較佳是用于代碼交織器中,因為已知代碼交織器從使用偽隨機地址發(fā)生中獲得好處。信道交钷器在接收鏈中一般位于解碼器之前,且在接收鏈中代碼交織器之后。各種快速編碼系統(tǒng)和交織器描述在題為“Coding System Having State Machine Based Interleaver”的專利號09/158459號(1998年9月22提交),題為“Coding System havingState Machine Based Interleaver”的專利號09/172069號等批時繼續(xù)申請(1998年10月13日提交),以及題為“Turbo Code Interleaver Using LinearCogruential Sequence”的專利號09/205511(1998年12月4日提交)的美國專利中。所有這些均轉(zhuǎn)讓給本申請的受讓人并引入地址供參考。
待交織的數(shù)據(jù)(或碼元)存儲在交織器存儲器100中。為了實現(xiàn)適合地快速編碼的偽隨機交織,許多交織器組合了位倒置地址產(chǎn)生和偽隨機地址產(chǎn)生的使用。去交織器一般以類似于交織器的方式配置,只是其中施加計數(shù)器和交織的地址的次序被反轉(zhuǎn)了。
在示例的處理期間,用計數(shù)器102通過多路復用器104將數(shù)據(jù)寫入代碼交織器存儲器,作為地址發(fā)生器。當數(shù)據(jù)讀出時,由并置位倒置段和偽隨機段產(chǎn)生的地址,也通過多路復用器104施加。位倒置地址段發(fā)生器106產(chǎn)生位倒置地址段。偽隨機地址段發(fā)生器108產(chǎn)生偽隨機地址段。偽隨機地址段發(fā)生器也可以是例如狀態(tài)機。這兩段被并置且施加到多路復用器104。
這兩段可對應于存儲器的行和列,或列和行,但這并不是必須的。通過用所述兩地址段發(fā)生器產(chǎn)生的地址來讀出數(shù)據(jù),相對于讀入的次序而言該數(shù)據(jù)中輸出中具有高度隨機化形式并因此被交織。
在所述的本發(fā)明的實施例中,偽隨機地址段形成地址的最小有效部分,而位倒置交織器形成地址的最大有效部分。用為隨機和位倒置地址段實現(xiàn)交織的其他各種方法,包括在地址產(chǎn)生過程中加入附加步驟都是熟知的。一般說那些更復雜的其他系統(tǒng)也可從本發(fā)明的使用中得到好處。
當待交織的塊(代碼交織塊)的大小是2的整數(shù)冪(2i,2是整數(shù))時,則可用由兩地址段的并置產(chǎn)生的整組地址。但當代碼交織塊的大小不是2的整數(shù)冪時,則只可使用部分的地址。在偽隨機地址發(fā)生器范圍內(nèi),不用的地址一般被“破壞”而不能再用。但如果一行內(nèi)必須破壞幾個地址,則可能沒有足夠的時鐘周期用來產(chǎn)生適當?shù)牡刂贰?br>
無能力適時地產(chǎn)生地址將破壞電路的運行,故要求附加的復雜性或需要高時鐘速度,這會增加功耗或不可行。按照本發(fā)明的一個方面提供的交織地址發(fā)生單元,它保證在每個時鐘周期期間產(chǎn)生適當?shù)牡刂贰?br>
圖2為按本發(fā)明一實施例配置的地址發(fā)生單元的框圖。地址發(fā)生單元包括位倒置地址段發(fā)生器200(示例實施例中用作行發(fā)生器,也簡稱為行段發(fā)生器)和偽隨機地址段發(fā)生器202(示例實施例中用作列發(fā)生器,也簡我為列段發(fā)生器。由并置的位倒置地址段和偽隨機地址段形成最后的地址。
在位倒置地址段發(fā)生器200內(nèi),行發(fā)生器210產(chǎn)生當前地址的位到置行段。行+1發(fā)生器212產(chǎn)生下一地址的行段。當前位倒置地址段從行發(fā)生器210被施加到多路復用器214和控制電路216。下一位倒置地址段從行+1發(fā)生器212也施加到多路復用器214。多路復用器214輸出最后的行(最終用來產(chǎn)生地址的位倒置地址段)。
在偽隨機地址段發(fā)生器202中,當前列發(fā)生器(col)203產(chǎn)生當前地址的偽隨機地址段,并被施加到多路復用器234。此外,當前列發(fā)生器230的輸出被輸入到控制單元216。下一列發(fā)生器(col+1)232產(chǎn)生下地址的偽隨機地址段,并被施加到多路復用器234。多路復用器234輸出最后的列(最終用來產(chǎn)生地址的偽隨機地址段)。本發(fā)明示例中,行和列在每個地址改變期間改變。
在運作中,控制單元216接收當前地址的列和行。并判斷最好地址(示例中兩段并置)是否大于N。N是代碼交織器中數(shù)據(jù)位或碼元數(shù)。示例中,N是2的非整數(shù)冪。即,控制單元216判斷當前地址是否大于代碼交織器塊的大小,如不是,則控制單元216使多路復用路214輸出來自當前行段發(fā)生器210的當前行地址。
然而,如果當前地址大于N,從而超出了范圍,則控制單元216使多路復用器214輸出來自行+1發(fā)生器212的行段。因此,當當前地址超出了范圍時控制單元216有效地“破壞”該當前地址。如下面所說明,這就保證,如當前地址出了范圍,則下一地址在范圍內(nèi),因此在時鐘周期期間可以獲得有用的地址。
一般,對于不是2的整數(shù)冪的N,地址中位數(shù)足夠大到2的整數(shù)冪的下一個較大值的地址。即地址中位數(shù)i設置成2i是大于N的2的下一個整數(shù)冪,和2(i-1)是小于N的2的下一個整數(shù)冪。因此,N的值總是介于2i和2(i-1)之間。因此,范圍外的任意地址仍然大于2(i-1),并具有設置到邏輯零的它的最大有效位。
這是因為使用位倒置地址的行,對每個新地址,兩個地址段的最大有效位在邏輯0和邏輯1之間交變。即是說,由于位倒置期間最小有效位變成最大有效位,故位倒置地址中最大有效位每次增加。因此位倒置地址段的最大有效位在邏輯1和邏輯0之間交變,與最小有效位在一般計數(shù)器中的情況一樣。
當當前地址在范圍之外時,下一地址的最大有效位為邏輯0。因此地址將小于2(i-1)。由于2(i-1)小于N,保證下一地址在范圍內(nèi),因此是有用的。這樣,通過對當前地址和下地址產(chǎn)生位倒置地址段,保證了至少一個地址在范圍內(nèi)并在時鐘周期期間可加利用。
在偽隨機地址段發(fā)生器202中,當前地址列發(fā)生器(col)230為當前地址產(chǎn)生偽隨機地址段,并施加到多路復用器234和控制單元216。多路復用器234輸出到值用于產(chǎn)生交織或去交織的地址。下一列地址發(fā)生器(col+1)232為下一列產(chǎn)生偽隨機地址段并施加到多路復用器234。較好的是所產(chǎn)生的列地址組取于被處理的特定的行,這樣增加了交織的隨機性。
多路復用器234受到與門240輸出的控制,并輸出最后的列值。與門240接收控制單元216和控制單元242的輸出??刂茊卧?42接收位倒置地址段(行發(fā)生器)產(chǎn)生的最后行值。
運作期間,控制單元216接收來自行和列段發(fā)生器200和202的當前行和當前列值,并當量后地址(如上述)大于N時產(chǎn)生控制信號250。控制單元242接收來自行段發(fā)生器200的最后行值,并當所接收的行值等于為每列處理的第一例(FIRST_ROW)時維持控制信號252。FIRST)ROW是為每列處理的第一行段,在一個實施例中,它等于所有邏輯1,對應于所有0的位倒置值。
如上所述,當當前行和列大于N時,維持控制信號250并使用下一行。當下一行等于FIRST_ROW時,也維持控制信號252,引起與門240維持控制信號254。當控制信號252和254均得到維持,這表明下一行運作已使行地址循環(huán),因此下一組列地址段的產(chǎn)生開始。為使這一處理在下一時鐘周期上開始,使用來自列段發(fā)生器202的下一列地址。因此使用當前和下一列發(fā)生器兩者,使得去交織快速、有效地進行。
本發(fā)明的一些實施例可以省去使用當前和下一列發(fā)生器兩者。在特定行的處理期間這種實施例仍然有效地運作。但當列切換時效率有某些損失。例如可能需要附加的時鐘周期。應當理解,雖然當前行發(fā)生器和下一行發(fā)生器示出為分開的框或電路,但兩個單元的部分可以共享電路。或者,它們可以是在雙倍時鐘速度上運行的同一單元。對當前列發(fā)生器和下一列發(fā)生器,情況也是這樣。
圖3為按照使用伽羅瓦域(GFGalios field)偽隨機交織器配置的地址發(fā)生器的框圖。在示例的實施例中,通過下列步驟實旆GF交織。
對于大小為N的交織器,定義大小為2m的塊,其中2m=r×c(r=行,c=列),2m是大于或等于N的2的下一個整數(shù)冪。待發(fā)送的碼元是1.逐行寫入交織器存儲器。
2.按下述規(guī)則置換每行i(I=0,1,…,r-1)j←logαib(αio+αj), j=0,1,2,3…,c-2j←logαib(αio), j=c-1其中α為用來構(gòu)成GF(c)的原始多項式p(x)∈GF(2)[x]的根據(jù)。αib是GF(c)中原始的元,io是0與c-2間包括0與c-2的整數(shù),常數(shù)ib和io是特定的每一行,圖3中提供各種大小交織器的一組示例值,此外,根據(jù)定義,logαib(0)≡c-1。
3.根據(jù)行下標的位倒置對行重新排序。
4.逐列讀出交織器的內(nèi)容。
此外。當使用如上的位倒置的和計算的(偽隨機)地址段產(chǎn)生的地址大于N時,該地址被破壞,使用下一地址。
參看圖3的本發(fā)明的另一實施例,地址發(fā)生器包括位倒置地址段發(fā)生器390主偽隨機地址段發(fā)生器392。附加的控制電路控制單元420、控制單元422和多路復用器423。
在位倒置地址段發(fā)生器390內(nèi),行計數(shù)器400為交織器存儲器中一組r行從0到r-1循環(huán)。一復制值從行計數(shù)器400施加到位倒置單元404b和多路復用器408。另一來自行計數(shù)器400的復制值由加法器加1然后施加到位倒置單元404a和多路復用器408。多路復用器408的輸出由加1電路410加1后加到行計數(shù)器的輸入端。
位倒置單元404了產(chǎn)生當前地址的位倒置地址段,位倒置單元404a產(chǎn)生下一地址的位倒置地址段。將當前和下一位倒置地址段加到多路復用器406,多路復用器406由Addr_GT_N信號422控制,輸出用于產(chǎn)生完整地址的最后行下標。此外,位倒置單元404b的輸出(當前行段)施加到控制單元410。控制單元420還接收值N(被交織的位或碼元數(shù))和列下標424(與被處理的當前列有關),將在下面詳細說明。
在運作中,控制單元420接收當前位倒置段并乘以列數(shù)C和加上當前列下標424。如最后的值大于N,則表示當前地址在范圍之外,控制單元420維持Addr_GT_N信號422。當維持Addr_GT_N時,多路復用器406輸出下一行地址段作為最后行。此外,多路復用器406輸出下一行下標值(倒置的下一行值)用來當下一循環(huán)期間產(chǎn)生當前和下一行。因此,通過產(chǎn)生當前和下一地址行并選擇產(chǎn)生范圍內(nèi)的地址的行,位倒置地址段發(fā)生器390在每個時鐘周期期間產(chǎn)生一個在范圍內(nèi)的行地址。
在偽隨機地址地段發(fā)生器392內(nèi),列計數(shù)器450產(chǎn)生當前列下標452。將當前列下標452提供給Abs(io-j)電路454、MIN(io,j)電路456和多路復用器457。此外,當前列下標424加到多路復用器423(為圖面簡明未示出連接)。使用當前列下標424還產(chǎn)生下一列下標(col+1)并加到多路復用器423。多路復用器423的輸出加到多路復用器457。
查看表1(LUT1)接收來自地址發(fā)生器390的當前行下標403并產(chǎn)生io477和對應于下一行(行+1)的值io的Next_io478。查看表2(LUT2)也接收當前行下標403并產(chǎn)生logαib(α)和Next_logαib(α)。項Next_logαib(α)對應于下一行下標的值logαib(α)。查看表3(LUT3)482和查表3’(LUT3’)484產(chǎn)生值X+1,X是GF(c)的元。LUT3由abs(io-j)電路454的輸出所控制,LUT3由Abs(io’-j’)電路492的輸出所控制。
LUT3 482的輸出與MIN(io,j)電路456的輸出進行模加并將施加到多路復用器486。多路復用器486還從LUT1 472接收io)。多路復用器486的輸出乘以來自LUT2 480的值logα(ib(α),產(chǎn)生當前列下標424,對應于值logαib(αio+αj)。
類似地,LUT3’484的輸出與MIN(io,j)電路490的輸出進行模加并將結(jié)果施加到多路復用器496。多路復用器496還從多路復用器470接收10’。多路復用器496的輸出乘以來自LUT2 480的值logαib(α),產(chǎn)生對于值logαib’(αio’+αj’)的最終列下標424。
圖4為按照本發(fā)明的一個實施例提供各種大小的交織器的ib和io的例示列表。
再看圖3,在運作期間,根據(jù)NextROW=0電路422的輸出,多路復用器423提供當前列452或下一列453。如上所述,當下一行等于0時,NextROW=0電路維持一信號,因此在示例實施例中為每一列處理第一行。多路復用器457接收當前列452的一復制值和多路復用器423的輸出。結(jié)果是,如果維持Addr_GT_N信號422(表示該行已被破壞)以及最后一行是列中第一行,則從多路復用路457輸出下一列(col+1)值。
當從多路復用器457輸出下一列時,其余電路產(chǎn)生對應于下一列下標的最后列下標498(列地址段)。系統(tǒng)產(chǎn)生當前列下標并使用此下標判定相應的行組的處理是否完成。如果是,則計算下一列下標的值。因此產(chǎn)生適當?shù)牧邢聵硕鵁o須額外的時鐘周期。
如果行下標被破壞,但列下標仍然相同,則Addr_GT_N 422使多路復用器470和495輸出有關輸入值組的下一行值。此外,多路復用器486和496使得在j=c-1時待使用的io值來實施上述的處理步驟。產(chǎn)生的最后行下標和最后的列下標一起,產(chǎn)生用于交織或去交織的地址。
提供較佳實施例的上述說明使本專業(yè)的技術(shù)人員能做成或使用本發(fā)明。對于本專業(yè)的技術(shù)人員而言這些實施例的各種修改是顯然的,并且這里所確定的一段原理可應用于其他實施例而無項運用創(chuàng)造性的能力。因此,本發(fā)明不受所示實施例的限制,但是符合與所揭示的原理和新穎特點一致的最大范圍。
權(quán)利要求
1.一種具有大小為N的交織器,其中N不是2的整數(shù)冪,其特征在于,包括當前位倒置地址發(fā)生器裝置,用于發(fā)生當前位倒置地址段;下一位倒置地址發(fā)生器裝置,用于發(fā)生下一位倒置地址段;偽隨機地址段發(fā)生器裝置,用于發(fā)生偽隨機地址段;控制單元,用于當所述當前位倒置地址段和所述偽隨機地址段產(chǎn)生的地址小于N時選擇所述當前位倒置地址段,并當所述地址大于N時選擇所述下一位倒置地址段。
2.如權(quán)利要求1所述的交織器,其特征在于,所述偽隨機地址段發(fā)生器裝置是基于伽羅瓦域的狀態(tài)機。
3.如權(quán)利要求1所述的交織器,其特征在于,進一步包括下一偽隨機地址段發(fā)生器裝置,用于發(fā)生下一偽隨機地址段。
4.如權(quán)利要求3所述的交織器,其特征在于,當所述下一位倒置地址段被選擇且一下位倒置地址段是位倒置地址段序列中第一地址時,所述控制系統(tǒng)選擇所述下一偽隨機的地址段。
5.如權(quán)利要求1所述的交織器,其特征在于,在單個時鐘周期期間產(chǎn)生所述當前位倒置地址段和所述下一位倒置地址段。
6.一種具有大小為N的交織器,其中N不是2的整數(shù)冪,其特征在于,包括當前位倒置地址發(fā)生器,用于發(fā)生當前位倒置地址段;下一位倒置地址發(fā)生器,用于發(fā)生下一位倒置地址段;偽隨機地址段發(fā)生器,用于發(fā)生偽隨機地址段;控制單元,用于當所述當前位倒置地址段和所述偽隨機地址段產(chǎn)生的地址小于N時選擇所述當前位倒置地址段,并當所述地址大于N時選擇所述下一位倒置地址段。
7.如權(quán)利要求1所述的交織器,其特征在于,所述偽隨機地址段發(fā)生器是基于伽羅瓦域的狀態(tài)機。
8.如權(quán)利要求1所述的交織器,其特征在于,進一步包括下一偽隨機地址段發(fā)生器裝置,用于發(fā)生下一偽隨機地址段。
9.如權(quán)利要求3所述的交織器,其特征在于,當所述下一位倒置地址段被選擇且下一位倒置地址段是位倒置地址段序列中第一地址時,所述控制系統(tǒng)選擇所述下一偽隨機地址段。
10.如權(quán)利要求1所述的交織器,其特征在于,在單個時鐘周期期間產(chǎn)生所述當前位倒置地址段和所述下一位倒置地址。
11.一種用來交織具有大小為N,其中N不是2的整數(shù)冪的數(shù)據(jù)塊的方法,其特征在于,包括下述步驟a)發(fā)生當前位倒置地址段;b)發(fā)生下一位倒置地址段;c)發(fā)生偽隨機地址段;d)當所述當前位倒置地址段和所述偽隨機地址段產(chǎn)生的地址小于N時選擇所述當前位倒置地址段,并當所述地址大于N時選擇所述下一位倒置地址段。
12.如權(quán)利要求11所述的方法,其特征在于,步驟c)包括下述步驟對每個位倒置地址計算j,其中j等于j←logαib(αio+αj), j=0,1,2,3…,c-2j←logαib(αio), j=c-1其中α為用來構(gòu)成GF(c)的原始多項式p(x)∈GF(2)[x]的根,αib是GF(c)中原始的元,io是0與c-2間包括0與c-2的整數(shù),ib和io是特定的每一行。
13.如權(quán)利要求11所述的方法,其特征在于,進一步包括下述步驟e)發(fā)生下一偽隨機地址段。
14.如權(quán)利要求13所述的方法,其特征在于,進一步包括下述步驟當所述下一位倒置地址段被選擇且所述下一位倒置地址段是位倒置地址段序列中第一地址時選擇所述下一偽隨機地址段。
15.如權(quán)利要求11所述的方法,其特征在于,所述偽隨機地址段根據(jù)伽羅瓦域操作產(chǎn)生。
16.如權(quán)利要求11所述的方法,其特征在于,在單個時鐘周期期間產(chǎn)生所述當前位倒置地址段和所述下一位倒置地址段。
全文摘要
本發(fā)明提供一種交織器中地址產(chǎn)生的新穎和改進的方法和裝置。根據(jù)本發(fā)明的一個實施例,使用隨機地址段(108)和位倒置地址段(106)來產(chǎn)生地址。由首先產(chǎn)生的兩順序的候選位交織段選擇位交織器段。當?shù)谝晃唤豢椂萎a(chǎn)生大于最大地址的地址時,第二位交織段被選擇。地址發(fā)生器允許對交織器和去交織器地址產(chǎn)生N,其中N不是2的整數(shù)冪的幀大小,而無任何周期損失。
文檔編號G11C11/413GK1345486SQ00805662
公開日2002年4月17日 申請日期2000年3月30日 優(yōu)先權(quán)日1999年3月31日
發(fā)明者A·阿格拉瓦爾, 周群真 申請人:高通股份有限公司