JP2005198131A - インターリーブ装置およびデインターリーブ装置 - Google Patents

インターリーブ装置およびデインターリーブ装置 Download PDF

Info

Publication number
JP2005198131A
JP2005198131A JP2004003693A JP2004003693A JP2005198131A JP 2005198131 A JP2005198131 A JP 2005198131A JP 2004003693 A JP2004003693 A JP 2004003693A JP 2004003693 A JP2004003693 A JP 2004003693A JP 2005198131 A JP2005198131 A JP 2005198131A
Authority
JP
Japan
Prior art keywords
target data
column
row
matrix
remainder
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.)
Pending
Application number
JP2004003693A
Other languages
English (en)
Inventor
Nobuaki Kawahara
伸章 川原
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.)
Hitachi Kokusai Electric Inc
Original Assignee
Hitachi Kokusai Electric Inc
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 Hitachi Kokusai Electric Inc filed Critical Hitachi Kokusai Electric Inc
Priority to JP2004003693A priority Critical patent/JP2005198131A/ja
Publication of JP2005198131A publication Critical patent/JP2005198131A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】 改良されたインターリーブ装置およびデインターリーブ装置を提供する。
【解決手段】 インターリーブ部100は、外部から入力される送信データの各ビットを、行列状の配列に記憶する。つまり、インターリーブ部100は、入力される送信データD(i,j)を、入力順に、行列の各要素として、順次、記憶する。次に、インターリーブ部100は、行列の各要素として記憶された送信データD(i,j)を読み出し、列番号を1つずつずらして、同じ形式の行列状に配列する。以上の処理を、送信データD(i,j)の全てについて行うことにより、インターリーブされたデータI(i,j)が得られる。
【選択図】図9

Description

本発明は、データに対してインターリーブ処理を行うインターリーブ装置、および、インターリーブされたデータに対して、デインターリーブ処理を行うデインターリーブ装置に関する。
例えば、特許文献1は、ディジタルデータをインターリーブするインターリーブ回路を開示する。
実開平7−41640号公報
本発明は、上述した背景からなされたものであり、改良されたインターリーブ装置およびデインターリーブ装置を提供することを目的とする。
上記目的を達成するために、本発明にかかるインターリーブ装置は、処理の対象となる対象データを、所定のマトリクスの各要素としたマトリクスを作成するマトリクス作成手段と、前記作成されたマトリクスに含まれる対象データそれぞれの行番号または列番号を、前記対象データの列番号の行数に対する剰余数または前記対象データの行番号の列数に対する剰余数に変換する変換手段とを有する。
好適には、前記変換手段は、前記マトリクスの行または列に含まれる前記対象データを、列方向または行方向に1つずつ順番に取り出し、前記対象データを取り出すたびに、計数値を1ずつ変更する計数値変更手段と、前記変更された計数値を、前記列番号または前記行番号として、前記行数または列数に対する剰余数を算出する剰余数算出手段と、前記読み出された対象データの行番号または列番号を、前記算出された剰余数とする番号変更手段とを有する。
また、本発明にかかるデインターリーブ処理は、入力された対象データを、所定のマトリクスの各要素としたマトリクスを作成し、前記作成されたマトリクスに含まれる対象データそれぞれの行番号または列番号を、前記対象データの列番号の行数に対する剰余数または前記対象データの行番号の列数に対する剰余数に変換することにより作成されたインターリーブデータを、前記対象データに戻すデインターリーブ装置であって、前記インターリーブデータが作成されるときには、前記マトリクスの行または列に含まれる前記対象データは、列方向または行方向に1つずつ順番に取り出され、前記対象データを取り出すたびに、計数値が1ずつ変更され、前記変更された計数値を、前記列番号または前記行番号として、前記行数または列数に対する剰余数が算出され、前記読み出された対象データの行番号または列番号は、前記算出された剰余数とされ、前記マトリクスの行または列に含まれる前記インターリーブデータを、列方向または行方向に1つずつ順番に取り出し、前記対象データを取り出すたびに、計数値を、インターリーブデータ生成のときと逆に1ずつ変更する計数値変更手段と、前記変更された計数値を、前記列番号または前記行番号として、前記行数または列数に対する剰余数を算出する剰余数算出手段と、前記読み出された対象データの行番号または列番号を、前記算出された剰余数とする番号変更手段とを有する。
本発明によれば、改良されたインターリーブ装置およびデインターリーブ装置が提供される。
[本発明がなされるに至った経緯]
本発明の実施形態の説明に先立ち、その理解を助けるために、まず、本発明がなされるに至った経緯を説明する。
無線通信回線などにおいて発生するバースト的なデータ誤りを訂正可能とするために、伝送対象となるデータを並び替える処理は、インターリーブ処理と呼ばれる。
また、このインターリーブ処理により並べ替えられたデータを元に戻す処理は、デインターリーブ処理と呼ばれる。
インターリーブ処理の1例として、ブロックインターリーブ方式を挙げることができる。
ブロックインターリーブ方式においては、データは、マトリクス状に配列して記憶され、行と列とを入れ替えて読み出されて、並べ替えられる、
このブロックインターリーブ方式は、データを読み出す順番を定義するためのテーブルなどが不要で、処理内容が単純である。
しかしながら、この方式では、マトリクスの四隅に位置するデータの位置が、並べ替えの前後で、誤り訂正のために十分な程度にランダムにならないことがある。
また、FEC(Forward Error Correction;冗長な情報を送っておいて、受信側で冗長情報を用いてエラーを訂正する方法)特性の向上を目的として、S−Random規則に従ってランダムインターリーブ方式や、素数インターリーブ方式が考案されている。
しかしながら、これらの方式は、データの並び替えのための規則を求めるために、非常に多くの演算量を要するので、これらの方式によるインターリーブ処理は、一般的に、この規則を予め算出して変換テーブルに記憶させ、この変換テーブルを参照してすることにより実現される。
従って、十分なFEC特性が得られ、並べ替えのための演算が単純で、そのための演算量が少なく、並べ替えのための変換テーブルを必要としない方式の実現が望まれる。
以下にその実施形態を説明する本発明は、このような経緯からなされ、メモリ容量を多用する変換テーブルを要しない単純な演算で実現可能で、十分なFEC特性を得ることができる改良されたインターリーブ装置およびデインターリーブ装置を提供することを目的とする。
[実施形態]
以下、本発明の実施形態を説明する。
図1は、本発明にかかるインターリーブ処理が適用される送信機1の構成を例示する図である。
図2は、本発明にかかるデインターリーブ処理が適用される受信機3の構成を例示する図である。
図1に示すように、送信機1は、インターリーブ部100、符号化部102および送信部104から構成される。
送信機1は、これらの構成部分により、送信しようとする送信データをインターリーブし、符号化し、受信機3(図2)に対して送信する。
送信機1において、インターリーブ部100は、コンピュータなどの外部機器から入力され、送信の対象となる送信データに対して、図4などを参照して後述する本発明にかかるインターリーブ処理を行い、符号化部102に対して出力する。
符号化部102は、インターリーブ部100によりインターリーブ処理された送信データ(インターリーブデータ)に対して、例えば、ビタビ符号化あるいはターボ符号化などの符号化処理を行う。
さらに、符号化部102は、符号化処理されたデータに対して、誤りの検出・訂正のために用いられるCRC符号などを付加し、符号化データとして、送信部104に対して出力する。
送信部104は、符号化部102から入力された符号化データにより搬送波信号を変調し、伝送信号として、無線通信回線などを介して、受信機3に対して送信する。
図2に示すように、受信機3は、受信部300、復号部302およびデインターリーブ部304から構成される。
受信機3は、これらの構成部分により、送信機1(図1)から送られてきた伝送信号を受信し、送信機1における送信データに対応する受信データとして出力する。
受信機3において、受信部300は、受信機3から送られてきた伝送信号を受信して復調し、送信機1における符号化データに対応する符号化データとして、復号部302に対して出力する。
復号部302は、受信部300から入力された符号化データに対して復号処理を行い、さらに、CRC符号などを用いた誤り訂正処理を行う。
復号部302は、これらの処理により得られたデータを、送信機1におけるインターリーブデータに対応する復号データとして、デインターリーブ部304に対して出力する。
デインターリーブ部304は、復号部302から入力される復号データに対して、図4などを参照して後述する本発明にかかるデインターリーブ処理を行い、送信機1における送信データに対応する受信データとして出力する。
[インターリーブ部100,デインターリーブ部304のハードウェア構成]
図3は、図1,図3に示したインターリーブ部100、および、図2,図3に示したデインターリーブ部304のハードウェアを例示する図である。
図3に示すように、インターリーブ部100およびデインターリーブ部304は、RAM122およびROM124などの周辺回路が付加されたDSP(Digital Signal Processor)120から構成され、図4などを参照して後述する本発明にかかるインターリーブ処理およびデインターリーブ処理は、例えば、ROM124に記憶され、DSP120において実行されるソフトウェアにより実現される。
なお、インターリーブ部100およびデインターリーブ部304は、本発明にかかるインターリーブ処理またはデインターリーブ処理を実現するDSP以外の専用のハードウェアにより構成されてもよく、また、これら以外の符号化部102および復号部302など(図1,図2)の構成部分の処理が、適宜、DSP120においてソフトウェア的に実現されてもよい。
[本発明にかかるインタリーブ処理]
以下、インターリーブ部100(図1,図3)によるインターリーブ処理を説明する。
図4〜図8は、図1,図3に示したインターリーブ部100によるインタリーブ処理および図2,図3に示したデインターリーブ部304によるデインターリーブ処理を示す第1〜第5の図である。
なお、図4〜図8には、インターリーブ部100が、データを、10行8列の行列(マトリクス)状の配列に記憶する場合が示されているが、この行列の行数および列数は、説明の具体化および明確化のための例示であって、本発明にかかるインターリーブ処理の限定を意図したものではない。
また、図4〜図8には、行列状に配列された送信データの列番号を1つずつ変更してインターリーブを行う場合が例示されているが、図4〜図8に基づいて、行列状に配列された送信データの行番号を1つずつ変更してインターリーブを行ったり、行番号または列番号を0,1以外の数ずつ変更してインターリーブを行ったりすることは、当業者にとって実施可能な事項である。
インターリーブ部100は、外部から入力される送信データの各ビットを、RAM122(図3)に、図4に示す行列(マトリクス)状の配列に記憶する。
つまり、インターリーブ部100は、入力される送信データの各ビット(送信データD(0,0)〜D(9,7))を、入力順に、図4に示した行列の0行0列(0,0)〜0行7列(0,7)〜9行0列(9,0)〜9行7列(9,7)の要素として、順次、記憶する。
なお、図4〜図8において、00〜97と記載されている。
次に、図5〜図7に示すように、インターリーブ部100は、図4に示した配列に記憶された送信データD(0,0)〜D(9,7)を読み出し、列番号を1つずつずらして、図4に示したものと同じ行列状に配列する。
以上の処理を、送信データD(0,0)〜D(9,7)の全てについて行うことにより、図8に示すインターリーブデータI(0,0)〜I(9,7)が得られる。
以上説明したインターリーブ部100の処理を、図9を参照してさらに説明する。
図9は、図1,図3に示したインターリーブ部100によるインターリーブ処理(S10)を示すフローチャートである。
図9に示すように、ステップ100(S100)において、インターリーブ部100は、図4に示したように送信データD(0,0)〜D(9,7)を記憶し、使用する変数i,j,xを初期化(0クリア)する。
なお、変数iは、図4〜図8に示した行列の各要素の行番号に対応し、変数jは、同じく列番号に対応し、変数xは、送信データD(0,0)〜D(9,7)を、インターリーブデータI(0,0)〜I(9,7)に変換するための作業変数として用いられる。
また、以下の処理における定数Lは、図4〜図8に示した行列の行数−1を示し、定数Cは、同じく行数−1を示し(図4〜図8に示した行列の行番号および列番号が0オリジンのため)、図4〜図8に示した例においては、行列の行数=10,同じく列数=8,L=9,C=7となる。
ステップ102(S102)において、インターリーブ部100は、変数jが、定数Cより大きいか否かを判断する。
インターリーブ部100は、変数jが定数Cより大きいときにはS112の処理に進み、これ以外のときにはS104の処理に進む。
ステップ104(S104)において、インターリーブ部100は、図4に示した行列から、送信データD(i,j)を読み出す。
ステップ106(S106)において、インターリーブ部100は、読み出した送信データD(i,j)を、図5〜図8に示す行列の要素(x,j)として、インターリーブデータI(x、j)とする。
ステップ108(S108)において、インターリーブ部100は、変数xに1を加算し、定数Lの剰余系における変数xの値(剰余数)を算出する(x<−x+1)[mod]L)。
ステップ110(S110)において、インターリーブ部100は、変数jに1を加算する。
ステップ112(S112)において、インターリーブ部100は、変数jを0クリアする。
ステップ114(S114)において、インターリーブ部100は、変数iが定数L以上であるか否かを判断する。
インターリーブ部100は、変数iがL以上であるときには処理を終了し、これ以外のときにはS116の処理に進む。
ステップ116(S116)において、インターリーブ部100は、変数iに1を加算して、S102の処理に進む。
インターリーブ部100は、以上の処理により得られたインターリーブデータI(0,0)〜I(9,7)を、例えば、I(0,0)〜I(0,7)〜I(9,0)〜I(9,7)の順に読み出し、符号化部102(図1)に対して出力する。
[本発明にかかるデインターリーブ処理]
以下、デインターリーブ部304(図2,図3)によるデインターリーブ処理を説明する。
デインターリーブ部304は、図8に示した復号データ(=インターリーブデータ)I(0,0)〜I(9,7)に対して、図5〜図7に示したインターリーブ処理と逆の処理を行うことにより、復号データI(0,0)〜I(9,7)に対するデインターリーブ処理を行い、図4に示した受信データ(=送信データ)D(0,0)〜D(9,7)とする。
図10を参照して、デインターリーブ部304の処理をさらに説明する。
図10は、図2,図3に示したデインターリーブ部304によるデインターリーブ処理(S20)を示すフローチャートである。
図10に示すように、ステップ200(S200)において、デインターリーブ部304は、図8に示したように復号データI(0,0)〜I(9,7)を記憶し、使用する変数i,j,xを初期化(0クリア)する。
ステップ202(S202)において、デインターリーブ部304は、変数jが、定数Cより大きいか否かを判断する。
デインターリーブ部304は、変数jが定数Cより大きいときにはS212の処理に進み、これ以外のときにはS204の処理に進む。
ステップ204(S204)において、デインターリーブ部304は、図8に示した行列から、復号データI(i,j)を読み出す。
ステップ206(S206)において、デインターリーブ部304は、読み出した復号データI(i,j)を、図4〜図7に示す行列の要素(x,j)として、受信データD(x、j)とする。
ステップ208(S208)において、デインターリーブ部304は、変数xから1を減算し、定数Lの剰余系における変数xの値(剰余数)を算出する(x<−(x-1)[mod]L;a[mod]bは、aのbに対する剰余系を示す)。
ステップ210(S210)において、デインターリーブ部304は、変数jに1を加算する。
ステップ212(S212)において、デインターリーブ部304は、変数jを0クリアする。
ステップ214(S214)において、デインターリーブ部304は、変数iが定数L以上であるか否かを判断する。
デインターリーブ部304は、変数iがL以上であるときには処理を終了し、これ以外のときにはS216の処理に進む。
ステップ216(S216)において、デインターリーブ部304は、変数iに1を加算して、S202の処理に進む。
デインターリーブ部304は、以上の処理により得られた受信データD(0,0)〜D(9,7)を、例えば、D(0,0)〜D(0,7)〜D(9,0)〜D(9,7)の順に読み出し、外部に対して出力する。
図11は、バースト誤り長を可変値とし、従来のブロックインターリーブ処理およびデインターリーブ処理によりデータを並び替え(拡散)した場合においてデータに発生する誤りの率(エラー率)のシミュレーション結果と、本発明にかかるインターリーブ処理およびデインターリーブ処理によりデータを拡散した場合におけるエラー率のシミュレーション結果とを対比して例示する図である。
なお、図11には、インターリーブ処理およびデインターリーブ処理に用いられる行列の構成が(行数,列数)=(112,20)であり、インターリーブ長が1.86secであり、符号化部102における変調方式がQPSKであり、復号部302におけるFECが拘束長7畳み込みビタビ復号であり、バースト誤り長がC言語によりシミュレートされている場合が例示されている。
図11に示すように、ブロックインターリーブ処理およびデインターリーブ処理は、100ms以下のバースト誤り長に対してしか対応できないが、本発明にかかるインターリーブ処理およびデインターリーブ処理は、300msまでのバースト誤り長にまで対応してFEC特性を向上させることができる。
本発明は、インターリーブ処理およびデインターリーブ処理に利用可能である。
本発明にかかるインターリーブ処理が適用される送信機の構成を例示する図である。 本発明にかかるデインターリーブ処理が適用される受信機の構成を例示する図である。 図1,図3に示したインターリーブ部、および、図2,図3に示したデインターリーブ部のハードウェアを例示する図である。 図1,図3に示したインターリーブ部によるインタリーブ処理および図2,図3に示したデインターリーブ部によるデインターリーブ処理を示す第1の図である。 図1,図3に示したインターリーブ部によるインタリーブ処理および図2,図3に示したデインターリーブ部によるデインターリーブ処理を示す第2の図である。 図1,図3に示したインターリーブ部によるインタリーブ処理および図2,図3に示したデインターリーブ部によるデインターリーブ処理を示す第3の図である。 図1,図3に示したインターリーブ部によるインタリーブ処理および図2,図3に示したデインターリーブ部によるデインターリーブ処理を示す第4の図である。 図1,図3に示したインターリーブ部によるインタリーブ処理および図2,図3に示したデインターリーブ部によるデインターリーブ処理を示す第5の図である。 図1,図3に示したインターリーブ部によるインターリーブ処理(S10)を示すフローチャートである。 図2,図3に示したデインターリーブ部によるデインターリーブ処理(S20)を示すフローチャートである。 図11は、バースト誤り長を可変値とし、従来のブロックインターリーブ処理およびデインターリーブ処理によりデータを並び替え(拡散)した場合においてデータに発生する誤りの率(エラー率)のシミュレーション結果と、本発明にかかるインターリーブ処理およびデインターリーブ処理によりデータを拡散した場合におけるエラー率のシミュレーション結果とを対比して例示する図である。
符号の説明
1・・・送信機、
100・・・インターリーブ部、
120・・・DSP、
122・・・RAM、
124・・・ROM、
102・・・符号化部、
104・・・送信部、
3・・・受信部、
300・・・受信部、
302・・・復号部、
304・・・デインターリーブ部、

