JP3593647B2 - Multi-stage interleaved pattern generator - Google Patents
Multi-stage interleaved pattern generator Download PDFInfo
- Publication number
- JP3593647B2 JP3593647B2 JP07676399A JP7676399A JP3593647B2 JP 3593647 B2 JP3593647 B2 JP 3593647B2 JP 07676399 A JP07676399 A JP 07676399A JP 7676399 A JP7676399 A JP 7676399A JP 3593647 B2 JP3593647 B2 JP 3593647B2
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- stage
- output
- bit
- interleave
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、データ通信システム等におけるバースト誤りを回避するために必須であるマルチステージ・インタリーブ(MIL:Multi−stage InterLeaving)を行う際、又は、マルチステージ・インタリーブされたデータのデインタリーブを行う際に用いるマルチステージ・インタリーブ・パターン生成器に関する。
【0002】
マルチステージ・インタリーブ(MIL)は、インタリーブを多段に行うもので、1段のみの通常のインタリーブに比べて、相関する連続データを更に分散させ、連続する一かたまりのデータのバースト誤りに対する受信・再生データの誤り訂正又はその修正能力を向上させるものである。
【0003】
マルチステージ・インタリーブ(MIL)は、データ通信システム以外のデータの記録・再生装置等にも適用することができるが、以下では、データ通信システムに適用した場合を例に挙げて説明する。
【0004】
マルチステージ・インタリーブ(MIL)を行うには、送信データをシーケンシャルにメモリアドレスに書込み、書込んだ送信データを、マルチステージ・インタリーブ・パターン生成器から生成される順序パターンに従って、その順序パターンに対応したメモリアドレスから順次読出すことにより、送信データの順序を分散させて送信する。
【0005】
受信側のマルチステージ・デインタリーブは、マルチステージ・インタリーブ・パターン生成器から生成される順序パターンに従って、その順序パターンに対応したメモリアドレスに受信データを順次書込み、書込んだ受信データをシーケンシャルにメモリアドレスから読出し、不連続な順序の受信データを元の順序に戻す処理を行う。
【0006】
マルチステージ・インタリーブは、1段のみのインタリーブに比べて、送信データの順序入替えパターン(インタリーブパターン)が複雑となる一方、近年のLSI、パッケージボード(PCB)プリント板等の小型化、高密度化及び低消費電力化の要求に伴い、その回路規模の縮小及びメモリ等の削減が重要な課題となっている。このため、複雑なマルチステージ・インタリーブ・パターンを効率良く生成する必要がある。
【0007】
【従来の技術】
図17は従来のマルチステージ・インタリーブ・パターン生成器の説明図である。従来、マルチステージ・インタリーブ・パターン生成において、マルチステージ・インタリーブ・パターンの複雑さ、膨大なデータ長及び複数のパターン種別等を考慮すると、メモリ無しでのロジック回路化は困難と考えられていた。
【0008】
そのため、送信するデータのデータ長及び種別によって異なるマルチステージ・インタリーブ・パターンを、それぞれ個別にテーブル化し、各テーブルを記憶する複数のメモリを設け、該メモリの読出しにより、マルチステージ・インタリーブ・パターンを取り出していた。
【0009】
従来のマルチステージ・インタリーブ・パターン生成器は、図17に示すように、データ長及びパターン種別によって異なるマルチステージ・インタリーブ・パターンを、複数(n個) のメモリ(RAM:Random Access Memory)17−1に記憶し、各メモリ17−1から読み出されるマルチステージ・インタリーブ・パターンを、セレクタ17−2により選択して出力するものである。
【0010】
それぞれ異なるマルチステージ・インタリーブ・パターンデータ(MILデータ)は、個々のメモリ17−1に、チップセレクト(CS)信号及び書込みアドレス信号により、書込み位置を指定して記憶される。
【0011】
そして、チップセレクト(CS)信号により、メモリ17−1の1つを選択するとともに、セレクタ17−2をセレクト(SEL)信号により制御してメモリ17−1の出力データを選択し、選択したメモリから順次、読出しアドレスを与えて必要なマルチステージ・インタリーブ・パターンデータを読出し、種類の異なるマルチステージ・インタリーブ・パターンデータを取り出す。
【0012】
また、別な手段として、各マルチステージ・インタリーブ・パターンテーブルを記憶するRAM等のメモリを複数使用せず、送信するデータのデータ長を基に所定の演算式により、マルチステージ・インタリーブ・パターンを算出し、算出したマルチステージ・インタリーブ・パターンを、毎回メモリに上書きして生成することができる。
【0013】
前者の各マルチステージ・インタリーブ・パターンテーブルをメモリに記憶しておく構成は、膨大なメモリ容量が必要となり、後者の各マルチステージ・インタリーブ・パターンを演算により生成する構成は、ディジタルシグナルプロセッサ(DSP)等によるプログラム処理が必要で、且つ、毎回演算を行うため、処理に遅延を生じる。
【0014】
【発明が解決しようとする課題】
各マルチステージ・インタリーブ・パターンテーブルをメモリに記憶する手法は、メモリの削減ができず、LSI、パッケージボード(PCB)プリント板の小型化、高密度化及び低消費電力化において難点がある。
【0015】
また、ディジタルシグナルプロセッサ(DSP)等のプロセッサにより、各マルチステージ・インタリーブ・パターンを演算して生成する手法は処理遅延を伴い、該処理遅延は、高速化が要求されるデータ通信において、致命的な欠点となる。
【0016】
本発明は、マルチステージ・インタリーブ・パターンの生成手段を、メモリやディジタルシグナルプロセッサ(DSP)等のプロセッサを一切使用せず、ロジック回路のみで実現し、回路規模の小型化、高密度化、低消費電力化及び処理の高速化を可能とすることを目的とする。
【0017】
【課題を解決するための手段】
本発明のマルチステージ・インタリーブ・パターン生成器は、(1)少なくともインタリーブの対象となる全データ数までのカウント値を出力し、クロック信号により、順次、該カウント値のビットパターンを生成するカウントアップ部と、該カウントアップ部から出力される上位側のビットと下位側のビットとを、互いに対称的に入替えるマルチステージ・インタリーブ・パターン生成部とを備えたものである。
【0018】
また、(2)前記カウントアップ部は、8進カウンタにより構成され、前記マルチステージ・インタリーブ・パターン生成部は、該カウントアップ部から出力される最上位ビットと最下位ビットとを互いに入替えて出力する構成を有するものである。
【0019】
また、(3)前記(1)又は(2)におけるカウントアップ部から出力されるキャリー信号により動作する2進カウンタと、前記(1)又は(2)におけるマルチステージ・インタリーブ・パターン生成部から出力されるビットパターンの更に下位側に、前記2進カウンタの出力ビットを付け加えたビットパターンを出力する合成部とを更に備えたものである。
【0020】
また、(4)前記カウントアップ部を、16進カウンタにより構成したものである。
また、(5)前記カウントアップ部を、2のべき乗の整数値までカウントするカウンタにより構成したものである。
【0021】
また、(6)前記(1)におけるカウントアップ部をK(Kは任意の整数) 進カウンタとし、該K進カウンタから出力されるキャリー信号を計数するL(Lは任意の整数) 進カウンタと、前記(1)に記載のマルチステージ・インタリーブ・パターン生成部から出力されるビットパターンの値に前記整数Lを乗算する乗算器と、該乗算器の出力値とL進カウンタの出力値とを加算する加算器とを更に備えたものである。
【0022】
また、(7)前記L進カウンタから出力される上位側のビットと下位側のビットとを互いに対称的に入替える第2のマルチステージ・インタリーブ・パターン生成部を備え、前記加算器は、該第2のマルチステージ・インタリーブ・パターン生成部から出力されるビットパターンの値と前記乗算器の出力値とを加算するように構成したものである。
【0023】
また、(8)前記カウントアップ部を、昇順にカウント値を生成するカウントアップ動作と降順にカウント値を生成するカウントダウン動作の機能を有する構成とし、リバース設定の有無を判定し、該カウントアップ動作とカウントダウン動作とを切替えるリバース判定部を備えたものである。
【0024】
【発明の実施の形態】
図1は、本発明のマルチステージ・インタリーブ・パターン生成器の基本構成の説明図である。同図の(A)において、1−1はカウントアップ部、1−2はマルチステージ・インタリーブ・パターン生成部である。
【0025】
カウントアップ部1−1は、マルチステージ・インタリーブを行う最小の基本構成においては、8進カウンタで構成され、初期値“000 (0) ”が設定され、クロック信号によりカウントアップし、順次、000 (0),001 (1),010 (2),011 (3),100 (4),101 (5),110 (6),111 (7) のビットパターンを出力する。
【0026】
マルチステージ・インタリーブ・パターン生成部1−2は、カウントアップ部1−1から出力されるビットパターンの最上位ビットMSBと最下位ビットLSBとを入替えるMSB−LSBビット操作回路により構成される。
【0027】
同図の(B)は、図の(A)に示すカウントアップ部1−1を3つのフリップフロップQ0,Q1,Q2により構成し、最下位ビットLSBを出力するフリップフロップQ0の出力ビットと、最上位ビットMSBを出力するフリップフロップQ2の出力ビットとを、マルチステージ・インタリーブ・パターン生成部1−2において互いに入替えて、マルチステージ・インタリーブ・パターンを出力するように構成した例を示している。
【0028】
マルチステージ・インタリーブ・パターン生成部1−2から順次出力されるビットパターンは、000 (0),100 (4),010 (2),110 (6),001 (1),101 (5),011 (3),111 (7) となる。
【0029】
8個のデータのマルチステージ・インタリーブを行う場合の一般的な手順は、まず、8個のデータを、縦に2個、横に4個並べた2×4個のデータ、又は縦に4個、横に2個並べた4×2個のデータとする。そして、縦又は横に並べた4個のデータを更に、縦に2個、横に2個並べて、インタリーブを行う。
【0030】
ここで、8個のデータを、縦に2個、横に4個並べ、横に並べた4個のデータを更に、縦に2個、横に2個並べて行うマルチステージ・インタリーブを、式:8(2×4(2×2))と表す。また、8個のデータを、縦に4個、横に2個並べ、縦に並べた4個のデータを更に、縦に2個、横に2個並べて行うマルチステージ・インタリーブを、式:8(4(2×2)×2)と表す。
【0031】
図2は式:8(2×4(2×2))及び式:8(4(2×2)×2)のマルチステージ・インタリーブの説明図である。図の(A)は式:8(2×4(2×2))、図の(B)は式:8(4(2×2)×2)によるマルチステージ・インタリーブの操作手順を示している。なお、いずれの算出式の操作手順でマルチステージ・インタリーブを行っても、最終的に得られるマルチステージ・インタリーブ・パターンは同一である。
【0032】
図2の(A)において、式:8(2×4(2×2))の下線部aの8(2×4)についてインタリーブ操作を行い、(A−1)に示すように、0から7までのデータを、0から3までのデータと4から7までのデータとに分けて2次元的に配列する。
【0033】
次に、式:8(2×4(2×2))の下線部bの4(2×2)について、横方向のインタリーブ操作を行うと、(A−2)に示すように、0から3までのデータが、0,2,1,3の順に入替えられ、また、4から7までのデータが、4,6,5,7の順に入替えられる。
【0034】
そして、横に並んだ0,2,1,3の順のデータと4,6,5,7の順のデータとを、縦方向の順に出力することにより、0,4,2,6,1,5,3,7の順のマルチステージ・インタリーブ・パターンが生成される。
【0035】
図の(B)に示す式:8(4(2×2)×2)によるマルチステージ・インタリーブの操作手順の場合、(B−1)に示す8(4×2)のインタリーブを行い、縦方向に0,2,4,6及び1,3,5,7と並んだ2次元配列を生成し、次に、(B−2)に示すように縦方向のインタリーブを行うと、縦方向に0,4,2,6及び1,5,3,7と並んだ2次元配列が生成され、該配列を縦方向の順に出力することとすると、送出順序は、0,4,2,6,1,5,3,7となり、このパターンは、前述の(A)のマルチステージ・インタリーブ・パターンと同一である。
【0036】
このように、前述の図1に示したマルチステージ・インタリーブ・パターン生成器により得られるパターンは、式:8(2×4(2×2))及び式:8(4(2×2)×2)のマルチステージ・インタリーブ・パターンと同一であり、図1に示すロジック回路により、0,4,2,6,1,5,3,7のマルチステージ・インタリーブ・パターンを生成することができる。
この8パターン長のマルチステージ・インタリーブ・パターンは、マルチステージ・インタリーブ・パターンにおける最短長の基本パターンである。
【0037】
図3は、基本パターンの2倍長のマルチステージ・インタリーブ・パターン生成器の説明図である。このパターン生成器は図の(A)に示すように、前述したようなカウントアップ部3−1とマルチステージ・インタリーブ・パターン生成部3−2とからなる基本パターンの生成回路のほかに、2進カウンタ3−3と合成部3−4とを備えたものである。
【0038】
図の(B)は、基本パターンの生成回路として、カウントアップ部3−1に、図1に示す3つのフリップフロップQ0,Q1,Q2による8進カウンタを用いた構成例を示している。
【0039】
マルチステージ・インタリーブ・パターン生成部3−2は、カウントアップ部3−1の出力ビットの最上位ビットMSBと最下位ビットLSBとを入替えるMSB−LSBビット操作回路で構成され、この構成は、図1に示したものと同様である。
【0040】
2進カウンタ3−3は、カウントアップ部3−1の最上位ビットからの桁上げ信号であるキャリー信号(CO:Carry Out )が入力されると“1”を出力する。合成部3−4は、マルチステージ・インタリーブ・パターン生成部3−2から出力される3ビットの出力に、2進カウンタ3−3から出力される1ビットを最下位ビットに付け加え、4ビットのビットパターンとして出力する。
【0041】
図3の(B)に示したマルチステージ・インタリーブ・パターン生成器は、カウントアップ部3−1に8進カウンタを用いたため、16パターン長のマルチステージ・インタリーブ・パターンを生成するが、基本パターンの生成回路としては任意のパターン長のマルチステージ・インタリーブ・パターン生成回路を用いることができる。
【0042】
図4は、16パターン長のマルチステージ・インタリーブ・パターンの説明図である。同図は、16パターン長のマルチステージ・インタリーブ・パターンを、式:16(4(2×2)×4(2×2))の算出式によるインタリーブ操作により生成する例を示している。
【0043】
なお、16パターン長のマルチステージ・インタリーブ・パターンは、式:16(8(4(2×2)×2)×2)の算出式によっても、また、式:16(2×8(4(2×2)×2))の算出式によっても、同一のパターンが生成される。
【0044】
まず、図の(A)に示す式:16(4(2×2)×4(2×2))の下線部aの16(4×4)についてインタリーブ操作を行い、図の(B)に示すように、0から15までのデータを、0から3、4から7、8から11、12から15の四つずつのデータに分けて2次元的に配列する。
【0045】
次に、式:16(4(2×2)×4(2×2))の下線部bの4(2×2)についてインタリーブ操作を行い、(C)に示すように、縦方向に並んだ四つのデータに対してそれぞれ順序を入替える。
【0046】
次に式:16(4(2×2)×4(2×2))の下線部cの4(2×2)についてインタリーブ操作を行い、図の(D)に示すように、横方向に並んだ四つのデータに対してそれぞれ順序を入替える。
【0047】
これらのインタリーブ操作によって生成されるマルチステージ・インタリーブ・パターンは、図の(D)の矢印の右側に示す2次元配列のデータを、縦方向の順に取出して並べることにより、0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15のパターンとなる。
【0048】
一方、図3の(B)に示すカウントアップ部3−1及びマルチステージ・インタリーブ・パターン生成部3−2から生成されるパターンは、図4の(E)に示すパターンとなり、該マルチステージ・インタリーブ・パターン生成部3−2の出力ビットと2進カウンタ3−3の出力ビットとを合成する合成部3−4から出力される出力ビットのパターンは、図4の(F)に示すとおり、0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15のパターンとなり、前述の式16:(4(2×2)×4(2×2))によるインタリーブ操作により生成されるマルチステージ・インタリーブ・パターンと合致する。
【0049】
図5は、本発明の16パターン長のマルチステージ・インタリーブ・パターン生成器の第2の構成例の説明図である。同図の(A)において、5−1は16進アップカウンタ、5−2はマルチステージ・インタリーブ・パターン生成部である。
【0050】
16進アップカウンタ5−1は、四つのフリップフロップQ0,Q1,Q2,Q3により構成され、この順序で低位ビットから高位ビットのビットパターンを出力するものとする。即ち、フリップフロップQ0が最下位ビットLSBを出力し、フリップフロップQ3が最上位ビットMSBを出力するものとする。
【0051】
マルチステージ・インタリーブ・パターン生成部5−2は、16進アップカウンタ5−1のフリップフロップQ0の出力を最上位ビットの位置に入替え、フリップフロップQ1の出力を最上位から2番目のビット位置に入替え、フリップフロップQ2の出力を最下位から2番目のビット位置に入替え、フリップフロップQ3の出力を最下位ビットの位置に入替える。
【0052】
16進アップカウンタ5−1から出力されるビットパターンは、図5の(B)に示すとおりとなる。16進アップカウンタ5−1の出力ビットの入替えを行ったマルチステージ・インタリーブ・パターン生成部5−2からの出力ビットパターンは、図5の(C)に示すとおりとなり、この出力ビットパターンの順序パターンは、図4の(D)に示したマルチステージ・インタリーブ・パターンと合致する。
【0053】
図6は、本発明の32パターン長のマルチステージ・インタリーブ・パターン生成器の構成例の説明図である。同図の(A)において、6−1は32進アップカウンタ、6−2はマルチステージ・インタリーブ・パターン生成部である。
【0054】
32進アップカウンタ6−1は、五つのフリップフロップQ0,Q1,Q2,Q3,Q4により構成され、この順序で低位ビットから高位ビットのビットパターンを出力するものとする。即ち、フリップフロップQ0が最下位ビットLSBを出力し、フリップフロップQ4が最上位ビットMSBを出力する。
【0055】
マルチステージ・インタリーブ・パターン生成部6−2は、32進アップカウンタ6−1のフリップフロップQ0の出力を最上位ビットの位置に入替え、フリップフロップQ1の出力を最上位から2番目のビット位置に入替え、フリップフロップQ2の出力はそのまま同じビット位置とし、フリップフロップQ3の出力を最下位から2番目のビット位置に入替え、フリップフロップQ4の出力を最下位ビットの位置に入替える。
【0056】
32進アップカウンタ6−1から出力されるビットパターンは、図の(B)に示すとおりとなる。32進アップカウンタ6−1の出力ビットの入替えを行ったマルチステージ・インタリーブ・パターン生成部6−2からの出力ビットパターンは、図6の(C)に示すとおりとなり、この出力ビットパターンの順序パターンは、0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,・・・7,23,15,31となる。
【0057】
一方、32パターン長のマルチステージ・インタリーブ・パターンを、式:32(4(2×2)×8(4(2×2)×2))のインタリーブ操作により、生成すると以下のようになる。
【0058】
図7に32パターン長のマルチステージ・インタリーブ・パターンの生成手順を示す。まず、図の(A)に示す式:32×(4(2×2)×8(4(2×2)×2))の下線部aの32(4×8)について、インタリーブ操作を行うと、図の(B)に示す2次元配列パターンが得られる。
【0059】
次に、式:32×(4(2×2)×8(4(2×2)×2))の下線部bの4(2×2)について縦方向のインタリーブ操作を行うと、図の(C)に示す2次元配列パターンが得られる。
【0060】
次に、式:32×(4(2×2)×8(4(2×2)×2))の下線部cの8(4(2×2)×2)について横方向のインタリーブ操作を行うと、図の(D)に示す2次元配列パターンが得られる。
【0061】
従って、生成されるマルチステージ・インタリーブ・パターンは、0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,・・・7,23,15,31となる。このパターンは、前述の図6の(C)に示すマルチステージ・インタリーブ・パターン生成部6−2から出力されるパターンと合致する。
【0062】
なお、この32パターン長のマルチステージ・インタリーブ・パターンは、他の算出式によって得られるマルチステージ・インタリーブ・パターンと同一となる。他の算出式として、式:32(2×16(4(2×2)×4(2×2)))、式:32(16(4(2×2)×4(2×2))×2)、式:32(4(2×2)×8(2×4(2×2)))、式:32(8(4(2×2)×2)×4(2×2))、式:32(8(2×4(2×2))×4(2×2))により生成してもよい。
【0063】
前述の32パターン長のマルチステージ・インタリーブ・パターン生成器から類推されるように、2のべき乗のパターン長のマルチステージ・インタリーブ・パターン生成器は、以下のように構成することができる。
【0064】
図8は、2のべき乗のパターン長のマルチステージ・インタリーブ・パターン生成器の説明図である。2n+1 進アップカウンタ8−1は、n+1個のフリップフロップQ0,Q1,・・・Qnにより構成され、この順序で低位ビットから高位ビットのビットパターンを出力するものとする。即ち、フリップフロップQ0が最下位ビットLSBを出力し、フリップフロップQnが最上位ビットMSBを出力する。
【0065】
マルチステージ・インタリーブ・パターン生成部8−2は、2n+1 進アップカウンタ8−1のフリップフロップQ0の出力を最上位ビットの位置に入替え、フリップフロップQ1の出力を最上位から2番目のビット位置に入替え、以下、順番に低位側ビットと高位側ビットとを互いに対称的に入替え、中央位置のフリップフロップの出力はそのまま同じビット位置とし、フリップフロップQ(n−1)の出力を最下位から2番目のビット位置に入替え、フリップフロップQnの出力を最下位ビットの位置に入替える。
【0066】
このように構成した2のべき乗のパターン長のマルチステージ・インタリーブ・パターン生成器は、前述のような算出式を基にインタリーブ操作を多段に行う手順により生成されるマルチステージ・インタリーブ・パターンと同一のパターンを生成する。
【0067】
図9は、任意の整数の積のパターン長のマルチステージ・インタリーブ・パターン生成器の説明図である。同図において、9−1は第1のマルチステージ・インタリーブ・パターン生成器、9−2は第2のマルチステージ・インタリーブ・パターン生成器、9−3は乗算部、9−4はビット合わせ部、9−5は加算部である。
【0068】
第1のマルチステージ・インタリーブ・パターン生成器9−1は、K個のパターン長のマルチステージ・インタリーブ・パターンを生成し、第2のマルチステージ・インタリーブ・パターン生成器9−2は、L個のパターン長のマルチステージ・インタリーブ・パターンを生成するものとする。
【0069】
第2のマルチステージ・インタリーブ・パターン生成器9−2は、第1のマルチステージ・インタリーブ・パターン生成器9−1の動作が一通り終了した時点で出力されるキャリー信号をクロック信号として受信し、内部のカウンタを動作させる。
【0070】
ここで、第1及び第2のマルチステージ・インタリーブ・パターン生成器9−1,9−2は、可能な限り多段にインタリーブを行うもので、1段階のみしかインタリーブを行うことができない場合は、1段のインタリーブ・パターンを生成し、整数K又はLが約数を持たない場合、即ち、インタリーブ不能の場合は、K進又はL進のアップカウント値のビットパターンをそのまま出力する。
【0071】
なお、後述するように、整数K又はLが約数を持たないが、K又はLがP×Q−R(P,Q,Rは整数)と表せる場合には、P×Q個のデータが存在するものと仮定し、P×Q個のデータについてマルチステージ・インタリーブ操作を行い、その結果得られるマルチステージ・インタリーブ・パターンのなかから、K又はL個分のマルチステージ・インタリーブ・パターンを取り出して(R個のパターンは無視又は除外して)、マルチステージ・インタリーブ・パターンを生成する構成とすることができる。
【0072】
乗算器9−3は、第1のマルチステージ・インタリーブ・パターン生成器9−1から出力されるビットパターンの値に、第2のマルチステージ・インタリーブ・パターン生成器9−2のパターン長Lを乗算する。
【0073】
ビット合わせ部9−4は、第2のマルチステージ・インタリーブ・パターン生成器9−2から出力されるビット数を、乗算部9−3から出力されるビット数に合わせるために、上位ビットに“0”を付け加えるものである。
【0074】
加算部9−5は、乗算部9−3から出力されるビットパターン値と、ビット合わせ部9−4から出力されるビットパターン値とを加算し、その加算値のビットパターンを、マルチステージ・インタリーブ・パターンとして出力する。
【0075】
以下、K×Lパターンのマルチステージ・インタリーブ・パターン生成器の具体的な構成例として、K=4,L=3とした12パターン長のマルチステージ・インタリーブ・パターン発生器の構成例について説明する。
【0076】
図10は、12パターン長のマルチステージ・インタリーブ・パターン発生器の構成例の説明図である。同図において、10−1は4進アップカウンタ、10−2は3進アップカウンタ、10−3はMSB−LSB操作回路、10−4は乗算器、10−5はビット合わせ回路、10−6は加算器、10−7はカウンタロード信号生成回路である。
【0077】
4進アップカウンタ10−1は、2つのフリップフロップを備え、2ビットのビットパターンをMSB−LSB操作回路10−3に出力するとともに、キャリー信号を3進アップカウンタ10−2に出力する。
【0078】
MSB−LSB操作回路10−3は、4進アップカウンタ10−1から出力される最上位ビットMSBと最下位ビットLSBとを入替える操作を行う。乗算器10−4は、1ビットシフト回路と加算回路(ADD)とからなり、MSB−LSB操作回路10−3から出力されるビットパターン値に“3”(“11”)を乗算する。
【0079】
3進アップカウンタ10−2は、4進アップカウンタ10−1から出力されるキャリー信号をカウントアップし、2ビットの3進カウント値をビット合わせ回路10−5に出力する。
【0080】
ビット合わせ回路10−5は、3進アップカウンタ10−2から出力されるビットパターンのビット数を、乗算器10−4の出力ビット数に揃えるために、上位側に“0”のビットを2つ付け加える。
【0081】
加算器10−6は、乗算器10−4の出力ビットパターンの値と、ビット合わせ回路10−5の出力ビットパターンの値とを加算し、その加算値のビットパターンを、マルチステージ・インタリーブ・パターンとして出力する。
【0082】
カウンタロード信号生成回路10−7は、加算器10−6から出力される12個のビットパターンを計数し、計数終了後に、4進アップカウンタ10−1及び3進アップカウンタ10−2をリセットして計数動作を再開させるためのカウンタロード信号を生成する。
【0083】
図11は、12パターン長のマルチステージ・インタリーブ・パターンの説明図である。12パターン長のマルチステージ・インタリーブ・パターンを、式:12(4(2×2)×3)のインタリーブ操作により、生成すると以下のようになる。なお、他の式によっても得られるマルチステージ・インタリーブ・パターンも同一である。
【0084】
まず、図の(A)の式:12(4(2×2)×3)の下線部aの12(4×3)について、インタリーブ操作を行うと、図11の(B)に示す2次元配列パターンが得られる。次に、式:12(4(2×2)×3)の下線部bの4(2×2)について縦方向のインタリーブ操作を行うと、図11の(C)に示す2次元配列パターンが得られる。従って、生成されるマルチステージ・インタリーブ・パターンは、0,6,3,9,1,7,4,10,2,8,5,11となる。
【0085】
一方、前述の図10に示す4進アップカウンタ10−1及びMSB−LSB操作回路10−3から出力されるビットパターンは、図11の(D)に示すとおりとなる。また、MSB−LSB操作回路10−3の出力値に“3”を掛ける乗算器10−4の出力は、図の(E)に示すとおりとなる。
【0086】
更に、乗算器10−4の出力値と、3進アップカウンタ10−2のビット合わせ処理を行ったビット合わせ回路10−5の出力値との加算を行う加算器10−6の出力値は、図の(F)に示すとおりとなる。
【0087】
加算器10−6の出力値のパターンは、0,6,3,9,1,7,4,10,2,8,5,11となり、図11の(C)に示す12パターン長のマルチステージ・インタリーブ・パターンと合致する。
【0088】
前述の12パターン長のマルチステージ・インタリーブ・パターン生成器では、K=4、L=3とし、マルチステージ・インタリーブ・パターンを生成したが、一般に、整数K又はLが更に約数を持ち、縦方向又は横方向にインタリーブが可能な場合の整数m(m=K×L)のパターン長のマルチステージ・インタリーブ・パターン生成器は、以下のように構成される。
【0089】
図12は、このようなK×Lパターン長のマルチステージ・インタリーブ・パターン発生器の構成例の説明図である。同図において、12−10はK進アップカウンタ、12−11はMSB−LSB操作回路、12−20はL進アップカウンタ、12−21はMSB−LSB操作回路、12−3は乗算器、12−4はビット合わせ回路、12−5は加算器、12−6はカウンタロード信号生成回路である。
【0090】
K進アップカウンタ12−10とMSB−LSB操作回路12−11とで、第1のマルチステージ・インタリーブ・パターン生成器を構成し、L進アップカウンタ12−20とMSB−LSB操作回路12−21とで、第2のマルチステージ・インタリーブ・パターン生成器を構成している。
【0091】
L進アップカウンタ12−20は、K進アップカウンタ12−10が出力するキャリー信号を受信してアップカウントする。MSB−LSB操作回路12−11,12−21は、整数K又はLが2のべき乗であるときのみ、前述したような上位ビットと下位ビットとの入替え操作を行う。
【0092】
乗算器12−3は、MSB−LSB操作回路12−11から出力されるビットパターンに整数Lの値を乗算する。ビット合わせ回路12−4は、MSB−LSB操作回路12−21から出力されるビットパターンのビット数を、乗算器12−3から出力されるビットパターンのビット数に合わせるために、上位ビットに“0”を付け加える。
【0093】
加算器12−5は、乗算器12−3から出力されるビットパターン値と、ビット合わせ回路12−4から出力されるビットパターン値とを加算し、その加算値のビットパターンを、マルチステージ・インタリーブ・パターンとして出力する。
【0094】
カウンタロード信号信号生成回路12−6は、加算器12−5から出力されるm(=K×L)個のパターン数を計数し、計数終了後に、K進アップカウンタ12−10及びL進アップカウンタ12−20をリセットして計数動作を再開させるためのカウンタロード信号を生成する。
【0095】
次に、前述したようなそれぞれが2のべき乗の約数を持つ整数の積である20×16パターン長のマルチステージ・インタリーブ・パターン発生器の構成例について説明する。このパターンは、20パターン長のマルチステージ・インタリーブ・パターン発生部と、16パターン長のマルチステージ・インタリーブ・パターン発生部との組合せにより発生させることができる。
【0096】
20×16パターン長のマルチステージ・インタリーブ・パターンは、次の算出式により生成するものとする。式:320(20(4(2×2)×5(3×2))×16(4(2×2)×4(2×2)))
【0097】
図13は、上記の算出式による20×16パターン長のマルチステージ・インタリーブ・パターン発生器の構成例の説明図である。同図において、13−10は20パターン長のマルチステージ・インタリーブ・パターン発生部、13−20は16パターン長のマルチステージ・インタリーブ・パターン発生部、13−30は乗算(×16演算)器、13−40は加算器、13−50は出力回路である。
【0098】
20パターン長のマルチステージ・インタリーブ・パターン発生部13−10は、20×16のインタリーブ・パターンの縦方向である20(4(2×2)×5(3×2))パターンについて、マルチステージ・インタリーブ・パターンを生成するもので、更に、その縦方向の4(2×2)パターンのマルチステージ・インタリーブ・パターン発生器13−11と、横方向の5(3×2)パターンのマルチステージ・インタリーブ・パターン発生器13−12と、乗算(×5演算)器13−13と、ビット合わせ回路13−14と、加算器13−15とにより構成される。
【0099】
4パターン長のマルチステージ・インタリーブ・パターン発生器13−11は、4進カウンタとMSB−LSBビット操作回路とにより構成され、その出力結果は、0,2,1,4である。
【0100】
5パターン長のマルチステージ・インタリーブ・パターン発生器13−12は、具体的回路については図14を用いて説明するが、5パターン長のマルチステージ・インタリーブ・パターンを生成する。
【0101】
式:20(4(2×2)×5(3×2))のマルチステージ・インタリーブを実際行うと、その結果は、0,10,5,15,2,12,・・・であるため、4パターン長のマルチステージ・インタリーブ・パターン発生器13−11の出力値に対し、乗算(×5演算)器13−13により“5”(”101” )を乗算する。
【0102】
乗算(×5演算)器13−13は、入力ビットの上位に“0”を2ビット分付加する回路13−13aと、入力ビットを2ビット分上位に移動し、その下位に“0”を2ビット分付加する回路13−13bと、それらの回路の出力を加算する加算器13−13cとにより構成され、入力ビットの値に“5”を乗算する。
【0103】
ビット合わせ回路13−14は、5パターン長のマルチステージ・インタリーブ・パターン発生器13−12からの3ビットの出力に、上位側に“0”を2ビット分付加し、乗算(×5演算)器13−13の出力ビット数に揃える。
【0104】
加算器13−15は、乗算(×5演算)器13−13の出力値と、ビット合わせ回路13−14の出力値とを加算し、加算器13−15から、20パターン長のマルチステージ・インタリーブ・パターンを生成する。ここまでが式:20(4(2×2)×5(3×2))によるマルチステージ・インタリーブ・パターンの生成処理となる。
【0105】
16パターン長のマルチステージ・インタリーブ・パターン発生部13−20は、前述の20×16のインタリーブ・パターンの横方向である16(4(2×2)×4(2×2))パターンについて、マルチステージ・インタリーブ・パターンを生成するもので、16パターン長のマルチステージ・インタリーブ・パターン発生器13−21と、ビット合わせ回路13−22とから構成される。
【0106】
16パターン長のマルチステージ・インタリーブ・パターン発生器13−21は、前述した実施の形態と同様に、16進カウンタと、その上位側ビットと下位側ビットとを入替えるMSB−LSBビット操作回路とにより構成され、その出力結果は、0,8,4,12,2,10,・・・となる。
【0107】
ビット合わせ回路13−22は、16パターン長のマルチステージ・インタリーブ・パターン発生器13−21の4ビットの出力に、上位側に“0”を5ビット分付加して9ビットの出力とし、加算器13−40の一方の入力に加える。
【0108】
式:320(20(4(2×2)×5(3×2))×16(4(2×2)×4(2×2)))のマルチステージ・インタリーブ・パターンを実際に算出すると、その結果は、0,160,80,240,32,192,・・・であるため、加算器13−15の出力値に対し、乗算(×16演算)器13−30により、“16”(”10000” )を乗算する。
【0109】
乗算(×16演算)器13−30は、20パターン長のマルチステージ・インタリーブ・パターン発生部13−10の出力ビットを、4ビット上位に移し、その下位に“0”を4ビット分付加することにより、“16”を乗算することができ、その乗算結果を加算器13−40の他方の入力に加える。
【0110】
加算器13−40は、乗算(×16演算)器13−30の出力値と、ビット合わせ回路13−22の出力値とを加算し、加算器13−40から、20×16パターン長のマルチステージ・インタリーブ・パターンが生成される。
【0111】
図14は、前述した5パターン長のマルチステージ・インタリーブ・パターン発生器13−12の構成例を示す。同図の(A)において、14−1は3進アップカウンタ、14−2は2進アップカウンタ、14−3は乗算(×2演算)器、14−4はビット合わせ回路、14−5は加算器、14−6はカウンタロード信号生成回路である。
【0112】
3進アップカウンタ14−1は、00 (0),01 (1),10 (2)のビットパターンを順次出力し、乗算(×2演算)器14−3は、3進アップカウンタ14−1の出力値に“2”を乗算し、000 (0),010 (2),100 (4) のビットパターンを出力する。
【0113】
2進アップカウンタ14−2は、3進アップカウンタ14−1からキャリー信号が入力されると、“1”を出力する。ビット合わせ回路14−4は、2進アップカウンタ14−2の出力ビットの上位に、“0”を2ビット分付加し、000,001 のビットパターンを出力する。
【0114】
加算器14−5は、乗算(×2演算)器14−3の出力値とビット合わせ回路14−4の出力値とを加算し、000 (0),010 (2),100 (4),001 (1),011 (3) のビットパターンを出力する。
【0115】
一方、5パターン長のインタリーブ・パターンを、式:5(3×2)により算出するものとすると、0〜4の順序パターンは、図14の(B)に示すとおりとなり、矢印の右側の2次元配列の番号を縦方向に取り出すことにより、0,2,4,1,3のパターンが生成される。
【0116】
従って、図14の(A)に示すマルチステージ・インタリーブ・パターン発生器から生成されるパターンは、式:5(3×2)によるマルチステージ・インタリーブ・パターンと合致する。
【0117】
カウンタロード信号生成回路14−6は、加算器14−5から出力される5個のパターン数を計数し、計数終了後に、3進アップカウンタ14−1及び2進アップカウンタ14−2をリセットして計数動作を再開させるためのカウンタロード信号を生成する。
【0118】
図15は、本発明のリバースパターン生成機能を有するマルチステージ・インタリーブ・パターン発生器の説明図である。このパターン発生器は図15に示すようにカウントアップ及びカウントダウン部15−1と、マルチステージ・インタリーブ・パターン発生部15−2と、リバース判定部15−3とから構成される。
【0119】
カウントアップ及びカウントダウン部15−1は、カウントアップ及びカウントダウンの動作機能を備え、リバース判定部15−3からの信号に応じてカウントアップ動作又はカウントダウン動作が切り替わり、昇順の順序パターン又は降順の順序パターンを生成する。
【0120】
マルチステージ・インタリーブ・パターン発生部15−2は、カウントアップ及びカウントダウン部15−1から出力されるビットパターンの、上位側ビットと下位側ビットとを互いに入替える操作を行う。
【0121】
リバース判定部15−3は、リバース指示の設定がなされているか否かを判定し、リバース指示の設定がなされている場合に、カウントアップ及びカウントダウン部15−1にカウントダウン動作の信号を出力する。
【0122】
この構成により、前述した正順のマルチステージ・インタリーブ・パターンのほかに、リバース指示の設定の設定により、順序が逆転したマルチステージ・インタリーブ・パターンを生成することができる。
【0123】
図16は、8パターン長のリバースパターン生成機能を有するマルチステージ・インタリーブ・パターン発生器の構成例を示し、このマルチステージ・インタリーブ・パターン発生器は、8進のアップダウンカウンタ16−1と、MSB−LSB操作回路16−2と、リバース判定部16−3とから構成される。
【0124】
8進のアップダウンカウンタ16−1は、初期値として、アップカウント時には000 (0) が、ダウンカウント時には111 (7) が設定される。MSB−LSB操作回路16−2は、アップダウンカウンタ16−1から出力される最上位ビットMSBと、最下位ビットLSBとを入替える操作を行う。
【0125】
アップダウンカウンタ16−1は、ダウンカウント動作時に、111 (7),110 (6),101 (5),100 (4),011 (3),010 (2),001 (1),000 (0) のビットパターンを順次発生する。
【0126】
MSB−LSB操作回路16−2は、上記のビットパターンの最上位ビットMSBと最下位ビットLSBとを入替え、111 (7),011 (3),101 (5),001 (1),110 (6),010 (2),100 (4),000 (0) のパターンを順次生成する。
【0127】
一方、リバースパターンのマルチステージ・インタリーブ・パターンを生成する演算式は、式:R{8(2×4(2×2))}と表され、ここで、R{ }は、{ }内の算出式により生成したマルチステージ・インタリーブ・パターンを、逆の順序に入替える操作を意味する。
【0128】
式:8(2×4(2×2))によるマルチステージ・インタリーブ・パターンは、図2において説明したように、0,4,2,6,1,5,3,7となる。このパターンの順序を逆にしてえられるリバースパターンは、7,3,5,1,6,2,4,0となり、MSB−LSB操作回路16−2から出力されるパターンと合致する。よって、MSB−LSB操作回路16−2の出力が8パターンのマルチステージ・インタリーブ・パターンのリバースパターンである。
【0129】
【発明の効果】
以上説明したように、本発明によれば、複雑なマルチステージ・インタリーブ・パターンを、カウンタとビット入替え操作回路等のロジック回路により生成するため、従来のように大容量のメモリを使用したり、プロセッサによる処理を行ったりすることがないので、マルチステージ・インタリーブ・パターン生成器のLSI回路、パッケージボード等の小型化、高密度化及び低消費電力化を図ることができ、また、複雑なマルチステージ・インタリーブ・パターンを高速に生成することができる。
【図面の簡単な説明】
【図1】本発明のマルチステージ・インタリーブ・パターン発生器の基本構成の説明図である。
【図2】8(2×4(2×2))及び8(4(2×2)×2)のマルチステージ・インタリーブの説明図である。
【図3】本発明の基本パターンの2倍長のマルチステージ・インタリーブ・パターン生成器の説明図である。
【図4】16パターン長のマルチステージ・インタリーブ・パターンの説明図である。
【図5】本発明の16パターン長のマルチステージ・インタリーブ・パターン発生器の第2の構成例の説明図である。
【図6】本発明の32パターン長のマルチステージ・インタリーブ・パターン発生器の構成例の説明図である。
【図7】32パターン長のマルチステージ・インタリーブ・パターンの説明図である。
【図8】本発明の2べき乗のパターン長のマルチステージ・インタリーブ・パターン発生器の説明図である。
【図9】本発明の任意の整数の積のパターン長のマルチステージ・インタリーブ・パターン生成器の説明図である。
【図10】本発明の12パターン長のマルチステージ・インタリーブ・パターン発生器の構成例の説明図である。
【図11】12パターン長のマルチステージ・インタリーブ・パターンの説明図である。
【図12】本発明のK×Lパターンのマルチステージ・インタリーブ・パターン発生器の構成例の説明図である。
【図13】本発明の20×16パターン長のマルチステージ・インタリーブ・パターン発生器の構成例の説明図である。
【図14】本発明における5パターン長のマルチステージ・インタリーブ・パターン発生器の構成例の説明図である。
【図15】本発明のリバースパターン生成機能を有するマルチステージ・インタリーブ・パターン発生器の説明図である。
【図16】本発明の8パターン長のリバースパターン生成機能を有するマルチステージ・インタリーブ・パターン発生器の構成例の説明図である。
【図17】従来のマルチステージ・インタリーブ・パターン生成器の説明図である。
【符号の説明】
1−1 カウントアップ部
1−2 マルチステージ・インタリーブ・パターン生成部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention is applicable when performing multi-stage interleaving (MIL), which is essential for avoiding burst errors in a data communication system or the like, or when performing de-interleaving of multi-stage interleaved data. The present invention relates to a multi-stage interleave pattern generator used in the present invention.
[0002]
Multistage interleaving (MIL) performs interleaving in multiple stages. Compared to normal interleaving with only one stage, correlated continuous data is further dispersed, and reception / reproduction for a burst error of a continuous block of data is performed. It is to improve data error correction or its correction capability.
[0003]
The multi-stage interleave (MIL) can be applied to a data recording / reproducing apparatus other than the data communication system, but the following description will be made by taking an example in which the multi-stage interleave (MIL) is applied to a data communication system.
[0004]
In order to perform multi-stage interleaving (MIL), transmission data is sequentially written to a memory address, and the written transmission data corresponds to the order pattern according to the order pattern generated by the multi-stage interleave pattern generator. By sequentially reading from the memory addresses, the order of the transmission data is dispersed and transmitted.
[0005]
The receiving-side multi-stage deinterleaving sequentially writes received data to memory addresses corresponding to the order pattern according to the order pattern generated by the multi-stage interleaving pattern generator, and sequentially writes the received data that has been written to the memory. A process of reading from the address and returning the received data in the discontinuous order to the original order is performed.
[0006]
In the multistage interleaving, the pattern of changing the order of transmission data (interleaving pattern) becomes more complicated than that of the interleaving of only one stage, and the size and density of recent LSIs, package boards (PCB) printed boards, etc. are increased. With the demand for low power consumption, reduction of the circuit scale and reduction of memories and the like have become important issues. Therefore, it is necessary to efficiently generate a complicated multi-stage interleave pattern.
[0007]
[Prior art]
FIG. 17 is an explanatory diagram of a conventional multi-stage interleave pattern generator. Conventionally, in the generation of a multi-stage interleave pattern, it has been considered difficult to implement a logic circuit without a memory in consideration of the complexity of the multi-stage interleave pattern, an enormous data length, a plurality of pattern types, and the like.
[0008]
Therefore, the multi-stage interleave pattern different depending on the data length and type of data to be transmitted is individually tabulated, a plurality of memories for storing each table are provided, and the multi-stage interleave pattern is read by reading the memory. I was taking it out.
[0009]
As shown in FIG. 17, the conventional multi-stage interleave pattern generator stores a multi-stage interleave pattern that differs depending on a data length and a pattern type into a plurality of (n) memories (RAM: Random Access Memory) 17-. 1 and read out from each memory 17-1 by a selector 17-2 to select and output a multi-stage interleave pattern.
[0010]
The different multi-stage interleave pattern data (MIL data) is stored in each memory 17-1 by designating a write position by a chip select (CS) signal and a write address signal.
[0011]
Then, one of the memories 17-1 is selected by the chip select (CS) signal, and the output data of the memory 17-1 is selected by controlling the selector 17-2 by the select (SEL) signal. , Sequentially read necessary multi-stage interleave pattern data by giving a read address, and extract different types of multi-stage interleave pattern data.
[0012]
Further, as another means, a multi-stage interleave pattern is obtained by a predetermined arithmetic expression based on the data length of data to be transmitted without using a plurality of memories such as a RAM for storing each multi-stage interleave pattern table. The calculated multistage interleave pattern can be generated by overwriting the memory every time.
[0013]
The former configuration in which each multi-stage interleave pattern table is stored in a memory requires an enormous memory capacity, and the latter configuration in which each multi-stage interleave pattern is generated by calculation is a digital signal processor (DSP). ) And the like, and the calculation is performed every time, so that the processing is delayed.
[0014]
[Problems to be solved by the invention]
The method of storing each multi-stage interleave pattern table in a memory cannot reduce the memory, and has a problem in miniaturization, high density, and low power consumption of an LSI and a package board (PCB) printed board.
[0015]
Also, a method of calculating and generating each multi-stage interleave pattern by a processor such as a digital signal processor (DSP) involves processing delay, which is fatal in data communication requiring high speed. Disadvantages.
[0016]
The present invention realizes a means for generating a multi-stage interleave pattern by using only a logic circuit without using a memory or a processor such as a digital signal processor (DSP) at all. It is an object of the present invention to enable power consumption and high-speed processing.
[0017]
[Means for Solving the Problems]
The multi-stage interleave pattern generator according to the present invention includes: (1) a count-up that outputs a count value at least up to the total number of data to be interleaved, and sequentially generates a bit pattern of the count value by a clock signal; And a multi-stage interleave pattern generator for symmetrically exchanging upper bits and lower bits output from the count-up unit.
[0018]
(2) The count-up section is constituted by an octal counter, and the multi-stage interleave pattern generation section exchanges the most significant bit and the least significant bit output from the count-up section and outputs them. It has the structure which does.
[0019]
(3) a binary counter operated by the carry signal output from the count-up unit in (1) or (2), and an output from the multi-stage interleave pattern generation unit in (1) or (2). And a synthesizing unit for outputting a bit pattern to which the output bits of the binary counter are added, on the lower side of the bit pattern to be performed.
[0020]
(4) The count-up unit is constituted by a hexadecimal counter.
(5) The count-up unit is constituted by a counter that counts up to an integer value of a power of two.
[0021]
(6) An L (L is an arbitrary integer) base counter for counting the carry signal output from the K-ary counter, wherein the count-up unit in the above (1) is a K (K is an arbitrary integer) counter. A multiplier for multiplying the value of the bit pattern output from the multi-stage interleave pattern generation unit according to (1) by the integer L, and an output value of the multiplier and an output value of the L-ary counter And an adder for adding.
[0022]
And (7) a second multi-stage interleave pattern generator for symmetrically exchanging higher-order bits and lower-order bits output from the L-ary counter, and the adder includes: The configuration is such that the value of the bit pattern output from the second multi-stage interleave pattern generator is added to the output value of the multiplier.
[0023]
(8) The count-up unit is configured to have a function of a count-up operation for generating a count value in ascending order and a function of a count-down operation for generating a count value in descending order. And a reverse determination unit for switching between a countdown operation and a countdown operation.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is an explanatory diagram of a basic configuration of a multistage interleaved pattern generator according to the present invention. In FIG. 1A, 1-1 is a count-up unit, and 1-2 is a multi-stage interleave pattern generation unit.
[0025]
In a minimum basic configuration for performing multi-stage interleaving, the count-up unit 1-1 is configured by an octal counter, is set to an initial value “000 (0)”, counts up by a clock signal, and sequentially counts up to 000. The bit patterns of (0), 001 (1), 010 (2), 011 (3), 100 (4), 101 (5), 110 (6), and 111 (7) are output.
[0026]
The multi-stage interleave pattern generation unit 1-2 is configured by an MSB-LSB bit operation circuit that replaces the most significant bit MSB and the least significant bit LSB of the bit pattern output from the count-up unit 1-1.
[0027]
(B) of the figure shows the count-up unit 1-1 shown in (A) of the figure composed of three flip-flops Q0, Q1, and Q2, and the output bit of the flip-flop Q0 that outputs the least significant bit LSB; An example is shown in which the multi-stage interleave pattern generator 1-2 replaces the output bit of the flip-flop Q2 that outputs the most significant bit MSB with each other, and outputs a multi-stage interleave pattern. .
[0028]
The bit patterns sequentially output from the multi-stage interleave pattern generator 1-2 are 000 (0), 100 (4), 010 (2), 110 (6), 001 (1), 101 (5), 011 (3), 111 (7).
[0029]
A general procedure for performing multi-stage interleaving of eight data is as follows: first, eight data are arranged in two rows vertically and four rows horizontally, or 2 × 4 pieces of data are arranged vertically. , 4 × 2 data arranged side by side. Then, the four data arranged vertically or horizontally are further arranged two vertically and two horizontally to interleave.
[0030]
Here, a multi-stage interleave in which eight pieces of data are arranged vertically two pieces and four pieces horizontally and four pieces of data arranged horizontally are further arranged two pieces vertically and two pieces horizontally is expressed by the following equation: 8 (2 × 4 (2 × 2)). A multi-stage interleave in which eight pieces of data are arranged vertically four pieces and two pieces horizontally, and the four pieces of data arranged vertically are further arranged two pieces vertically and two pieces horizontally is expressed by the following equation: (4 (2 × 2) × 2).
[0031]
FIG. 2 is an explanatory diagram of the multi-stage interleaving of Expression: 8 (2 × 4 (2 × 2)) and Expression: 8 (4 (2 × 2) × 2). (A) of the figure shows the operation procedure of the multi-stage interleave by the equation: 8 (2 × 4 (2 × 2)), and (B) of the figure shows the operation procedure of the multistage interleave by the equation: 8 (4 (2 × 2) × 2). I have. It should be noted that the multistage interleaving pattern finally obtained is the same regardless of the operation procedure of any of the calculation formulas.
[0032]
In FIG. 2A, an interleave operation is performed on 8 (2 × 4) of the underlined part a of the equation: 8 (2 × 4 (2 × 2)), and as shown in FIG. The data of 7 is divided into data of 0 to 3 and data of 4 to 7 and two-dimensionally arranged.
[0033]
Next, when a horizontal interleave operation is performed on 4 (2 × 2) of the underlined part b of the expression: 8 (2 × 4 (2 × 2)), as shown in (A-2), the interleave operation starts from 0 as shown in (A-2). The data up to 3 are exchanged in the order of 0, 2, 1, and 3, and the
[0034]
Then, the data in the order of 0, 2, 1, 3 and the data in the order of 4, 6, 5, 7 arranged in the horizontal direction are output in the order of the vertical direction, so that 0, 4, 2, 6, 1 , 5, 3, 7 in this order.
[0035]
In the case of a multi-stage interleaving operation procedure using the equation: 8 (4 (2 × 2) × 2) shown in FIG. 8B, 8 (4 × 2) interleaving shown in FIG. When a two-dimensional array in which 0, 2, 4, 6 and 1, 3, 5, 7 are arranged in the direction is generated, and then vertical interleaving is performed as shown in (B-2), If a two-dimensional array in which 0, 4, 2, 6 and 1, 5, 3, 7 are arranged and the array is to be output in the vertical direction, the transmission order is 0, 4, 2, 6, 1, 5, 3, and 7. This pattern is the same as the multistage interleave pattern of (A) described above.
[0036]
As described above, the pattern obtained by the multi-stage interleave pattern generator shown in FIG. 1 described above is expressed by the following equation: 8 (2 × 4 (2 × 2)) and 8 (4 (2 × 2) × It is the same as the multi-stage interleave pattern of 2), and it is possible to generate the 0, 4, 2, 6, 1, 5, 3, 7 multi-stage interleave pattern by the logic circuit shown in FIG. .
The eight-stage multistage interleave pattern is the shortest basic pattern in the multistage interleave pattern.
[0037]
FIG. 3 is an explanatory diagram of a multistage interleaved pattern generator twice as long as the basic pattern. As shown in FIG. 2A, this pattern generator includes a basic pattern generation circuit including a count-up section 3-1 and a multi-stage interleave pattern generation section 3-2 as described above. It has a ternary counter 3-3 and a synthesizing unit 3-4.
[0038]
FIG. 2B shows an example of a configuration using an octal counter composed of three flip-flops Q0, Q1, and Q2 shown in FIG. 1 in the count-up unit 3-1 as a basic pattern generation circuit.
[0039]
The multi-stage interleave pattern generation unit 3-2 is configured by an MSB-LSB bit operation circuit that replaces the most significant bit MSB and the least significant bit LSB of the output bit of the count-up unit 3-1. It is similar to that shown in FIG.
[0040]
The binary counter 3-3 outputs “1” when a carry signal (CO: Carry Out) which is a carry signal from the most significant bit of the count-up unit 3-1 is input. The synthesizing unit 3-4 adds one bit output from the binary counter 3-3 to the least significant bit to the three-bit output output from the multi-stage interleave pattern generation unit 3-2, and outputs a 4-bit data. Output as a bit pattern.
[0041]
The multi-stage interleave pattern generator shown in FIG. 3B generates a 16-pattern-length multi-stage interleave pattern because an octal counter is used in the count-up unit 3-1. , A multi-stage interleaved pattern generation circuit having an arbitrary pattern length can be used.
[0042]
FIG. 4 is an explanatory diagram of a multi-stage interleave pattern having a length of 16 patterns. The figure shows an example in which a 16-pattern-length multistage interleave pattern is generated by an interleave operation using a calculation formula of 16 (4 (2 × 2) × 4 (2 × 2)).
[0043]
The multi-stage interleave pattern having a length of 16 patterns can be obtained by the calculation formula of 16 (8 (4 (2 × 2) × 2) × 2) or the formula: 16 (2 × 8 (4 ( The same pattern is generated by the calculation formula of 2 × 2) × 2)).
[0044]
First, an interleave operation is performed on 16 (4 × 4) of the underlined part a of the equation: 16 (4 (2 × 2) × 4 (2 × 2)) shown in FIG. As shown, data from 0 to 15 is divided into four data, 0 to 3, 4 to 7, 8 to 11, and 12 to 15, and two-dimensionally arranged.
[0045]
Next, an interleave operation is performed on 4 (2 × 2) of the underlined part b of the formula: 16 (4 (2 × 2) × 4 (2 × 2)), and the lines are arranged in the vertical direction as shown in (C). The order is changed for each of the four data.
[0046]
Next, an interleave operation is performed on 4 (2 × 2) of the underlined portion c of the formula: 16 (4 (2 × 2) × 4 (2 × 2)), and as shown in FIG. The order is changed for each of the four data lines.
[0047]
The multistage interleave pattern generated by these interleave operations is obtained by fetching and arranging data of a two-dimensional array shown on the right side of the arrow (D) in FIG. The patterns are 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, and 15.
[0048]
On the other hand, the pattern generated from the count-up unit 3-1 and the multi-stage interleave pattern generation unit 3-2 shown in FIG. 3B becomes the pattern shown in FIG. The pattern of the output bits output from the synthesizing unit 3-4 that synthesizes the output bits of the interleave pattern generation unit 3-2 and the output bits of the binary counter 3-3 is as shown in FIG. 0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15 and the above-mentioned formula 16: (4 (2 × 2) × 4 ( 2 × 2)) matches the multi-stage interleave pattern generated by the interleave operation.
[0049]
FIG. 5 is an explanatory diagram of a second configuration example of the 16-pattern-length multistage interleaved pattern generator of the present invention. In FIG. 5A, 5-1 is a hexadecimal up counter, and 5-2 is a multi-stage interleave pattern generator.
[0050]
The hexadecimal up counter 5-1 includes four flip-flops Q0, Q1, Q2, and Q3, and outputs a bit pattern from a lower bit to a higher bit in this order. That is, the flip-flop Q0 outputs the least significant bit LSB, and the flip-flop Q3 outputs the most significant bit MSB.
[0051]
The multistage interleave pattern generation unit 5-2 replaces the output of the flip-flop Q0 of the hexadecimal up counter 5-1 with the position of the most significant bit, and shifts the output of the flip-flop Q1 to the position of the second most significant bit. In this case, the output of the flip-flop Q2 is replaced with the second least significant bit position, and the output of the flip-flop Q3 is replaced with the least significant bit position.
[0052]
The bit pattern output from the hexadecimal up counter 5-1 is as shown in FIG. The output bit pattern from the multi-stage interleave pattern generator 5-2 in which the output bits of the hexadecimal up counter 5-1 have been exchanged is as shown in FIG. The pattern matches the multi-stage interleave pattern shown in FIG.
[0053]
FIG. 6 is an explanatory diagram of a configuration example of a 32-stage multistage interleaved pattern generator according to the present invention. In FIG. 6A, 6-1 is a 32 decimal up counter, and 6-2 is a multi-stage interleave pattern generator.
[0054]
The 32-decimal up counter 6-1 is composed of five flip-flops Q0, Q1, Q2, Q3, and Q4, and outputs a bit pattern from a lower bit to a higher bit in this order. That is, the flip-flop Q0 outputs the least significant bit LSB, and the flip-flop Q4 outputs the most significant bit MSB.
[0055]
The multistage interleave pattern generation unit 6-2 replaces the output of the flip-flop Q0 of the 32-bit up counter 6-1 with the position of the most significant bit, and shifts the output of the flip-flop Q1 to the position of the second most significant bit. The output of the flip-flop Q2 is set to the same bit position as it is, the output of the flip-flop Q3 is replaced with the second least significant bit position, and the output of the flip-flop Q4 is replaced with the least significant bit position.
[0056]
The bit pattern output from the 32-bit up counter 6-1 is as shown in FIG. The output bit pattern from the multi-stage interleave pattern generation unit 6-2 in which the output bit of the 32-decimal up counter 6-1 has been replaced is as shown in FIG. 6C, and the order of the output bit pattern is as shown in FIG. The patterns are 0, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, 6, 22, 14, 30, ... 7, 23, 15, 31.
[0057]
On the other hand, a multistage interleave pattern having a length of 32 patterns is generated as follows by an interleave operation of the formula: 32 (4 (2 × 2) × 8 (4 (2 × 2) × 2)).
[0058]
FIG. 7 shows a procedure for generating a 32-stage multistage interleaved pattern. First, an interleave operation is performed on 32 (4 × 8) of the underlined part a of the expression: 32 × (4 (2 × 2) × 8 (4 (2 × 2) × 2)) shown in FIG. Then, the two-dimensional array pattern shown in FIG.
[0059]
Next, when a vertical interleave operation is performed on 4 (2 × 2) of the underlined part b of the formula: 32 × (4 (2 × 2) × 8 (4 (2 × 2) × 2)), The two-dimensional array pattern shown in (C) is obtained.
[0060]
Next, a horizontal interleave operation is performed on 8 (4 (2 × 2) × 2) of the underlined portion c of the formula: 32 × (4 (2 × 2) × 8 (4 (2 × 2) × 2)). Then, a two-dimensional array pattern shown in FIG.
[0061]
Therefore, the generated multi-stage interleave patterns are 0, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, 6, 22, 14, 30,. 23, 15, and 31. This pattern matches the pattern output from the multi-stage interleave pattern generator 6-2 shown in FIG.
[0062]
The 32-stage multistage interleave pattern is the same as the multistage interleave pattern obtained by another calculation formula. As other calculation expressions, Expression: 32 (2 × 16 (4 (2 × 2) × 4 (2 × 2))), Expression: 32 (16 (4 (2 × 2) × 4 (2 × 2)) × 2), Expression: 32 (4 (2 × 2) × 8 (2 × 4 (2 × 2))), Expression: 32 (8 (4 (2 × 2) × 2) × 4 (2 × 2) ), Expression: 32 (8 (2 × 4 (2 × 2)) × 4 (2 × 2)).
[0063]
As inferred from the aforementioned 32-pattern-length multi-stage interleaved pattern generator, the multi-stage interleaved pattern generator having a power-of-two pattern length can be configured as follows.
[0064]
FIG. 8 is an explanatory diagram of a multi-stage interleaved pattern generator having a pattern length of a power of two. 2 n + 1 The binary up counter 8-1 is composed of n + 1 flip-flops Q0, Q1,..., Qn, and outputs a bit pattern from a lower bit to a higher bit in this order. That is, the flip-flop Q0 outputs the least significant bit LSB, and the flip-flop Qn outputs the most significant bit MSB.
[0065]
The multi-stage interleave pattern generation section 8-2 n + 1 The output of the flip-flop Q0 of the binary up counter 8-1 is replaced with the position of the most significant bit, the output of the flip-flop Q1 is replaced with the position of the second most significant bit, and so forth. Are symmetrically exchanged with each other, the output of the flip-flop at the center position is kept at the same bit position, the output of the flip-flop Q (n-1) is replaced with the second lowest bit position, and the output of the flip-flop Qn is Replace with lower bit position.
[0066]
The multi-stage interleave pattern generator having a power-of-two pattern length configured in this manner is the same as a multi-stage interleave pattern generated by performing a multi-stage interleaving operation based on the above-described calculation formula. Generate the pattern of
[0067]
FIG. 9 is an explanatory diagram of a multistage interleaved pattern generator having a pattern length of an arbitrary integer product. In the figure, 9-1 is a first multi-stage interleave pattern generator, 9-2 is a second multi-stage interleave pattern generator, 9-3 is a multiplier, and 9-4 is a bit matching unit. , 9-5 are adders.
[0068]
The first multi-stage interleave pattern generator 9-1 generates a multi-stage interleave pattern of K pattern lengths, and the second multi-stage interleave pattern generator 9-2 generates L multi-stage interleave pattern generators. It is assumed that a multistage interleave pattern having a pattern length of?
[0069]
The second multi-stage interleave pattern generator 9-2 receives, as a clock signal, a carry signal output when the operation of the first multi-stage interleave pattern generator 9-1 is completely completed. , Operate the internal counter.
[0070]
Here, the first and second multi-stage interleave pattern generators 9-1 and 9-2 perform interleaving in as many stages as possible, and when only one stage can be interleaved, A one-stage interleave pattern is generated, and if the integer K or L does not have a divisor, that is, if interleaving is impossible, the bit pattern of the K- or L-ary up-count value is output as it is.
[0071]
As described later, although the integer K or L does not have a divisor, if K or L can be expressed as P × QR (P, Q, and R are integers), P × Q data are Assuming that the data exists, a multistage interleave operation is performed on P × Q data, and K or L multistage interleave patterns are extracted from the resulting multistage interleave patterns. (R patterns may be ignored or excluded) to generate a multi-stage interleaved pattern.
[0072]
The multiplier 9-3 adds the pattern length L of the second multi-stage interleave pattern generator 9-2 to the value of the bit pattern output from the first multi-stage interleave pattern generator 9-1. Multiply.
[0073]
The bit matching unit 9-4 sets the number of bits output from the second multi-stage interleave pattern generator 9-2 to the upper bit in order to match the number of bits output from the multiplier 9-3. 0 "is added.
[0074]
The addition unit 9-5 adds the bit pattern value output from the multiplication unit 9-3 and the bit pattern value output from the bit alignment unit 9-4, and outputs the bit pattern of the added value to the multi-stage Output as an interleave pattern.
[0075]
Hereinafter, as a specific configuration example of the K × L pattern multi-stage interleave pattern generator, a configuration example of a 12-stage multi-stage interleave pattern generator where K = 4 and L = 3 will be described. .
[0076]
FIG. 10 is an explanatory diagram of a configuration example of a multistage interleave pattern generator having a length of 12 patterns. In the figure, 10-1 is a quaternary up counter, 10-2 is a ternary up counter, 10-3 is an MSB-LSB operation circuit, 10-4 is a multiplier, 10-5 is a bit matching circuit, 10-6. Is an adder, and 10-7 is a counter load signal generation circuit.
[0077]
The quaternary up-counter 10-1 includes two flip-flops, outputs a 2-bit bit pattern to the MSB-LSB operation circuit 10-3, and outputs a carry signal to the ternary up-counter 10-2.
[0078]
The MSB-LSB operation circuit 10-3 performs an operation of exchanging the most significant bit MSB and the least significant bit LSB output from the quaternary up counter 10-1. The multiplier 10-4 includes a 1-bit shift circuit and an adder circuit (ADD), and multiplies the bit pattern value output from the MSB-LSB operation circuit 10-3 by "3"("11").
[0079]
The ternary up counter 10-2 counts up the carry signal output from the quaternary up counter 10-1 and outputs a 2-bit ternary count value to the bit matching circuit 10-5.
[0080]
The bit matching circuit 10-5 sets the bit of the bit pattern output from the ternary up counter 10-2 to the number of bits output from the multiplier 10-4 by two bits of "0" on the upper side in order to align the number of bits. I will add
[0081]
The adder 10-6 adds the value of the output bit pattern of the multiplier 10-4 to the value of the output bit pattern of the bit matching circuit 10-5, and outputs the bit pattern of the added value to the multistage interleave signal. Output as a pattern.
[0082]
The counter load signal generation circuit 10-7 counts the 12 bit patterns output from the adder 10-6, and resets the quaternary up counter 10-1 and the ternary up counter 10-2 after the counting is completed. To generate a counter load signal for restarting the counting operation.
[0083]
FIG. 11 is an explanatory diagram of a multistage interleave pattern having a length of 12 patterns. A multistage interleave pattern having a length of 12 patterns is generated as follows by an interleave operation of the formula: 12 (4 (2 × 2) × 3). Note that the multistage interleave pattern obtained by the other equations is also the same.
[0084]
First, when an interleave operation is performed on the underlined part 12 (4 × 3) of the equation: 12 (4 (2 × 2) × 3) in FIG. 11A, a two-dimensional operation shown in FIG. An array pattern is obtained. Next, when a vertical interleave operation is performed on 4 (2 × 2) of the underlined part b of the formula: 12 (4 (2 × 2) × 3), the two-dimensional array pattern shown in FIG. can get. Therefore, the generated multistage interleave patterns are 0, 6, 3, 9, 1, 7, 4, 10, 2, 8, 5, and 11.
[0085]
On the other hand, the bit patterns output from the quaternary up counter 10-1 and the MSB-LSB operation circuit 10-3 shown in FIG. 10 are as shown in FIG. The output of the multiplier 10-4 for multiplying the output value of the MSB-LSB operation circuit 10-3 by "3" is as shown in FIG.
[0086]
Further, the output value of the adder 10-6 for adding the output value of the multiplier 10-4 and the output value of the bit matching circuit 10-5 that has performed the bit matching process of the ternary up counter 10-2 is The result is as shown in FIG.
[0087]
The pattern of the output value of the adder 10-6 is 0, 6, 3, 9, 1, 7, 4, 10, 2, 8, 5, 11, and the multi-pattern having a 12-pattern length shown in FIG. Matches stage interleave pattern.
[0088]
In the multistage interleave pattern generator having a length of 12 patterns described above, the multistage interleave pattern is generated by setting K = 4 and L = 3. In general, the integer K or L has a further divisor, and A multi-stage interleaved pattern generator having a pattern length of an integer m (m = K × L) when interleaving is possible in the direction or the lateral direction is configured as follows.
[0089]
FIG. 12 is an explanatory diagram of a configuration example of such a multistage interleaved pattern generator having a K × L pattern length. In the figure, 12-10 is a K-ary up counter, 12-11 is an MSB-LSB operation circuit, 12-20 is an L-ary up counter, 12-21 is an MSB-LSB operation circuit, 12-3 is a multiplier, 12-12 -4 is a bit matching circuit, 12-5 is an adder, and 12-6 is a counter load signal generation circuit.
[0090]
The K-ary up counter 12-10 and the MSB-LSB operation circuit 12-11 constitute a first multi-stage interleave pattern generator, and the L-ary up counter 12-20 and the MSB-LSB operation circuit 12-21 These form a second multi-stage interleaved pattern generator.
[0091]
The L-ary up counter 12-20 receives the carry signal output from the K-ary up counter 12-10 and counts up. The MSB-LSB operation circuits 12-11 and 12-21 perform the above-described operation of exchanging upper bits and lower bits only when the integer K or L is a power of two.
[0092]
The multiplier 12-3 multiplies the bit pattern output from the MSB-LSB operation circuit 12-11 by the value of the integer L. The bit matching circuit 12-4 sets the upper bits to “bit” in order to match the number of bits of the bit pattern output from the MSB-LSB operation circuit 12-21 with the number of bits of the bit pattern output from the multiplier 12-3. Add 0 ".
[0093]
The adder 12-5 adds the bit pattern value output from the multiplier 12-3 and the bit pattern value output from the bit matching circuit 12-4, and outputs the bit pattern of the added value to the multi-stage Output as an interleave pattern.
[0094]
The counter load signal signal generation circuit 12-6 counts the number of m (= K × L) patterns output from the adder 12-5, and after completion of the counting, the K-ary up counter 12-10 and the L-ary up counter. A counter load signal for resetting the counter 12-20 and restarting the counting operation is generated.
[0095]
Next, a configuration example of a multistage interleaved pattern generator having a 20 × 16 pattern length, which is a product of integers each having a divisor of a power of 2 as described above, will be described. This pattern can be generated by a combination of a multi-stage interleave pattern generator having a length of 20 patterns and a multi-stage interleave pattern generator having a length of 16 patterns.
[0096]
A multistage interleave pattern having a 20 × 16 pattern length is generated by the following calculation formula. Formula: 320 (20 (4 (2 × 2) × 5 (3 × 2)) × 16 (4 (2 × 2) × 4 (2 × 2)))
[0097]
FIG. 13 is an explanatory diagram of a configuration example of a multistage interleaved pattern generator having a 20 × 16 pattern length based on the above calculation formula. In the figure, 13-10 is a multi-stage interleave pattern generator of 20 pattern lengths, 13-20 is a multi-stage interleave pattern generator of 16 pattern lengths, 13-30 is a multiplier (× 16 arithmetic) unit, 13-40 is an adder, and 13-50 is an output circuit.
[0098]
The multi-stage interleave pattern generation unit 13-10 having a length of 20 patterns generates a multi-stage interleave pattern for 20 (4 (2 × 2) × 5 (3 × 2)) patterns which are the vertical direction of the 20 × 16 interleave pattern. A multistage interleave pattern generator 13-11 for generating 4 (2 × 2) patterns in the vertical direction and a multistage for 5 (3 × 2) patterns in the horizontal direction. It comprises an interleave pattern generator 13-12, a multiplier (× 5 operation) unit 13-13, a bit matching circuit 13-14, and an adder 13-15.
[0099]
The 4-stage multistage interleave pattern generator 13-11 is composed of a quaternary counter and an MSB-LSB bit operation circuit, and the output results are 0, 2, 1, and 4.
[0100]
The 5-stage multi-stage interleaved pattern generator 13-12 generates a 5-stage multi-stage interleaved pattern, the specific circuit of which will be described with reference to FIG.
[0101]
When the multi-stage interleaving of the formula: 20 (4 (2 × 2) × 5 (3 × 2)) is actually performed, the result is 0, 10, 5, 15, 2, 12,. The output value of the multi-stage interleave pattern generator 13-11 having a length of 4 patterns is multiplied by "5"("101") by a multiplication (× 5 operation) unit 13-13.
[0102]
The multiplication (× 5 operation) unit 13-13 includes a circuit 13-13a for adding two bits of “0” to the upper bits of the input bits, and moving the input bits to the upper bits of two bits and adding “0” to the lower bits. It is composed of circuits 13-13b for adding two bits and adders 13-13c for adding the outputs of those circuits, and multiplies the value of the input bit by "5".
[0103]
The bit matching circuit 13-14 adds 2 bits of "0" to the upper side of the 3-bit output from the multi-stage interleaved pattern generator 13-12 having a length of 5 patterns, and multiplies (x5 operation). The number of output bits of the unit 13-13.
[0104]
An adder 13-15 adds the output value of the multiplication (× 5 operation) unit 13-13 and the output value of the bit alignment circuit 13-14, and outputs a 20-pattern-length multistage signal from the adder 13-15. Generate an interleave pattern. The processing up to this point is the generation processing of the multi-stage interleave pattern by the expression: 20 (4 (2 × 2) × 5 (3 × 2)).
[0105]
The 16-pattern-length multistage interleave-pattern generating unit 13-20 generates 16 (4 (2 × 2) × 4 (2 × 2)) patterns in the horizontal direction of the aforementioned 20 × 16 interleave pattern. The multi-stage interleave pattern generator generates a multi-stage interleave pattern, and includes a multi-stage interleave pattern generator 13-21 having a length of 16 patterns and a bit matching circuit 13-22.
[0106]
The multi-stage interleave pattern generator 13-21 having a length of 16 patterns is provided with a hexadecimal counter and an MSB-LSB bit operation circuit for exchanging upper and lower bits thereof, as in the above-described embodiment. , And the output result is 0, 8, 4, 12, 2, 10,....
[0107]
The bit matching circuit 13-22 adds 5 bits of "0" to the upper side of the 4-bit output of the multi-stage interleave pattern generator 13-21 having a length of 16 patterns to obtain a 9-bit output. To one input of the unit 13-40.
[0108]
Formula: 320 (20 (4 (2 × 2) × 5 (3 × 2)) × 16 (4 (2 × 2) × 4 (2 × 2)) multi-stage interleave pattern is actually calculated. Since the result is 0, 160, 80, 240, 32, 192,..., The output value of the adder 13-15 is multiplied by “16” by the multiplication (× 16 operation) unit 13-30. ("10000").
[0109]
The multiplication (× 16 operation) unit 13-30 shifts the output bits of the multi-stage interleave pattern generation unit 13-10 having a length of 20 patterns by 4 bits, and adds “0” to the lower bits by 4 bits. Thus, "16" can be multiplied, and the multiplication result is added to the other input of the adder 13-40.
[0110]
An adder 13-40 adds the output value of the multiplication (× 16 operation) unit 13-30 and the output value of the bit matching circuit 13-22, and outputs a 20 × 16 pattern length multi-value from the adder 13-40. A stage interleave pattern is generated.
[0111]
FIG. 14 shows a configuration example of the above-described five-stage multistage interleaved pattern generator 13-12. 14A, 14-1 is a ternary up counter, 14-2 is a binary up counter, 14-3 is a multiplier (× 2 operation) unit, 14-4 is a bit matching circuit, and 14-5 is a bit matching circuit. The adder 14-6 is a counter load signal generation circuit.
[0112]
The ternary up counter 14-1 sequentially outputs the bit patterns of 00 (0), 01 (1), and 10 (2), and the multiplier (× 2 operation) unit 14-3 outputs the ternary up counter 14-1. Is multiplied by "2" to output a bit pattern of 000 (0), 010 (2), 100 (4).
[0113]
The binary up counter 14-2 outputs "1" when a carry signal is input from the ternary up counter 14-1. The bit matching circuit 14-4 adds "0" to the upper bits of the output bit of the binary up counter 14-2 for two bits, and outputs a bit pattern of 000,001.
[0114]
The adder 14-5 adds the output value of the multiplication (× 2 operation) unit 14-3 and the output value of the bit matching circuit 14-4, and calculates 000 (0), 010 (2), 100 (4), The bit patterns of 001 (1) and 011 (3) are output.
[0115]
On the other hand, assuming that an interleave pattern having a pattern length of 5 is calculated by the formula: 5 (3 × 2), the order pattern of 0 to 4 is as shown in FIG. By extracting the numbers of the dimensional array in the vertical direction, patterns of 0, 2, 4, 1, and 3 are generated.
[0116]
Therefore, the pattern generated from the multi-stage interleave pattern generator shown in FIG. 14A matches the multi-stage interleave pattern according to the formula: 5 (3 × 2).
[0117]
The counter load signal generation circuit 14-6 counts the number of five patterns output from the adder 14-5, and resets the ternary up counter 14-1 and the binary up counter 14-2 after the counting is completed. To generate a counter load signal for restarting the counting operation.
[0118]
FIG. 15 is an explanatory diagram of a multi-stage interleaved pattern generator having a reverse pattern generation function according to the present invention. As shown in FIG. 15, the pattern generator includes a count-up / count-down unit 15-1, a multi-stage interleave pattern generation unit 15-2, and a reverse determination unit 15-3.
[0119]
The count-up and count-down unit 15-1 has a count-up and count-down operation function, and switches between a count-up operation and a count-down operation according to a signal from the reverse determination unit 15-3, and an ascending order pattern or a descending order pattern. Generate
[0120]
The multi-stage interleave pattern generation unit 15-2 performs an operation of exchanging upper bits and lower bits of the bit pattern output from the count-up and count-down unit 15-1.
[0121]
The reverse determination unit 15-3 determines whether a reverse instruction has been set, and outputs a signal of a count-down operation to the count-up and count-down unit 15-1 when the reverse instruction has been set.
[0122]
With this configuration, in addition to the above-described normal-order multi-stage interleave pattern, a multi-stage interleave pattern whose order is reversed can be generated by setting a reverse instruction setting.
[0123]
FIG. 16 shows a configuration example of a multi-stage interleave pattern generator having a function of generating a reverse pattern having an eight-pattern length. The multi-stage interleave pattern generator includes an octal up-down counter 16-1, It comprises an MSB-LSB operation circuit 16-2 and a reverse determination unit 16-3.
[0124]
The octal up / down counter 16-1 is set to 000 (0) at the time of up-counting and 111 (7) at the time of down-counting as an initial value. The MSB-LSB operation circuit 16-2 performs an operation of exchanging the most significant bit MSB output from the up / down counter 16-1 and the least significant bit LSB.
[0125]
The up-down counter 16-1 operates at the time of the down-counting operation. 0) are sequentially generated.
[0126]
The MSB-LSB operation circuit 16-2 exchanges the most significant bit MSB and the least significant bit LSB of the above-mentioned bit pattern and obtains 111 (7), 011 (3), 101 (5), 001 (1), 110 ( 6), 010 (2), 100 (4), 000 (0) patterns are sequentially generated.
[0127]
On the other hand, an arithmetic expression for generating a multi-stage interleaved pattern of a reverse pattern is represented by the following expression: R {8 (2 × 4 (2 × 2))}, where R {is This means an operation of replacing the multi-stage interleave pattern generated by the calculation formula in the reverse order.
[0128]
The multistage interleave pattern based on the equation: 8 (2 × 4 (2 × 2)) is 0, 4, 2, 6, 1, 5, 3, 7 as described in FIG. The reverse pattern obtained by reversing the order of this pattern is 7, 3, 5, 1, 6, 2, 4, 0, and matches the pattern output from the MSB-LSB operation circuit 16-2. Therefore, the output of the MSB-LSB operation circuit 16-2 is a reverse pattern of the eight-stage multi-stage interleave pattern.
[0129]
【The invention's effect】
As described above, according to the present invention, a complicated multi-stage interleave pattern is generated by a logic circuit such as a counter and a bit permutation operation circuit. Since processing by a processor is not performed, miniaturization, high density, and low power consumption of an LSI circuit and a package board of a multi-stage interleave pattern generator can be achieved. A stage interleave pattern can be generated at high speed.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram of a basic configuration of a multistage interleaved pattern generator according to the present invention.
FIG. 2 is an explanatory diagram of 8 (2 × 4 (2 × 2)) and 8 (4 (2 × 2) × 2) multistage interleaving.
FIG. 3 is an explanatory diagram of a multi-stage interleaved pattern generator twice as long as the basic pattern according to the present invention.
FIG. 4 is an explanatory diagram of a multi-stage interleave pattern having a length of 16 patterns.
FIG. 5 is an explanatory diagram of a second configuration example of the multi-stage interleaved pattern generator having a length of 16 patterns according to the present invention.
FIG. 6 is an explanatory diagram of a configuration example of a multi-stage interleaved pattern generator having a 32 pattern length according to the present invention.
FIG. 7 is an explanatory diagram of a multi-stage interleave pattern having a length of 32 patterns.
FIG. 8 is an explanatory diagram of a multi-stage interleaved pattern generator having a power-of-two pattern length according to the present invention.
FIG. 9 is an explanatory diagram of a multistage interleaved pattern generator having a pattern length of an arbitrary integer product according to the present invention.
FIG. 10 is an explanatory diagram of a configuration example of a 12-pattern-length multistage interleaved pattern generator according to the present invention.
FIG. 11 is an explanatory diagram of a multistage interleave pattern having a length of 12 patterns.
FIG. 12 is an explanatory diagram of a configuration example of a K × L pattern multi-stage interleave pattern generator of the present invention.
FIG. 13 is an explanatory diagram of a configuration example of a multistage interleaved pattern generator having a 20 × 16 pattern length according to the present invention.
FIG. 14 is an explanatory diagram of a configuration example of a multi-stage interleaved pattern generator having a 5-pattern length according to the present invention.
FIG. 15 is an explanatory diagram of a multi-stage interleave pattern generator having a reverse pattern generation function according to the present invention.
FIG. 16 is an explanatory diagram of a configuration example of a multistage interleaved pattern generator having a function of generating a reverse pattern having an eight pattern length according to the present invention.
FIG. 17 is an explanatory diagram of a conventional multi-stage interleaved pattern generator.
[Explanation of symbols]
1-1 Count-up section
1-2 Multistage interleave pattern generator
Claims (3)
前記カウント値が正の整数K及びLの積であり、かつ該整数Kが2のべき乗の約数を有する場合のマルチステージ・インタリーブ・パターン生成器において、
前記整数Kの値までクロック信号の入力毎にカウントアップするK進カウンタと、該K進カウンタから出力されるキャリー信号を前記整数Lの値までカウントアップするL進カウンタと、該K進カウンタから出力されるビットパターンに対して上位側のビットと下位側のビットとを互いに対称的に入れ替えるマルチステージ・インタリーブ・パターン生成部と、該マルチステージ・インタリーブ・パターン生成部から出力されるビットパターンの値に前記整数Lを乗算する乗算器と、該乗算器の出力値とL進カウンタから得られるビットパターンの値とを加算する加算器とを備えたことを特徴とするマルチステージ・インタリーブ・パターン生成器。 A multi-stage interleave pattern generator that outputs a count value at least up to the total number of data to be interleaved, and sequentially generates a bit pattern of the count value by a clock signal ,
A multi-stage interleaved pattern generator, wherein said count value is the product of positive integers K and L, and said integer K has a power of 2 ;
A K-ary counter that counts up each time a clock signal is input to the integer K value, an L-ary counter that counts up the carry signal output from the K-ary counter to the integer L value, A multi-stage interleave pattern generator for symmetrically exchanging higher-order bits and lower-order bits with respect to the output bit pattern; and a bit pattern output from the multi-stage interleave pattern generator. A multistage interleave pattern comprising: a multiplier for multiplying a value by the integer L; and an adder for adding an output value of the multiplier to a bit pattern value obtained from an L-ary counter. Generator.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07676399A JP3593647B2 (en) | 1999-03-19 | 1999-03-19 | Multi-stage interleaved pattern generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07676399A JP3593647B2 (en) | 1999-03-19 | 1999-03-19 | Multi-stage interleaved pattern generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000278146A JP2000278146A (en) | 2000-10-06 |
JP3593647B2 true JP3593647B2 (en) | 2004-11-24 |
Family
ID=13614644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07676399A Expired - Fee Related JP3593647B2 (en) | 1999-03-19 | 1999-03-19 | Multi-stage interleaved pattern generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3593647B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6871303B2 (en) | 1998-12-04 | 2005-03-22 | Qualcomm Incorporated | Random-access multi-directional CDMA2000 turbo code interleaver |
JP2007158463A (en) * | 2005-11-30 | 2007-06-21 | Icom Inc | Interleave method, interleave device and deinterleave device |
-
1999
- 1999-03-19 JP JP07676399A patent/JP3593647B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000278146A (en) | 2000-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003152551A (en) | Interleaving order generator, interleaver, turbo encoder and turbo decoder | |
JP2007528169A (en) | Address generator for interleaver memory and deinterleaver memory | |
JP3593647B2 (en) | Multi-stage interleaved pattern generator | |
JP2004129240A (en) | Method and apparatus for generating interleaved address | |
JP2001298370A (en) | Encoding device | |
JP3549756B2 (en) | Block interleave circuit | |
KR20210027878A (en) | Arithmetic circuit, and neural processing unit and electronic apparatus including the same | |
JP3614978B2 (en) | Galois field division method and division apparatus | |
JP3371677B2 (en) | Variable length decoding device | |
CN116820388B (en) | Divider, processor and computing device | |
JP2006318002A (en) | Clock frequency-dividing circuit | |
JP2000311096A (en) | Arithmetic processor | |
JP3622905B2 (en) | Coding operation circuit | |
JPH1013253A (en) | Convolutional interleaver | |
JP3827207B2 (en) | Digital filter and information communication equipment | |
JP2006197637A (en) | Digital filter and information communication apparatus | |
JP2000078030A (en) | Interleaving address generator and interleaving address generation method | |
JP2591164B2 (en) | Parity operation circuit | |
JP2000114986A (en) | Encoding method and device | |
US7730341B1 (en) | System and method for transitioning from a logical state to any other logical state by modifying a single state element | |
CN114895868A (en) | Division operation unit and divider based on two-digit quotient calculation | |
JPH04362720A (en) | Timing generator | |
JP2643576B2 (en) | Address generation circuit for fast Fourier transform | |
JP3157741B2 (en) | Binary-decimal conversion circuit | |
JP2001034457A (en) | Adding and subtracting circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040323 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040521 |
|
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: 20040817 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040819 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |