JP2001084155A - 符号誤り訂正回路及び符号誤り訂正方法 - Google Patents

符号誤り訂正回路及び符号誤り訂正方法

Info

Publication number
JP2001084155A
JP2001084155A JP25696099A JP25696099A JP2001084155A JP 2001084155 A JP2001084155 A JP 2001084155A JP 25696099 A JP25696099 A JP 25696099A JP 25696099 A JP25696099 A JP 25696099A JP 2001084155 A JP2001084155 A JP 2001084155A
Authority
JP
Japan
Prior art keywords
data
bit
row
column
generating
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
JP25696099A
Other languages
English (en)
Other versions
JP2001084155A5 (ja
JP3973066B2 (ja
Inventor
Osamu Yamazaki
理 山崎
Takehiko Shioda
岳彦 塩田
Masami Suzuki
雅美 鈴木
Manabu Nohara
学 野原
Yasuteru Kodama
泰輝 児玉
Satoshi Odakawa
智 小田川
Masahiro Okamura
正寛 岡村
Naoyuki Akimoto
尚行 秋本
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.)
Pioneer Corp
Original Assignee
Pioneer Electronic 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
Application filed by Pioneer Electronic Corp filed Critical Pioneer Electronic Corp
Priority to JP25696099A priority Critical patent/JP3973066B2/ja
Priority to US09/657,805 priority patent/US6701468B1/en
Priority to EP00119368A priority patent/EP1083663A3/en
Publication of JP2001084155A publication Critical patent/JP2001084155A/ja
Publication of JP2001084155A5 publication Critical patent/JP2001084155A5/ja
Application granted granted Critical
Publication of JP3973066B2 publication Critical patent/JP3973066B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • 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
    • 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/2707Simple row-column interleaver, i.e. pure block interleaving
    • 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
    • H03M13/2764Circuits therefore
    • 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/65Purpose and implementation aspects
    • H03M13/6569Implementation on processors, e.g. DSPs, or software implementations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 (修正有) 【課題】効率の良いインターリーブ処理が可能な符号誤
り訂正回路。 【解決手段】元データをi行j列のマトリックス状に仮
想的に配列し、各行iに位置する各ビットデータを各列
jの順に沿って選択することで、元データをインターリ
ーブする。ここで、ビット長2nの記憶領域を与える記
憶手段と、i行の位置を指す第1のデータとj列の位置
を指す第2のデータを生成するデータ生成手段と、第
1,第2のデータに基づいてj列の位置に存在するビッ
トデータの記憶されている記憶領域を指すアドレスデー
タと、記憶されているビットデータのうちi行の位置に
存在するビットデータを指すビット選択データとを生成
するデコード手段と、アドレスデータに対応する記憶領
域から読み出したビット長2nのビットデータ列を保持
し、そのビットデータ列の中から、ビットデータを選択
して出力するビット選択手段とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デジタルデータに
インターリーブを施す符号誤り訂正回路及び符号誤り訂
正方法に関するものである。
【0002】
【従来の技術】周知のように、デジタルデータの符号誤
り訂正技術として、インターリーブ(interleave)が行
われている。情報通信の分野では、送信側では送信すべ
き元データのビット配列を所定の約束のもとに入れ替え
て(インターリーブして)送信し、受信側では受信した
データを所定の約束のもとにディインターリーブ(de-i
nterleave)することで元データを取得する。インター
リーブを行って情報通信を行うと、雑音などの影響を受
けてデータに符号誤り(エラー)が生じた場合でも、デ
ィインターリーブの際に符号誤りの箇所が分散されるの
で、符号誤りの箇所を容易に訂正することができ、通信
品質の向上を図ることができる。
【0003】また、インターリーブは、情報通信の分野
に限らず、デジタル情報処理の分野で広く用いられてお
り、一例として、DVD(Digital Video Disc又はDigi
talVersatile Disc)等の情報記録媒体へのデータ記録
の際にも行われている。
【0004】従来、インターリーブを行うために、1ビ
ット幅でメモリアクセスできる半導体メモリを備えてお
き、この半導体メモリに設けられている複数ビットに元
データの各ビットデータを書き込んだ後、所定の順序に
従ってメモリアクセスして1ビットずつ読み出すことに
より、ビット配列の並び替えられたデータを生成してい
た。また、上記半導体メモリに元データを1ビットずつ
書き込むための書き込み制御と、1ビットずつ読み出す
ための読み出し制御とを、マイクロプロセッサ(CP
U)が行っていた。
【0005】
【発明が解決しようとする課題】ところが、上記の1ビ
ット幅でメモリアクセスできる半導体メモリを用いて元
データのビット配列を並び替えることにすると、半導体
メモリへのデータ書き込みと読み出しのためのメモリア
クセス回数が多くなる。このため、インターリーブに要
する処理時間が長くなり、また、マイクロプロセッサに
多大な負担が掛かるという問題があった。
【0006】また、マイクロプロセッサを備えて動作す
る通信装置や情報処理装置等の電子機器では、処理すべ
きデータを、8ビット、16ビット、32ビットなどの
2のべき乗(2の相乗積)のデータとして扱うのが一般
的であり、そのためマイクロプロセッサのワーキングメ
モリも2のべき乗のデータを各アドレスに対応して記憶
する半導体メモリが一般に使用されている。したがっ
て、インターリーブの際にもこうしたワーキングメモリ
を用いれば、電子機器に備えられている資源を有効利用
することができ、また、マイクロプロセッサによるイン
ターリーブのための処理にも都合がよい。
【0007】しかしながら、上記のワーキングメモリを
用いてマイクロプロセッサによるインターリーブの処理
を行おうとした場合、ワーキングメモリの各記憶領域
に、元データを1ビットずつ記憶させ、所定の順序に従
って各記憶領域から1ビットずつ読み出すことになる。
このため、各記憶領域は2のべき乗のデータを記憶でき
るにもかかわらず、1ビットしか記憶しないことにな
り、ワーキングメモリを有効利用することができないと
いう問題が生じる。
【0008】更に、上記ワーキングメモリを用いた場合
にも、各記憶領域を1ビット単位でメモリアクセスして
ビットデータを記憶させた後、所定の順序に従って再び
各記憶領域を1ビット単位でメモリアクセスしてビット
データを読み出すという処理を繰り返すことになる。こ
のため、従来の1ビット幅でメモリアクセスできる半導
体メモリを用いた場合と同様に、メモリアクセスの回数
が多くなるので、マイクロプロセッサに掛かる負担が重
くなり、また、インターリーブに要する処理時間を短く
することができないという問題を生じる。
【0009】本発明は、こうした課題に着目してなされ
たものであり、2のべき乗のデータを各アドレスに対応
付けて記憶することが可能な複数の記憶領域を有する記
憶手段を利用して、高速のインターリーブを行う符号誤
り訂正回路及び符号誤り訂正方法を提供することを目的
とする。また、マイクロプロセッサの制御下でインター
リーブを行うのに好適な符号誤り訂正回路及び符号誤り
訂正方法を提供することを目的とする。
【0010】
【課題を解決するための手段】本発明の符号誤り訂正回
路及び符号誤り訂正方法は、pビット長のビットデータ
列を有する元データをi行j列のマトリックス状に仮想
的に配列するものとして、上記各行iに位置する各ビッ
トデータを上記各列jの順に沿って選択することで、上
記元データをインターリーブするものであって、2のべ
き乗のビット長2nを有する記憶領域を複数備える記憶
手段を備えておき、上記記憶手段の各記憶領域に、上記
元データを記憶させ、上記仮想的なマトリックスにおけ
る上記i行の位置を指す第1のデータを生成し、上記上
記仮想的なマトリックスにおける上記j列の位置を指す
第2のデータを生成し、上記第1,第2のデータに基づ
いて、上記j列の位置に存在するビットデータの記憶さ
れている上記記憶手段の記憶領域を指すアドレスデータ
を生成し、上記第1,第2のデータに基づいて、上記ア
ドレスデータの指す上記記憶領域に記憶されているビッ
トデータのうち、上記i行の位置に存在するビットデー
タを指すビット選択データを生成し、上記アドレスデー
タに対応する上記記憶手段の記憶領域から読み出したビ
ット長2nのビットデータ列を保持し、保持したビット
長2nのビットデータ列の中から、上記ビット選択デー
タの指すビットデータを、インターリーブされたデータ
として選択することを特徴とする。
【0011】この本発明によれば、2のべき乗2nの記
憶手段を用いて元データをインターリーブすることがで
きる。このため、マイクロコンピュータシステムに適し
た符号誤り訂正回路及び符号誤り訂正方法を提供するこ
とができる。また、2のべき乗2nの記憶手段を用いる
ことで、マイクロプロセッサを用いた場合に、記憶手段
をメモリアクセスする回数を低減することができる。こ
れにより、マイクロプロセッサの負担が低減されると共
に、インターリーブに要する処理時間を短縮することが
できる。
【0012】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。尚、図1は、本実施形態に係る符
号誤り訂正回路の構成を示すブロック図である。
【0013】図1において、この符号誤り訂正回路EC
Tは、マイクロプロセッサCPUを有する中央演算制御
部1と記憶部2とを備えるマイクロコンピュータシステ
ムMCSに付随して設けられ、中央演算制御部1に設け
られている上記マイクロプロセッサCPUと協働して、
記憶部2中に記憶されている元データをインターリーブ
する。
【0014】また、記憶部2は、各アドレスr=0〜R-
1に対応する複数の記憶領域D0〜DR−1を有し、各
記録領域D0〜DR−1は、2のべき乗2n(nは任意
の正整数、以下同じ)で表されるビット長のデータを記
憶できるようになっている。例えば、記憶部2は、マイ
クロプロセッサCPUがデータ処理を行うのに適した、
8ビット/ワード構成、16ビット/ワード構成、32
ビット/ワード構成などで複数ワードの記憶容量を有し
ている。
【0015】符号誤り訂正回路ECTは、行レジスタ
6、比較器7、行カウンタ8、列レジスタ9、比較器1
0、列カウンタ11、加算器12、プリセッタブルカウ
ンタ13、アドレスデコーダ14、ビットデコーダ1
5、データレジスタ16、ビットセレクタ17を備えて
構成されている。また、これら各構成要素6〜17は、
マイクロコンピュータシステムMCSのコントロールバ
ス3とアドレスバス4及びデータバス5に適宜接続され
ており、マイクロプロセッサCPUの制御下で動作す
る。
【0016】行レジスタ6は、マイクロプロセッサCP
Uからデータバス5を介して供給される行指定データD
iを保持し、その行指定データDiを比較器7に供給す
る。
【0017】行カウンタ8は、バイナリカウンタであ
り、マイクロプロセッサCPUからコントロールバス3
を介して供給される制御信号CNT1に従ってリセット
と計数動作を行い、それによって生じる行計数データD
icを比較器7に供給する。
【0018】比較器7は、行指定データDiと行計数デ
ータDicの値を比較し、比較結果を示す行比較データD
icpを、データバス5を介してマイクロプロセッサCP
Uへ転送する。
【0019】列レジスタ9は、マイクロプロセッサCP
Uからデータバス5を介して供給される列指定データD
jを保持し、その列指定データDjを比較器10に供給す
る。
【0020】行カウンタ11は、バイナリカウンタであ
り、マイクロプロセッサCPUからコントロールバス3
を介して供給される制御信号CNT2に従ってリセット
と計数動作を行い、それによって生じる列計数データD
jcを比較器10に供給する。
【0021】比較器10は、列指定データDjと列計数
データDjcの値を比較し、比較結果を示す列比較データ
Djcpを、データバス5を介してマイクロプロセッサC
PUへ転送する。
【0022】プリセッタブルカウンタ13は、並列入力
並列出力型のバイナリカウンタである。マイクロプロセ
ッサCPUからコントロールバス3を介して供給される
制御信号CNT3に従って、列カウンタ11の列計数デ
ータDjc又は加算器12の加算データDadをプリセット
する。また、そのプリセットしたデータDjc又はDadを
制御信号CNT3に従ってインクリメントする。
【0023】尚、インターリーブすべき元データDinの
1ブロック長がp個のビットから成る場合には、上記各
記録領域D0〜DR−1のビット長2nとの関係から、
プリセッタブルカウンタ13は、次式(1)の条件を満
足するビット長xのバイナリカウンタが用いられる。 2x−1<p≦2x …(1) 例えば、元データDinの1ブロック長がp=30ビッ
ト、上記各記録領域D0〜DR−1のビット長が2n=
8ビットであれば、24<30≦25となるので、上記
式(1)の条件から、x=5ビット長のバイナリカウン
タが用いられる。
【0024】また、例えば、元データDinの1ブロック
長がp=48ビット、上記各記録領域D0〜DR−1の
ビット長が2n=16ビットであれば、25<48≦2
6となるので、上記式(1)の条件から、x=6ビット
長のバイナリカウンタが用いられる。
【0025】加算器12は、マイクロプロセッサCPU
からコントロールバス3を介して供給される制御信号C
NT5に従って、列レジスタ9から出力される列指定デ
ータDjとプリセッタブルカウンタ13から出力される
xビット長の計数データDxをデジタル加算し、その加
算データDad(=Dj+Dx)を出力する。
【0026】アドレスデコーダ14は、プリセッタブル
カウンタ13から出力される上記xビット長の計数デー
タDxのうち、最上位ビット(MSB)側からx−n個
のバイナリデータDMをバイナリデコードし、そのデコ
ード結果を示すアドレスデータDADRをデータバス5
を介してマイクロプロセッサCPUへ転送する。
【0027】ビットデコーダ15は、プリセッタブルカ
ウンタ13から出力される上記計数データDxのうち、
最下位ビット(LSB)側からn個のバイナリデータD
Lをバイナリデコードし、そのデコード結果を示すセレ
クトデータDBTをビットセレククタ17に供給する。
【0028】データレジスタ16は、並列入力並列出力
型のバイナリレジスタであり、その記憶容量は、記憶部
2の各記録領域D0〜DR−1に記憶される各データ
(インターリーブすべきデータ)と同じビット長2nに
設定されている。また、詳細については後述するが、マ
イクロプロセッサCPUからコントロールバス3を介し
て制御信号CNT4が供給されると、記憶部2から読み
出されたデータ(インターリーブすべきデータ)をデー
タバス5を介して入力(ロード:load)し、そのデータ
DLDを保持しつつビットセレクタ17側へ並列出力す
る。
【0029】ビットセレクタ17は、マルチプレクサで
形成され、データレジスタ16から供給される上記デー
タDLDのうち、セレクトデータDBTで指定される1
ビットのみのデータDoutを選択して出力する。
【0030】より具体的には、図2に示すように、ビッ
トセレクタ17は、データレジスタ16の2nビット分
の出力端子Q0〜Qn−1に並列接続されたスイッチ素
子S0〜Sn−1を備えて構成されており、各スイッチ
素子S0〜Sn−1の導通/非導通の制御がセレクトデ
ータDBTによって行われる。また、スイッチ素子S0
〜Sn−1は、セレクトデータDBTによって何れか1
つだけが排他的に導通するようになっている。そして、
データDoutをインターリーブの施されたデータとして
出力し、マイクロコンピュータシステムMCS側へ転送
する。
【0031】尚、プリセッタブルカウンタ13から出力
される下位nビット分のバイナリデータDLが0のとき
には、セレクトデータDBTによって最上位ビットのス
イッチ素子Sn−1のみが導通となり、バイナリデータ
DLが1増加する毎に、セレクトデータDBTによって
スイッチ素子がSn−2,Sn−3〜S1,S0の順で
排他的に導通するようになっている。
【0032】但し、本実施形態では、ビットセレクタ1
7をマルチプレクサで構成しているが、セレクトデータ
DBTに応じてデータレジスタ16のデータDLDをビ
ットシフトするシフトレジスタを用い、そのシフトレジ
スタがシフトした結果の最上位ビト(MSB)のビット
データを出力Doutとして選択的に出力する構成にして
も良い。
【0033】次に、かかる構成を有する符号誤り訂正回
路ECTの動作例を図3〜図8を参照して説明する。
【0034】尚、説明の便宜上、図3(a)に示すよう
に、インターリーブすべき元データDinは、1ブロック
当たりpビット長から成るビット列C0〜Cp−1のデ
ータであるものとする。また、この元データDinをイン
ターリーブすることで、図3(b)に示すようなビット
配列のデータDoutに変換するものとする。
【0035】つまり、アルゴリズムを説明すれば、図4
に模式的に示すように、ビット列C0〜Cp−1を各行
iに5ビット長ずつに分けてマトリックス状に仮想的に
配列した後、j=0列目のビット列C0,C5,C1
0,C15……を上から下へ順に読み出し、それが終わ
るとj=1列目のビット列C1,C6,C11,C16
……を上から下へ順に読み出し、それが終わるとj=2
列目のビット列C2,C7,C12,C17……を上か
ら下へ順に読み出すというようにして、最後のビットデ
ータCp−1まで読み出すことで、インターリーブを行
うものとする。
【0036】更に、記憶部2の各記録領域D0〜DR−
1は、8ビット/ワード構成となっているものとする。
この場合には、マイクロプロセッサCPUは、図5に示
すように、元データDinを8ビットずつに分割して、記
憶部2の記憶領域D0,D1,D2……に記憶させる。
つまり、記憶領域D0の各ビットA0,7〜A0,0に
ビットデータC0〜C7を記憶させ、次の記憶領域D1
にビットデータC8〜C15を記憶させ、次の記憶領域
D2にビットデータC16〜C23を記憶させるという
ように、元データDinを8ビットずつ記憶させる。ま
た、p個のビットデータC0〜Cp−1が8ビットずつ
に分けられない場合には、最後に記憶されたビットデー
タCp−1に続く残りのビットはそのまま(Don't Car
e)にする。
【0037】更にまた、本発明をより理解しやすくする
ために、上記元データDinは1ブロック当たりp=30
ビットのビット列C0〜C29で構成され、更に各ビッ
トデータC0〜C29は、図6(a)に示すように、
{C0,C1,C2,C3,C4,C5,C6,C7,
C8,C9,C10,C11,C12,C13,C1
4,C15,C16,C17,C18,C19,C2
0,C21,C22,C23,C24,C25,C2
6,C27,C28,C29}={0,1,0,1,
1,0,1,0,1,0,1,0,0,1,0,1,
0,1,0,0,0,0,0,0,1,0,0,0,
1,0}であるものとする。
【0038】そして、図4に対応する図6(b)のアル
ゴリズムに示すように、ビット列C0〜Cp−1を各行
iに5ビット長ずつに分けてマトリックス状に配列し
て、各列j毎に上から下へ順に読み出すのと同様な操作
によってインターリーブを行うものとする。また、マイ
クロプロセッサCPUは、図5に対応する図6(c)に
示すように、元データDinを、8ビット/ワード構成と
なっている各記録領域D0〜DR−1に8ビット長ずつ
に分割して記憶させる。
【0039】次に、図7に示すフローチャートに基づい
て動作を詳述する。
【0040】まずステップ100において、マイクロプ
ロセッサCPUが、図6(c)に示したように、1ブロ
ック分の元データDinを記憶部2に記憶させる。
【0041】次のステップ102において、行レジスタ
6と列レジスタ9に初期値を設定する。ここでは、図6
(b)に示したアルゴリズムに対応すべく、行レジスタ
6の初期値は、行iの総数を示すバイナリデータ「6」
に設定される。更に、列レジスタ9の初期値は、列jの
総数を示すバイナリデータ「5」に設定される。これに
より、最初の行指定データDiと列指定データDjは、D
i=6、Dj=5となる。
【0042】次に、ステップ104において、列カウン
タ11をクリアする。これにより、列カウンタ11の列
計数データDjcは、Djc=0となる。
【0043】尚、図示していないが、残りの行カウンタ
8とプリセッタブルカウンタ13及びデータレジスタ1
6もリセットする。
【0044】こうして初期化処理が完了すると、次のス
テップ106において、比較器10が、列カウンタ11
の列計数データDjcと列レジスタ9の列指定データDj
とを比較し、比較結果を示す行比較データDjcpをマイ
クロプロセッサCPU側へ転送する。そして、マイクロ
プロセッサCPUがその行比較データDjcpに基づい
て、Djc<Djか否か判定する。Djc<Djの場合(「Y
ES」の場合)には、ステップ108の処理に移行し、
Djc≧Djの場合(「NO」の場合)には、インターリ
ーブが完了したとして、処理を終了する。
【0045】ステップ108の処理に移行すると、列カ
ウンタ11の列計数データDjcをプリセッタブルカウン
タ13に設定(プリセット)する。従って、ステップ1
08が初めて処理されるときは、プリセッタブルカウン
タ13には、Djc=0がプリセットされ、プリセッタブ
ルカウンタ13の計数データDxも、Dx=0になる。
【0046】次に、ステップ110において、行カウン
タ8をクリアする。これにより、行計数データDjcは、
Djc=0となる。
【0047】次に、ステップ112において、比較器1
0が、行カウンタ8の行計数データDicと行レジスタ6
の行指定データDiとを比較し、比較結果を示す行比較
データDicpをマイクロプロセッサCPU側へ転送す
る。そして、マイクロプロセッサCPUがその行比較デ
ータDicpに基づいて、Dic<Diか否か判定する。Dic
<Diの場合(「YES」の場合)には、ステップ11
6の処理に移行する。Dic≧Diの場合(「NO」の場
合)には、ステップ114に移行して、列カウンタ11
の列計数データDicを1インクリメントした後、ステッ
プ106からの処理を繰り返す。
【0048】このように、ステップ106〜112の処
理が行われると、プリセッタブルカウンタ13の計数デ
ータDxは、元データDinの各ビットデータ列の順番を
示すことになる。この計数データDxのうちの最上位ビ
ット(MSB)側からx−n個のバイナリデータDM
は、図6(c)に示したビットデータ列の行の順番を示
すデータとなり、計数データDxのうちの最下位ビット
(LSB)側からn=3個のバイナリデータDLは、図
6(c)に示した上記行でのMSBからの順番を示すデ
ータとなる。 そして、最初の(第1番目の)ステップ
106〜112の処理では、バイナリデータDLによっ
てi=0、バイナリデータDMによってj=0が選択さ
れることになる。また、ステップ114の処理が行われ
て、ステップ106〜112の処理が繰り返されると、
列カウンタ11の列計数データDjcが1ずつインクリメ
ントされるので、上記バイナリデータDMによって、図
6(b)の列jが1→2→3→4の順に選択される。一
方、行iについては、ステップ110において行計数デ
ータDicがクリアされるので、行i=0が選択される。
【0049】つまり、ステップ106〜114の処理を
行うことにより、バイナリデータDMが各列j=0,
1,2,3,4を順番に選択し、一方、バイナリデータ
DLは上記の順番に選択された各列j=0,1,2,
3,4における最初の行i=0を選択する。こうして何
れかの列jの最初の行i=0が選択されて、ステップ1
16の処理に移行する。
【0050】ステップ116では、ビットデコーダ15
がバイナリデータDLをデコードし、そのデコード結果
であるセレクトデータDBTをビットセレクタ17に供
給する。
【0051】次に、ステップ118において、アドレス
デコーダ14がバイナリデータDMをデコードし、その
デコード結果であるアドレスデータDADRをマイクロ
プロセッサCPU側へ転送し、マイクロプロセッサCP
UがそのアドレスデータDADRを取得する。
【0052】次に、ステップ120において、マイクロ
プロセッサCPUが、取得したアドレスデータDADR
に基づいて記憶部2をメモリアクセスし、アドレスデー
タDADRの指すアドレスrの記憶領域に記憶されてい
る2n=8ビット分の元データを読み出して、データレ
ジスタ16にロードする。
【0053】例えば、ステップ120の処理が最初に行
われた場合には、プリセッタブルカウンタ13のバイナ
リデータDMは「0」になるので、アドレスデータDA
DRの値も「0」となり、図6(c)に示したアドレス
r=0に該当する記憶領域D0中のビット列{C0,C
1,C2,C3,C4,C5,C6,C7}={0,
1,0,1,1,0,1,0}がデータレジスタ16に
格納される。
【0054】次にステップ122において、ビットセレ
クタ17が、セレクトデータDBTで指される1ビット
のみを導通状態にする。これにより、データレジスタ1
6中のデータDLDのうち、セレクトデータDBTの指
すビットデータのみが出力される。
【0055】例えば、ステップ122の処理が最初に行
われた場合には、プリセッタブルカウンタ13のバイナ
リデータDLは「0」になるので、セレクトデータDB
Tによって図2中のスイッチ素子Sn−1が導通状態と
なり、上記ビット列{0,1,0,1,1,0,1,
0}のうちの最上位ビット、すなわち一番左側のビット
データ“0”が出力される。つまり、図6(a)(c)
に示すビットA0,7のビットデータC0=0が、イン
ターリーブされた第1番目のビット出力Doutとなる。
【0056】次に、ステップ124において、加算器1
2が、列レジスタ9の列指定データDjとプリセッタブ
ルカウンタ13の計数データDxとを加算し、その加算
データDAD(=Dj+Dx)を再びプリセッタブルカウ
ンタ13にプリセットする。
【0057】例えば、ステップ124の処理が最初に行
われた場合には、列指定データDjは「5」、計数デー
タDxは「0」となっているので、加算データDADは
「5」となり、プリセッタブルカウンタ13には「5」
がプリセットされる。この結果、プリセッタブルカウン
タ13のバイナリデータDLは「5」となり、バイナリ
データDMは「0」のままになるので、図6(a)
(c)に示すビットA0,2のビットデータC5=0が
選択されることになる。
【0058】次に、ステップ126において、行カウン
タの行計数データDicをインクリメントする。そして、
再びステップ112からの処理が繰り返される。
【0059】例えば、ステップ126の処理が最初に行
われた場合には、行計数データDicは「1」となり、図
6(b)に示したi=2の行が指定された後、再びステ
ップ112からの処理が繰り返される。
【0060】このように、ステップ116〜126の処
理が第1回目のときには、図8(a)に表示するよう
に、各データDi,Dic,Dj,Djc,Dx,DL,D
M,DADR,DBTが変化することにより、元データ
DinのビットデータC0=0が第1番目の出力Doutと
なる。
【0061】次に、再びステップ112の処理(2回目
の処理)が行われると、このときには未だDic<Diで
あるので、ステップ116〜126の処理(2回目の処
理)が行われることになる。
【0062】この2回目の処理では、プリセッタブルカ
ウンタ13のバイナリデータDMは「0」になるので、
図6(c)に示したアドレスr=0に該当する記憶領域
D0に記憶されているビット列{C0,C1,C2,C
3,C4,C5,C6,C7}={0,1,0,1,
1,0,1,0}がデータレジスタ16にロードされ
る。更に、プリセッタブルカウンタ13のバイナリデー
タDLは「5」になるので、ビットデータC5=0が出
力される。つまり、第2回目の処理では、図6(a)
(c)に示すビットA0,2のビットデータC5=0
が、インターリーブされた第2番目のビット出力Dout
となる。
【0063】このように、ステップ116〜126の処
理が第2回目のときには、図8(b)に表示するよう
に、各データDi,Dic,Dj,Djc,Dx,DL,D
M,DADR,DBTが変化することにより、元データ
DinのビットデータC5=0が第2番目の出力Doutと
なる。そして、ステップ126において再び行カウンタ
の行計数データDicをインクリメントして、再びステッ
プ112からの処理が繰り返される。
【0064】こうして、ステップ116〜126の処理
が6回繰り返されると、図6(b)に示した列j=0に
該当するビット列{C0,C5,C10,C15,C2
0}={0,0,1,1,0,0}がインターリーブさ
れたビット出力Doutとなる。
【0065】次に、第6回目の処理が終了すると、ステ
ップ112において、Dic≧Diとなるので、ステップ
114において列j=1が設定され、更にステップ11
0において行i=0が設定された後、ステップ116〜
126の処理が6回繰り返される。つまり、図6(b)
に示した列j=1に該当するビット列{C1,C6,C
11,C16,C21}={1,1,0,0,0,0}
がインターリーブされたビット出力Doutとなる。
【0066】以下同様にして、ステップ106〜126
の処理が繰り返されることで、図6(b)に示した列j
=2,3,4に該当する残りのビット列もインターリー
ブされビット出力Doutとなる。
【0067】そして、ステップ106において、全ての
元データDinをインターリーブしたと判断すると、処理
を終了する。
【0068】このように本実施形態によれば、2のべき
乗2nの記憶部2を用いて元データDinをインターリー
ブすることができる。このため、マイクロコンピュータ
システムに適した符号誤り訂正回路を提供することがで
きる。また、2のべき乗2nの記憶部2を用いると、マ
イクロプロセッサCPUが記憶部2をメモリアクセスす
る回数を低減することができる。これにより、マイクロ
プロセッサCPUの負担が低減されると共に、インター
リーブに要する処理時間を短縮することができる。
【0069】また、図3(b)に示すインターリーブさ
れたデータDoutを通信装置によって送信した際、記号
*で示す位置に複数の連続した符号誤りが生じた場合で
も、データDoutをディインターリーブすると、図3
(c)に示すようにディインターリーブ後のデータDT
では符号誤りが分散されるので、符号誤りを容易に訂正
することができる。ちなみに、本実施形態では、4ビッ
ト長のガードスペースを得ることができる。
【0070】尚、本実施形態では、説明の都合上、8ビ
ット/ワード構成の記憶部2を用いる場合を説明した
が、本発明はこれに限定されるものではない。すなわ
ち、2のべき乗2nの記憶部であればよい。
【0071】また、1ブロック30ビット長の元データ
Dinをインターリーブする場合を説明したが、本発明は
1ブロック当たり任意の数のビット列の元データをイン
ターリーブすることができる。
【0072】また、図6(b)に示したように、元デー
タDinのビット列を6行5列のマトリックス状に配列し
て、所定の順序で読み出すようにしてインターリーブを
行う場合について説明したが、本発明は6行5列のマト
リックスに限定されるものではなく、任意の行数及び列
数のマトリックスに配列して、所定の順序で読み出す方
式のインターリーブを行うことができる。
【0073】また、本実施形態では、符号誤り訂正回路
ECTの動作タイミングを、マイクロプロセッサCPU
からの指令にしたがって制御する場合を示したが、マイ
クロプロセッサCPUとは別に、タイミング制御回路を
ハードウェアで構成してもよい。そして、このタイミン
グ制御回路の制御下で、比較器7,10の動作制御と、
行カウンタ8及び列カウンタ11のカウント制御と、行
レジスタ6及び列レジスタ9のデータ設定など、その他
の構成要素12〜17の動作タイミングを制御すること
で、マイクロプロセッサCPUの負荷をより軽減するこ
とができる。
【0074】
【発明の効果】以上説明したように本発明によれば、2
のべき乗2nの記憶手段を用いて元データをインターリ
ーブすることができるため、マイクロコンピュータシス
テムに適した符号誤り訂正回路及び符号誤り訂正方法を
提供することができる。また、2のべき乗2nの記憶手
段を用いることで、マイクロプロセッサの記憶手段に対
するメモリアクセス回数を低減することができる。これ
により、マイクロプロセッサの負担が低減されると共
に、インターリーブに要する処理時間を短縮することが
できる。
【図面の簡単な説明】
【図1】本実施形態に係る符号誤り訂正回路の構成を示
すブロック図である。
【図2】符号誤り訂正回路に備えられているビットセレ
クタの構成を示すブロック図である。
【図3】元データとインターリーブされたデータ及びデ
ィインターリーブされたデータの各ビット配列を示す説
明図である。
【図4】インターリーブのアルゴリズムを説明するため
の図である。
【図5】記憶部に元データが記憶された状態を示す説明
図である。
【図6】1ブロック30ビットの元データをインターリ
ーブする場合を説明するための図である。
【図7】本実施形態の動作を説明するためのフローチャ
ートである。
【図8】更に本実施形態の動作を説明するための説明図
である。
【符号の説明】
1…中央演算制御装置 2…記憶部 3…コントロールバス 4…アドレスバス 5…データバス 6…行レジスタ 7,10…比較器 8…行カウンタ 9…列レジスタ 11…列カウンタ 12…加算器 13…プリセッタブルカウンタ 14…アドレスデコーダ 15…ビットデコーダ 16…データレジスタ 17…ビットセレクタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 鈴木 雅美 埼玉県鶴ヶ島市富士見6丁目1番1号 パ イオニア株式会社総合研究所内 (72)発明者 野原 学 埼玉県鶴ヶ島市富士見6丁目1番1号 パ イオニア株式会社総合研究所内 (72)発明者 児玉 泰輝 埼玉県鶴ヶ島市富士見6丁目1番1号 パ イオニア株式会社総合研究所内 (72)発明者 小田川 智 埼玉県鶴ヶ島市富士見6丁目1番1号 パ イオニア株式会社総合研究所内 (72)発明者 岡村 正寛 埼玉県鶴ヶ島市富士見6丁目1番1号 パ イオニア株式会社総合研究所内 (72)発明者 秋本 尚行 埼玉県鶴ヶ島市富士見6丁目1番1号 パ イオニア株式会社総合研究所内 Fターム(参考) 5B001 AB02 AC05 AD04 AE04 5J065 AA03 AB01 AC01 AG06 AH05 AH06 AH07

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 pビット長のビットデータ列を有する元
    データをi行j列のマトリックス状に仮想的に配列する
    ものとして、前記各行iに位置する各ビットデータを前
    記各列jの順に沿って選択することで、前記元データを
    インターリーブする方式の符号誤り訂正回路であって、 2のべき乗のビット長2nを有する記憶領域を複数備え
    る記憶手段と、 前記記憶手段の各記憶領域に、前記元データを記憶させ
    る制御手段と、 前記仮想的なマトリックスにおける前記i行の位置を指
    す第1のデータを生成する第1のデータ生成手段と、 前記仮想的なマトリックスにおける前記j列の位置を指
    す第2のデータを生成する第2のデータ生成手段と、 前記第1,第2のデータに基づいて、前記j列の位置に
    存在するビットデータの記憶されている前記記憶手段の
    記憶領域を指すアドレスデータを生成して前記制御手段
    に転送するアドレスデコード手段と、 前記第1,第2のデータに基づいて、前記アドレスデー
    タの指す前記記憶領域に記憶されているビットデータの
    うち、前記i行の位置に存在するビットデータを指すビ
    ット選択データを生成する選択データデコード手段と、 前記制御手段の制御下で前記アドレスデータに対応する
    前記記憶手段の記憶領域から読み出したビット長2nの
    ビットデータ列を保持するデータ保持手段と、 前記データ保持手段に保持されたビット長2nのビット
    データ列の中から、前記ビット選択データの指すビット
    データを選択して出力するビット選択手段とを具備し、 前記制御手段が、前記第1,第2のデータ生成手段、ア
    ドレスデコード手段、選択データデコード手段、データ
    保持手段及びビット選択手段を、前記仮想的なマトリッ
    クスにおける前記各行iと各列jの順に沿って選択する
    タイミングに従って制御することで、前記ビット選択手
    段の出力をインターリーブされたデータとして出力させ
    ることを特徴とする符号誤り訂正回路。
  2. 【請求項2】 pビット長のビットデータ列を有する元
    データをi行j列のマトリックス状に仮想的に配列する
    ものとして、前記各行iに位置する各ビットデータを前
    記各列jの順に沿って選択することで、前記元データを
    インターリーブする符号誤り訂正方法であって、 2のべき乗のビット長2nを有する記憶領域を複数備え
    る記憶手段を備えておき、 前記記憶手段の各記憶領域に、前記元データを記憶させ
    る第1の工程と、 前記仮想的なマトリックスにおける前記i行の位置を指
    す第1のデータを生成する第2の工程と、 前記仮想的なマトリックスにおける前記j列の位置を指
    す第2のデータを生成する第3の工程と前記第1,第2
    のデータに基づいて、前記j列の位置に存在するビット
    データの記憶されている前記記憶手段の記憶領域を指す
    アドレスデータを生成する第4の工程と、 前記第1,第2のデータに基づいて、前記アドレスデー
    タの指す前記記憶領域に記憶されているビットデータの
    うち、前記i行の位置に存在するビットデータを指すビ
    ット選択データを生成する第5の工程と、 前記アドレスデータに対応する前記記憶手段の記憶領域
    からビット長2nのビットデータ列を読み出して保持す
    る第6の工程と、 前記第6の工程で保持したビット長2nのビットデータ
    列の中から、前記ビット選択データの指すビットデータ
    を、インターリーブされたデータとして選択する第7の
    工程とを備えることを特徴とする符号誤り訂正方法。
  3. 【請求項3】 前記符号誤り訂正回路は、送信データを
    インターリーブルして送信する通信装置に備えられるこ
    とを特徴とする請求項1に記載の符号誤り訂正回路。
  4. 【請求項4】 前記符号誤り訂正方法は、送信データを
    インターリーブルして送信する通信装置に適用されるこ
    とを特徴とする請求項2に記載の符号誤り訂正方法。
JP25696099A 1999-09-10 1999-09-10 符号誤り訂正回路及び符号誤り訂正方法 Expired - Fee Related JP3973066B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP25696099A JP3973066B2 (ja) 1999-09-10 1999-09-10 符号誤り訂正回路及び符号誤り訂正方法
US09/657,805 US6701468B1 (en) 1999-09-10 2000-09-08 Code error correcting circuit, code error correcting method, communicating apparatus and communicating method
EP00119368A EP1083663A3 (en) 1999-09-10 2000-09-08 Code error correcting circuit, code error correcting method, communicating apparatus and communicating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25696099A JP3973066B2 (ja) 1999-09-10 1999-09-10 符号誤り訂正回路及び符号誤り訂正方法

Publications (3)

Publication Number Publication Date
JP2001084155A true JP2001084155A (ja) 2001-03-30
JP2001084155A5 JP2001084155A5 (ja) 2005-05-19
JP3973066B2 JP3973066B2 (ja) 2007-09-05

Family

ID=17299772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25696099A Expired - Fee Related JP3973066B2 (ja) 1999-09-10 1999-09-10 符号誤り訂正回路及び符号誤り訂正方法

Country Status (3)

Country Link
US (1) US6701468B1 (ja)
EP (1) EP1083663A3 (ja)
JP (1) JP3973066B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934196B2 (en) 2001-07-24 2005-08-23 Kabushiki Kaisha Toshiba Memory module with magnetoresistive elements and a method of reading data from in-row and in-column directions

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100518295B1 (ko) * 2003-03-14 2005-10-04 삼성전자주식회사 디지털 통신 시스템의 디인터리빙장치 및 그의디인터리빙방법
US9001921B1 (en) * 2004-02-18 2015-04-07 Marvell International Ltd. Circuits, architectures, methods, algorithms, software, and systems for improving the reliability of data communications having time-dependent fluctuations
CN101159510B (zh) * 2007-11-16 2011-09-28 海能达通信股份有限公司 一种提高信息比特传输可靠性的方法
US8661320B2 (en) * 2011-10-07 2014-02-25 Aeroflex Colorado Springs Inc. Independent orthogonal error correction and detection

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105638A (ja) * 1993-10-05 1995-04-21 Matsushita Electric Ind Co Ltd 画像データの記録再生装置
US5636224A (en) * 1995-04-28 1997-06-03 Motorola Inc. Method and apparatus for interleave/de-interleave addressing in data communication circuits
US5898710A (en) * 1995-06-06 1999-04-27 Globespan Technologies, Inc. Implied interleaving, a family of systematic interleavers and deinterleavers
US5818789A (en) * 1995-10-10 1998-10-06 Holtek Microelectronics, Inc. Device and method for memory access
US5828671A (en) * 1996-04-10 1998-10-27 Motorola, Inc. Method and apparatus for deinterleaving an interleaved data stream
JPH09288895A (ja) * 1996-04-19 1997-11-04 Toshiba Corp 3値記憶半導体記憶システム
JP2865078B2 (ja) * 1996-10-02 1999-03-08 日本電気株式会社 半導体記憶装置
US5912898A (en) * 1997-02-27 1999-06-15 Integrated Device Technology, Inc. Convolutional interleaver/de-interleaver
TW378330B (en) * 1997-06-03 2000-01-01 Fujitsu Ltd Semiconductor memory device
US5928371A (en) * 1997-07-25 1999-07-27 Motorola, Inc. Systems for programmably interleaving and de-interleaving data and method thereof
US6014761A (en) * 1997-10-06 2000-01-11 Motorola, Inc. Convolutional interleaving/de-interleaving method using pointer incrementing across predetermined distances and apparatus for data transmission
JP4002327B2 (ja) * 1997-11-04 2007-10-31 株式会社日立製作所 ディジタル信号処理回路
KR100323254B1 (ko) * 1998-04-24 2002-02-04 아끼구사 나오유끼 반도체 집적 회로
US6178530B1 (en) * 1998-04-24 2001-01-23 Lucent Technologies Inc. Addressing scheme for convolutional interleaver/de-interleaver
JP3629144B2 (ja) * 1998-06-01 2005-03-16 株式会社東芝 不揮発性半導体記憶装置
US6353900B1 (en) * 1998-09-22 2002-03-05 Qualcomm Incorporated Coding system having state machine based interleaver

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934196B2 (en) 2001-07-24 2005-08-23 Kabushiki Kaisha Toshiba Memory module with magnetoresistive elements and a method of reading data from in-row and in-column directions
US7123539B2 (en) 2001-07-24 2006-10-17 Kabushiki Kaisha Toshiba Memory modules with magnetoresistive elements and method of reading data from row or column directions

Also Published As

Publication number Publication date
EP1083663A3 (en) 2004-06-23
US6701468B1 (en) 2004-03-02
EP1083663A2 (en) 2001-03-14
JP3973066B2 (ja) 2007-09-05

Similar Documents

Publication Publication Date Title
KR100484127B1 (ko) 비터비디코더
JPS6122826B2 (ja)
US4631725A (en) Error correcting and detecting system
JP3502583B2 (ja) 誤り訂正方法および誤り訂正装置
JP2001084155A (ja) 符号誤り訂正回路及び符号誤り訂正方法
US6127950A (en) Transmission circuit and reception circuit
EP0608848B1 (en) Cyclic coding and cyclic redundancy code check processor
KR200141094Y1 (ko) 비씨에이취 코드워드를 부호화하는 장치
US5671238A (en) Method and circuitry for generating r-bit parallel CRC code for an l-bit data source
JP3003894B2 (ja) 可変長復号器
KR100304193B1 (ko) 리드솔로몬복호기의역수구현회로
JP2001084155A5 (ja)
US7075846B2 (en) Apparatus for interleave and method thereof
JP3813337B2 (ja) 消失誤り訂正方法とその装置
JP3168717B2 (ja) メモリアクセス回路
JP2000349652A (ja) 誤り訂正手段を備えた記憶装置
JP3288262B2 (ja) データインタリーブ回路
JPH08316847A (ja) 可変長符号の復号装置
JPS59154836A (ja) インタ−リ−ブ回路
JPH09102747A (ja) 情報データのrll符号化方法及び符号化装置
JPH0628343B2 (ja) 積符号の復号方法
JP2008005181A (ja) ゼロ画素カウント回路
JP5075135B2 (ja) 復号装置及びその制御方法
JP3455828B2 (ja) ビットシフト回路
JP3068077B2 (ja) 送信回路及び受信回路

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040531

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061225

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: 20070605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070607

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120622

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees