JP5510189B2 - インタリーブ装置及びインタリーブ方法 - Google Patents

インタリーブ装置及びインタリーブ方法 Download PDF

Info

Publication number
JP5510189B2
JP5510189B2 JP2010188162A JP2010188162A JP5510189B2 JP 5510189 B2 JP5510189 B2 JP 5510189B2 JP 2010188162 A JP2010188162 A JP 2010188162A JP 2010188162 A JP2010188162 A JP 2010188162A JP 5510189 B2 JP5510189 B2 JP 5510189B2
Authority
JP
Japan
Prior art keywords
row
address
dimensional array
column
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.)
Active
Application number
JP2010188162A
Other languages
English (en)
Other versions
JP2012049683A (ja
Inventor
隆彦 中村
英夫 吉田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010188162A priority Critical patent/JP5510189B2/ja
Publication of JP2012049683A publication Critical patent/JP2012049683A/ja
Application granted granted Critical
Publication of JP5510189B2 publication Critical patent/JP5510189B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Description

本発明は、インタリーブ装置およびインタリーブ方法に関するものである。
誤り訂正符号の一種であるターボ符号の符号化では、情報ビット系列を符号化したパリティビット系列と、インタリーブした情報ビット系列を符号化したパリティビット系列とを、単純に多重化したビット系列、または、それぞれのパリティビット系列を符号化レートに応じてパンクチャリング(間引き)した後に多重化したビット系列を、元の情報ビット系列と多重化して通信路に送信している。インタリーブによる情報ビット系列のランダム性の向上は、ターボ符号の誤り訂正性能を改善させる。このため、ターボ符号化に用いるインタリーブ方法が提案されている。
インタリーブの従来例として、予め素数の組Pをテーブルに格納しておき、情報ビット系列の情報ビット長に応じて、テーブル内の素数の組Pから列の長さを指定する素数を選択して情報ビット系列を2次元配列に並べ替え、2次元配列の各行の要素を素数Pのすべての取り得る指数の合同の根から選択されたαを用いて並べ替える方法が開示されている。(例えば、下記特許文献1)。
特開2002−542646号公報
しかしながら、上記の特許文献1に記載される従来技術では、インタリーブの対象となる情報ビット系列の情報ビット長に応じて列数N (l)の値を変更する構成であることから、情報ビット系列を2次元配列に並べ替える際に列数を指定するための素数の組Pのテーブルが必要となり、また、2次元配列の行の要素の並べ替えにおいても、素数Pについての原始根αが格納されたテーブルを設けておく必要がある。
このため、インタリーブにおける並べ替えの順序を規定するための情報を格納するテーブルが必要となり、回路規模が増大する。また、テーブルに格納された情報を引き出して並べ替えを行うために演算回路の構成が複雑化するといった問題点があった。
この発明は、上記の課題を解決するものであり、並べ替えを規定するための情報を格納するテーブルを削減し、回路規模の増大を抑えつつ、並べ替え後の情報ビット系列のランダム性を高めたインタリーブ装置を提供するものである。
本発明にかかるインタリーブ装置は、入力された情報ビット系列を、1以上の整数Mを行数とし素数Pを列数とする2次元配列として格納するインタリーブメモリと
前記2次元配列の要素を読み出すアドレスを生成するインタリーブアドレス生成部と、を備え、
前記インタリーブアドレス生成部は、
前記2次元配列の行番号を変数とする第1のn次関数(nおよび係数は1以上の整数)を用いて、前記2次元配列の前記行番号の行内における最初に読み出す要素の列番号の値を求める第1の計算と、
前記2次元配列の行番号を変数とし前記2次元配列の前記行番号の行内における前記読み出す要素の列番号同士の間隔の値を計算する第2のm次関数(mおよび係数は1以上の整数)を用いて、前記行番号の行内における最初に読み出す要素の列番号以外の列番号の値を、前記第1の計算で得られた前記行番号の行内における最初に読み出す要素の列番号から再帰的に求める第2の計算と、
に基づいて、前記アドレスを生成し、
前記インタリーブメモリは、
前記インタリーブアドレス生成部で生成され、前記2次元配列の行番号と、前記2次元配列の行番号に対し前記第1および第2の計算に基づき得られた列番号と、の組合せに対応する前記アドレスによって、前記2次元配列の要素を読み出して並べ替えられた情報ビット系列を出力する。
本発明によれば、回路規模を削減しつつ、ランダム性の高いインタリーブを実現することができる。
この発明の実施の形態1にかかる情報ビット系列を2次元配列に並べ替える手順の一例を示す図である。 この発明の実施の形態1にかかる2次元配列の要素を並べ替えの一例を示す図である。 この発明の実施の形態1にかかるインタリーブ装置を適用した通信装置の一例を示す図である。 この発明の実施の形態1にかかるインタリーブ装置の構成例を示す図である。 この発明の実施の形態1にかかるインタリーブ装置の動作についてのフローチャートの一例である。 この発明の実施の形態2にかかる2次元配列の要素の並べ替えの一例を示す図である。 この発明の実施の形態3にかかるインタリーブ装置の構成例を示す図である。
実施の形態1.
以下に、本実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する実施の形態は、それぞれが本発明を具体化する際の一形態であって、本発明をその範囲内に限定するためのものではない。
図1は、本実施の形態にかかる情報ビット系列を2次元配列に並べ替える手順の一例を示す図である。本実施の形態では、インタリーブを行う最大の情報ビット長を、一例として、2144(32×67)ビットとし、2次元配列の大きさを行数M=32、列数P=67とする。ここで、列数Pは素数であり、予め決められている。また、入力する情報ビット長N(≦2144)の情報ビット系列の要素となる各ビットをX,X,X,・・・,Xとする。ここで、M×P≧NかつM<Nを満たしているものとする。情報ビット長Nが2次元配列の要素数である2144ビットに満たない場合は、2144−N個の論理0のビットを情報ビット系列の後に付加して全体として2144ビットとなるようにする。
次に、情報ビット系列の先頭から順に32ビットずつ67個のブロックに区切り、後述するインタリーブメモリにデータライト(書き込み)を行う。これにより、インタリーブメモリ内には情報ビット系列は図1に示すような32行67列の2次元配列として格納される。2次元配列の各行には行番号k(k=0〜31)が付加される。また、各列についても列番号p(p=0〜66)が付加される。2次元配列の各要素は行番号および列番号によって識別される。なお、2次元配列とは、格納される情報ビット系列がメモリ内において2次元で記録されていなければならないということでは無く、格納される要素が行番号と列番号の2つパラメータで指定されていればよい。
次に、各行の要素の順序を並べ替える方法について説明する。ここで、行番号kを関数とする各行の最初の要素の列番号を指定する関数A(k)と要素間の間隔を指定する関数P(k)を用いる。本実施の形態では一例として、A(k)=(2k+1)、P(k)=(2k+1)とする。
並べ替え後の2次元配列における行番号kの行の列番号0、すなわち行の最初の要素mは、上記の行番号kの関数であるA(k)に基づき、並べ替え前の列番号2k+1の要素により並べ替えられる。すなわち、m=(2k+1)となる。次に、同行の並べ替え後の列番号1の要素mは、列番号の要素mとなった並べ替え前の行の要素の列番号2k+1に、上記の行番号kの関数であるP(k)に基づき、2k+1を加えた値、すなわち、並べ替え前の列番号2×(2k+1)の要素により並べ替えられる。ただし、並べ替え前の行の要素の列番号2×(2k+1)が、列数である67以上となる場合は、その値を67により除算した剰余が要素mとなる並べ替え前の要素の列番号となる。すなわち、m=[m+(2k+1)](mod 67)と表すことができる。これ以降の列番号の要素についても同様に2k+1(=P(k))を加算していくことによって指定される。これらをまとめると、素数Pを列数とする2次元配列の並べ替え後の行番号kの列番号mとなる要素は、
=[A(k)](mod P)(j=0)
=[mj−1+P(k)](mod P)(j=1,・・・,P−1)
によって指定される。
図2は本実施の形態にかかる2次元配列の要素の並べ替えの一例を示す図である。上段の図は並べ替え前の2次元配列、下段の図は並べ替え後の2次元配列を示す。上記と同じ行番号kの関数A(k)、P(k)を用いると、行番号0の行では、A(k)とP(k)はともに1である。したがって、並べ替え後の2次元配列の列番号0となる要素は並べ替え前の列番号1の要素となり、次の要素は列番号を1つ大きくした要素によって並べ替えられることとなる。並べ替え後の列番号66となる要素は並べ替え前の列番号67となる要素であるが、列番号の要素は0から66までであり、そのような要素は無いため列数67で除算した剰余に対応する列番号の要素により並べ替えられる。この場合は剰余0であるので、並べ替え後の列番号66となる要素は並べ替え前の列番号0の要素である。この結果、行番号0の行の要素はX,X33,X65,・・・,X2081,X2113からX33,X65,X97,・・・,X2113,Xに並べ替えられる。同様に行番号1の行ではA(k)とP(k)は3となる。したがって、並べ替え後の2次元配列の列番号0となる要素は並べ替え前の列番号3の要素となり、次の要素は列番号を3つさらに大きくした要素によって並べ替えられることとなる。この結果、行番号1の行の要素はX,X34,X66,・・・,X2082,X2114からX98,X194,X290,・・・,X2050,Xに並べ替えられる。
上述の並べ替えを各行において実行することにより、並べ替え後の2次元配列は図2における下段の配列となる。なお、本実施の形態においては、行番号kの関数として同一のA(k)=2k+1、P(k)=2k+1を導入したが、例えば、A(k)とP(k)は任意の係数a,bによりak+b(a>0,b>0,a,bは整数)で定義される異なる関数であってもよい。また例えば、A(k)とP(k)は行番号kの一次関数に限らず、n次関数(n≧2)とすることも可能である。
なお、行番号kの関数の係数の選択によっては、ある行における行の要素の並べ替える規則と、別の行における行の要素の並べ替える規則が同じになることが起こり得る。例えば、行番号0と行番号が列数Pの倍数となる場合である。これについては、例えば、最大の行番号を列数P未満となるように設定するか、または、行番号が列数Pの倍数となる行について別の関数によって並べ替えることにより、このような場合を回避することが可能である。ただし、並べ替える規則が同じとなる行が存在しても、これら以外の行では異なる規則によって並べ替えがなされているので、ランダム性のよいインタリーブを実現できる。すなわち、必ずしも行の要素を並べ替える規則がすべての行で互いに異なっていなければならないというわけではない。但し、任意の行においてP(k)の値が列数Pの倍数となる場合には、mの値が一定値となり列番号の指定ができなくなるため、このような係数の選択を避ける必要がある。
また、行番号kを関数とする各行の最初の要素の列番号を定める関数A(k)と要素間の間隔を定める関数P(k)をそれぞれ1つとしていたが、複数用いることとしてもよい。例えば、本実施の形態における32行の2次元配列の場合には、行番号0から15まではA(k)=ak+b(a>0,b>0,a,bは整数)とし、行番号16から31まではA(k)と異なるA(k)=ak+b(a>0,b>0,a,bは整数)による並べ替えを行う。P(k)についても同様にすることができる。これにより、各行の並べ替える規則を様々に変化させることができ、インタリーブ後の情報ビット系列にランダム性を与えることができる。
次に、並べ替えられた2次元配列の各要素をデータリード(読み出し)する順序について説明する。読み出しは図2の下段の図に示す矢印の方向に要素の読み出しが行われる。すなわち、行番号0の行から開始し、行番号0の行の要素について読み出しが完了すると、次の行番号1の行の要素について読み出しをする。このように順番に行番号0から行番号31の行まで読み出しを行う。各行の要素の読み出しは、列番号0の要素から読み出しを開始し、順番に列番号66の要素まで読み出しを行う。このときに、情報ビット長が2144よりも短い場合に0を最初に強制挿入した部分については、無効にして情報ビット系列として伝送されないようにする。
以上の手順によりインタリーブが終了し、入力された情報ビット系列に対し、並べ替えられたランダム性のよい情報ビット系列が出力される。
次に、本実施の形態にかかるインタリーブを実行するインタリーブ装置を適用した例について説明する。図3は本実施の形態にかかるインタリーブ装置を適用した通信装置の一例を示す図である。本実施の形態において、誤り訂正符号としてターボ符号を用い、図はターボ符号化器103を備える送信装置101、ターボ符号の復号器104を備える受信装置102を示し、情報ビット系列を無線通信により伝送する。送信装置101において情報ビット系列はターボ符号化器103によって符号化される。インタリーブ装置105は情報ビット系列をインタリーブしたパリティビット系列を生成する。一方、受信装置102におけるインタリーブ装置106はインタリーブ順に入力された符号化系列に対応する受信系列を復号のために、受信データの読み出す順序を並び替える時と、一度復号した復号結果をターボ符号の繰り返し処理の次の復号に使用するために、メモリに書き込む時に使用される。なお、ここでの通信装置は一例として送信装置101、または、受信装置102として図示しているが、送受信を1つの装置で行うもであってもよい。また、一例としてターボ符号の符号化器、復号器としたが、これ以外にその他の誤り訂正符号を用いる通信装置内に設置されるインタリーブ装置に本実施の形態を適用することも可能である。また、本実施の形態は図示するような無線通信以外に、光ファイバ等の有線通信にも適用可能である。
次に、本実施の形態にかかるインタリーブを実行するインタリーブ装置の動作例について説明する。図4は本実施の形態にかかるインタリーブ装置の構成例を示す図である。図示するインタリーブアドレス生成にかかる各機能部は、例えば、ソフトウェアにより実行するか、または、ハードウェア回路によって実現してもよい。また、図5は本実施の形態にかかるインタリーブ装置の動作についてのフローチャートの一例である。以下に、情報ビット系列を先頭から順にアドレス0からインタリーブメモリに記憶したところから、前述の並べ替え方法によりインタリーブメモリの読み出しアドレス、すなわちインタリーブアドレスを生成してインタリーブされた情報ビット系列を出力するまでのインタリーブ装置の動作を示す。
図4にかかるインタリーブ装置は、列番号をカウントするためにP進カウンタにより構成される列番号カウンタ1、行番号をカウントするためのM進カウンタにより構成されている行番号カウンタ2、行番号カウンタ2の出力値を行アドレスに変換する行アドレス変換部3、列番号カウンタ1および行番号カウンタ2の出力値を列アドレスに変換するための列アドレス変換部4、行アドレスと列アドレスからインタリーブアドレスを生成するためのインタリーブアドレス生成部5、インタリーブの対象となる情報ビット系列を格納するためのメモリであるインタリーブメモリ6、インタリーブメモリ6から出力するデータについて有効、無効の信号を生成するための出力有効信号生成部7によって構成されている。なお、インタリーブアドレスとは2次元配列の順序を並べ替えて読み出すための2次元配列の要素を指定するアドレスである。
次に動作について説明する。まず、インタリーブの対象となる情報ビット系列がインタリーブメモリ6に入力されたことを検出してインタリーブの実行を開始するスタート信号が入力される(ステップS1)。次に、スタート信号入力時には列番号カウンタ1の値が0、行番号カウンタ2の値が0に初期化される。(ステップS2)。次に、列アドレス変換部4は行番号kを変数とする関数に基づいて、列番号カウンタ1と行番号カウンタ2の値を、列アドレスに変換する。本実施の形態ではA(k)=(2k+1)において行番号k=0であるので、列アドレス変換部4は列番号0、行番号0の要素の列アドレスとして1を出力する。また、行アドレス変換部3は、行番号カウンタ2の値をそのまま行アドレスとして出力する(ステップS3)。この場合、行番号k=0であるので行アドレスの値は0である。
列番号カウンタ1は列数Pに対応するP進カウンタにより構成されており、カウント値を0からP−1までカウントする(ステップS4)。P−1まではクロックが入力される毎に1つずつカウントアップする(ステップS5)。カウントアップした列番号カウンタ値と行番号カウンタ値から列アドレス、行アドレスに変換される(ステップS3)。列アドレス変換部4は、列番号カウンタ値が1ずつカウントアップする度に、行番号カウンタ2の値kをP(k)(=2k+1)に代入した値を1つ前に指定した要素の列番号に加算して、その値を列アドレスとして出力する。ただし、列アドレスの値がP以上になった場合には、Pで除算した剰余を列アドレスとして出力する。または、列アドレスの値が2P以上にならないことが保証されている場合には、列アドレスの値からPを減算した値を列アドレスとしてもよい。ステップS3からステップS5を繰り返すフローでは、行番号カウンタ2はカウントアップしないので、行番号のカウント値をそのまま行アドレスとして出力する。列アドレス、行アドレスを生成した後、カウント値がP−1となっている場合には(ステップS4)、カウンタ値をリセットして0にする(ステップS6)。
行番号カウンタ2はM進カウンタにより構成されており、カウント値を0からM−1までカウントする(ステップS7)。M−1までは、列番号カウンタ1の値がP−1から0に変化するときに、0からM−1まで1つずつカウントアップする(ステップS8)。カウントアップした列番号と行番号が列アドレス、行アドレスに変換される(ステップS3)。このとき、列アドレス変換部4は行番号カウンタの値kをA(k)(=2k+1)に代入した値を列アドレスとして出力する。行アドレス変換部3はカウントアップした行番号カウンタ2の値を行アドレスにする。その後は、列番号カウンタ1の値がP−1になるまでステップS3からステップS5のフローを繰り返す。
列アドレス、行アドレスを生成した後に、行番号カウンタ2の値がM−1となっている場合には(ステップS7)、列番号カウンタ1、行番号カウンタ2のカウントアップ動作を終了する。この場合は、M行P列のすべての要素の列アドレス、行アドレスが出力されたことになる。
インタリーブアドレス生成部5では、ステップS3で生成されて逐次送られてくる、行アドレス変換部3の出力である行アドレスと列アドレス変換部4の出力である列アドレスからインタリーブアドレスを生成する(ステップS9)。2次元配列の行数をM、行アドレス変換部3の出力をA、列アドレス変換部4の出力をBとしたときにM×A+Bを計算して、インタリーブメモリ6の読み出しアドレスとする。
インタリーブメモリ6ではインタリーブアドレスにより指定されたアドレスのデータを読み出す(ステップS10)。このとき、指定されたアドレスのデータがインタリーブの対象となる情報ビット長Nであるか否かを判断する(ステップS11)。インタリーブアドレスとしてN以上の値が読み出された場合は、出力有効信号生成部7において、出力データは無効であることを示す信号を出力する。情報ビット長N以上のアドレスに指定されるデータは前述の情報ビット列の後に付加された論理0のビット列のことを指すので、出力有効信号によって無効とすることで、情報ビット系列として伝送されないようにする。一方、指定されたアドレスのデータがインタリーブの対象となる情報ビット長Nに対してN未満の値が指定されたときには、出力有効信号生成部7において、出力データは有効であることを示す信号を出力する。なお、出力有効信号生成部7はインタリーブメモリ6から読み出される出力が無効であるときにのみ無効であるとの信号を出力し、出力が有効であるときは何も信号を出力しないとしてもよい。
これにより、インタリーブアドレスによって指定される2次元配列の要素の行番号、列番号に基づいて並び替えがなされ、例えば、図2の下段の矢印で示されるような順序で読み出されたデータが出力される。但し、出力される情報ビット系列としては、出力有効信号生成部7によって有効と判断された要素のみが通信路に伝送される。このようにして、並べ替えられた情報ビット系列を生成することができる。
以上の構成により、行の要素を順序については、行番号k(k=0,1,・・・,M−1)に対して、行番号kを変数とする関数である行の最初の要素の列番号を定める関数A(k)と要素間の間隔を定める関数P(k)を導入することにより、行によって異なる規則で行の要素の並べ替えがなされ、ランダム性のよいインタリーブを実現することができる。また、行番号kを変数とする関数を用いることで、テーブル引きなどにより情報を取り出して、並べ替えを規定するパラメータを生成する演算がなくなり、演算回路を簡易な構成で実現できる。さらに、これらの情報を予め格納するテーブルを削減することにより回路規模の削減をすることが可能となる。
また、行によって要素の並べ替えの規則が異なるために、通常のブロックインタリーブで発生するような、特定のビット数の間隔がインタリーブ前とインタリーブ後で変わらないといった可能性が少なくなる。このため本実施の形態にかかるインタリーブ装置をターボ符号に適用した場合には、ランダム性の向上によりエラーフロアが発生する確率を小さく抑えることが可能となる。
なお、さらに2次元配列を構成する際に、行数を2のべきにすることにより、インタリーブアドレス生成でインタリーブメモリの読み出しアドレスを計算する際に、乗算器と加算器が不要となり、行アドレス変換部3と列アドレス変換部4の出力を、並べて出力することによりインタリーブアドレスを生成できるようになるために回路構成が容易になる。
なお、説明の便宜上、配列の要素を指定するために2つのパラメータを名目上、行番号と列番号と称している。すなわち、行と列の名称の表現を入れ替えて本実施の形態を適用してもよい。例えば、行数を素数として決めておき、情報ビット系列を67行32列の2次元配列として格納し(但し、格納する順序は図1に示す列方向ではなく行方向に格納する。)、列番号を変数とする関数によって列の要素を並べ替える(但し、読み出す方向は列方向)という形式のようにすることも可能である。
実施の形態2.
実施の形態1においては、各行の要素の並べ替えを行うものであったが、本実施の形態では、さらに行の順序について並べ替えを行う。
図6は、本実施の形態にかかる2次元配列の各行の並べ替えの例を示した図である。最初の情報ビットの2次元配列の構成については実施の形態1で記載した方法と同じ方法で2次元配列が構成される。
2次元配列として格納された情報ビット系列に対して、行の順序の並べ替えを行う。例えば、図6で示した例では、行番号0に17行目のデータを並べ、以下、行番号kには、kが奇数のときは、17−(k+1)/2行目のデータを並べ、kが偶数の時には17+k/2行目のデータを並べることにより、行の入れ替え操作を行う。
行の順序の並べ替え操作を行った結果に対して、実施の形態1において記載した方法と同じ方法で、行番号0から行番号31まで順に、各行の要素について並べ替え操作を行う。
上記の行の並べ替えと各行の要素の並べ替えを行った後の2次元配列は図2における下段の2次元配列で示される。インタリーブされた情報ビット系列を出力するために、矢印で示される順序にて、実施の形態1と同様にして行番号0から31まで先頭から順にデータを読み出す。このときに、実施の形態1と同様に情報ビット長が2144よりも短い場合に論理0のビットを最初に挿入した部分については出力を行わないようにする。
以上の手順によりインタリーブが終了し、入力された情報ビット系列に対し、並べ替えられたランダム性のよい情報ビット系列が出力される。
本実施の形態は実施の形態1の図4に示すインタリーブ装置の構成例と同様の構成により実現することができる。実施の形態1とは行アドレス変換部3の動作が異なり、その他の機能の動作は同じである。行アドレス変換部3以外の動作の説明は省略する。
行アドレス変換部3では、行番号カウンタ2の出力を受けると、その出力値が奇数である場合には行番号kを変数とする関数S(k)=16−(k+1)/2、偶数である場合には、行番号kを変数とする関数S(k)=16+k/2によって行番号カウンタ2の値を行アドレスに変換して出力する。インタリーブアドレス生成部5ではこの行アドレスと別に入力される列アドレスから、インタリーブアドレスを生成し、各行の並べ替えがなされた情報ビット系列が出力されることとなる。
以上の構成によれば、行の要素の順序の並べ替えに加え、行の順序の並べ替えまで行うことによって、出力される情報ビット系列のランダム性を向上させることができる。また、インタリーブ前の順序における最後の行の要素が、インタリーブ後の順序では、最後の行にならないように並べることができる。すなわち、インタリーブ前の順序で情報ビット系列の最後の方の情報ビット系列がインタリーブ後の順序でも最後の方になることを避けることができる。これによって、例えば、誤り訂正符号としてターボ符号を用いた場合には符号化ビット系列の重みを大きくすることができ、ターボ符号におけるエラーフロアが発生する確率を小さく抑えることができる効果がある。
実施の形態3.
実施の形態1においては、予め2次元配列の行数と列数を予め決めていたが、本実施の形態では、行数を情報ビット長に応じて可変にする。
情報ビット系列が入力されると、情報ビット長Nを予め決められた列数Pで除算する。列数Pは実施の形態1と同様に素数である。次に、その商の剰余が0である場合には商の値を行数Mとする。一方、剰余が0でない場合は商の値に1を加算した値を行数Mとする。ただし、この場合は実施の形態1と同様にM×P−N分の論理0のビットを情報ビット系列の後に付加する。
次に、先頭から順にMビットずつP個のブロックに区切り、インタリーブメモリ6に各ブロックについてデータの書き込みを行う。これにより、情報ビット系列はM行P列の2次元配列として格納される。
図7は本実施の形態にかかるインタリーブ装置の構成例を示す図である。実施の形態1と同一の機能を有する構成は同一の符号を付してその説明を省略する。実施の形態1と異なるのは行数生成部8が設けられていることである。行数生成部8はインタリーブメモリに入力された情報ビット系列の情報ビット長から、前述の方法によって行数Mの算出を行う。さらに、行番号カウンタ2、行アドレス変換部3、インタリーブアドレス生成部5、インタリーブメモリ6に行数Mについての情報を出力する。これにより、インタリーブメモリ6は情報ビット系列を格納するM行P列の2次元配列を指定できる。また、行番号カウンタ2は行番号カウンタ値の上限を取得できる。また、行アドレス変換部3は実施の形態2のような行の並べ替えをする場合に、行数を把握することで行番号を変数とする関数を指定することができる。また、インタリーブアドレス生成部5はインタリーブアドレスの計算をすることができる。
以上の構成によれば、様々な情報ビット長の情報ビット系列にも対応しつつも、行数を固定して情報ビット系列の後に論理0のビットを付加する場合に比べて2次元配列のサイズを小さくすることが可能となり、並べ替えの演算の負荷を低減することができ、回路規模の削減をすることができる。
以上の実施の形態を組み合わせることによって、さらに新しい実施の形態とすることができる。また、以上の実施の形態はターボ符号の符号化、復号化のインタリーブに好適であるが、それ以外の誤り訂正符号を用いる通信装置においてインタリーブする場合にも適用することができる。
1 列番号カウンタ
2 行番号カウンタ
3 行アドレス変換部
4 列アドレス変換部
5 インタリーブアドレス生成部
6 インタリーブメモリ
7 出力有効信号生成部
8 行数生成部

Claims (8)

  1. 入力された情報ビット系列を、1以上の整数Mを行数とし素数Pを列数とする2次元配列として格納するインタリーブメモリと
    前記2次元配列の要素を読み出すアドレスを生成するインタリーブアドレス生成部と、
    を備え、
    前記インタリーブアドレス生成部は、
    前記2次元配列の行番号を変数とする第1のn次関数(nおよび係数は1以上の整数)を用いて、前記2次元配列の前記行番号の行内における最初に読み出す要素の列番号の値を求める第1の計算と、
    前記2次元配列の行番号を変数とし前記2次元配列の前記行番号の行内における前記読み出す要素の列番号同士の間隔の値を計算する第2のm次関数(mおよび係数は1以上の整数)を用いて、前記行番号の行内における最初に読み出す要素の列番号以外の列番号の値を、前記第1の計算で得られた前記行番号の行内における最初に読み出す要素の列番号から再帰的に求める第2の計算と、
    に基づいて、前記アドレスを生成し、
    前記インタリーブメモリは、
    前記インタリーブアドレス生成部で生成され、前記2次元配列の行番号と、前記2次元配列の行番号に対し前記第1および第2の計算に基づき得られた列番号と、の組合せに対応する前記アドレスによって、前記2次元配列の要素を読み出して並べ替えられた情報ビット系列を出力する
    インタリーブ装置。
  2. 前記インタリーブアドレス生成部は、
    前記2次元配列の行番号を示す変数をk、前記第1のn次関数をA(k)、前記第2のm次関数をP(k)とし前記2次元配列の前記行番号の行内における読み出す要素の列番号m
    =[A(k)](mod P) (j=0)
    =[mj-1+P(k)](mod P) (j=1、・・・、P−1)
    で規定される関係により前記2次元配列の要素を読み出すアドレスを生成する、
    請求項1に記載のインタリーブ装置。
  3. 前記インタリーブアドレス生成部は、
    前記行番号が奇数の場合に対しては前記行番号を変数とする第1の1次関数 (k)=定数−(k+1)/2、前記行番号が偶数の場合に対しては第2の1次関数S (k)=定数+k/2により、前記2次元配列の行単位の読み出し順序を前記行番号の偶奇に従って求め第3の計算、
    にさらに基づいて前記アドレスを生成し、
    前記インタリーブメモリは、
    前記インタリーブアドレス生成部において前記第3の計算に基づき求められ前記行単位の読み出し順序に係る前記2次元配列の行番号と、前記第1および第2の計算に基づき求められた前記読み出す要素の列番号と、の組合せに対応する前記アドレスによって、前記2次元配列の要素を読み出して、並べ替えられた情報ビット系列を出力する
    請求項1又は請求項2に記載のインタリーブ装置。
  4. 前記2次元配列から要素を読み出す前記アドレスが有効か無効かを判断する出力有効信号生成部をさらに備え、
    前記インタリーブメモリは、
    情報ビット長Nが2次元配列の要素数に満たない場合、2次元配列の要素数と情報ビット長Nの差分の論理0のビットを情報ビット系列の後に補い、所定の大きさの2次元配列として格納し、
    前記出力有効信号生成部は、
    前記論理0のビットを読み出すアドレスに対して無効であるとの信号を出力する
    請求項1乃至請求項3のいずれか1つに記載のインタリーブ装置。
  5. 前記情報ビット長Nに基づいて2次元配列の行数を生成する行数生成部をさらに備え、
    前記行数生成部は、
    前記情報ビット長Nを前記素数Pで除算した剰余が、0である場合には前記除算の商の値を、前記剰余が0でない場合は前記商の値に1を加算した値を、前記2次元配列の行数Mとし、
    前記インタリーブメモリは、前記生成された行数前記素数Pを列数とする2次元配列として情報ビット系列を格納する
    請求項1乃至請求項4のいずれか1つに記載のインタリーブ装置。
  6. 入力された情報ビット系列を、1以上の整数Mを行数とし素数Pを列数とする2次元配列としてインタリーブメモリに格納する書き込みステップと
    前記2次元配列の要素を読み出すアドレスを生成するインタリーブアドレス生成ステップと、
    前記インタリーブ生成ステップで生成された前記アドレスによって、前記2次元配列の要素を読み出して並べ替えられた情報ビット系列を前記インタリーブメモリから出力する出力ステップと、
    を有し、
    前記前記インタリーブアドレス生成ステップは、
    前記2次元配列の行番号を変数とする第1のn次関数(nおよび係数は1以上の整数)を用いて、前記2次元配列の前記行番号の行内における最初に読み出す要素の列番号の値を求める第1の計算と、
    前記2次元配列の行番号を変数とし前記2次元配列の前記行番号の行内における前記読み出す要素の列番号同士の間隔の値を計算する第2のm次関数(mおよび係数は1以上の整数)を用いて、前記行番号の行内における最初に読み出す要素の列番号以外の列番号の値を、前記第1の計算で得られた前記行番号の行内における最初に読み出す要素の列番号から再帰的に求める第2の計算と、
    に基づいて、前記アドレスを生成し、
    前記出力ステップ
    前記インタリーブ生成ステップで生成され、前記2次元配列の行番号と、前記2次元配列の行番号に対し前記第1および第2の計算に基づき得られた列番号と、の組合せに対応する前記アドレスによって、前記2次元配列の要素を読み出して、並べ替えられた情報ビット系列を出力する、
    インタリーブ方法。
  7. 前記行数Mに対応し前記行番号をカウントするM進の行番号カウンタと、
    前記列数Pに対応し前記列番号をカウントするP進の列番号カウンタと、
    前記行番号カウンタの値を前記2次元配列の行アドレスに変換する行アドレス変換部と、
    前記第1および第2の計算に基づき、前記行番号カウンタの値および前記列番号カウンタの値を列アドレスに変換する列アドレス変換部と、
    をさらに備え、
    前記インタリーブアドレス生成部は、
    前記行アドレス変換部で生成された行アドレスと、前記列アドレス変換部で生成された列アドレスと、の組合せに対応する前記アドレスを生成する、
    請求項1に記載のインタリーブ装置。
  8. 前記行数Mは、
    2のべき乗の値を有し、
    前記2次元配列の要素を読み出す前記アドレスは、
    前記行アドレス変換部で生成された行アドレスAと、前記列アドレス変換部で生成された列アドレスBとから、M×A+Bにより生成される
    請求項7に記載のインタリーブ装置。
JP2010188162A 2010-08-25 2010-08-25 インタリーブ装置及びインタリーブ方法 Active JP5510189B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010188162A JP5510189B2 (ja) 2010-08-25 2010-08-25 インタリーブ装置及びインタリーブ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010188162A JP5510189B2 (ja) 2010-08-25 2010-08-25 インタリーブ装置及びインタリーブ方法

Publications (2)

Publication Number Publication Date
JP2012049683A JP2012049683A (ja) 2012-03-08
JP5510189B2 true JP5510189B2 (ja) 2014-06-04

Family

ID=45904088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010188162A Active JP5510189B2 (ja) 2010-08-25 2010-08-25 インタリーブ装置及びインタリーブ方法

Country Status (1)

Country Link
JP (1) JP5510189B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006500850A (ja) * 2002-09-25 2006-01-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データを再帰的に計算するための回路
US7925956B2 (en) * 2006-10-03 2011-04-12 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
JP4976543B2 (ja) * 2007-04-27 2012-07-18 エルジー エレクトロニクス インコーポレイティド 移動通信システムにおいて下り制御チャネルを伝送する方法並びにブロックインターリーバを用いて制御チャネルを物理リソースにマッピングする方法

Also Published As

Publication number Publication date
JP2012049683A (ja) 2012-03-08

Similar Documents

Publication Publication Date Title
JP3730241B2 (ja) 通信システムのインターリビング/ディインターリビング装置及び方法
JP3882097B2 (ja) 重畳インターリーバ及びメモリのアドレス発生方法
JP3958745B2 (ja) 通信システムのインターリービング装置及び方法
KR100808664B1 (ko) 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치
JP4602406B2 (ja) データをエンコード及びデコードするための方法並びに装置
KR100526512B1 (ko) 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
CA2519588C (en) Error-correcting code interleaver
JP4982580B2 (ja) メモリシステム及びメモリシステムのデータ書き込み・読み出し方法
JP4551445B2 (ja) サブ・ブロック・インターリーバおよびデインターリーバを有する多次元ブロック符号器
TW201214439A (en) Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
JP2000156646A5 (ja) 符号化装置及び方法、復号装置及び方法、情報処理装置及び方法、並びに記憶媒体
CN112039535B (zh) 一种基于准循环生成矩阵的码率兼容ldpc编码器
JP5126230B2 (ja) 誤り検出方法
JP7321208B2 (ja) ポーラ符号のレートマッチング方法及び装置
US20080040650A1 (en) Symbol Reconstruction in Reed-Solomon Codes
JP3515036B2 (ja) インターリービング方法、インターリービング装置、ターボ符号化方法及びターボ符号化装置
KR101391725B1 (ko) 선형 블럭 코딩을 위한 생성 행렬 구성 장치 및 그 방법과,그 방법으로 생성된 생성 행렬을 이용하는 코딩 장치 및디코딩 장치
JP5510189B2 (ja) インタリーブ装置及びインタリーブ方法
JP2001127645A (ja) 誤り訂正方法および誤り訂正装置
KR101009783B1 (ko) 인터리빙된 데이터 열의 디인터리빙 방법 및 장치
JPWO2015133095A1 (ja) パリティ検査符号生成装置、符号化方法、符号化装置および制御プログラム
CN116388926B (zh) 速率匹配方法、装置及芯片
JP4507443B2 (ja) インターリーブ方法及びインターリーブ装置
JP5075135B2 (ja) 復号装置及びその制御方法
JP5075136B2 (ja) 復号装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140310

R151 Written notification of patent or utility model registration

Ref document number: 5510189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250