專利名稱:交織順序發(fā)生器、交織器、Turbo碼編碼器和Turbo碼譯碼器的制作方法
技術領域:
本發(fā)明涉及在IMT2000(第三代移動通信系統(tǒng))的W-CDMA中使用的素數(shù)交織器(prime interleaver),尤其涉及削減交織順序發(fā)生器用存儲器的交織順序發(fā)生器、交織器、Turbo碼編碼器和Turbo碼譯碼器。
背景技術:
寬帶DS-CDMA(W-CDMA)已被標準化為第三代移動通信系統(tǒng)(IMT2000)無線接入方式(RAN)的一種,其中,標準化有被稱為素數(shù)交織器的Turbo碼編碼用的內(nèi)部交織器。其詳細描述公開在“3rd GenerationPartnership Project;Technical Specification Group Radio Access NetworkMultiplexing and channel coding(FDD)(1999年發(fā)表)3G TS25.212 V3.3.0(2000-06)4.2.3.2.3章Turbo碼code internal interleaver 16頁~20頁”。
該Turbo碼編碼器由多個分量(component)編碼器構成,為了減小各分量編碼器間的奇偶校驗(parity)序列的相關性而使用交織器,從而成為經(jīng)交織器連接各分量編碼器的結構。該交織器在發(fā)揮Turbo碼的性能方面,起到了重要的作用。
圖15是表示現(xiàn)有Turbo碼編碼器的構成例。如該圖所示,交織器構成為包括多個遞歸結構卷積分量編碼器1502、1503和交織器1501。各遞歸結構卷積編碼器1502、1503由加法器與單位延遲元件構成,并對輸入到Turbo碼編碼器的1位信息序列輸出信息位、奇偶校驗位1和奇偶校驗位2的三個位。為了減小奇偶校驗位1和奇偶校驗位2的相關性,而在分量編碼器1503之前插入了交織器1501。
圖16是表示現(xiàn)有的Turbo碼譯碼器的構成例的圖。Turbo碼譯碼器構成為具有兩個軟輸入軟輸出譯碼器(soft in soft out decoder,下面,簡寫為SISO)1603、1604、兩個交織器1601、1602和進行交織器交織順序逆處理的兩個去交織器1606、1607。分離器1605將奇偶校驗序列1、2分配給分別對應的SISO,判決器1608用于將最終得到的軟輸出數(shù)據(jù)硬判決為二值。
圖17表示以位為單位按照存儲于RAM內(nèi)的交織順序(存儲為交織圖案表)重新排列的現(xiàn)有交織器的示例,進行交織的數(shù)據(jù)序列1701由存儲了交織圖案表所形成的交織順序的RAM1702來進行數(shù)據(jù)序列內(nèi)的位順序變換,而得到交織后的數(shù)據(jù)序列1703。
輸出交織順序的RAM1702的輸出和交織圖案表的關系如該圖的1702所示,為作為以素數(shù)p為基的長度p的R個塊的圖案表,如箭頭所示,沿縱向順序以0,8,4,12,2....的順序讀出,而得到交織后的數(shù)據(jù)序列1703。
根據(jù)IMT2000(W-CDMA)的標準3G TS25.212 V3.3.0(2000-06),為了對應于各種多媒體業(yè)務,交織長度為每一位的40位到5114位,故需要準備5075種交織圖案。為了具有對應于所有交織長度的圖案表,需要很大的存儲量,這是不現(xiàn)實的。因此,在3G TS 25.212 V3.3.0(2000-06)4.2.3.2.3章中公開了不需要存儲所有種類的圖案,而根據(jù)交織長度通過預定的運算生成圖案的方法。
在上述“3rd Generation Partnership Project;Technical Specification GroupRadio Access NetworkMultiplexing and channel coding(FDD)(1999年發(fā)表)3G TS25.212 V3.3.0(2000-06)4.2.3.2.3章Turbo碼code internalinterleaver 16頁~20頁”中所公開的素數(shù)交織器中,將數(shù)據(jù)長度作為以素數(shù)p為基的長度p的R個塊,并使用基準數(shù)為p的有限域中的原始根υ,如下所述地求出進行行內(nèi)順序變換用的基準序列S(j)(intra-rowpermutation處理)。
S(j)=[υ·s(j-1)]mod p,j=1,2,...(p-2)且s(0)=1——(1)將其做成表格。接著,求出R個與從有限域的基準數(shù)中減去1的數(shù)p-1互為質數(shù)的數(shù)q(i)。最后以行為單位進行行內(nèi)順序變換(inter-rowpermutation處理)。根據(jù)預定的圖案T(i)進行以行為單位的順序變換。作為這些圖案,使用增大自由距的行間交織圖案。
例如,在進行第i行的行內(nèi)順序變換時,進行下面的處理。
Ui(j)=s([j·ri]mod(p-1)),j=0,1,2,...(p-2),且Ui(p-1)=0——(2)
在這里,Ui(j)表示變換前的位定位,相當于變換前第i行的行內(nèi)順序變換后第j輸出位置。另外,rT(i)=q(i),T(i)是上述定義的變換前的行位置,為第i行的行位置。
作為一例,說明數(shù)據(jù)長度K=257的情況。在二維排列的行數(shù)R為20時,若求出由素數(shù)p表示的列數(shù)p,則由于257/20=12.85,其上最接近的素數(shù)p為p=13,基準數(shù)在13的有限域中的原始根υ是2。
因此,若使用該原始根υ=2,由(1)式求出進行行內(nèi)順序變換用的基準序列s(j),在p=13,υ=2的情況下,{s(j)=1,2,4,8,3,6,12,11,9,5,10,7,0}。另外,最后插入0。
接著,求出R(=20)個與從有限域的基準數(shù)中減去1的數(shù)p-1互為質數(shù)的數(shù)q(i)。在p=13的上述例子中,{q(i)}={1,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79}。
最后,利用(2)式,根據(jù)預定的圖案以行為單位進行行內(nèi)順序變換(inter-row permutation處理),但在R=20情況下的增大自由距的行間交錯圖案為Pat1{T(i)}={19,9,14,4,0,2,5,7,12,18,10,8,13,17,3,1,16,6,15,11}。
另外, 由于rT(i)=q(i),故rT(1)=q(1)=1=r19 rT(2)=q(2)=7=r9rT(3)=q(3)=11=r14 ...rT(19)==q(19)=73=r15 rT(20)=q(20)=79=r11,將這些值代入(2)式而求出Ui(j)。
在上述現(xiàn)有技術中,由DSP(數(shù)字信號處理器)等軟件處理計算該Ui(j),并傳送到圖17所示的大規(guī)模RAM1702等中,進行交織處理。
另一方面,在Turbo碼譯碼器的情況下,進行迭代譯碼,例如,在以8次迭代結構進行2Mbps的接收數(shù)據(jù)序列的譯碼時,訪問上述交織順序需要的是幾十MHz的高速動作。對應于此,將基于上述運算所生成的圖案一次存儲到高速存儲器中,則該存儲器需要具有接收幾十MHz訪問的結構。
因此,所需存儲器(RAM)的容量需要5114×13位=66482位,其在構成Turbo碼譯碼器的要素內(nèi)占據(jù)相當大的部分。再有,雖然需要將實際處理由上述運算所產(chǎn)生的圖案傳送到Turbo碼譯碼器內(nèi)的交織用RAM中,但是還需要將其他數(shù)據(jù)同時送到該接口中,故在接口上產(chǎn)生了瓶頸。
還有,在具有可變碼率功能的情況下,頻繁產(chǎn)生交織長度的變更,這時,進一步助長了接口瓶頸,而產(chǎn)生不能跟蹤多媒體業(yè)務的傳送率的問題。
這樣,由于需要用于與各種多媒體業(yè)務對應的移動通信系統(tǒng)的Turbo碼譯碼器的內(nèi)部交織器可對應于各種交織長度,所以需要準備各種交織圖案,從而需要大的存儲量。此外,為了對應于高速數(shù)據(jù),需要將交織圖案一次存儲到高速存儲器中,故需要高速存儲器為大容量,其導致電路規(guī)模增大。另外,在具有可變碼率功能的業(yè)務中,產(chǎn)生了因參數(shù)的傳送而導致的接口擁擠。
發(fā)明內(nèi)容
本發(fā)明鑒于上述問題而作出,其目的在于,提供一種相對于多媒體業(yè)務的各種交織長度及其傳送速率,可用少的交織器用RAM容量來實現(xiàn),且可減小接口的負擔,再有,即使在具有可變碼率功能的情況下,也可跟蹤多媒體業(yè)務的傳送碼率的交織順序發(fā)生器、交織器、Turbo碼編碼器及Turbo碼譯碼器。
根據(jù)本發(fā)明的第一形態(tài),是一種交織順序發(fā)生器,其特征在于,包括將數(shù)據(jù)長度設為以素數(shù)p為基的長度的R個塊,生成與p-1互為質數(shù)的R個不同整數(shù)q0,q1,q2,...qR-1的機構;將基準數(shù)為p的有限域的根相對原始根υ作為所述q0,q1,q2,...qR-1的冪乘,分別生成并存儲υ^q0(modp),υ^q1(mod p),υ^q2(mod p),...υ^qR-1(mod p)的機構,當為第0順序變換時,順次在p倍于來自生成或記錄進行所述塊替換用的預定圖案的機構的輸出值上加1,當為第j順序變換時,在j=1~(p-2)中反復使用在有限域上j乘所述υ^q0(mod p),υ^q1(mod p),υ^q2(mod p),...υ^qR-1(modp),而分別生成(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(modp),...(υ^qR-1)^j(mod p)的機構,同樣,在p倍的值上順次加上(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(modp)。
根據(jù)本發(fā)明的第二形態(tài),其特征在于,在所述的交織順序發(fā)生器中,具有在所述j=1(p-2)的反復進行時,生成及存儲所述υ^q0(mod p),υ^q1(mod p),υ^q2(mod p),...υ^qR-1(mod p)的機構;和通過將該存儲值順次輸入到有限域的高速乘法器中,從而依次更新所述(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(mod p)的值的機構。
根據(jù)本發(fā)明的第三形態(tài),其特征在于,在上述交織順序發(fā)生器中,在所述j=p-1中將相當于(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(mod p)的值全部設為0。
根據(jù)本發(fā)明的第四形態(tài),是一種交織順序發(fā)生器,其特征在于,包括將數(shù)據(jù)長度設為以素數(shù)p為基的長度為p-1的R個塊,生成與p-1互為質數(shù)的R個不同的整數(shù)q0,q1,q2,...qR-1的機構;將基準數(shù)為素數(shù)p的有限域的根相對原始根υ作為所述q0,q1,q2,...qR-1的冪乘,分別生成及存儲如υ^q0(mod p),υ^q1(mod p),υ^q2(mod p),...υ^qR-1(mod p)的機構,當為第0順序變換時,順序在p-1倍于來自進行生成或記錄所述塊替換用的預定圖案的機構的輸出值上加1,當為第j順序變換時,在j=1~(p-2)中反復使用在有限域上j乘所述υ^q0(mod p),υ^q1(mod p),υ^q2(mod p),...υ^qR-1(mod p),而分別生成如(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(mod p)的機構,同樣,在p-1倍的值上順次加上(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(mod p)。
根據(jù)本發(fā)明的第五形態(tài),其特征在于,在上述交織順序發(fā)生器中,對于進行了所述順次相加的值減去1。
根據(jù)本發(fā)明的第六形態(tài),其特征在于,在上述交織順序發(fā)生器中,具有在j=1~(p-2)的反復操作時,生成及存儲所述υ^q0(mod p),υ^q1(modp),υ^q2(mod p),...υ^qR-1(mod p)的機構;和通過將該存儲的值順次輸入到有限域的高速乘法器中,從而依次更新所述(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(mod p)的值的機構。
根據(jù)本發(fā)明的第七形態(tài),是一種交織順序發(fā)生器,其特征在于,包括將數(shù)據(jù)長度設為以素數(shù)p為基的長度為p+1的R個塊,生成與p-1互為質數(shù)的R個不同的整數(shù)q0,q1,q2,...qR-1的機構;將基準數(shù)為素數(shù)p的有限域的根相對原始根υ作為所述q0,q1,q2,...qR-1的冪乘,分別生成及存儲如υ^q0(mod p),υ^q1(mod p),υ^q2(mod p),...υ^qR-1(mod p)等的機構,當為第0順序變換時,順次在p+1倍于來自生成或記錄進行所述塊替換用的預定圖案的機構的輸出值上加1,當為第j順序變換時,在j=1~(p-2)中反復使用在有限域上j乘所述υ^q0(mod p),υ^q1(mod p),υ^q2(mod p),...υ^qR-1(mod p),分別生成如(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(mod p)等的機構,同樣,并在p+1倍的值上順次加上(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(mod p)。
根據(jù)本發(fā)明的第八形態(tài),其特征在于,在上述交織順序發(fā)生器中,具有在j=1~(p-2)的反復進行時,生成及存儲所述υ^q0(mod p),υ^q1(modp),υ^q2(mod p),...υ^qR-1(mod p)的機構;和通過將該存儲的值順次輸入到有限域的高速乘法器中,而依次更新所述(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(mod p)的值的機構。
根據(jù)本發(fā)明的第九形態(tài),其特征在于,在上述交織順序發(fā)生器中,在所述j=p-1中將相當于所述(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(mod p)的值全部設為0。
根據(jù)本發(fā)明的第十形態(tài),其特征在于,在上述交織順序發(fā)生器中,在所述j=p中將相當于所述(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(mod p)的值全部設為p。
根據(jù)本發(fā)明的第十一形態(tài),其特征在于,在上述交織順序發(fā)生器中,當來自所述交織順序發(fā)生器的輸出信號超過交織對象范圍的情況下,跳過該信號,使用下一該范圍內(nèi)的信號。
根據(jù)本發(fā)明的第十二形態(tài),其特征在于,在上述交織順序發(fā)生器中,具有多個所述有限域的高速乘法器,在所述(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(mod p)內(nèi)同時執(zhí)行多個(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(mod p),...(υ^qR-1)^j(mod p)的值的更新,在來自所述交織順序發(fā)生器的輸出超過了交織對象范圍的情況下,跳過該信號而使用范圍內(nèi)的下一信號,從而無停頓地產(chǎn)生信號。
根據(jù)本發(fā)明的第十三形態(tài),其特征在于,在上述交織順序發(fā)生器中,具有兩個所述有限域的高速乘法器,對于將所述生成及存儲的υ^q0(modp),υ^q1(mod p),υ^q2(mod p),...υ^qR-1(mod p)分割為偶數(shù)乘數(shù)和奇數(shù)乘數(shù)的υ^q0(mod p),υ^q2(mod p),υ^q4(mod p),...υ^q2n(mod p)和υ^q1(mod p),υ^q3(mod p),υ^q5(mod p),...υ^q2n-1(mod p)(n為自然數(shù))分配所述兩個高速乘法器,通過在所述有限域上乘j,從而并行地同時更新(υ^q0)^j(mod p),(υ^q2)^j(mod p),...(υ^q2n)^j(modp)和(υ^q1)^j(mod p),(υ^q3)^j(mod p),...(υ^q2n-1)^j(mod p)值。
根據(jù)本發(fā)明的第十四形態(tài),是一種交織器,其特征在于,將所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并通過讀出數(shù)據(jù),從而進行順序變換。
根據(jù)本發(fā)明的第十五形態(tài),是一種交織器,其特征在于,將所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并通過寫入數(shù)據(jù),從而進行順序變換。
根據(jù)本發(fā)明的第十六形態(tài),是一種Turbo碼編碼器,其特征在于,將所述交織器作為Turbo碼編碼器的內(nèi)部交織器。
根據(jù)本發(fā)明的第十七形態(tài),是一種Turbo碼譯碼器,其特征在于,將上述交織器內(nèi)的至少一方作為Turbo碼譯碼器的內(nèi)部交織器,將另一方作為內(nèi)部去交織器。
根據(jù)本發(fā)明的第十八形態(tài),是一種Turbo碼譯碼器,其特征在于,通過將上述交織順序發(fā)生器的輸出作為存儲了數(shù)據(jù)的雙通道存儲器的讀出用地址信號,來進行數(shù)據(jù)內(nèi)容的讀出,將用預定值進行過延遲的該地址信號作為寫入用地址信號來進行數(shù)據(jù)內(nèi)容的寫入,從而同時實現(xiàn)了Turbo碼譯碼器的內(nèi)部交織器和內(nèi)部去交織器。
根據(jù)本發(fā)明的第十九形態(tài),是一種交織順序發(fā)生電路,其將數(shù)據(jù)長度設為以素數(shù)p為基的長度為p的R個塊,使用基準數(shù)p的有限域上的原始根υ,得到行變換前第i行的行內(nèi)變換后第j輸出位置Ui(j),其特征在于,通過生成R個表格,來求出所述Ui(j)。
根據(jù)本發(fā)明,在對應于各種多媒體業(yè)務的移動通信系統(tǒng)中,可對應于以用于Turbo碼譯碼器的使用了素數(shù)體的交織器不因各種交織長度而導致電路規(guī)模的增大,另外,在交織順序發(fā)生器、交織器、Turbo碼編碼器和Turbo碼譯碼器中,可以以少的交織用RAM容量來實現(xiàn),進一步,由于可減小接口的負擔,故即使是具有可變碼率功能的多媒體業(yè)務,也可容易地跟蹤傳送碼率。
圖1是表示在本發(fā)明的交織順序發(fā)生器內(nèi),(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)的生成塊的圖。
圖2是表示本發(fā)明的交織順序發(fā)生器內(nèi),進行行位置的相加而生成交織順序的框圖。
圖3是表示在列數(shù)C=p-1的情況下,產(chǎn)生利用減法使變換圖案為0~C-1時的交織順序的框圖。
圖4是準備兩個有限域中的高速乘法器,即使跳過也無停頓地產(chǎn)生(υ^q0)^j(modp)~(υ^qR-1)^j(mod p)的框圖。
圖5是在即使跳過也能無停頓地產(chǎn)生交織順序的塊內(nèi),進行行位置的相加而生成交織順序的框圖。
圖6是針對表示交織順序的信號,跳過超過交織對象范圍的信號的框圖。
圖7是表示有限域中的高速乘法器的圖。
圖8是表示模運算的構成要素的圖。
圖9是說明模運算的動作的圖。
圖10是表示讀出的交織處理的圖。
圖11是表示寫入的去交織處理的圖。
圖12是同時進行從雙通道RAM中讀出的交織處理和寫入的去交織處理的圖。
圖13是表示使用了本發(fā)明的交織順序發(fā)生器的Turbo碼編碼器的圖。
圖14是表示使用了本發(fā)明的交織順序發(fā)生器的Turbo碼譯碼器的圖。
圖15是表示現(xiàn)有的Turbo碼編碼器的構成例的圖。
圖16是表示現(xiàn)有的Turbo碼譯碼器的構成例的圖。
圖17是表示根據(jù)存儲于RAM內(nèi)的交織順序,以位為單位進行重新排列的現(xiàn)有的Turbo碼譯碼器的構成例的圖。
具體實施例方式
下面,參照
本發(fā)明的實施方式。
圖13是表示使用了本發(fā)明的交織順序發(fā)生器的Turbo碼編碼器(Turbo碼encoder)的實施方式的框圖。雖然在后面敘述圖13所示的Turbo碼編碼器的動作,但該Turbo碼編碼器與圖15所示的現(xiàn)有Turbo碼編碼器的主要差別是交織器1501。
即,現(xiàn)有的交織器如圖17所示,需要存儲交織順序的大規(guī)模RAM1702。與此相反,圖13所示的實施方式的特征在于,通過使用交織順序發(fā)生器1301,從而可以不使用存儲了交織順序的大規(guī)模RAM地實現(xiàn)素數(shù)交織器。
本發(fā)明所采用的交織方法雖然基本上與上述文獻所記載的素數(shù)交織器相同,但是本發(fā)明的特征在于,不像現(xiàn)有技術那樣,預先計算Ui(j)并傳送到RAM等中,而是實時產(chǎn)生Ui(j)來進行交織處理。因此,可以不需要現(xiàn)有技術中所必需的大規(guī)模RAM。下面,說明其方法。
首先,利用(1)式,s(0)=1,s(1)=υmod p,s(2)=υ^2 mod ps(j)=υ^j mod p。而且υ^j≡υj。由于上式中υ是原始根,所以通過在mod p上反復進行乘法處理,從而網(wǎng)羅了在mod p上構成的有限域的所有元素。
若將其結果適用于(2)式,則Ui(j)=s{[j·ri]mod(p-1)}=[υ^{[j·ri]mod(p-1)}],在這里,若置換為[j·ri]mod(p-1)=j·ri-n·(p-1),則Ui(j)=[υ^{j·ri-n·(p-1)}]mod p=(υ^ri)^j·(υ^(p-1)^(-n))mod p={(υ^ri)^jmod p}·{(υ^(p-1))^(-n)mod p}mod p,在這里,根據(jù)Fermat_s Theorern,相對所有要素a,a^(p-1)≡1(mod p),其中,由于p為素數(shù)成立,所以根據(jù)(υ^(p-1))^(-n)mod p=1,上式變?yōu)閁i(j)=(υ^ri)^j mod p…………(3)這里,如上所述rT(i)=qi,若以R=20情況下所述行間交錯圖案Part1{T(0),T(1)...T(R-1)}={19,9,14,4,0,2,5,7,12,18,10,8,13,17,3,1,16,6,15,11}為例進行說明,則來自第0行(i=0)的行位置為T(0)=第19行,并選q0(r19)為其行值。同樣,T(1)=第9行來自第1行(i=1),選q1(=r9)為其行值。
這樣,將各行的ri設定為不同的值。結果,(3)式的υ^ri在各行中為不同值,各行的行內(nèi)順序變換不同,而達到隨機化。另外,如上所述,選擇由rT(i)=qi所提供的qi,使其與(p-1)互為質數(shù)關系。由于υ為原始根,所以以p為模量(modulus),其位數(shù)為p-1。
若將以該p為模量所構成的集合的任意元素取作a,則由于p-1為modp中的最大數(shù),所以a^(n·(p-1))=1(mod p)的關系成立。
因此,使(3)式成為(υ^ri)^j=1(mod p)的條件是ri·j=n·(p-1),需要為(p-1)|ri·j。
但是,由于ri與(p-1)互為質數(shù),所以ri中不存在構成(p-1)的因數(shù),結果成為(p-1)|j,即使表示υ^ri的位數(shù)是(p-1),(υ^ri)也只能是以p為模量的原始根。
因此,Ui(j)=(υ^ri)^j mod p,其中j=0,1,2...(p-2)只能構成將各行不同的原始根(υ^ri)作為乘數(shù)的線性同余法(linear congruential method)的一種的乘法同余法的隨機序列產(chǎn)生算法。由于(υ^ri)是以p為模量的素域的原始根,故以冪乘形式表現(xiàn)的(υ^ri)^j網(wǎng)羅了素域的所有元素,從而可維持交織器所需的一一對應的映射關系。
即,其表示通過將(3)式的(υ^ri)作為乘數(shù)來逐次相乘,從而不用保持由(1)式s(j)=[υ·s(j-1)]mod p,j=1,2...(p-2)所生成的表,就可得到Ui(j)。
例如,當數(shù)據(jù)長度k=5114位時,對于二維排列的行數(shù)20由素數(shù)表示的列數(shù)p為5114/20=255.7,其最接近的素數(shù)是p=257。若僅由此來比較,則由s(j)=[υ·s(j-1)]mod p,j=1,2...(p-2),且s(0)=1生成的表需要為257個,但是本發(fā)明中僅(υ^ri)mod p,i=0,...19二十個就足夠了。即,可將存儲器減小為十分之一以下。
從上述可以看出,本發(fā)明中,若行數(shù)相同,則數(shù)據(jù)長度越長越有效。另一方面,Turbo碼具有稱為交織器增益(interleaver gain)的特征,若數(shù)據(jù)長度長,則長度越長越可得到越高的編碼增益。即,本發(fā)明是適用于Turbo碼的方法。另外,在下面的實施例中,為了使說明簡單,雖然以短數(shù)據(jù)長度為例進行了說明,但是數(shù)據(jù)長度可采用任意長度。
圖1是在本發(fā)明的交織順序發(fā)生器中,生成上述(3)式的Ui(j)的塊,是表示(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)生成部的第一實施方式的框圖。在本實施例中表示數(shù)據(jù)長度k=257的情況,由素數(shù)p=13、R=20表示二維排列。
若看說明中所用的(υ^ri)變換后的第0行,則(υ^r19)=(υ^q0)。同樣,看變換后的第1行,(υ ^r9)=(υ^q1)。即,對于變換后的i=第0~19行,(υ^rT(i))=(υ^qi)。其表示對于變換后的行號i,其乘數(shù)也可以是(υ^qi)。
但是,這里要注意的是其關系是在行內(nèi)部成立的關系,不能忘記需要加上行變換前的行位置。這時,由于從T(i)行變換到i行,所以若列數(shù)p=13,則需要加上p×T(i)。
參照圖1,將有限域中的高速乘法器103經(jīng)選擇器104連接到存儲乘數(shù)υ^q0,υ^q1,υ^q2,...υ^qR-1(mod p)的寄存器101上。該乘法器的輸出經(jīng)選擇器105連接著一次保存乘法結果的寄存器102。在經(jīng)選擇器106輸出寄存器102的輸出的同時,連接到所述乘法器103的另一個輸入上。
進行控制,以使選擇器104、105、106分別連動地進行選擇,分別對應于行號i=0~R-1,選擇器104選擇υ^q0(mod p)~υ^qR-1(mod p),選擇器105與106選擇(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)。
另外,通過將選擇器置換為地址控制,將上述寄存器置換為RAM,也可實現(xiàn)同樣的結構。下面,參照圖1說明本發(fā)明的交織順序發(fā)生動作。
首先,說明第0順序變換時的動作。構成為寄存器102的初始值全部被預置為‘1’。在從相當于j=0的第0順序變換遷移到相當于j=1的第1順序變換時,選擇器106所選的值全部為‘1’。在將該值輸入到乘法器103的一個輸入的同時,從輸出端107輸出。即,在相當于j=0的第0順序變換時,輸出端107的值全部為‘1’。
這時,選擇器104依次選擇υ^q0(mod p)~υ^qR-1(mod p)。因此,乘法器103的輸出為υ^q0(mod p)~υ^qR-1(mod p),在寄存器102中,由連動動作的選擇器105將υ^q0(mod p)~υ^qR-1(mod p)代替初始值‘1’,進行順次更新。
接著,在相當于j=1的第一變換時,選擇器106所選擇的值為υ^q0(mod p)~υ^qR-1(mod p)。在將該值輸入到乘法器103的一個輸入的同時,從輸出端107送出υ^q0(mod p)~υ^qR-1(mod p)。
這時,由于選擇器104順次選擇υ^q0(mod p)~υ^qR-1(mod p),故乘法器103的輸出變?yōu)?υ^q0)^2(mod p)~(υ^qR-1)^2(mod p),通過連動動作的選擇器105,在寄存器102中輸入(υ^q0)^2(mod p)~(υ^qR-1)^2(mod p),從而代替υ^q0(mod p)~υ^qR-1(mod p),進行順次更新。
進行同樣的動作,在第j變換時,選擇器106所選的值為(υ^q0)^j(modp)~(υ^qR-1)^j(mod p)。在將該值輸入到乘法器103的一個輸入的同時,從輸出端107送出(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)。這時,由于選擇器104順次選擇υ^q0(mod p)~υ^qR-1(mod p),故乘法器103的輸出變?yōu)?υ^q0)^(j+1)(mod p)~(υ^qR-1)^(j+1)(mod p),通過連動動作的選擇器105,在寄存器102中輸入(υ^q0)^(j+1)(mod p)~(υ^qR-1)^(j+1)(mod p),從而代替(υ^q0)^j(mod p)~(υ^qR-1)^j(modp),進行順次更新。
這樣,生成的(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)只能是在(3)式的(υ^ri)^j mod p中向進行了行間變換后的二維排列的列方向讀出的值。
因此,如已經(jīng)說明的,需要加上變換前的行位置。即,若從T(i)行變換到i行,需要加上p×T(i)。
圖2是表示本發(fā)明的交織順序發(fā)生器的第一實施方式的框圖。
該圖中,201是上述(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)生成部。另外,205是預先存儲了塊替換圖案T(i)的表格T(i),配合行的更新而輸出T(i),(i=0~R-1)。
選擇器204雖然在j=0~p-2之間選擇(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)生成部201,但是在最后的j=p-1時,進行動作,以便選擇輸出零的零輸出部202。因此,對于最后列,將p×T(i)的i=0~R-1的值作為交織順序輸出,而從輸出端209中送出。
設定二維排列的列數(shù)的列數(shù)設定部206的設定值在本實施例時為p,由乘法器207生成p×T(i)。由加法器208加上該值和由上述選擇器204所選的值。
從(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)生成部201的i=0時的值遷移到i=R-1的各遷移定時,與表205輸出塊替換圖案T(i)(i=0到i=R-1)的各遷移定時同步,結果,加法器208的輸出為向列方向讀出進行了行間變換后的Ui(j)=(υ^ri)^j mod p的二維排列的值。
接著,說明數(shù)據(jù)長度K=280的情況。將二維排列的行數(shù)R設為20。由于280/20=14,所以雖然可選擇其上最接近的素數(shù),但是作為列數(shù)C=p+1,即使使用素數(shù)p=13,也可構成二維排列。因此,考慮適用14×20的二維排列。在C=p+1的情況下使用原始根的情況也不改變。基準數(shù)13在有限域中的原始根是2。下面表示使用該原始根υ=2進行行內(nèi)順序變換用的式子。
進行行內(nèi)順序變換用的式子為Ui(j)=(υ^ri)^j mod p,其中j=0,1,2...(p-2),以與已說明的列數(shù)為p時同樣的理由來導出上述式子。下面,說明C=p+1情況下的本發(fā)明的交織順序發(fā)生器。
與上述的C=p情況相同,由于針對變換后的i=第0~19行,(υ^ri)=(υ^qj),故針對變換后的行號的乘數(shù)也可以是(υ^qj)。由于從T(i)行變換為i行,所以作為列數(shù)p+1=13+1=14,同樣也需要加上(p+1)×T(i)。
在圖2的交織順序發(fā)生器中進行該處理。該圖中,由圖1生成的(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)在C=p+1的情況也與C=p的情況相同,在i=0~p-2中可通過相同的處理實現(xiàn)。選擇器204雖然在j=0~p-2期間選擇了(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)生成部201,但是在j=p-1時,動作為選擇零輸出部202。因此,這時將由乘法器207相乘表205的塊替換圖案T(i)和列數(shù)設定部206的設定值C=p+1后的結果通過加法器208輸出到輸出端209。
在最后的j=p時,選擇器204動作,選擇p設定部203的設定值p。因此,對于最后一列,將(p+1)×T(i)i=0~R-1的值和p的和作為交織順序輸出而從209中送出。在這里,表205配合行的更新而輸出塊替換圖案T(i)、i=0~R-1。
這時,列數(shù)設定部206將二維排列的列數(shù)設定值設定為p+1,并由乘法器207生成(p+1)×T(i)后,通過加法器208將該值與由上述選擇器204選擇的值相加。
從(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)生成部201的i=0時的值(υ^q0)^j(mod p)遷移到i=R-1時的值(υ^qR-1)^j(mod p)的各遷移定時,與輸出205的T(i)中從i=0到i=R-1的遷移定時同步,其結果是,加法器208的輸出與向列方向讀出根據(jù)進行了行間變換后的Ui(j)=(υ^ri)^j mod p的二維排列的值的關系與C=p的情況相同。
接著,說明數(shù)據(jù)長度K=320的情況的例子。將二維排列的行數(shù)R設為20。由于320/20=16,所以其上最近的素數(shù)是p=17。但是,作為列數(shù)C=p-1=16行也可構成二維排列。因此,考慮適用于16×20的二維排列。在p-1的情況下使用的原始根也不變?;鶞蕯?shù)17在有限域中的原始根是3。
下面表示使用了該原始根υ=3進行行內(nèi)順序變換用的式子。與已經(jīng)說明了的列數(shù)為p的情況相同的理由導出式子Ui(j)=(υ^ri)^j mod p,其中j=0,1,2...(p-2)。
下面,參照圖1說明將本發(fā)明的交織順序發(fā)生器適用于C=p-1的情況。與上述C=p的情況同樣,由于相對變換后的i=第0~19行,(υ^rT(i))=(υ^qi),故相對變換后的行號i的乘數(shù)也可以是(υ^qi)。由于從T(i)行變換為i行,所以作為列數(shù)目p-1=17-1=16,同樣也需要加上(p-1)×T(i)。
在圖2的交織順序發(fā)生器中進行該處理。該圖中,由圖1生成的(υ^q0)^j(mod p),...(υ^qR-1)^j(mod p)與C=p的情況相同,在i=0~p-2中C=p-1的情況下也可通過相同的處理實現(xiàn)。但是,雖然在C=p的情況下,動作為在i=p-1時,選擇零輸出部202,但由于在C=p-1的情況下,i=0~p-2,所以選擇器204繼續(xù)選擇(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)生成部201,而不選擇零輸出部202和p輸出部203。另外,由于在C=p-1的情況下不進行零輸出部202的選擇,故順序變換圖案為1~C。因此,為了使變換圖案與0~C-1匹配,也可構成為對所產(chǎn)生的值減1。
圖3是表示在C=p-1的情況下的交織順序發(fā)生器的構成例的框圖。由于為C=p-1的情況,所以不需要相當于選擇器204的動作。
將(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)生成部301直接輸入到加法器308。為了進行減法,從輸出-1值的常數(shù)產(chǎn)生部310將-1輸入到該加法器308。另外,用乘法器307相乘來自列數(shù)設定部306的二維排列的列數(shù)p-1和表305的塊替換圖案T(i),并將該結果(p-1)×T(i)輸入到加法器308中。將這些加法員算結果作為交織順序輸出而從輸出端309中送出。
圖4是在本發(fā)明的交織順序發(fā)生器中,生成上述(3)式的Ui(j)的塊,是表示(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)生成部的第二實施方式的框圖。
雖然在來自交織順序發(fā)生器的輸出信號超過了交織對象范圍時,跳過該信號,但是在本實施方式中,為了在產(chǎn)生了這種跳躍的情況下,不停頓地產(chǎn)生信號,故準備兩個上述有限域中的高速乘法器。
圖4中,雖然二分割存儲了圖1的乘數(shù)υ^q0(mod p),υ^q1(mod p),υ^q2(mod p),...υ^qR-1(mod p)的寄存器101,而成為401和411,但是與圖1的情況相比,不改變?nèi)康娜萘?。雖然作為分割方法可以是各種方法,這里說明分割為存儲υ^q0(mod p),υ^q2(mod p),υ^q4(mod p),...υ^q2n(mod p)的偶數(shù)用寄存器401和存儲υ^q1(mod p),υ^q3(mod p),υ^q5(mod p),...υ^q2n-1(mod p)的奇數(shù)用寄存器411的例子(n為自然數(shù))。
有限域中的高速乘法器是403和413兩個,使得分別通過選擇器404和414從存儲了乘數(shù)的寄存器中得到一方的乘法器輸入。將該乘法器輸出分別經(jīng)選擇器405和415與暫時保存乘法結果的寄存器402和412相連。
將寄存器402、412的輸出分別經(jīng)選擇器406、416輸出到輸出端407和417的同時,與所述乘法器403和413的另一個輸入相連。進行控制,以使選擇器404、405和406與選擇器414、415和416分別連動進行選擇動作,其結果與圖1所說明的相同,可以相對偶數(shù)和奇數(shù)同時得到計算結果。即,可同時得到υ^q0,υ^q2,...υ^q2n(mod p)與υ^q 1,υ^q3,...υ^q2n-1(mod p)。
另外,也可構成為將選擇器置換為地址控制,并進一步通過雙通道RAM同時執(zhí)行相當于偶數(shù)的訪問和相當于奇數(shù)的訪問,也可構成為由一個RAM同時實現(xiàn)與兩個寄存器同樣的動作。
圖5~圖6是表示本發(fā)明的交織順序發(fā)生器的第二實施方式的框圖。
本實施方式通過具備圖4所示的分割為兩個的(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)生成部,從而構成為超出交織對象范圍的信號的跳過,在圖5所示的塊中進行相當于圖2的列數(shù)×塊變化圖案T(i)的加法處理,在圖6所示的塊中執(zhí)行超出交織對象范圍的信號的跳過動作。
圖5中,雖然將(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)分割為υ^q0,υ^q2,...(mod p)生成部501與υ^q1,υ^q3,...(mod p)生成部511,但是其基本動作與圖2的(υ^q0)^j(mod p)~(υ^qR-1)^j(mod p)相同,所以省略其詳細說明。
由于列數(shù)生成部506和塊替換圖案T(i)發(fā)生部505可以由偶數(shù)和奇數(shù)共用,所以可由一個構成,由加法器508從偶數(shù)輸出端509輸出對應于偶數(shù)的交織順序,由加法器518從奇數(shù)輸出端519輸出對應于奇數(shù)的交織順序。
圖6的塊是相對表示這些交織順序的信號,跳過超出交織對象范圍的信號。該圖中,從602輸入對應于偶數(shù)的交織順序信號,從601中輸入對應于奇數(shù)的交織順序信號。在比較器604和605中,將這些信號分別與總位數(shù)607相比較,將該總位數(shù)或其以上的信號作為交織范圍外信號而跳過。
這樣,將生成的交織范圍內(nèi)的交織順序信號通過切換開關608以原始順序輸入到重新排列的FIFO609中。若FIFO的內(nèi)容滿,則從FIFO609中輸出緩存滿(BUFFER FULL)信號,雖然沒有圖示,但是該緩存滿信號成為相對各塊的停止(HALT)信號610,從而暫時停止各塊的動作。
若從FIFO609中讀出最終的交織順序輸出,并從端子611輸出信號,則解除停止(HALT)信號,重新開始各個塊的動作。即,利用FIFO609的緩沖功能,交織順序輸出611可以不停頓地產(chǎn)生信號。
圖7是表示圖1的有限域中的乘法器103或圖4的有限域中的乘法器403及413的構成例的框圖。本實施例的有限域中的乘法器由乘法701和模運算702構成的兩個部分構成。模運算702由圖8所示的比較減法電路801構成,來執(zhí)行圖9所示的運算901。
圖9的運算901在乘法器701的運算結果為二進制1010010110000011時,表示以p=10010011取模的例子。首先,比較減去高8位,其可以用比較減法電路801的構成實現(xiàn)。用高位MSB判斷比較結果,若為p以上的值,則輸出減法運算過的值,邊移一位邊進行同樣的處理,也可最終得到模運算的結果。
以上說明了本實施方式的交織順序發(fā)生器,接著,說明使用該交織順序發(fā)生器進行數(shù)據(jù)的順序變換的處理。
圖10是通過進行RAM中存儲的數(shù)據(jù)順序變換,從而進行交織處理的方法。將來自交織順序發(fā)生器1001的信號作為RAM1002的地址信號而讀出數(shù)據(jù),從而進行交織。例如,若將0,8,4,12,2...7,15的序列從交織順序發(fā)生器輸入到RAM1002的讀出地址(RD Adr)中,則從RAM1002中輸出以地址順序排列存儲的數(shù)據(jù)的第0數(shù)據(jù)、第8數(shù)據(jù)、...,從而進行順序變換。
圖11是通過寫入進行去交織的方法。與圖10的讀出的交織同樣,將來自交織順序發(fā)生器1101的信號作為RAM1102的地址輸入。與圖10的不同點是該地址信號為寫入用地址,并將去交織后的數(shù)據(jù)存儲在該RAM1102中。
例如,將上述交織后的數(shù)據(jù)以第0數(shù)據(jù)、第8數(shù)據(jù)...的順序輸入到RAM1102中。與圖10相同,從交織順序發(fā)生器1101將0,8,4,12,2...7,15的序列輸入到RAM1102的寫入地址(WR Adr)中。結果,RAM1102中恢復為當初的順序,對于地址0,1,2...,恢復為第0數(shù)據(jù)、第1數(shù)據(jù)、第2數(shù)據(jù)...的順序,而執(zhí)行去交織。
另外,去交織和交織都可通過圖案來變換,若將一方稱作交織,則另一方為去交織,相反,若將一方稱作去交織,則將另一方稱作交織。這樣,使用同樣的交織順序發(fā)生器可實現(xiàn)交織和去交織。
圖12使用該關系,以一個交織順序發(fā)生器1201來同時實現(xiàn)交織和去交織,用于后述的Turbo碼譯碼器的外部信息序列和先驗信息序列(先驗)變換時。
在該圖中,在雙通道RAM1202中按地址順序存儲有對應于接收符號的先驗數(shù)據(jù)。若為進行過交織的更新期間,則從交織順序發(fā)生器1201,根據(jù)交織圖案將0,8,4,12,2...7,15的序列輸入到RAM1202的讀出地址中。由此,從RAM1202中輸出第0數(shù)據(jù),第8數(shù)據(jù)...。
該交織后的數(shù)據(jù),在由后述的Turbo碼譯碼器處理后,需要返回到原始數(shù)據(jù)順序的去交織器。因此,構成為插入延遲器1203,來延遲Turbo碼譯碼處理時間后進行去交織處理。
例如,以第0數(shù)據(jù)、第8數(shù)據(jù)、...的順序將處理后的數(shù)據(jù)輸入到RAM1202中。從交織順序發(fā)生器1201經(jīng)過了延遲器1203后的寫入用地址信號為0,8,4,12,2...7,15,在RAM1202中,相對地址0,1,2...,以第0數(shù)據(jù),恢復為第1數(shù)據(jù),第2數(shù)據(jù)...的順序,從而執(zhí)行去交織。
圖13是表示包括上述說明的交織順序發(fā)生器1301和使用其并進行交織處理用的雙通道RAM1303的本發(fā)明的Turbo碼編碼器的實施方式的框圖。
本實施方式的Turbo碼編碼器也與圖15所示的現(xiàn)有Turbo碼編碼器相同,具有兩個分量編碼器1304和1305,向分量編碼器1304輸入沒有進行交織處理的信息序列,向分量編碼器1305輸入進行過交織處理的信息序列。
因此,作為雙通道RAM1303的一個地址輸入RD Adr1,輸入增序計數(shù)器(up counter)1302的輸出,作為另一個地址輸入RD Adr 2輸入交織順序發(fā)生器1301的輸出。并且,將由來自增序計數(shù)器1302的地址輸入RD Adr1讀出的雙通道RAM1303的信息序列輸入到分量編碼器1304中,將由來自交織順序發(fā)生器1301的地址輸入RD Adr2讀出的雙通道RAM1303的交織后的信息序列輸入到分量編碼器1305中。
圖14表示具備上述的交織順序發(fā)生器1402與使用其進行交織處理及去交織處理用的雙通道RAM1407以及1406的本發(fā)明的Turbo碼譯碼器的將增序計數(shù)器1401或交織順序發(fā)生器1402經(jīng)選擇開關1403連接到存儲有信息序列的雙通道RAM1406的讀出用地址上。在Turbo碼譯碼的各迭代處理中存在對應于沒有進行交織處理的奇偶校驗位1的譯碼和對應于進行過交織處理的奇偶校驗位2的譯碼。選擇開關1403和1404是進行切換用的開關,對于半迭代,根據(jù)是奇數(shù)次還是偶數(shù)次,由切換信號1405進行控制。
在不伴隨交織的處理中,選擇開關1403選擇增序計數(shù)器1401。選擇開關1404選擇奇偶校驗位1。
因此,由于將增序計數(shù)器1401連接在存儲有信息序列的雙通道RAM1406的讀出地址上,故從雙通道RAM1406開始輸出未進行交織的信息序列。同時,由于也經(jīng)開關1403將增序計數(shù)器1401連接到雙通道RAM1407的讀入地址上,所以也從雙通道1407輸出未進行交織的奇偶校驗。
由加法器1408相加這兩個信號,并輸入到軟輸入軟輸出解碼器(SISO)1410中。SISO1410由在對數(shù)上進行MAP譯碼的所謂LogMAP或Max-LogMAP構成,加法器1408的加法處理相當于概率運算的乘法。
根據(jù)該加法器1408的運算結果和用開關1404選擇的奇偶校驗位1執(zhí)行MAP運算,用加法器1412從其結果中減去延遲器1411中的配合定時的加法值,并作為下一次的先驗值輸入到雙通道RAM1407中。在雙通道RAM1407的寫入用地址中,經(jīng)延遲器1409、與讀出用地址相同的地址配合定時輸入,所以在對應于信息序列的符號位置的地址上存儲先驗數(shù)據(jù)。
接著,若為伴隨半迭代的交織處理,則選擇開關1403選擇交織順序發(fā)生器1402,選擇開關1404選擇奇偶校驗位2。
因此,由于將交織順序發(fā)生器1402連接在存儲有信息序列的雙通道RAM1406的讀出地址上,所以從雙通道RAM1406輸出進行過交織的信息序列。同時,由于還經(jīng)開關1403將交織順序發(fā)生器1402連接在雙通道1407的讀入地址上,所以還從雙通道RAM1407輸出進行過交織的奇偶校驗。
由加法器1408相加這兩個信號并輸入到軟輸入軟輸出解碼器(SISO)1410中。加法器1408的加法處理相當于概率運算的乘法。
根據(jù)該加法器1408的運算結果和由開關1404選擇的奇偶校驗位2來執(zhí)行MAP運算,用加法器1412從其結果中減去在延遲器1411中的配合定時的加法值,并輸入到雙通道RAM1407中。在雙通道RAM1407的寫入用地址中,由于經(jīng)延遲器1409、與讀出用地址相同的地址配合定時輸入,所以在原始地址位置上存儲先驗數(shù)據(jù)。即,執(zhí)行了去交織。
Turbo碼譯碼器的特征是通過該迭代處理大大提高了譯碼性能,最終由判決器1403進行硬判決,從而從輸出端1414輸出譯碼數(shù)據(jù)。
權利要求
1.一種交織順序發(fā)生器,其特征在于,包括將數(shù)據(jù)長度設為以素數(shù)p為基的長度為p的R個塊,并生成與p-1互為質數(shù)的R個不同的整數(shù)q0,q1,q2,…qR-1的機構;將基準數(shù)為所述素數(shù)p的有限域的根相對原始根υ,作為所述q0,q1,q2,…qR-1的冪乘,分別生成并存儲υ^q0(mod p),υ^q1(mod p),υ^q2(mod p),…υ^qR-1(mod p)的機構;將所述υ^q0,υ^q1,υ^q2,…υ^qR-1(mod p)在所述有限域中進行j乘而分別生成(υ^q0)^j(mod p),(υ^q1)^j(mod p),(υ^q2)^j(modp),…(υ^qR-1)^j(mod p)的機構;生成或記錄進行所述塊替換用的預定塊替換圖案的機構;和當為第0順序變換時,順次在p倍于來自生成或記錄所述塊替換圖案的機構的輸出值上加1,當為第j順序變換時,在j=1~(p-2)中反復進行順次在p倍于來自生成或記錄所述塊替換圖案的機構的輸出值上加上所述生成的(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)操作的機構。
2.根據(jù)權利要求1所述的交織順序發(fā)生器,其特征在于,具有在j=1~(p-2)的反復操作期間,通過將所述生成及存儲的υ^q0,υ^q1,υ^q2,…υ^qR-1(mod p)順次輸入到有限域的高速乘法器中,從而順次更新所述(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的值的機構。
3.根據(jù)權利要求1或2所述的交織順序發(fā)生器,其特征在于,具有在所述j=p-1中將相當于所述(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的值全部設為0的機構。
4.根據(jù)權利要求1所述的交織順序發(fā)生器,其特征在于,具有在來自所述交織順序發(fā)生器的輸出信號超過交織對象范圍的情況下,跳過該信號,而使用下一該范圍內(nèi)的信號的機構。
5.根據(jù)權利要求1所述的交織順序發(fā)生器,其特征在于,具有具備多個所述有限域中的高速乘法器,通過由所述多個有限域的高速乘法器來分擔(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的值的更新,從而同時執(zhí)行多個所述(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的值的更新的機構。
6.根據(jù)權利要求5所述的交織順序發(fā)生器,其特征在于,具有具備兩個所述有限域的高速乘法器,相對將所述生成及存儲的υ^q0,υ^q1,υ^q2,…υ^qR-1(mod p)分割為奇數(shù)乘數(shù)和偶數(shù)乘數(shù)的υ^q0,υ^q2,υ^q4,…(mod p)和υ^q1,υ^q3,υ^q5,…(mod p)分配所述兩個高速乘法器,通過在所述有限域上進行j乘,從而并行地同時更新(υ^q0)^j,(υ^q2)^j,…(mod p)和(υ^q1)^j,(υ^q3)^j,…(mod p)的值的機構。
7.一種交織器,其特征在于,具有將權利要求1所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并由該地址信號從所述存儲器中讀出數(shù)據(jù),從而進行所述數(shù)據(jù)的順序變換的機構。
8.一種Turbo碼編碼器,其特征在于,將權利要求7所述的交織器作為Turbo碼編碼器的內(nèi)部交織器。
9.一種交織器,其特征在于,具有將權利要求1所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并由該地址信號將數(shù)據(jù)寫入到所述存儲器中,從而進行所述數(shù)據(jù)的順序變換的機構。
10.一種Turbo碼譯碼器,其特征在于,包括第一交織器,其具有將權利要求1所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并由該地址信號從所述存儲器中讀出數(shù)據(jù),從而進行所述數(shù)據(jù)的順序變換的機構;和第二交織器,其具有將權利要求1所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并由該地址信號將數(shù)據(jù)寫入到所述存儲器中,從而進行所述數(shù)據(jù)的順序變換的機構,將所述第一及第二交織器的一個作為內(nèi)部交織器,另一個作為內(nèi)部去交織器。
11.一種Turbo碼譯碼器,其特征在于,通過將權利要求1所述的交織順序發(fā)生器的輸出作為存儲了數(shù)據(jù)的雙通道存儲器的讀出用地址信號,來進行數(shù)據(jù)內(nèi)容的讀出,將用預定值進行過延遲的該地址信號作為寫入用地址信號來進行數(shù)據(jù)內(nèi)容的寫入,從而同時實現(xiàn)了Turbo碼譯碼器的內(nèi)部交織器和內(nèi)部去交織器。
12.一種交織順序發(fā)生器,其特征在于,包括將數(shù)據(jù)長度設為以素數(shù)p為基的長度為p-1的R個塊,生成與p-1互為質數(shù)的R個不同的整數(shù)q0,q1,q2,…qR-1的機構;將基準數(shù)為素數(shù)p的有限域的根相對原始根υ作為所述q0,q1,q2,…qR-1的冪乘,分別生成及存儲υ^q0,υ^q1,υ^q2,…υ^qR-1(modp)的機構;將所述υ^q0,υ ^q1,υ^q2,…υ^qR-1(mod p)在所述有限域上進行j乘,而分別生成(υ^q0)^j,(υ^q1)^j,(υ ^q2)^j,…(υ^qR-1)^j(mod p)的機構;生成或記錄進行所述塊替換用的預定塊替換圖案的機構;和當為第0順序變換時,順次在p-1倍于來自生成或記錄所述塊替換圖案的機構的輸出值上加1,當為第j順序變換時,在j=1~(p-2)中反復進行順次在p-1倍于來自生成或記錄所述塊替換圖案的機構的輸出值上加上所述生成的(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(modp)的操作的機構。
13.根據(jù)權利要求12所述的交織順序發(fā)生器,其特征在于,具有對進行過順序相加的值減去1的機構。
14.根據(jù)權利要求12所述的交織順序發(fā)生器,其特征在于,具有在j=1~(p-2)的反復操作期間內(nèi),通過將所述生成及存儲的υ^q0,υ^q1,υ^q2,…υ^qR-1(mod p)順次輸入到有限域的高速乘法器中,從而依次更新所述(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的值的機構。
15.根據(jù)權利要求12所述的交織順序發(fā)生器,其特征在于,具有當來自所述交織順序發(fā)生器的輸出信號超過交織對象范圍的情況下,跳過該信號,而使用下一在該范圍內(nèi)的信號的機構。
16.根據(jù)權利要求12所述的交織順序發(fā)生器,其特征在于,具有具備多個所述有限域的高速乘法器,通過由所述多個有限域的高速乘法器來分擔(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的值的更新,從而同時執(zhí)行多個所述(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的值的更新的機構。
17.根據(jù)權利要求16所述的交織順序發(fā)生器,其特征在于,具有具備兩個所述有限域的高速乘法器,相對將所述生成及存儲的υ^q0,υ^q1,υ^q2,…^υ^qR-1(mod p)分割為奇數(shù)乘數(shù)和偶數(shù)乘數(shù)的υ^q0,υ^q2,υ^q4,…(mod p)和υ^q1,υ^q3,υ^q5,…(mod p)分配所述兩個高速乘法器,通過在所述有限域上乘j,從而并行地同時更新(υ^q0)^j,(υ^q2)^j,…(mod p)和(υ^q1)^j,(υ^q3)^j,…(mod p)的值的機構。
18.一種交織器,其特征在于,具有將權利要求12所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并由該地址信號從所述存儲器中讀出數(shù)據(jù),從而進行所述數(shù)據(jù)的順序變換的機構。
19.一種Turbo碼編碼器,其特征在于,將權利要求18所述的交織器作為Turbo碼編碼器的內(nèi)部交織器。
20.一種交織器,其特征在于,具有將權利要求12所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并由該地址信號將數(shù)據(jù)寫入到所述存儲器中,從而進行所述數(shù)據(jù)的順序變換的機構。
21.一種Turbo碼譯碼器,其特征在于,包括第一交織器,其具有將權利要求12所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并由該地址信號從所述存儲器中讀出數(shù)據(jù),從而進行所述數(shù)據(jù)的順序變換的機構;和第二交織器,其具有將權利要求所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并由該地址信號將數(shù)據(jù)寫入到所述存儲器中,從而進行所述數(shù)據(jù)的順序變換的機構,將所述第一及第二交織器的一個作為內(nèi)部交織器,另一個作為內(nèi)部去交織器。
22.一種Turbo碼譯碼器,其特征在于,通過將權利要求12所述的交織順序發(fā)生器的輸出作為存儲了數(shù)據(jù)的雙通道存儲器的讀出用地址信號,來進行數(shù)據(jù)內(nèi)容的讀出,將以預定值進行過延遲的該地址信號作為寫入用地址信號來進行數(shù)據(jù)內(nèi)容的寫入,從而同時實現(xiàn)了Turbo碼譯碼器的內(nèi)部交織器和內(nèi)部去交織器。
23.一種交織順序發(fā)生器,其特征在于,包括將數(shù)據(jù)長度設為以素數(shù)p為基的長度為p+1的R個塊,生成與p-1互為質數(shù)的R個不同的整數(shù)q0,q1,q2,…qR-1的機構;將基準數(shù)為所述素數(shù)p的有限域的根相對原始根υ作為所述q0,q1,q2,…qR-1的冪乘,分別生成及存儲υ^q0,υ^q1,υ^q2,…υ^qR-1(modp)的機構;將所述υ^q0,υ^q1,υ^q2,…υ^qR-1(mod p)在所述有限域上乘j,分別生成(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的機構;生成或記錄進行所述塊替換用的預定塊替換圖案的機構;和當為第0順序變換時,順次在p+1倍于來自生成或記錄所述塊替換圖案的機構的輸出值上加1,當為第j順序變換時,在j=1~(p-2)中反復進行順次在p+1倍于來自生成或記錄所述塊替換圖案的機構的輸出值上加上所述生成的(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(modp)的操作的機構。
24.根據(jù)權利要求23所述的交織順序發(fā)生器,其特征在于,具有在j=1~(p-2)的反復操作時,通過將所述生成及存儲的υ^q0,υ^q1,υ^q2,…υ^qR-1(mod p)順次輸入到有限域的高速乘法器中,從而依次更新所述(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的值的機構。
25.根據(jù)權利要求23所述的交織順序發(fā)生器,其特征在于具有在所述j=p-1中將相當于所述(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的值全部設為0的單元。
26.根據(jù)權利要求23所述的交織順序發(fā)生器,其特征在于,具有在所述j=p中將相當于所述(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的值全部設為p的機構。
27.根據(jù)權利要求23所述的交織順序發(fā)生器,其特征在于,具有當來自所述交織順序發(fā)生器的輸出信號超過交織對象范圍的情況下,跳過該信號,而使用下一在該范圍內(nèi)的信號的機構。
28.根據(jù)權利要求23所述的交織順序發(fā)生器,其特征在于,具有具備多個所述有限域的高速乘法器,通過由所述多個有限域的高速乘法器來分擔(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的值的更新,從而同時執(zhí)行多個所述(υ^q0)^j,(υ^q1)^j,(υ^q2)^j,…(υ^qR-1)^j(mod p)的值的更新的機構。
29.根據(jù)權利要求28所述的交織順序發(fā)生器,其特征在于,具有具備兩個所述有限域的高速乘法器,相對將所述生成及存儲的υ^q0,υ^q1,υ^q2,…υ^qR-1(mod p)分割為奇數(shù)乘數(shù)和偶數(shù)乘數(shù)的υ^q0,υ^q2,υ^q4,…(mod p)和υ^q1,υ^q3,υ^q5,…(mod p)分配所述兩個高速乘法器,通過在所述有限域上乘j,從而并行地同時更新(υ^q0)^j,(υ^q2)^j,…(mod p)和(υ^q1)^j,(υ^q3)^j,…(mod p)的值的機構。
30.一種交織器,其特征在于,具有將權利要求23所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并由該地址信號從所述存儲器中讀出數(shù)據(jù),從而進行所述數(shù)據(jù)的順序變換的機構。
31.一種Turbo碼編碼器,其特征在于,將權利要求30所述的交織器作為Turbo碼編碼器的內(nèi)部交織器。
32.一種交織器,其特征在于,具有將權利要求23所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并由該地址信號將數(shù)據(jù)寫入到所述存儲器中,從而進行所述數(shù)據(jù)的順序變換的機構。
33.一種Turbo碼譯碼器,其特征在于,包括第一交織器,其具有將權利要求23所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并由該地址信號從所述存儲器中讀出數(shù)據(jù),從而進行所述數(shù)據(jù)的順序變換的機構;和第二交織器,其具有將權利要求23所述的交織順序發(fā)生電路的輸出作為存儲了數(shù)據(jù)的存儲器的地址信號,并由該地址信號將數(shù)據(jù)寫入到所述存儲器中,從而進行所述數(shù)據(jù)的順序變換的機構,將所述第一及第二交織器的一個作為內(nèi)部交織器,另一個作為內(nèi)部去交織器。
34.一種Turbo碼譯碼器,其特征在于,通過將權利要求23所述的交織順序發(fā)生器的輸出作為存儲了數(shù)據(jù)的雙通道存儲器的讀出用地址信號,來進行數(shù)據(jù)內(nèi)容的讀出,將以預定值進行了延遲的該地址信號作為寫入用地址信號來進行數(shù)據(jù)內(nèi)容的寫入,從而同時實現(xiàn)了Turbo碼譯碼器的內(nèi)部交織器和內(nèi)部去交織器。
35.一種交織順序發(fā)生電路,其中將數(shù)據(jù)長度設為以素數(shù)p為基的長度為p的R個塊,使用基準數(shù)p的有限域上的原始根υ,得到行變換前第i行的行內(nèi)變換后第j輸出位置Ui(j),其特征在于,通過生成R個表,從而求出所述Ui(j)。
全文摘要
根據(jù)本發(fā)明,即使在各種多媒體業(yè)務中需要準備多種交織圖案的情況下,也可以不必對應于因此而需要的很大的存儲器容量。在以例如8次迭代等構成進行2MbpS以上的接收數(shù)據(jù)序列的譯碼的情況下,不需要一次將所生成的交織圖案存儲到高速存儲器用的高速存儲器容量,即使在需要將實際處理的所生成圖案傳送到Turbo碼譯碼器內(nèi)的交織用RAM的情況下,也可不必對應于該接口瓶頸等大量的傳送數(shù)據(jù)量。再有,可以提供一種在具有可變碼率功能時,雖然頻繁產(chǎn)生交織長度的改變,但即使在這種情況下,也可通過不助長接口瓶頸的最小限度的參數(shù)傳送來實現(xiàn),且消除了不可跟蹤多媒體業(yè)務的傳送碼率的問題之交織順序發(fā)生器、交織器、Turbo碼編碼器和Turbo碼譯碼器。
文檔編號H03M13/45GK1639986SQ02822860
公開日2005年7月13日 申請日期2002年11月19日 優(yōu)先權日2001年11月19日
發(fā)明者丸次夫 申請人:日本電氣株式會社