JP2003152551A - インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ - Google Patents

インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ

Info

Publication number
JP2003152551A
JP2003152551A JP2001353675A JP2001353675A JP2003152551A JP 2003152551 A JP2003152551 A JP 2003152551A JP 2001353675 A JP2001353675 A JP 2001353675A JP 2001353675 A JP2001353675 A JP 2001353675A JP 2003152551 A JP2003152551 A JP 2003152551A
Authority
JP
Japan
Prior art keywords
mod
interleaving
order
output
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001353675A
Other languages
English (en)
Other versions
JP3624874B2 (ja
Inventor
Tsugio Maru
次夫 丸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2001353675A priority Critical patent/JP3624874B2/ja
Application filed by NEC Corp filed Critical NEC Corp
Priority to US10/496,110 priority patent/US7210076B2/en
Priority to EP02803537A priority patent/EP1458106A4/en
Priority to KR20047007578A priority patent/KR100622904B1/ko
Priority to AU2002366138A priority patent/AU2002366138A1/en
Priority to PCT/JP2002/012082 priority patent/WO2003044965A1/ja
Priority to CNB02822860XA priority patent/CN100555880C/zh
Publication of JP2003152551A publication Critical patent/JP2003152551A/ja
Application granted granted Critical
Publication of JP3624874B2 publication Critical patent/JP3624874B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • H03M13/2714Turbo interleaver for 3rd generation partnership project [3GPP] universal mobile telecommunications systems [UMTS], e.g. as defined in technical specification TS 25.212
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/276Interleaving address generation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Abstract

(57)【要約】 【課題】 移動体通信システムに用いられるターボデコ
ーダの内部インターリーバを、比較的少ないメモリ容量
により実現する手段を提供する。 【解決手段】 データ長を、素数pをベースにした長さp
でR個のブロックとし、p-1とは互いに素なるR個の異な
る整数q0,q1,q2,・・・qR-1を生成し、標数が前記素数p
の有限体の元を、原始元νに対し前記整数の冪乗として
それぞれν^q0,ν^q1,ν^q2,・・・ν^qR-1(mod p)のご
とく生成し、これを前記有限体上でj乗してそれぞれ
(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,・・・(ν^qR-1)^j(mo
d p)を実時間で生成する手段201を備え、第0の順序入
れ替えは、ブロック入れ替えパターン記録手段205から
の出力をp倍した値に1を順次足し合わせて行い、第j
の順序入れ替えは、前記手段205からの出力をp倍した
値に前記手段201で生成した値を実時間で順次足し合わ
せる操作を、j=1〜(p-2)において繰り返す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、IMT2000
(第三世代移動通信システム)のW−CDMAで用いら
れる素数インターリーバ(prime interleaver)に関
し、特にインターリービング順序発生器の為のメモリを
削減したインターリービング順序発生器、インターリー
バ、ターボエンコーダ及びターボデコーダに関する。
【0002】
【従来の技術】広域DS−CDMA(W−CDMA)
は、第三世代の移動通信システム(IMT2000)無
線アクセス方式(RAN)の一つとして標準化され、そ
の中で素数インターリーバと呼ばれるターボコーディン
グ用の内部インターリーバが規格化されている。その詳
しい記述は「3rd Generation Partnership Project; Te
chnical Specification Group Radio Access Network;
Multiplexing and channelcoding(FDD)(Release 1999)3
G TS25.212 V3.3.0(2000―06) 4.2.3.2.3章 Turbocode
internal interleaver16頁〜20頁」に開示されている。
【0003】このターボエンコーダは、複数のコンポー
ネントエンコーダで構成されており、各コンポーネント
エンコーダ間のパリティ系列の相関を薄くする為にイン
ターリーバが用いられ、インターリーバを介して各コン
ポーネントエンコーダを連接する構成になっている。こ
のインターリーバはターボコードの性能を発揮する上で
重要な役割を果たしている。
【0004】図15は、従来のターボエンコーダの構成
例を示す図である。同図に示す様に、ターボエンコーダ
は、複数の再帰的組織的畳み込みコンポーネントエンコ
ーダ1502、1503と、インターリーバ1501を
具備して構成されている。各再帰的組織的畳み込みエン
コーダ1502、1503は加算器と単位遅延素子によ
って構成されており、ターボエンコーダに入力される情
報系列1ビットに対して情報ビット、パリティビット1
並びにパリティビット2の3ビットが出力される。パリ
ティビット1とパリティビット2の相関を薄くする為、
コンポーネントエンコーダ1503の前にインターリー
バ1501を挿入している。
【0005】図16は、従来のターボデコーダの構成例
を示す図である。ターボデコーダは、二つの軟入力軟出
力デコーダ(soft in soft out decoder;以下、SIS
Oと略す。)1603、1604と二つのインターリー
バ1601、1602とインターリーバによるインター
リービング順序の逆の処理を行う二つのデインターリー
バ1606,1607を具備して構成される。分離器1
605はパリティ系列1,2をそれぞれ対応するSIS
Oに分配するものであり、判定器1608は最終的に得
られた軟出力データを二値に硬判定する為のものであ
る。
【0006】図17は、RAMに蓄積されたインターリ
ービング順序(インターリーブパターンテーブルとして
蓄積されている。)によりビット単位に並び替えを行う
従来のインターリーバの例を示しており、インターリー
ビングを行うデータ系列1701は、インターリーブパ
ターンテーブルによるインターリービング順序が蓄積さ
れたRAM1702によりデータ系列内のビット順序の
入れ替えが行われ、インターリービング後のデータ系列
1703を得ている。
【0007】インターリービング順序を出力するRAM
1702の出力とインターリーブパターンテーブルとの
関係は、同図1702に示すように、素数pをベースと
した長さpでR個のブロックとしたパターンテーブル
で、矢印の様に縦方向の順に0,8,4,12,2,・
・・の順で読み出してインターリービング後のデータ系
列1703を得る様になっている。
【0008】
【発明が解決しようとする課題】IMT2000(W−
CDMA)の標準規格3G TS25.212 V3.3.0(2000―06)に
よれば、各種のマルチメディアサービスに対応する為、
インターリーブ長が1ビット毎の40ビットから511
4ビット迄で、5075種類のインターリービングパタ
ーンを用意する必要がある。この全てのインターリーブ
長に対応するパターンテーブルを備える為には、膨大な
メモリ量が必要となり現実的でない。そこで全ての種類
のパターンを蓄積するのではなく、各インターリービン
グ長に応じて予め決められた演算に従いパターンを生成
する方法が3G TS25.212 V3.3.0(2000―06) 4.2.3.2.3章
に開示されている。
【0009】上記「3rd Generation Partnership Proje
ct; Technical Specification Group Radio Access Net
work; Multiplexing and channel coding(FDD)(Release
1999)3G TS25.212 V3.3.0(2000―06)またはV4.0.0(200
0-12) 4.2.3.2.3章 Turbo code internal interleaver1
6頁〜20頁」に開示されている素数インターリーバで
は、データ長を、素数pをベースとした長さpでR個の
ブロックとし、標数がpの有限体上の原始元νを用いて
行内順序入れ替えを行う為のベースシーケンスS(j)
を以下の様にして求めている(intra-row permutation
処理)。 s(j)=[ν・s(j-1)]mod p, j=1,2,・・・(p-2).And s(0)=1.--------(1) これをテーブルにする。次に有限体の標数から1を引い
た数p−1と互いに素なる数q(i)をR個求める。最
後に行を単位として行の順序入れ替えを行う(inter-ro
w permutation処理)。行単位の順序入れ替えは、予め
決められたパターンT(i)に基づき行われる。これらのパ
ターンとしては、自由距離を大きくする行間の交錯パタ
ーンが用いられている。
【0010】例えば、i番目の行内順序入れ替えを行う
場合、次の様な処理を行う。 Ui(j)=s([j・ri]mod(p-1)), j=0,1,2,・・・,(p-2).,and Ui(p-1)=0,-------(2) ここで、Ui(j)は入れ替え前のビットポジションを示
し、行入れ替え前i番目の行における行内順序入れ替え
後j番目の出力位置に相当する。また、rT(i)=q(i)であ
り、T(i)は上記で定義された入れ替え前の行位置でi番
目の行位置になる。
【0011】一例としてデータ長K=257の場合につ
いて説明する。二次元配列の行数Rを20としたときに
素数pで表せる列数pを求めると、257/20=1
2.85であるから、それ以上で最も近い素数pは、p
=13となる。標数が13の有限体上の原始元νは2で
ある。
【0012】そこでこの原始元ν=2を用いて行内順序
入れ替えを行う為のベースシーケンスS(j)を(1)式
から求めると、p=13,ν=2の場合 {s(j)}={1,2,4,8,3,6,12,11,9,5,10,7,0} となる。尚、最後に0を挿入する。
【0013】次に有限体の標数から1を引いた数p−1
と互いに素なる数q(i)をR(=20)個求める。p
=13の上述の例では、 {q(i)}={1,7,11,13,17,19,23,29,31,37,41,43,47,53,5
9,61,67,71,73,79} となる。
【0014】最後に(2)式により、予め決められたパ
ターンに基づき行を単位として行の順序入れ替え(inte
r-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} となる。
【0015】また、rT(i)=q(i)であるから、 rT(1)=q(1)=1=r19 rT(2)=q(2)=7=r9 rT(3)=q(3)=11=r14 : rT(19)=q(19)=73=r15 rT(20)=q(20)=79=r11 となるので、これらの値を(2)式に代入してUi(j)を
求める。
【0016】上記従来技術では、このUi(j)をDSP(d
igital signal processor)等のソフトウェア処理によ
って計算し、図17に示す大規模RAM1702等に転
送してインターリーブ処理を行っている。
【0017】一方ターボデコーダの場合、反復復号を行
うことになるが、例えば、8イタレーションの構成で2
Mbpsの受信データ系列の復号を行う場合、上述のイ
ンターリービング順序へのアクセスは数10MHzとい
う高速動作が要求される。これに対応するには、上述の
演算に従って生成されたパターンを一度高速メモリに蓄
え、そのメモリが数10MHzのアクセスを受け持つ構
成にする必要がある。
【0018】しかしその為に必要なメモリ(RAM)の
容量は、5114×13ビット=66482ビットを要
し、ターボデコーダを構成する要素の内、可成りの部分
を占めるに至っている。更に、上述の演算に従って生成
されたパターンを実際に処理を行っているターボデコー
ダ内のインターリービング用RAMに転送する必要があ
るが、このインターフェースには他のデータも同時に送
る必要があり、インターフェース上のボトルネックを生
じる様になった。
【0019】更に、可変レート機能を持たせた場合、頻
繁にインターリーブ長の変更が生じるが、その場合更に
インターフェース上のボトルネックを助長する様にな
り、マルチメディアサービスにおける転送レートに追随
出来ないといった問題を生じるに至った。
【0020】このように、各種のマルチメディアサービ
スに対応した移動体通信システムに用いられるターボデ
コーダの内部インターリーバは多様なインターリーブ長
に対応出来る様にする必要があるため、各種のインター
リービングパターンを用意する必要が有り膨大なメモリ
量を必要とする。更に高速データに対応する為にはイン
ターリービングパターンを一度高速メモリに蓄える必要
があり、その為の高速なメモリ容量を必要とし、これが
回路規模の増大を招いていた。更に、可変レート機能を
有したサービスにおいてはパラメータ転送によるインタ
ーフェースの輻輳を生じていた。
【0021】本発明の目的は、以上の問題点に鑑みなさ
れたものであり、インターリービング順序発生器、イン
ターリーバ、ターボエンコーダ並びにターボデコーダに
おいて、マルチメディアサービスにおける多様なインタ
ーリーブ長及びその転送レートに対し、少ないインター
リーバ用RAM容量で実現し、しかもインターフェース
にかかる負担が少なく、更に可変レート機能を持たせた
場合でもマルチメディアサービスにあった転送レートに
追随出来る手段を提供することにある。
【0022】
【課題を解決するための手段】請求項1に記載された本
発明は、データ長を、素数pをベースにした長さpでR
個のブロックとし、p−1とは互いに素なるR個の異な
る整数q0,q1,q2,・・・qR-1を生成する手段を有し、標
数がpの有限体の元を原始元νに対し前記q0,q 1,q2,・
・・qR-1の冪乗としてそれぞれν^q0,ν^q1,ν^q2,・・
・ν^qR-1(mod p)のごとく生成及び記憶する手段を有
し、第0の順序入れ替えにあたっては、前記ブロック入
れ替えを行う為の予め決められたパターンを生成或いは
記録する手段からの出力をp倍した値に1を順次足し合
わせて行い、第jの順序入れ替えにあたっては前記ν^q
0,ν^q1,ν^q2,・・・ν^qR-1(mod p)を有限体上でj乗
してそれぞれ(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,・・・
(ν^qR-1)^j (mod p)のごとく生成する手段を用いて上
記同様にp倍した値に前記(ν^q0)^j,(ν^q1)^j,(ν^
q2)^j,・・・(ν^qR-1)^j (mod p)を順次足し合わせを
j=1〜(p−2)において繰り返すインターリービン
グ順序発生器をその特徴としている。
【0023】請求項2に記載された本発明は、請求項1
に記載されたインターリービング順序発生器において、
前記j=1〜(p−2)の繰り返しに当たっては前記ν
^q0,ν^q1,ν^q2,・・・ν^qR-1(mod p)を生成及び記憶
する手段と、この記憶した値を順次有限体における高速
乗算器に入力することによって前記(ν^q0)^j,(ν^q1)^
j,(ν^q2)^j,・・・(ν^qR-1)^j (mod p)の値を逐次的
に更新することを特徴としている。
【0024】請求項3に記載された本発明は、請求項1
または2に記載のインターリービング順序発生器におい
て、前記j=p−1において(ν^q0)^j,(ν^q1)^j,(ν^
q2)^j,・・・(ν^qR-1)^j (mod p)に相当する値を全て
0とすることを特徴としている。
【0025】請求項4に記載された本発明は、データ長
を、素数pをベースにした長さp−1でR個のブロック
とし、p−1とは互いに素なるR個の異なる整数q0,q1,
q2,・・・qR-1を生成する手段を有し、標数がpの有限
体の元を原始元νに対し前記q0,q1,q2,・・・qR-1の冪
乗としてそれぞれν^q0,ν^q1,ν^q2,・・・ν^qR-1(mo
d p)のごとく生成及び記憶する手段を有し、第0の順序
入れ替えにあたっては、前記ブロック入れ替えを行う為
の予め決められたパターンを生成或いは記録する手段か
らの出力をp−1倍した値に1を順次足し合わせて行
い、第iの順序入れ替えにあたっては前記ν^q0,ν^q1,
ν^q2,・・・ν^qR-1(mod p)を有限体上でj乗してそれ
ぞれ(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,・・・(ν^qR-1)^
j (mod p)のごとく生成する手段を用いて上記同様にp
−1倍した値に前記(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,・
・・(ν^qR-1)^j (mod p)を順次足し合わせをj=1〜
(p−2)において繰り返すインターリービング順序発
生器をその特徴としている。
【0026】請求項5に記載された本発明は、請求項4
に記載のインターリービング順序発生器において、前記
順次足し合わせを行った値に対し1を減算することを特
徴としている。
【0027】請求項6に記載された本発明は、請求項4
または5に記載のインターリービング順序発生器におい
て、前記j=1〜(p−2)の繰り返しに当たっては前
記ν^q0,ν^q1,ν^q2,・・・ν^qR-1(mod p)を生成及び
記憶する手段と、この記憶した値を順次有限体における
高速乗算器に入力することによって前記(ν^q0)^j,(ν^
q1)^j,(ν^q2)^j,・・・(ν^qR-1)^j (mod p)の値を逐
次的に更新することを特徴としている。
【0028】請求項7に記載された本発明は、データ長
を、素数pをベースにした長さp+1でR個のブロック
とし、p−1とは互いに素なるR個の異なる整数q0,q1,
q2,・・・qR-1を生成する手段を有し、標数がpの有限
体の元を原始元νに対し前記q0,q1,q2,・・・qR-1の冪
乗としてそれぞれν^q0,ν^q1,ν^q2,・・・ν^qR-1(mo
d p)のごとく生成及び記憶する手段を有し、第0の順序
入れ替えにあたっては、前記ブロック入れ替えを行う為
の予め決められたパターンを生成或いは記録する手段か
らの出力をp+1倍した値に1を順次足し合わせて行
い、第jの順序入れ替えにあたっては、前記ν^q0,ν^q
1,ν^q2,・・・ν^qR-1(mod p)を有限体上でj乗してそ
れぞれ(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,・・・(ν^
qR-1)^j (mod p)のごとく生成する手段を用いて上記同
様にp+1倍した値に前記(ν^q0)^j,(ν^q1)^j,(ν^
q2)^j,・・・(ν^qR-1)^j (mod p)を順次足し合わせを
j=1〜(p−2)において繰り返すインターリービン
グ順序発生器をその特徴としている。
【0029】請求項8に記載された本発明は、請求項7
に記載のインターリービング順序発生器において、前記
j=1〜(p−2)の繰り返しに当たっては前記ν^q0,
ν^q1,ν^q2,・・・ν^qR-1(mod p)を生成及び記憶する
手段と、この記憶した値を順次有限体における高速乗算
器に入力することによって前記(ν^q0)^j,(ν^q1)^j,
(ν^q2)^j,・・・(ν^qR-1)^j (mod p)の値を逐次的に
更新することを特徴としている。
【0030】請求項9に記載された本発明は、請求項7
または8に記載のインターリービング順序発生器におい
て、前記j=p−1において(ν^q0)^j,(ν^q1)^j,(ν^
q2)^j,・・・(ν^qR-1)^j (mod p)に相当する値を全て
0とすることを特徴としている。
【0031】請求項10に記載された本発明は、請求項
7〜9のいずれかに記載のインターリービング順序発生
器において、前記j=pにおいて(ν^q0)^j,(ν^q1)^j,
(ν^q2)^j,・・・(ν^qR-1)^j (mod p)に相当する値を
全てpとすることを特徴としている。
【0032】請求項11に記載された本発明は、請求項
1〜10のいずれかに記載のインターリービング順序発
生器において、前記インターリービング順序発生器から
の出力信号がインターリーバ対象範囲を超えた場合、該
信号をスキップして次の該範囲内の信号を使用すること
を特徴としている。
【0033】請求項12に記載された本発明は、請求項
1〜11のいずれかに記載のインターリービング順序発
生器において、前記有限体の高速乗算器を複数個有し、
前記(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,・・・(ν^qR-1)^
j (mod p)の値の更新を前記(ν^q0)^j,(ν^q1)^j,(ν^q
2)^j,・・・(ν^qR-1)^j (mod p)の内複数個同時に実行
し、前記インターリービング順序発生器からの出力がイ
ンターリーバ対象範囲を超えた場合、該信号をスキップ
して次の範囲内の信号を使用し、淀みなく信号を発生す
るようにしたことを特徴としている。
【0034】請求項13に記載された本発明は、請求項
12に記載のインターリービング順序発生器において、
前記有限体における高速乗算器を2個備え、前記生成及
び記憶したν^q0,ν^q1,ν^q2,・・・ν^qR-1(mod p)
を、偶数乗数と奇数乗数に分割したν^q0,ν^q2,ν^q4,
・・・(mod p)とν^q1,ν^q3,ν^q5,・・・(mod p)に対
して、前記2個の高速乗算器を割り当て、前記有限体上
でj乗することにより、(ν^q0)^j,(ν^q2)^j,・・・(m
od p)と(ν^q1)^j,(ν^q3)^j,・・・(mod p)の値を、並
行して同時に更新することを特徴としている。
【0035】請求項14に記載された本発明は、請求項
1〜13のいずれかに記載のインターリービング順序発
生回路出力をデータが蓄積されたメモリのアドレス信号
としてデータの読み出しを行うことにより順序入れ替え
を行うインターリーバをその特徴としている。
【0036】請求項15に記載された本発明は、請求項
1〜13のいずれかに記載のインターリービング順序発
生回路出力をデータが蓄積するメモリのアドレス信号と
してデータを書き込むことにより順序入れ替えを行うイ
ンターリーバをその特徴としている。
【0037】請求項16に記載された本発明は、請求項
14に記載のインターリーバを、ターボエンコーダの内
部インターリーバとするターボエンコーダをその特徴と
している。
【0038】請求項17に記載された本発明は、請求項
14または15に記載のインターリーバの内少なくとも
一方をターボデコーダの内部インターリーバとし、他方
を内部デインターリーバとするターボデコーダをその特
徴としている。
【0039】請求項18に記載された本発明は、請求項
1〜13のいずれかに記載のインターリービング順序発
生器出力を、データが蓄積されたデュアルポートメモリ
の読み出し用アドレス信号として、前記データ内容の読
み出しを行い、予め決められた値で遅延を施した該アド
レス信号を書き込み用アドレス信号としてデータ内容の
書き込みを行うことによりターボデコーダの内部インタ
ーリーバと内部デインターリーバを同時に実現したター
ボデコーダをその特徴としている。
【0040】本発明によれば、各種のマルチメディアサ
ービスに対応した移動体通信システムにおいて、ターボ
デコーダに用いられている素数体を用いたインターリー
バで多様なインターリーブ長に回路規模の増大を招くこ
となく対応することができ、また、インターリービング
順序発生器、インターリーバ、ターボエンコーダ並びに
ターボデコーダにおいて、少ないインターリーバ用RA
M容量で実現することができ、更に、インターフェース
にかかる負担が少なくなるので、可変レート機能を有し
たマルチメディアサービスであっても転送レートに容易
に追随することが出来るようになる。
【0041】
【発明の実施の形態】次に、本発明の実施形態について
図面を参照しながら説明する。
【0042】図13は、本発明のインターリービング順
序発生器を用いたターボ符号器(ターボエンコーダ)の
実施形態を示すブロック構成図である。図13に示すタ
ーボエンコーダの動作については後述するが、このター
ボエンコーダと図15に示す従来のターボエンコーダと
の主な差は、インターリーバ1501にある。
【0043】即ち、従来のインターリーバは図17に示
す様に、インターリービング順序を蓄積した大規模なR
AM1702を必要としていた。これに対し図13に示
す実施形態においては、インターリービング順序発生器
1301を用いることにより、インターリービング順序
を蓄積した大規模なRAMを使うことなく素数インター
リーバを実現したことを特徴としている。
【0044】本発明で採用しているインターリービング
方法も、基本的には上記文献に記載の素数インターリー
バと同様であるが、本発明においては、従来の様に予め
Ui(j)を計算してRAM等に転送しておくのではなく、
実時間でUi(j)を発生してインターリーブ処理を行う構
成としたことをその特徴としており、そのため、従来必
要としていた大規模RAMを不要とすることができる。
以下その方法を説明する。
【0045】先ず、上記(1)式より、 s(0)=1 s(1)=ν mod p s(2)=ν^2 mod p : s(j)=ν^j mod p となる。なお、ν^j≡νjである。上式におけるνは原
始元であるから、mod p上で繰り返し乗算処理すること
により、mod p上で構成される有限体の全ての要素を網
羅することになる。
【0046】この結果を(2)式に適用すると、 Ui(j)=s{[j・ri]mod(p-1)}=[ν^{[j・ri]mod(p-1)}]mod
p ここで、 [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)^j mod p}・{(ν^(p-1))^(-n) mod p} mod p ここでFermat_s Theoremより全ての要素aに対して a^(p-1)≡1 (mod p),where p:prime が成り立つから、(ν^(p-1))^(-n) mod p=1 従って上式は、 Ui(j)=(ν^ri)^j mod p--------------(3) となる。
【0047】ここで上述よりrT(i)=qiであり、R=20
の場合における前記行間交錯パターン Pat1:{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)がその行の値として
選ばれる。同様に1行目(i=1)にはT(1)=9行
目が来てq1(=r9)がその行の値として選ばれる。
【0048】この様に各行のrが異なる値に設定さ
れ、その結果、(3)式の(ν^ri)が各行で異なる値と
なり、各行における行内順序入れ替えが行毎に異なり、
ランダム化される事になるのである。また、rT(i)=qi
与えられるqは上述より(p−1)と互いに素なる関
係で選ばれている。νは原始元であるからpを法として
その位数はp−1である。
【0049】このpを法として構成される集合の任意の
要素をaとするとp−1がmod pでの最大の位数である
から、 a^(n・(p-1))=1 (mod p) なる関係が成り立つ。
【0050】従って、(3)式を (ν^ri)^j=1 (mod p) とする為の条件は ri・j=n・(p-1) となり、(p-1)|ri・jとなることが必要となる。
【0051】ところが、rと(p−1)は互いに素で
あるから、rの中に(p−1)を構成する因数は存在
せず、結局(p-1)|jとなること即ち、(ν^ri)の位数が
(p−1)であることを示しており(ν^ri)もpを法と
して原始元であることに他ならない。
【0052】従って、 Ui(j)= (ν^ri)^j mod p where j=0,1,2,・・・,(p
-2). は各行で異なる原始元(ν^ri)を乗数とする線形合同法
の一種である乗算合同法によるランダム系列発生アルゴ
リズムを構成していることに他ならない。(ν^ri)はp
を法とする素体の原始元であるから、その羃乗の形で表
せる(ν^ri)^jは素体の全ての要素を網羅し、インター
リーバに必要な一対一の写像関係を維持出来る様になっ
ている。
【0053】即ちこのことは、(3)式における(ν^
ri)を乗数として逐次乗算することにより(1)式 s(j)=[ν・s(j-1)]mod p, j=1,2,・・・(p-2).and s(0)
=1. によって生成されるテーブルを持たなくともUi(j)が得
られることを示している。
【0054】例えば、データ長k=5114ビットの場
合でみると、二次元配列の行数20に対して素数で表せ
る列数pは、5114/20=255.7で最も近い素
数p=257が列数となる。これだけで比較したとして
も、 s(j)=[ν・s(j-1)]mod p, j=1,2,・・・(p-2). and s
(0)=1. によって生成されるテーブルは257個必要になるのに
対して、本発明では (ν^ri) mod p, i=0,・・・,19 の20個で済むことになる。即ち、メモリを10分の1
以下に削減することが可能になる。
【0055】上記より分かる様に、本発明は行数が同じ
であればデータ長が長いほど効果がある。一方、ターボ
符号にはインターリーバ利得(interleaver gain)と呼
ばれる特徴があり、データ長が長ければ長い程高い符号
化利得を得られる。即ち本発明はターボ符号に適した方
法といえる。尚以下の実施例では解説のし易さから短い
データ長を例にとって説明しているが、データ長は任意
の長さを採り得る。
【0056】図1は、本発明のインターリービング順序
発生器において、上記(3)式のUi(j)を生成するブロ
ックである、(ν^q0)^j (mod p)〜(ν^qR-1)^j (mod p)
生成部の第1の実施形態を示すブロック図である。本実
施例ではデータ長K=257の場合を示しており、二次
元配列は素数p=13、R=20によって表わされる。
【0057】上述の説明で用いている(ν^ri)入れ替え
後の0行目を見ると(ν^r19)=(ν^q0)となる。同様に入
れ替え後の1行目を見ると、(ν^r9)=(ν^q1)となる。
即ち入れ替え後のi=0〜19行目に対して(ν^rT(i))
=(ν^qi)となる。これは、入れ替え後の行番号iに対し
ての乗数を(ν^qi)とすればよいことを示している。
【0058】但しここで注意を要するのは、この関係は
行内部で成り立つ関係であって、行入れ替え前の行位置
を加算する必要がある事を忘れてはならない。この場
合、T(i)行からi行へ入れ替えられたのであるか
ら、列の数p=13とすると、p×T(i)を加算する
必要がある。
【0059】図1を見ると乗数ν^q0,ν^q1,ν^q2,・・
・ν^qR-1 (mod p)を格納するレジスタ101にセレク
タ104を介して有限体上の高速乗算器103が接続さ
れている。この乗算器出力はセレクタ105を介して乗
算結果を一次保存するレジスタ102に接続されてい
る。レジスタ102の出力はセレクタ106を介して出
力されるとともに前記乗算器103のもう一つの入力へ
接続されている。
【0060】セレクタ104、105、及び106はそ
れぞれ連動して選択するように制御されており、それぞ
れ行番号i=0〜R−1に対応してセレクタ104はν
^q0 (mod p)〜ν^qR-1 (mod p)を、セレクタ105と1
06は(ν^q0)^j (mod p)〜(ν^qR-1)^j (mod p)を選択
する様になっている。
【0061】尚上記セレクタをアドレス制御に置き換
え、上記レジスタをRAMに置き換えて同様の構成を実
現することも可能である。以下、図1を参照しながら本
発明のインターリービング順序発生動作について説明す
る。
【0062】先ず第0の順序入れ替え時の動作を説明す
る。レジスタ102の初期値は全て‘1’にプリセット
される構成になっている。j=0に相当する第0の順序
入れ替えからj=1に相当する第1の順序入れ替えの遷
移時は、セレクタ106が選択した値は全て‘1’であ
る。この値が乗算器103の入力の一方に入ると同時に
出力端107から出力される。即ちj=0に相当する第
0順序入れ替えに当たっては出力端107の値は全て
‘1’となる。
【0063】この時、セレクタ104はν^q0 (mod p)
〜ν^qR-1 (mod p)を順次選択していく。従って乗算器
103の出力はν^q0 (mod p)〜ν^qR-1 (mod p)とな
り、連動して動作するセレクタ105によってレジスタ
102には、ν^q0 (mod p)〜ν^qR-1 (mod p)が初期値
‘1’に代わって順次更新されることになる。
【0064】次にj=1に相当する第1の入れ替えにあ
たっては、セレクタ106が選択する値はν^q0 (mod
p)〜ν^qR-1 (mod p)である。この値が乗算器103の
入力の一方に入ると同時にこのν^q0 (mod p)〜ν^qR-1
(mod p)が出力端107から送出される。
【0065】この時セレクタ104はν^q0 (mod p)〜
ν^qR-1 (mod p)を順次選択してくから、乗算器103
の出力は(ν^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)に代わっ
て順次更新されることになる。
【0066】同様に動作を進めていくと、第jの入れ替
えにあたっては、セレクタ106が選択する値は(ν^
q0)^j (mod p)〜(ν^qR-1)^j (mod p)である。この値が
乗算器103の入力の一方に入ると同時にこの(ν^q0)^
j (mod p)〜(ν^qR-1)^j (mod p)が出力端107から送
出される。この時セレクタ104はν^q0 (mod p)〜ν^
qR-1 (mod p)を順次選択してくから、乗算器103の出
力は(ν^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)〜(ν^q
R-1)^j (mod p)に代わって順次更新されることになる。
【0067】この様にして生成された(ν^q0)^j (mod
p)〜(ν^qR-1)^j (mod p)は(3)式のUi(j)=(ν^ri)^j
mod pにおいて、行間入れ替えを行った後の二次元配列
の列方向に向かって読み出した値に他ならない。
【0068】従って、既に説明したように行入れ替え前
の行位置を加算する必要がある。即ち、T(i)行から
i行へ入れ替えられたとすると、p×T(i)を加算す
る必要がある。
【0069】図2は、本発明のインターリービング順序
発生器の第1実施形態を示すブロック図である。
【0070】同図において、201は、上記(ν^q0)^j
(mod p)〜(ν^qR-1)^j (mod p) 生成部である。また2
05は、ブロック入れ替えパターンT(i)が予め記憶
されたテーブルであり、行の更新に合わせてT(i),
(i=0〜R−1)を出力する。
【0071】セレクタ204はj=0〜p−2の間は
(ν^q0)^j (mod p)〜(ν^qR-1)^j (mod p) 生成部20
1を選択しているが、最後のj=p−1になった時、零
を出力する零出力部202を選択するように動作する。
従って、最後の列についてはp×T(i)におけるi=
0〜R−1の値がインターリービング順序出力として出
力端209より送出される。
【0072】二次元配列の列数を設定する列数設定部2
06の設定値は本実施例の場合pとなっており、乗算器
207によってp×T(i)が生成される。この値と上
述のセレクタ204によって選ばれた値が加算器208
によって加えられる。
【0073】(ν^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の出力は
行間入れ替えを行った後のUi(j)=(ν^ri)^j mod pによ
る二次元配列を列方向に向かって読み出した値となる。
【0074】次に、データ長K=280の場合を説明す
る。二次元配列の行数Rを20とする。280/20=
14であるからそれ以上で最も近い素数を選ぶところで
あるが、列数C=p+1として素数p=13でも二次元
配列を構成することが出来る。そこで、14×20の二
次元配列への適用を考える。C=p+1の場合も原始元
を使用することに変わりはない。票数が13の有限体上
の原始元は2である。この原始元ν=2を用いて行内順
序入れ替えを行う為の式を以下に示す。
【0075】行内順序入れ替えを行う為の式は、 Ui(j)=(ν^ri)^j mod p where, j=0,1,2,・・・,(p-
2), となり、上式も既に説明した列数をpとした場合と同様
の理由から導き出せる。以下、C=p+1の場合の本発
明のインターリービング順序発生器について説明する。
【0076】前述のC=pの場合と同様に入れ替え後の
i=0〜19行目に対して(ν^rT(i ))=(ν^qi)となるか
ら、入れ替え後の行番号iに対しての乗数を(ν^qi)と
すればよい。T(i)行からi行へ入れ替えられたので
あるから、列の数p+1=13+1=14として、(p
+1)×T(i)を加算することが必要なことも同様で
ある。
【0077】この処理は図2のインターリービング順序
発生器で行われる。同図において、図1で生成される
(ν^q0)^j (mod p)〜(ν^qR-1)^j (mod p)は、C=p+
1の場合もC=pの場合と同様にi=0〜p−2におい
て同じ処理で実現出来ることになる。セレクタ204は
j=0〜p−2の間(ν^q0)^j (mod p)〜(ν^qR-1)^j
(mod p)生成部201を選択しているが、j=p−1に
なった時、零出力部202を選択する様に動作する。従
ってこの時はテーブル205のブロック入れ替えパター
ンT(i)と列数設定部206の設定値C=p+1とを
乗算器207により乗算した結果が加算器208を通し
て出力端209に出力されることになる。
【0078】最後のj=pになった時、セレクタ204
はp設定部203の設定値pを選択するように動作す
る。従って、最後の列については(p+1)×T(i)
におけるi=0〜R−1の値とpの和がインターリービ
ング順序出力として209より送出される。ここで、テ
ーブル205は、行の更新に合わせてブロック入れ替え
パターンT(i)、i=0〜R−1を出力する。
【0079】この場合、列数設定部206は二次元配列
の列数設定値をp+1に設定しており、乗算器207に
よって(p+1)×T(i)が生成され、この値と上述
のセレクタ204によって選択された値が加算器208
によって加えられる。
【0080】(ν^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の出力は行間入れ替え
を行った後のUi(j)=(ν^ri)^j mod pによる二次元配列
を列方向に向かって読み出した値となる関係はC=pの
場合と同様である。
【0081】次に、データ長K=320の場合の例を説
明する。二次元配列の行数Rを20とする。320/2
0=16であるから、それ以上で最も近い素数p=17
となる。しかし列数C=p−1=16行としても二次元
配列を構成することが出来る。そこで、16×20の二
次元配列への適用を考える。p−1の場合も原始元を使
用することに代わりはない。票数が17の有限体上の原
始元は3である。
【0082】この原始元ν=3を用いて行内順序入れ替
えを行う為の式を以下に示す。 Ui(j)=(ν^ri)^j mod p where, j=0,1,2,・・・,(p-
2), 上式は既に説明した列数をpとした場合と同様の理由か
ら導き出せる。
【0083】以下、図1を参照しながら本発明のインタ
ーリービング順序発生器をC=p−1に適用した場合に
ついて説明する。前述のC=pの場合と同様に入れ替え
後のi=0〜19行目に対して(ν^rT(i))=(ν^qi)とな
るから、入れ替え後の行番号iに対しての乗数を(ν^
qi)とすればよい。T(i)行からi行へ入れ替えられ
たのであるから、列の数p−1=17−1=16とし
て、(p−1)×T(i)を加算することが必要なこと
も同様である。
【0084】この処理は図2のインターリービング順序
発生器で行われている。従って、図1で生成される (ν^q0)^j (mod p)〜(ν^qR-1)^j (mod p) はC=pの場合と同様にi=0〜p−2においてC=p
−1の場合も同じ処理で実現出来ることになる。ただし
C=pの場合には、i=p−1になった時零出力部20
2を選択する様に動作するが、C=p−1の場合にはi
=0〜p−2迄であるので、セレクタ204は(ν^q0)^
j (mod p)〜(ν^qR-1)^j (mod p)生成部201を選択し
たままであり、零出力部202やp出力部203を選択
することはない。またC=p−1の場合、零出力部20
2の選択が無い為、順序入れ替えパターンが1〜Cとな
る。そこで、入れ替えパターンを0〜C−1に合わせる
為に発生した値に対し1を減算するする構成も可能であ
る。
【0085】図3は、C=p−1の場合におけるインタ
ーリービング順序発生器の構成例を示すブロック図であ
る。C=p−1の場合であるから、セレクタ204に相
当する動作は必要ない。
【0086】(ν^q0)^j (mod p)〜(ν^qR-1)^j (mod p)
生成部301が直接加算器308に入力される。この加
算器308には減算の為に−1の値を出力する定数発生
部310から−1が入力されている。また、列数設定部
306からの二次元配列の列数p−1とテーブル305
のブロック入れ替えパターンT(i)が乗算器307で
掛け算され、その結果の(p−1)×T(i)が加算器
308に入力される。これらの加算結果がインターリー
ビング順序出力として出力端309より送出される。
【0087】図4は、本発明のインターリービング順序
発生器において、上記(3)式のUi(j)を生成するブロ
ックである、(ν^q0)^j (mod p)〜(ν^qR-1)^j (mod p)
生成部の第2の実施形態を示すブロック図である。
【0088】インターリービング順序発生器からの出力
信号がインターリーバ対象範囲を超えた場合、その信号
をスキップすることになるが、本実施形態では、そのよ
うなスキップが生じた場合であっても淀みなく信号を発
生させるために、上述した有限体の高速乗算器を二つ用
意している。
【0089】図4において、図1における乗数ν^q0
^q1,ν^q2,・・・ν^qR-1 (mod p)を格納するレジスタ
101が二分割され401と411となっているがトー
タルの容量は図1の場合と変わらない。分割方法として
は色々な方法が可能であるが、ここでは乗数ν^q0,ν^q
2,ν^q4,・・・(mod p)を格納する偶数用レジスタ40
1と乗数ν^q1,ν^q3,ν^q5,・・・(mod p)を格納する
奇数用レジスタ411に分割した例について説明する。
【0090】有限体上の高速乗算器は403と413の
二つであり、それぞれセレクタ404及び414を通じ
て乗数が格納されているレジスタから一方の乗算器入力
を得る様になっている。この乗算器出力はそれぞれセレ
クタ405及び415を介して乗算結果を一時保存する
するレジスタ402及び412に接続されている。
【0091】レジスタ402、412の出力は、それぞ
れセレクタ406、416を介して出力端407および
417へ出力されるとともに前記乗算器403及び41
3のもう一つの入力へ接続されている。セレクタ40
4、405及び406とセレクタ414、415及び4
16はそれぞれ連動して選択動作を行う様に制御されて
おり、その結果図1で説明したものと同じ計算結果を偶
数と奇数に対して同時に得ることが出来る。即ち(ν^
q0)^j,(ν^q2)^j,・・・(mod p)と(ν^q1)^j,(ν^q3)^
j,・・・(mod p)が同時に得られる。
【0092】尚、セレクタをアドレス制御に置き換え、
更にデュアルポートRAMにより偶数に相当するアクセ
スと奇数に相当するアクセスを同時に実行する様に構成
し、一つのRAMで二つのレジスタと同じ動作を実現す
る様に構成することも可能である。
【0093】図5〜図6は、本発明のインターリービン
グ順序発生器の第2実施形態を示すブロック図である。
【0094】本実施形態は、図4に示す二つに分割され
た(ν^q0)^j (mod p)〜(ν^qR-1)^j (mod p)生成部を備
えることにより、インターリーバ対象範囲を超える信号
のスキップを行うように構成されており、図5に示すブ
ロックで図2に相当する列数×ブロック入れ替えパター
ンT(i)の加算処理が行われ、図6に示すブロックで
インターリーバ対象範囲を超える信号のスキップ動作が
実行される。
【0095】図5において、(ν^q0)^j (mod p)〜(ν^q
R-1)^j (mod p)生成部は、(ν^q0)^j,(ν^q2)^j,・・・
(mod p)生成部501と、(ν^q1)^j,(ν^q3)^j,・・・
(mod p)生成部511とに分割されているが、これらの
基本的な動作は図2の、(ν^q0)^j (mod p)〜(ν^qR-1)
^j (mod p)生成部の動作と同様であるのでその詳細動作
説明は省略する。
【0096】列数設定部506とブロック入れ替えパタ
ーンT(i)発生部505は偶数と奇数で共用できるの
で一つで構成し、加算器508によって偶数に対応する
インターリービング順序を偶数出力端509から出力
し、加算器518によって奇数に対応するインターリー
ビング順序を奇数出力端519から出力している。
【0097】これらのインターリービング順序を表す信
号に対しインターリーバ対象範囲を超える信号をスキッ
プするのが図6のブロックである。同図において偶数に
対応するインターリービング順序信号が602から、奇
数に対応するインターリービング順序信号が601から
入力する。これらの信号はそれぞれコンパレータ604
と605でトータルビット数607と比較され、このト
ータルビット数以上のものがインターリーバ範囲外とし
てスキップされる。
【0098】この様にして生成されたインターリーバ範
囲内のインターリービング順序信号は切り替えスイッチ
608によって元の順番に並び替えられFIFO609
に入力される。FIFOの内容がいっぱいになるとFI
FO609からはバッファフル(BUFFER FULL)信号が
出力され、特に図示していないが、このバッファフル信
号が各ブロックに対するホルト(HALT)信号610とな
って各ブロックの動作が一時停止する。
【0099】最終的なインターリービング順序出力がF
IFO609より読み出され、信号が端子611から出
力されると、ホルト(HALT)信号が解除され各ブロック
の動作が再開される。即ち、FIFO609のバッファ
リング機能によってインターリービング順序出力611
は淀みなく信号を発生することが出来る。
【0100】図7は、図1の有限体上の乗算器103
や、図4の有限体上の乗算器403及び413の構成例
を示すブロック図である。本実施例の有限体上の乗算器
は、乗算701とモジュロー演算702とからなる二つ
の部分から構成される。モジュロー演算702は、図8
に示す比較減算回路801によって構成され、図9に示
すような演算901を実行する。
【0101】図9の演算901は、乗算器701の演算
結果がバイナリーで1010010110000011
であった時、p=10010011でモジュローを取る
例を示している。先ず上位8ビットで比較減算される
が、これは比較減算回路801の構成で実現出来る。上
位ビットMSBで比較結果を判断してp以上の値ならば
減算した値を出力する。同様の処理を1ビットずつシフ
トしながら最終的にモジュロー演算結果を得ることが出
来る。
【0102】以上、本実施形態のインターリービング順
序発生器について説明したが、次に、このインターリー
ビング順序発生器を用いて実際にデータの順序入れ替え
を行う処理について説明する。
【0103】図10は、RAMに蓄積されたデータの順
序入れ替えを行うことによりインターリービング処理を
行う方法である。インターリービング順序発生器100
1からの信号をRAM1002のアドレス信号としてデ
ータを読み出すことによりインターリービングを行う。
例えばインターリービング順序発生器から0,8,4,
12,2,・・・・7,15という系列がRAM100
2の読み出しアドレス(RD Adr)に入力したとすると、
アドレス順に並べられて蓄積されているデータの0番目
のデータ、8番目のデータ、・・・・がRAM1002
から出力され順序入れ替えが行われる。
【0104】図11は、書き込みによりデインターリー
ビングを行う方法である。図10の読み出しによるイン
ターリービングと同様にインターリービング順序発生器
1101からの信号はRAM1102のアドレスとして
入力している。図10と異なる点はこのアドレス信号は
書き込み用アドレスであり、デインターリービング後の
データはこのRAM1102に蓄積されることになる。
【0105】例えば上述のインターリーブされたデータ
が0番目のデータ、8番目のデータ、・・・の順でRA
M1102に入力したとする。インターリービング順序
発生器1101からは図10と同じ0,8,4,12,
2,・・・,7,15という系列がRAM1102の書
き込みアドレス(WR Adr)に入力したとする。この結
果、RAM1102には当初の順列に復元して、アドレ
ス0,1,2,・・・に対し、0番目のデータ、1番目
のデータ、2番目のデータ、・・・の順に復元され、デ
インターリーブが実行される。
【0106】尚、デインターリーブもインターリーブも
パターンによって入れ替え可能であり、一方がインター
リーブと呼ぶならばもう一方がデインターリーブに、逆
に一方をデインターリーブと呼ぶならばもう一方はイン
ターリーブとなる。この様に同じインターリービング順
序発生器を用いてインターリーブもデインターリーブも
実現出来る。
【0107】図12は、この関係を用いてインターリー
ブとデインターリーブを同時に一つのインターリービン
グ順序発生器1201で実現したものであり、後述する
ターボデコーダの外部情報系列と事前情報系列(アプリ
オリ)の入れ替え時に用いられるものである。
【0108】同図において、デュアルポートRAM12
02にはアドレス順に受信シンボルに対応したアプリオ
リデータが蓄積されている。インターリービングが行わ
れた更新期間になるとインターリービング順序発生器1
201からインターリービングパターンに応じて0,
8,4,12,2,・・・,7,15といった系列がR
AM1202の読み出しアドレスに入力される。これに
応じてRAM1202からは0番目のデータ、8番目の
データ、・・・が出力される。
【0109】このインターリーブされたデータは、後述
するターボデコーダで処理されたあと元のデータ順序に
戻すデインターリーブが必要になる。そこで、遅延器1
203が挿入されターボデコーダの処理時間分遅らせて
デインターリーブ処理が行われる構成になっている。
【0110】例えば、処理されたデータが0番目のデー
タ、8番目のデータ、・・・の順でRAM1202に入
力したとする。インターリービング順序発生器1201
から遅延器1203を介した書き込み用アドレス信号は
0,8,4,12,2,・・・,7,15となってRA
M1202にはアドレス0,1,2,・・・に対し、0
番目のデータ、1番目のデータ、2番目のデータ、・・
・の順に復元されデインターリーブが実行される。
【0111】図13は、以上説明したインターリービン
グ順序発生器1301とそれを用いてインターリーブ処
理を行う為のデュアルポートRAM1303を具備した
本発明のターボエンコーダの実施形態を示すブロック図
である。
【0112】本実施形態のターボエンコーダも、図15
に示す従来のターボエンコーダと同様に、2つのコンポ
ーネントエンコーダ1304と1305を有しており、
コンポーネントエンコーダ1304にはインターリーブ
処理を行わない情報系列が入力され、コンポーネントエ
ンコーダ1305にはインターリーブ処理された情報系
列が入力される。
【0113】そこで、デュアルポートRAM1303の
一方のアドレス入力RD Adr1としてアップカウンタ13
02の出力を入力し、もう一方のアドレス入力RD Adr2
としてインターリービング順序発生器1301の出力を
入力する。そして、アップカウンタ1302からのアド
レス入力RD Adr1により読み出されたデュアルポートR
AM1303の情報系列をコンポーネントエンコーダ1
304へ入力し、インターリービング順序発生器130
1からのアドレス入力RD Adr2により読み出されたデュ
アルポートRAM1303のインターリーブされた情報
系列をコンポーネントエンコーダ1305へ入力する。
【0114】図14は、上述のインターリービング順序
発生器1402とそれを用いてインターリーブ処理及び
デインターリーブ処理を行う為のデュアルポートRAM
1407及び1406を具備した本発明のターボデコー
ダの実施形態を示すブロック図である。
【0115】情報系列が蓄積されているデュアルポート
RAM1406の読み出し用アドレスにはアップカウン
タ1401またはインターリービング順序発生器140
2が選択スイッチ1403を介して接続されている。タ
ーボデコーディングの各イタレーション処理においてイ
ンターリーブを行わない処理に対応したパリティビット
1によるデコードとインターリーブを施した処理に対応
したパリティビット2によるデコードが存在する。選択
スイッチ1403と1404はそれを切り替える為のス
イッチであり、ハーフイタレーションに対して奇数回目
か偶数回目かによって切り替え信号1405により制御
されている。
【0116】インターリーブを伴わない処理において
は、選択スイッチ1403はアップカウンタ1401を
選択し、選択スイッチ1404はパリティビット1を選
択する。
【0117】従って、情報系列が蓄積されているデュア
ルポートRAM1406の読み出しアドレスにアップカ
ウンタ1401が接続されることになるので、デュアル
ポートRAM1406からはインターリービングのされ
ていない情報系列が出力される。同時にデュアルポート
RAM1407の読み込みアドレスにもスイッチ140
3を介してアップカウンタ1401が接続されることに
なるので、デュアルポートRAM1407からもインタ
ーリービングのされていないアプリオリが出力される。
【0118】この二つの信号は加算器1408によって
加え合わされ軟入力軟出力復号器(SISO)1410
に入力される。SISO1410は、MAP復号を対数
上で行う所謂LogMAPあるいはMax−LogMA
Pで構成されており、加算器1408による加算処理は
確率演算における乗算に相当する。
【0119】この加算器1408の演算結果とスイッチ
1404にて選択されたパリティビット1によってMA
P演算が実行され、その結果から遅延器1411でタイ
ミングを合わせた加算値が加算器1412で減算され次
回のアプリオリとしてデュアルポートRAM1407に
入力される。デュアルポートRAM1407の書き込み
用アドレスには遅延器1409を介して読み出し用アド
レスと同じものがタイミングを合わせて入力されている
ので情報系列のシンボル位置に対応したアドレスにアプ
リオリデータが蓄積されることになる。
【0120】次に、ハーフイタレーションのインターリ
ーブを伴う処理になると、選択スイッチ1403はイン
ターリービング順序発生器1402を選択し、選択スイ
ッチ1404はパリティビット2を選択する。
【0121】従って、情報系列が蓄積されているデュア
ルポートRAM1406の読み出しアドレスにインター
リービング順序発生器1402が接続されることになる
ので、デュアルポートRAM1406からはインターリ
ービングがなされた情報系列が出力される。同時にデュ
アルポートRAM1407の読み込みアドレスにもスイ
ッチ1403を介してインターリービング順序発生器1
402が接続されることになるので、デュアルポートR
AM1407からもインターリービングがなされたアプ
リオリが出力される。
【0122】この二つの信号は加算器1408によって
加え合わされ軟入力軟出力復号器(SISO)1410
に入力される。加算器1408による加算処理は確率演
算における乗算に相当する。
【0123】この加算器1408の演算結果とスイッチ
1404にて選択されたパリティピット2によってMA
P演算が実行され、その結果から遅延器1411でタイ
ミングを合わせた加算値が加算器1412で減算され次
回のアプリオリとしてデュアルポートRAM1407に
入力される。デュアルポートRAM1407の書き込み
用アドレスには遅延器1409を介して読み出し用アド
レスと同じものがタイミングを合わせて入力されている
ので元のアドレス位置にアプリオリデータが蓄積される
ことになる。即ちデインターリーブが施されたことにな
る。
【0124】このイタレーション処理によって復号性能
を飛躍的に向上させるのがターボデコーダの特徴であ
り、最終的に判定器1413により硬判定がなされ、出
力端1414より復号データが出力される。
【0125】
【発明の効果】本発明によれば、各種のマルチメディア
サービスにおいて、多種類のインターリービングパター
ンを用意する必要がある場合であっても、そのために膨
大なメモリ容量を必要とすることなく対応することがで
きる。
【0126】また、例えば8イタレーション等の構成で
2Mbps以上の受信データ系列の復号を行う場合であ
っても、生成されたインターリービングパターンを一度
高速メモリに蓄える為の高速なメモリ容量を必要とする
ことなく、更に、生成されたパターンを実際に処理を行
っているターボデコーダ内のインターリービング用RA
Mに転送する必要がある場合であっても、そのインター
フェースがボトルネックとなる様な大量の転送データ量
を必要とすることなく対応することができる。
【0127】更に、可変レート機能を持たせた場合、頻
繁にインターリーブ長の変更が生じるが、そのような場
合であっても、インターフェース上のボトルネックを助
長する様なことがない最小限のパラメータ転送で実現出
来、マルチメディアサービスにおける転送レートに追随
出来ないといった問題を解消したインターリービング順
序発生器、インターリーバ、ターボエンコーダ及びター
ボデコーダを提供することが出来る。
【図面の簡単な説明】
【図1】本発明のインターリービング順序発生器の内、
(ν^q0)^j (mod p)〜(ν^qR-1)^j (mod p)の生成ブロッ
クを示した図である。
【図2】本発明のインターリービング順序発生器の内、
行位置の加算を行ってインターリービング順序を生成す
るブロック図である。
【図3】列数C=p−1の場合であって、減算により入
れ替えパターンを0〜C−1とした場合のインターリー
ビング順序を生成するブロック図である。
【図4】有限体上の高速乗算器を二つ用意してスキップ
しても淀み無く(ν^q0)^j (modp)〜(ν^qR-1)^j (mod
p)を生成するブロック図である。
【図5】スキップしても淀み無くインターリービング順
序を発生するブロックの内、行位置の加算を行ってイン
ターリービング順序を生成するブロック図である。
【図6】インターリービング順序を表す信号に対し、イ
ンターリーバ対象範囲を超える信号をスキップするブロ
ック図である。
【図7】有限体上の高速乗算器を示す図である。
【図8】モジュロー演算の構成要素を示す図である。
【図9】モジュロー演算の動作を説明した図である。
【図10】読み出しによるインターリービング処理を表
した図である。
【図11】書き込みによるデインターリービング処理を
表した図である。
【図12】デュアルポートRAMから読み出すことによ
るインターリービング処理と書き込みによるデインター
リービングを同時に行った図である。
【図13】本発明のインターリービング順序発生器を用
いたターボエンコーダを示す図である。
【図14】本発明のインターリービング順序発生器を用
いたターボデコーダを示す図である。
【図15】従来のターボエンコーダの構成例を示す図で
ある。
【図16】従来のターボデコーダの構成例を示す図であ
る。
【図17】RAMに蓄積されたインターリービング順序
によりビット単位で並び替えを行う従来のターボデコー
ダの構成例を示す図である。
【符号の説明】
101、102 レジスタ 103 有限体上の高速乗算器 104、105、106 セレクタ 107 出力 201 (ν^q0)^j (mod p)〜(ν^qR-1)^j (mod p)を
生成するブロック 202 零の値を持った定数ブロック 203 pの値を持った定数ブロック 204 セレクタ 205 ブロック入れ替えパターンT(i) 206 二次元配列の列数を設定するブロック 207 乗算器 208 加算器 209、 インターリービング順序出力 301 (ν^q0)^j (mod p)〜(ν^qR-1)^j (mod p)を
生成するブロック 305 ブロック入れ替えパターンT(i) 306 二次元配列の列数p−1をもった定数ブロッ
ク 307 乗算器 308 加算器 309 インターリービング順序出力 401、402 偶数用レジスタ 403 偶数用乗算器 404、405、406 セレクタ 407 出力 411、412 奇数用レジスタ 413 奇数用乗算器 414、415、416 セレクタ 417 出力 501 (ν^q0)^j,(ν^q2)^j,・・・(mod p)を生成
するブロック 502 零の値を持った定数ブロック 503 pの値を持った定数ブロック 504 セレクタ 505 ブロック入れ替えパターンT(i) 506 二次元配列の列数を設定するブロック 507 乗算器 508 加算器 509 偶数に対応するインターリービング順序出力 511 (ν^q1)^j,(ν^q3)^j,・・・(mod p)を生成
するブロック 512 零の値を持った定数ブロック 513 pの値を持った定数ブロック 514 セレクタ 517 乗算器 518 加算器 519 奇数に対応するインターリービング順序出力 601 奇数に対応するインターリービング順序入力 602 偶数に対応するインターリービング順序入力 603、604 コンパレータ 605、606 スイッチ 607 トータルビット数を値として持った定数ブロ
ック 608 切り替えスイッチ 609 FIFO 610 ホルト(HALT)信号 611 スキップ後のインターリービング順序出力 701 乗算器 702 モジュロー演算器 801 比較減算回路 901 上位8ビットで比較減算される様子の説明 1001 インターリービング順序発生器 1002 RAM 1101 インターリービング順序発生器 1102 RAM 1201 インターリービング順序発生器 1202 デュアルポートRAM 1203 遅延器 1301 インターリービング順序発生器 1302 アップカウンタ 1303 デュアルポートRAM 1304 コンポーネントエンコーダ1 1305 コンポーネントエンコーダ2 1401 アップカウンタ 1402 インターリービング順序発生器 1403、1404 選択スイッチ 1405 切り替え信号 1406、1407 デュアルポートRAM 1408 加算器 1409 遅延器 1410 軟入力軟出力復号器(SISO) 1411 遅延器 1412 加算器(減算器) 1413 判定器 1414 復号データ出力 1501 インターリーバ 1502、1503 コンポーネントエンコーダ 1601、1602 インターリーバ 1603、1604 軟入力軟出力デコーダ(復号
器)(SISO) 1605 分離器 1606、1607 デインターリーバ 1608 判定器 1701 インターリービングを行うデータ系列 1702 インターリービング順序が蓄積されたRA
M 1703 インターリービング後のデータ系列

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 データ長を、素数pをベースにした長さ
    pでR個のブロックとし、p−1とは互いに素なるR個
    の異なる整数q0,q1,q2,・・・qR-1を生成する手段と、 標数が前記素数pの有限体の元を、原始元νに対し前記
    q0,q1,q2,・・・qR-1の冪乗としてそれぞれν^q0,ν^
    q1,ν^q2,・・・ν^qR-1(mod p)のごとく生成し、記憶
    する手段と、 前記ν^q0,ν^q1,ν^q2,・・・ν^qR-1(mod p)を前記有
    限体上でj乗してそれぞれ(ν^q0)^j,(ν^q1)^j,(ν^
    q2)^j,・・・(ν^qR-1)^j(mod p)を生成する手段と、 前記ブロックの入れ替えを行う為の予め決められたブロ
    ック入れ替えパターンを生成または記録する手段と、 第0の順序入れ替えにあたっては、前記ブロック入れ替
    えパターンを生成または記録する手段からの出力をp倍
    した値に1を順次足し合わせて行い、第jの順序入れ替
    えにあたっては、前記ブロック入れ替えパターンを生成
    または記録する手段からの出力をp倍した値に前記生成
    した(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,・・・(ν^qR-1)^
    j(mod p)を順次足し合わせる操作を、j=1〜(p−
    2)において繰り返す手段と、を備えていることを特徴
    とするインターリービング順序発生器。
  2. 【請求項2】 前記j=1〜(p−2)の繰り返しに際
    して、前記生成及び記憶したν^q0,ν^q1,ν^q2,・・・
    ν^qR-1(mod p)を順次有限体における高速乗算器に入力
    することによって前記(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,
    ・・・(ν^qR-1)^j(mod p)の値を逐次的に更新する手段
    を有することを特徴とする請求項1に記載のインターリ
    ービング順序発生器。
  3. 【請求項3】 前記j=p−1において前記(ν^q0)^j,
    (ν^q1)^j,(ν^q2)^j,・・・(ν^qR-1)^j(mod p)に相当
    する値を全て0とする手段を有することを特徴とする請
    求項1または2に記載のインターリービング順序発生
    器。
  4. 【請求項4】 データ長を、素数pをベースにした長さ
    p−1でR個のブロックとし、p−1とは互いに素なる
    R個の異なる整数q0,q1,q2,・・・qR-1を生成する手段
    と、 標数がpの有限体の元を、原始元νに対し前記q0,q1,
    q2,・・・qR-1の冪乗としてそれぞれν^q0,ν^q1,ν^
    q2,・・・ν^qR-1(mod p)のごとく生成及び記憶する手
    段と、 前記ν^q0,ν^q1,ν^q2,・・・ν^qR-1(mod p)を有限体
    上でj乗してそれぞれ(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,
    ・・・(ν^qR-1)^j(mod p)を生成する手段と、 前記ブロックの入れ替えを行う為の予め決められたブロ
    ック入れ替えパターンを生成または記録する手段と、 第0の順序入れ替えにあたっては、前記ブロック入れ替
    えパターンを生成または記録する手段からの出力をp−
    1倍した値に1を順次足し合わせて行い、第jの順序入
    れ替えにあたっては、前記ブロック入れ替えパターンを
    生成し記憶する手段からの出力をp−1倍した値に前記
    生成した(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,・・・(ν^q
    R-1)^j(mod p)を順次足し合わせる操作を、j=1〜
    (p−2)において繰り返す手段と、を備えていること
    を特徴とするインターリービング順序発生器。
  5. 【請求項5】 前記順次足し合わせを行った値に対し1
    を減算する手段を有することを特徴とする請求項4に記
    載のインターリービング順序発生器。
  6. 【請求項6】 前記j=1〜(p−2)の繰り返しに際
    して、前記生成及び記憶したν^q0,ν^q1,ν^q2,・・・
    ν^qR-1(mod p)を順次有限体における高速乗算器に入力
    することによって前記(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,
    ・・・(ν^qR-1)^j(mod p)の値を逐次的に更新する手段
    を有することを特徴とする請求項4または5に記載のイ
    ンターリービング順序発生器。
  7. 【請求項7】 データ長を、素数pをベースにした長さ
    p+1でR個のブロックとし、p−1とは互いに素なる
    R個の異なる整数q0,q1,q2,・・・qR-1を生成する手段
    と、 標数が前記素数pの有限体の元を、原始元νに対し前記
    q0,q1,q2,・・・qR-1の冪乗としてそれぞれν^q0,ν^
    q1,ν^q2,・・・ν^qR-1(mod p)のごとく生成し、記憶
    する手段と、 前記ν^q0,ν^q1,ν^q2,・・・ν^qR-1(mod p)を前記有
    限体上でj乗してそれぞれ(ν^q0)^j,(ν^q1)^j,(ν^
    q2)^j,・・・(ν^qR-1)^j(mod p)を生成する手段と、 前記ブロックの入れ替えを行う為の予め決められたブロ
    ック入れ替えパターンを生成または記録する手段と、 第0の順序入れ替えにあたっては、前記ブロック入れ替
    えパターンを生成または記録する手段からの出力をp+
    1倍した値に1を順次足し合わせて行い、第jの順序入
    れ替えにあたっては、前記ブロック入れ替えパターンを
    生成または記録する手段からの出力をp倍した値に前記
    生成した(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,・・・(ν^q
    R-1)^j(mod p)を順次足し合わせる操作を、j=1〜
    (p−2)において繰り返す手段と、を備えていること
    を特徴とするインターリービング順序発生器。
  8. 【請求項8】 前記j=1〜(p−2)の繰り返しに際
    して、前記生成及び記憶したν^q0,ν^q1,ν^q2,・・・
    ν^qR-1(mod p)を順次有限体における高速乗算器に入力
    することによって前記(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,
    ・・・(ν^qR-1)^j(mod p)の値を逐次的に更新する手段
    を有することを特徴とする請求項7に記載のインターリ
    ービング順序発生器。
  9. 【請求項9】 j=p−1において前記(ν^q0)^j,(ν^
    q1)^j,(ν^q2)^j,・・・(ν^qR-1)^j(mod p)に相当する
    値を全て0とする手段を有することを特徴とする請求項
    7または8に記載のインターリービング順序発生器。
  10. 【請求項10】 j=pにおいて前記(ν^q0)^j,(ν^
    q1)^j,(ν^q2)^j,・・・(ν^qR-1)^j(mod p)に相当する
    値を全てpとする手段を有することを特徴とする請求項
    7〜9のいずれかに記載のインターリービング順序発生
    器。
  11. 【請求項11】 前記インターリービング順序発生器か
    らの出力信号がインターリーバ対象範囲を超えた場合、
    該信号をスキップして次の該範囲内の信号を使用する手
    段を有することを特徴とする請求項1〜10のいずれか
    に記載のインターリービング順序発生器。
  12. 【請求項12】 前記有限体における高速乗算器を複数
    個備え、前記(ν^q0)^j,(ν^q1)^j,(ν^q2)^j,・・・
    (ν^qR-1)^j(mod p)の値の更新を、前記複数の有限体に
    おける高速乗算器で分担することにより、前記(ν^q0)^
    j,(ν^q1)^j,(ν^q2)^j,・・・(ν^qR-1)^j(mod p)の値
    の更新を、複数個同時に実行する手段を有していること
    を特徴とする請求項1〜11のいずれかに記載のインタ
    ーリービング順序発生器。
  13. 【請求項13】 前記有限体における高速乗算器を2個
    備え、前記生成及び記憶したν^q0,ν^q1,ν^q2,・・・
    ν^qR-1(mod p)を、偶数乗数と奇数乗数に分割したν^q
    0,ν^q2,ν^q4,・・・(mod p)とν^q1,ν^q3,ν^q5,・
    ・・(mod p)に対して、前記2個の高速乗算器を割り当
    て、前記有限体上でj乗することにより、(ν^q0)^j,
    (ν^q2)^j,・・・(mod p)と(ν^q1)^j,(ν^q3)^j,・・
    ・(mod p)の値を、並行して同時に更新する手段を有し
    ていることを特徴とする請求項12に記載のインターリ
    ービング順序発生器。
  14. 【請求項14】 請求項1〜13のいずれかに記載のイ
    ンターリービング順序発生回路の出力を、データが蓄積
    されたメモリのアドレス信号とし、該アドレス信号によ
    り前記メモリからデータの読み出しを行うことによって
    前記データの順序入れ替えを行う手段を有していること
    を特徴とするインターリーバ。
  15. 【請求項15】 請求項1〜13のいずれかに記載のイ
    ンターリービング順序発生回路の出力を、データを蓄積
    するメモリのアドレス信号とし、該アドレス信号により
    前記メモリにデータを書き込むことによって前記データ
    の順序入れ替えを行うことを特徴とするインターリー
    バ。
  16. 【請求項16】 請求項14に記載のインターリーバ
    を、ターボエンコーダの内部インターリーバとすること
    を特徴とするターボエンコーダ。
  17. 【請求項17】 請求項14または15に記載のインタ
    ーリーバの内少なくとも一方をターボデコーダの内部イ
    ンターリーバとし、他方を内部デインターリーバとする
    ことを特徴とするターボデコーダ。
  18. 【請求項18】 請求項1〜13のいずれかに記載のイ
    ンターリービング順序発生器の出力を、データが蓄積さ
    れたデュアルポートメモリの読み出し用アドレス信号と
    してデータ内容の読み出しを行い、予め決められた値で
    遅延を施した該アドレス信号を書き込み用アドレス信号
    としてデータ内容の書き込みを行うことによりターボデ
    コーダの内部インターリーバと内部デインターリーバを
    同時に実現したことを特徴とするターボデコーダ。
JP2001353675A 2001-11-19 2001-11-19 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ Expired - Lifetime JP3624874B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2001353675A JP3624874B2 (ja) 2001-11-19 2001-11-19 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ
EP02803537A EP1458106A4 (en) 2001-11-19 2002-11-19 NESTED ORDER GENERATOR, NESTBACK, TURBOCHARGER, AND TURBO DECODER
KR20047007578A KR100622904B1 (ko) 2001-11-19 2002-11-19 인터리빙 순서 발생기, 인터리버, 터보 인코더 및 터보디코더
AU2002366138A AU2002366138A1 (en) 2001-11-19 2002-11-19 Interleaving order generator, interleaver, turbo encoder, and turbo decoder
US10/496,110 US7210076B2 (en) 2001-11-19 2002-11-19 Interleaving order generator, interleaver, turbo encoder, and turbo decoder
PCT/JP2002/012082 WO2003044965A1 (fr) 2001-11-19 2002-11-19 Generateur d'ordre d'entrelacement, entrelaceur, turbo codeur et turbo decodeur
CNB02822860XA CN100555880C (zh) 2001-11-19 2002-11-19 交织顺序发生器、交织器、Turbo码编码器和Turbo码译码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001353675A JP3624874B2 (ja) 2001-11-19 2001-11-19 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ

Publications (2)

Publication Number Publication Date
JP2003152551A true JP2003152551A (ja) 2003-05-23
JP3624874B2 JP3624874B2 (ja) 2005-03-02

Family

ID=19165651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001353675A Expired - Lifetime JP3624874B2 (ja) 2001-11-19 2001-11-19 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ

Country Status (7)

Country Link
US (1) US7210076B2 (ja)
EP (1) EP1458106A4 (ja)
JP (1) JP3624874B2 (ja)
KR (1) KR100622904B1 (ja)
CN (1) CN100555880C (ja)
AU (1) AU2002366138A1 (ja)
WO (1) WO2003044965A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006059871A1 (en) * 2004-11-30 2006-06-08 Samsung Electronics Co., Ltd. Apparatus and method for interleaving channels in a mobile communication system
US7318184B2 (en) 2003-08-22 2008-01-08 Nec Corporation Mobile telephone, apparatus, method, and program for calculating an interleave parameter
JP2008536362A (ja) * 2005-03-10 2008-09-04 クゥアルコム・インコーポレイテッド スリープ機能を有するシステムにおいてモジュロカウントを決定すること
JP2010158051A (ja) * 2004-06-02 2010-07-15 Sharp Corp 画像形成装置、画像コンプレッサ、および画像デコンプレッサ
JP2014241571A (ja) * 2013-06-12 2014-12-25 Kddi株式会社 データ受信装置及びデータ受信方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004030262A1 (en) * 2002-09-24 2004-04-08 Telefonaktiebolaget Lm Ericsson (Publ) Interleaving for mobile communications
CN1305340C (zh) * 2003-12-05 2007-03-14 清华大学 无线通信中提高蜂窝小区下行频率复用效率的方法
TWI237448B (en) * 2004-04-12 2005-08-01 Benq Corp Method for interleaving data frame and circuit thereof
JP3706383B1 (ja) * 2004-04-15 2005-10-12 株式会社ソニー・コンピュータエンタテインメント 描画処理装置および描画処理方法、ならびに情報処理装置および情報処理方法
US7395461B2 (en) * 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US8218518B2 (en) * 2006-06-09 2012-07-10 Samsung Electronics Co., Ltd. Interleaver interface for a software-defined radio system
JP2008135813A (ja) * 2006-11-27 2008-06-12 Fujitsu Ltd ターボ復号器及びターボ復号方法
CN102412937B (zh) * 2007-02-02 2014-04-16 华为技术有限公司 一种数据的交织方法和装置
CN101136714B (zh) * 2007-03-21 2011-04-20 中兴通讯股份有限公司 一种宽带码分多址系统中涡轮编码的q序列产生方法和装置
CN101043284B (zh) * 2007-04-10 2011-04-20 中兴通讯股份有限公司 一种宽带码分多址系统中turbo编码器内的交织器
KR101445340B1 (ko) * 2007-06-01 2014-09-29 삼성전자주식회사 가변적으로 부반송파 인터리빙된 ofdm 부반송파를송수신하는 ofdm 송수신 장치 및 그 방법
US7873897B2 (en) * 2007-09-17 2011-01-18 Industrial Technology Research Institute Devices and methods for bit-level coding and decoding of turbo codes
JP4276294B1 (ja) * 2008-07-16 2009-06-10 健 梅野 通信システム、送信装置、受信装置、ならびに、情報記録媒体
TWI381653B (zh) * 2009-09-11 2013-01-01 Ind Tech Res Inst 二階重排多項式交織器位址產生裝置與方法
JP5365455B2 (ja) * 2009-09-30 2013-12-11 富士通株式会社 レート調整装置、レート調整方法及びレート調整プログラム
CN102316059A (zh) * 2010-07-05 2012-01-11 中国科学院微电子研究所 一种ofdm系统的交织方法和装置
KR20120071511A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 이동통신 시스템의 데이터 레이트 매칭 방법 및 장치
WO2013067697A1 (zh) * 2011-11-10 2013-05-16 中兴通讯股份有限公司 一种并行译码方法及Turbo译码器
US9015551B2 (en) * 2012-04-19 2015-04-21 Mediatek Inc. Decoding apparatus with de-interleaving efforts distributed to different decoding phases and related decoding method thereof
CN103546232A (zh) * 2012-07-11 2014-01-29 中兴通讯股份有限公司 数据的处理方法及装置
US9425826B2 (en) * 2012-11-02 2016-08-23 Blackberry Limited Interleaver employing quotient-remainder reordering
CN107769842B (zh) * 2016-08-17 2022-08-09 北京三星通信技术研究有限公司 交织序列构造、基于交织的信息处理方法及发射、接收机
CN107528670B (zh) * 2017-07-26 2020-08-14 西安空间无线电技术研究所 一种Turbo码交织地址的生成方法
CN112865815B (zh) * 2019-11-26 2024-01-02 广州海格通信集团股份有限公司 Turbo译码方法、装置、Turbo译码器和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4033245B2 (ja) * 1997-09-02 2008-01-16 ソニー株式会社 ターボ符号化装置およびターボ符号化方法
JP3347335B2 (ja) 1997-11-10 2002-11-20 株式会社エヌ・ティ・ティ・ドコモ インタリービング方法、インタリービング装置、及びインタリーブパターン作成プログラムを記録した記録媒体
US6347385B1 (en) * 1998-08-03 2002-02-12 Nortel Networks Limited Interleavers for turbo code
US6442728B1 (en) * 1999-01-11 2002-08-27 Nortel Networks Limited Methods and apparatus for turbo code
CA2298919C (en) * 1999-02-19 2006-04-18 Ntt Mobile Communications Network Inc. Interleaving and turbo encoding using prime number permutations
US6543013B1 (en) * 1999-04-14 2003-04-01 Nortel Networks Limited Intra-row permutation for turbo code
ES2408118T3 (es) * 1999-05-19 2013-06-18 Samsung Electronics Co., Ltd. Aparato y método de intercalado turbo.
KR100393608B1 (ko) 2000-09-29 2003-08-09 삼성전자주식회사 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7318184B2 (en) 2003-08-22 2008-01-08 Nec Corporation Mobile telephone, apparatus, method, and program for calculating an interleave parameter
JP2010158051A (ja) * 2004-06-02 2010-07-15 Sharp Corp 画像形成装置、画像コンプレッサ、および画像デコンプレッサ
WO2006059871A1 (en) * 2004-11-30 2006-06-08 Samsung Electronics Co., Ltd. Apparatus and method for interleaving channels in a mobile communication system
JP2008522539A (ja) * 2004-11-30 2008-06-26 サムスン エレクトロニクス カンパニー リミテッド 移動通信システムにおけるチャネルインターリービング装置及び方法
US7512843B2 (en) 2004-11-30 2009-03-31 Samsung Electronics Co., Ltd. Apparatus and method for interleaving channels in a mobile communication system
JP4664985B2 (ja) * 2004-11-30 2011-04-06 サムスン エレクトロニクス カンパニー リミテッド 移動通信システムにおけるチャネルインターリービング装置及び方法
JP2008536362A (ja) * 2005-03-10 2008-09-04 クゥアルコム・インコーポレイテッド スリープ機能を有するシステムにおいてモジュロカウントを決定すること
US7916812B2 (en) 2005-03-10 2011-03-29 Qualcomm Incorporated Determining modulo count in sleep capable system
JP2014241571A (ja) * 2013-06-12 2014-12-25 Kddi株式会社 データ受信装置及びデータ受信方法

Also Published As

Publication number Publication date
CN1639986A (zh) 2005-07-13
WO2003044965A1 (fr) 2003-05-30
EP1458106A4 (en) 2007-01-24
KR100622904B1 (ko) 2006-09-14
CN100555880C (zh) 2009-10-28
US20050154954A1 (en) 2005-07-14
EP1458106A1 (en) 2004-09-15
JP3624874B2 (ja) 2005-03-02
AU2002366138A1 (en) 2003-06-10
KR20050044524A (ko) 2005-05-12
US7210076B2 (en) 2007-04-24

Similar Documents

Publication Publication Date Title
JP2003152551A (ja) インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ
JP3359912B1 (ja) ターボインターリービング装置及び方法
JP4383672B2 (ja) 第3世代の符号分割多重アクセスのためのターボコード・インターリーバ
CA2353455C (en) Turbo code interleaver using linear congruential sequences
JP3961770B2 (ja) 通信システムのインターリービング/デインターリービング装置及び方法
KR100526512B1 (ko) 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
CA2332990C (en) Address generator and address generating method for use in a turbo interleaver/deinterleaver
EP2621091A1 (en) Turbo code parallel interleaver and parallel interleaving method thereof
CA2507620C (en) Addresses generation for interleavers in turbo encoders and decoders
AU3682700A (en) 2-dimensional interleaving apparatus and method
JP2013207382A (ja) インタリーブ制御装置、インタリーブ処理装置及びインタリーブ処理方法
KR20020030170A (ko) 터보 디코딩 방법
KR20030062079A (ko) 터보 치환기 및 이를 이용한 터보 복호기
US20090083514A1 (en) Apparatus and method for block interleaving in mobile communication system
JP4507443B2 (ja) インターリーブ方法及びインターリーブ装置
RU2212103C2 (ru) Устройство и способ для турбоперемежения
KR100800840B1 (ko) 터보코드를 사용하는 부호분할다중접속 이동통신시스템의 터보 인터리버 및 터보 인터리빙 방법
CN106817198A (zh) 适用于LTE系统中Turbo译码的交织解交织方法
JPH10308677A (ja) ディジタル通信機器のコンバルーシャナルディインターリーバー

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040722

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040921

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041122

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3624874

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071210

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081210

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101210

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101210

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111210

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111210

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121210

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121210

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 9

EXPY Cancellation because of completion of term