Claims (3)

  1. 処理の対象となる対象データを、所定のマトリクスの各要素としたマトリクスを作成するマトリクス作成手段と、
    前記作成されたマトリクスに含まれる対象データそれぞれの行番号または列番号を、前記対象データの列番号の行数に対する剰余数または前記対象データの行番号の列数に対する剰余数に変換する変換手段と
    を有するインターリーブ装置。
  2. 前記変換手段は、
    前記マトリクスの行または列に含まれる前記対象データを、列方向または行方向に1つずつ順番に取り出し、
    前記対象データを取り出すたびに、計数値を1ずつ変更する計数値変更手段と、
    前記変更された計数値を、前記列番号または前記行番号として、前記行数または列数に対する剰余数を算出する剰余数算出手段と、
    前記読み出された対象データの行番号または列番号を、前記算出された剰余数とする番号変更手段と
    を有する請求項1に記載のインターリーブ装置。
  3. 入力された対象データを、所定のマトリクスの各要素としたマトリクスを作成し、前記作成されたマトリクスに含まれる対象データそれぞれの行番号または列番号を、前記対象データの列番号の行数に対する剰余数または前記対象データの行番号の列数に対する剰余数に変換することにより作成されたインターリーブデータを、前記対象データに戻すデインターリーブ装置であって、前記インターリーブデータが作成されるときには、前記マトリクスの行または列に含まれる前記対象データは、列方向または行方向に1つずつ順番に取り出され、前記対象データを取り出すたびに、計数値が1ずつ変更され、前記変更された計数値を、前記列番号または前記行番号として、前記行数または列数に対する剰余数が算出され、前記読み出された対象データの行番号または列番号は、前記算出された剰余数とされ、
    前記マトリクスの行または列に含まれる前記インターリーブデータを、列方向または行方向に1つずつ順番に取り出し、
    前記対象データを取り出すたびに、計数値を、インターリーブデータ生成のときと逆に1ずつ変更する計数値変更手段と、
    前記変更された計数値を、前記列番号または前記行番号として、前記行数または列数に対する剰余数を算出する剰余数算出手段と、
    前記読み出された対象データの行番号または列番号を、前記算出された剰余数とする番号変更手段と
    を有するデインターリーブ装置。
JP2004003693A 2004-01-09 2004-01-09 インターリーブ装置およびデインターリーブ装置 Pending JP2005198131A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004003693A JP2005198131A (ja) 2004-01-09 2004-01-09 インターリーブ装置およびデインターリーブ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004003693A JP2005198131A (ja) 2004-01-09 2004-01-09 インターリーブ装置およびデインターリーブ装置

Publications (1)

Publication Number Publication Date
JP2005198131A true JP2005198131A (ja) 2005-07-21

Family

ID=34818514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004003693A Pending JP2005198131A (ja) 2004-01-09 2004-01-09 インターリーブ装置およびデインターリーブ装置

Country Status (1)

Country Link
JP (1) JP2005198131A (ja)

Similar Documents

Publication Publication Date Title
US10038576B2 (en) Method and apparatus for transmitting and receiving data in a communication system
JP7361017B2 (ja) データ符号化方法及び装置、記憶媒体、並びにプロセッサ
KR100711326B1 (ko) 선형 합동 시퀀스들을 이용한 터보 코드 인터리버
US6904555B2 (en) Decoding apparatus and decoding method, and data receiving apparatus and data receiving method
KR101444458B1 (ko) 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
EP1017176B1 (en) Coding device and method, decoding device and method and systems using them
US8495459B2 (en) Channel-encoding/decoding apparatus and method using low-density parity-check codes
JP2005505947A (ja) ランダムアクセスマルチ方向cdma2000のターボコードインターリーバ
JP2009077391A (ja) 符号化装置及び復号装置
US20150082113A1 (en) Transmitting apparatus, and puncturing method thereof
KR101435830B1 (ko) 인터리빙 수행 방법
US7096403B2 (en) Iterative concatenated code decoding circuit and encoding/decoding system using the same
US7970021B2 (en) Derate matching method and apparatus
KR20080067650A (ko) 낮은 프레임 에러 레이트를 위한 개선된 터보 코드인터리버
US7873897B2 (en) Devices and methods for bit-level coding and decoding of turbo codes
EP1537673B1 (en) Method of interleaving/deinterleaving in a communication system
US9356734B2 (en) Transmitter, receiver, and signal processing method thereof
KR101433375B1 (ko) 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
JP4041450B2 (ja) 通信端末装置および通信方法
US20040117711A1 (en) Method for improving the performance of 3-dimensional concatenated product codes
JP2005198131A (ja) インターリーブ装置およびデインターリーブ装置
JP3345396B2 (ja) インターリーブアドレス生成装置及びインターリーブアドレス生成方法
KR101279283B1 (ko) 블록 부호를 사용하는 통신 시스템에서 신호 송수신 장치및 방법
KR100645730B1 (ko) 매직 매트릭스를 이용한 인터리빙 방법
KR101593703B1 (ko) 가변길이 8-병렬 리드-솔로몬 부호장치 및 복호장치 및 그 방법