JP6863661B2 - レートデマッチング及びデインターリーブ回路 - Google Patents

レートデマッチング及びデインターリーブ回路 Download PDF

Info

Publication number
JP6863661B2
JP6863661B2 JP2017113324A JP2017113324A JP6863661B2 JP 6863661 B2 JP6863661 B2 JP 6863661B2 JP 2017113324 A JP2017113324 A JP 2017113324A JP 2017113324 A JP2017113324 A JP 2017113324A JP 6863661 B2 JP6863661 B2 JP 6863661B2
Authority
JP
Japan
Prior art keywords
storage circuit
circuit
odd
data storage
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017113324A
Other languages
English (en)
Other versions
JP2018207386A (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 JP2017113324A priority Critical patent/JP6863661B2/ja
Publication of JP2018207386A publication Critical patent/JP2018207386A/ja
Application granted granted Critical
Publication of JP6863661B2 publication Critical patent/JP6863661B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、アンテナより受信した信号を復調及び復号する無線通信装置に用いられるレートデマッチング及びデインターリーブ回路に関する。
例えば、3GPP等の無線通信方式における受信側のベースバンド処理において、レートデマッチング及びデインターリーブを行う。ここで、レートデマッチングとは、誤り訂正のために送信側で実行されたレートマッチングの受信側での逆処理であり、デインターリーブとは、インターリーブの受信側での逆処理である。
従来、このようなレートデマッチング及びデインターリーブ回路としては、例えば、レートデマッチング及びデインターリーブを一括して実行するようにしたものがあった(例えば、特許文献1参照)。
国際公開第2002/062001号
しかしながら、上記従来のレートデマッチング及びデインターリーブ回路では、1サイクルに処理できるデータの個数は1個のみであり、回路の動作周波数を上げない限りはスループットを上げることはできなかった。
この発明は上記のような課題を解決するためになされたもので、回路の動作周波数を上げるといった手段を用いることなく高いスループットを実現することのできるレートデマッチング及びデインターリーブ回路を得ることを目的とする。
この発明に係るレートデマッチング及びデインターリーブ回路は、受信データのうち、偶数行のデータをコードブロック単位に格納する偶数行データ記憶回路と、受信データのうち、奇数行のデータをコードブロック単位に格納する奇数行データ記憶回路と、偶数行データ記憶回路及び奇数行データ記憶回路へデータの書き込みを行うための書き込みアドレスを生成する書き込みアドレス生成回路と、偶数行データ記憶回路及び奇数行データ記憶回路からデータの読み出しを行うための読み出しアドレスを生成する読み出しアドレス生成部と、偶数行データ記憶回路及び奇数行データ記憶回路のどちらの記憶回路からデータの書き込みを始めたかを列単位に記憶する先頭位置記憶回路とを備え、読み出しアドレス生成部は、先頭位置記憶回路で記憶されたデータを用いて、偶数行データ記憶回路及び奇数行データ記憶回路からの読み出しアドレスを生成するようにしたものである。
この発明のレートデマッチング及びデインターリーブ回路は、偶数行のデータをコードブロック単位に格納する偶数行データ記憶回路と、受信データのうち、奇数行のデータをコードブロック単位に格納する奇数行データ記憶回路を設け、偶数行データ記憶回路及び奇数行データ記憶回路のどちらの記憶回路からデータの書き込みを始めたかを列単位に記憶するようにしたので、回路の動作周波数を上げるといった手段を用いることなく高いスループットを実現することができる。
入力シンボルコードの長さがM値の3倍より大きい場合のレートデマッチングの動作を示す説明図である。 入力シンボルコードの長さがM値の3倍より小さい場合のレートデマッチングの動作を示す説明図である。 一般的なレートデマッチング及びデインターリーブ回路の構成図である。 デインターリーブにおける書き込みアドレスの制御を示す説明図である。 デインターリーブにおける読み出し順序を示す説明図である。 この発明の実施の形態1によるレートデマッチング及びデインターリーブ回路の構成図である。 この発明の実施の形態1によるレートデマッチング及びデインターリーブ回路の書き込みアドレス生成部の構成図である。 この発明の実施の形態1によるレートデマッチング及びデインターリーブ回路の読み出しアドレス生成部の構成図である。 この発明の実施の形態1によるレートデマッチング及びデインターリーブ回路の仮想メモリへのマッピング例を示す説明図(その1)である。 この発明の実施の形態1によるレートデマッチング及びデインターリーブ回路の仮想メモリへのマッピング例を示す説明図(その2)である。 図9及び図10の仮想メモリ空間を実装メモリ空間へ置き換えた場合の説明図(その1)である。 図9及び図10の仮想メモリ空間を実装メモリ空間へ置き換えた場合の説明図(その2)である。 この発明の実施の形態1によるレートデマッチング及びデインターリーブ回路のサブコードブロック0の偶数行データ記憶回路及び奇数行データ記憶回路へのデータ書き込みタイミングを示す説明図である。 この発明の実施の形態1によるレートデマッチング及びデインターリーブ回路のサブコードブロック0の偶数行データ記憶回路及び奇数行データ記憶回路からのデータ読み出しタイミングを示す説明図である。 この発明の実施の形態1によるレートデマッチング及びデインターリーブ回路の実装メモリ空間における読み出し順序を示す説明図である。 この発明の実施の形態2によるレートデマッチング及びデインターリーブ回路の構成図である。 この発明の実施の形態2によるレートデマッチング及びデインターリーブ回路のM値が奇数となる場合の仮想メモリへのマッピング例を示す説明図(その1)である。 この発明の実施の形態2によるレートデマッチング及びデインターリーブ回路のM値が奇数となる場合の仮想メモリへのマッピング例を示す説明図(その2)である。 図17及び図18の仮想メモリ空間を実装メモリ空間へ置き換えた場合の説明図(その1)である。 図17及び図18の仮想メモリ空間を実装メモリ空間へ置き換えた場合の説明図(その2)である。 この発明の実施の形態2によるレートデマッチング及びデインターリーブ回路のM値が奇数の設定にて折り返しが発生した場合のサブコードブロック0の偶数行用メモリ及び奇数行用メモリへのデータ書き込みタイミングを示す説明図である。 この発明の実施の形態3によるレートデマッチング及びデインターリーブ回路の構成図である。 この発明の実施の形態3によるレートデマッチング及びデインターリーブ回路のM値が32〜63となる場合の仮想メモリへのマッピング例を示す説明図(その1)である。 この発明の実施の形態3によるレートデマッチング及びデインターリーブ回路のM値が32〜63となる場合の仮想メモリへのマッピング例を示す説明図(その2)である。 図23及び図24の仮想メモリ空間を実装メモリ空間へ置き換えた例を示す説明図(その1)である。 図23及び図24の仮想メモリ空間を実装メモリ空間へ置き換えた例を示す説明図(その2)である。 この発明の実施の形態3によるレートデマッチング及びデインターリーブ回路のM値が17〜31となる場合の仮想メモリへのマッピング例を示す説明図である。 図27の仮想メモリ空間を実装メモリ空間へ置き換えた例を示す説明図である。 この発明の実施の形態3によるレートデマッチング及びデインターリーブ回路のM値が43の場合のサブコードブロック0の偶数行用メモリ及び奇数行用メモリへのデータ書き込みタイミングを示す説明図である。 この発明の実施の形態3によるレートデマッチング及びデインターリーブ回路のM値が20の場合のサブコードブロック0の偶数行用メモリ及び奇数行用メモリへのデータ書き込みタイミングを示す説明図である。
実施の形態1.
この発明の実施の形態のレートデマッチング及びデインターリーブ回路の説明に先立ち、レートデマッチングとデインターリーブについて説明する。
図1及び図2は、レートデマッチングの動作を示したものである。入力するシンボルコードをサブコードブロック(M値:最小値17)の大きさに3分割し、記憶回路に格納する。図1は入力シンボルコードの長さがM値の3倍より大きい場合を表す。この場合、余剰なデータは先頭に折り返し、既に記憶回路に書き込まれているデータの値と加算して再度記憶回路に格納される。入力シンボルコード長が大きい場合やM値が小さい場合において、折り返しは複数回発生する場合がある。図2は入力シンボルコードの長さがM値の3倍より小さい場合を表す。不足する分はAll−0データを補填し、出力する。
図3は、一般的なレートデマッチング及びデインターリーブ回路の構成図である。この回路は、入力シンボルコードはサブコードブロック毎に3つの記憶回路101に分けて格納される。入力シンボルコードを先頭から(1),(2),(3),(4),…とする。書き込みアドレス生成部102は、記憶回路101への書き込みアドレス及び制御信号を生成及び出力する。読み出しアドレス生成部103は、記憶回路101への読み出しアドレス及び制御信号を生成及び出力する。
デインターリーブは、書き込みアドレス生成部及び読み出しアドレス生成部で生成されるアドレスのいずれかを制御することで行われる。図4及び図5は書き込みアドレスを制御することでデインターリーブを実施する場合の例である。M値は200とする。図4は記憶回路への書き込み順序を表しており、列単位に以下の式1に記載の順序で並べ替えて書き込みが行われる。図4は25列目までの4列分の順序を記載している。図5は記憶回路からの読み出し順序を表しており、行単位にラスタスキャンで読み出される。
1,17,9,25,5,21,13,29,3,19,11,27,7,23,15,31,0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30 (式1)
次に、実施の形態1におけるレートデマッチング及びデインターリーブ回路について説明する。
図6は、実施の形態1のレートデマッチング及びデインターリーブ回路の構成図である。図示のレートデマッチング及びデインターリーブ回路は、偶数行データ記憶回路11、奇数行データ記憶回路12、書き込みアドレス生成部2、読み出しアドレス生成部3、先頭位置記憶回路4、選択回路(SEL)5を備える。偶数行データ記憶回路11及び奇数行データ記憶回路12は、受信データをコードブロック単位に格納する記憶回路であり、偶数行データ記憶回路11は、偶数行のデータを格納するための記憶回路、奇数行データ記憶回路12は、奇数行のデータを格納するための記憶回路である。書き込みアドレス生成部2は、偶数行データ記憶回路11及び奇数行データ記憶回路12へ書き込みを行うための書き込みアドレス及び制御信号を生成する回路である。読み出しアドレス生成部3は、偶数行データ記憶回路11及び奇数行データ記憶回路12からの読み出しを行うための読み出しアドレス及び制御信号を生成する回路である。先頭位置記憶回路4は、偶数行データ記憶回路11及び奇数行データ記憶回路12のどちらの記憶回路から書き込み始めたかを列単位に記憶する回路である。選択回路5は、読み出しアドレス生成部3からの選択信号に基づいて偶数行データ記憶回路11及び奇数行データ記憶回路12からの読み出しデータを選択する回路である。
図7は、書き込みアドレス生成部2の構成図である。書き込みアドレス生成部2は、統合行アドレスカウンタ201、列アドレスカウンタ202、ビットスワップ回路203、行アドレス制御回路204、偶数行アドレス生成回路205、奇数行アドレス生成回路206、書き込みメモリ選択回路207を備える。
統合行アドレスカウンタ201は、データ入力に伴って統合行アドレスのカウントアップを行うカウンタである。
列アドレスカウンタ202は、統合行アドレスカウンタ201からのカウントアップ信号に基づき、奇数行アドレス生成回路206からのカウントアップ値でカウントアップを行い、列アドレスの元となるカウンタ値を出力するカウンタである。
書き込みメモリ選択回路207は、外部から入力するイネーブルをカウントし、図6の3組の記憶回路のうちの書き込む組を指定するセレクト信号を出力する。また、統合行アドレスカウンタ201と列アドレスカウンタ202のクリア信号を生成する。
ビットスワップ回路203は、列アドレスカウンタ202から出力されるカウンタ値の上位ビットと下位ビットをスワップさせ、並べ替えに必要な列アドレスを生成させる回路である。
行アドレス制御回路204は、統合行アドレスカウンタ201から出力されるカウンタ値と、ビットスワップ回路203から出力される列アドレスと、外部から入力するM値を用いて、列アドレスカウンタ202のカウントアップと統合行アドレスカウンタ201のクリアを判定する回路である。すなわち、行アドレス制御回路204は、カウントアップするかしないかを判定する回路であり、その判定としては、列の最後まで書き込んだ場合に統合行アドレスカウンタ201へのクリア信号を出力し、列アドレスカウンタ202へのカウントアップ信号を出力する。また、行アドレス制御回路204は、偶数行アドレス生成回路205から出力される偶数行アドレスとは異なるアドレスを奇数行アドレス生成回路206が出力するよう列アドレス位置信号を奇数行アドレス生成回路206に出力すると共に、列単位の先頭位置を先頭位置記憶回路4に出力する。
偶数行アドレス生成回路205は、統合行アドレスカウンタ201から出力されるカウンタ値と、ビットスワップ回路203から出力される列アドレスを組み合わせて偶数行データ記憶回路11の書き込みアドレスを生成する回路である。
奇数行アドレス生成回路206は、統合行アドレスカウンタ201から出力されるカウンタ値と、列アドレスカウンタ202から出力されるカウンタ値と、行アドレス制御回路204から出力される列アドレス位置信号と、外部から入力するM値とを用いて奇数行データ記憶回路12の書き込みアドレスを生成する回路である。また、奇数行アドレス生成回路206は、これらの入力データに基づいてカウントアップ値を生成して列アドレスカウンタ202に出力するよう構成されている。
図8は、読み出しアドレス生成部3の構成図である。読み出しアドレス生成部3は、列アドレスカウンタ301、統合行アドレスカウンタ302、アドレス生成回路303を備える。
列アドレスカウンタ301はデータ読み出しに伴って列アドレスのカウントアップを行い、列アドレスとして出力するカウンタである。列アドレスカウンタ301から出力される列アドレスは、先頭位置記憶回路4の読み出しアドレスとしても使用される。
統合行アドレスカウンタ302は、統合行アドレスのカウントアップを行うカウンタであり、列アドレスカウンタ301の値が31に達したら統合行アドレスカウンタ302を1カウントアップする。
アドレス生成回路303は、列アドレスカウンタ301から出力される列アドレスと、統合行アドレスカウンタ302から出力されるカウンタ値と、先頭位置記憶回路4から読み出される列単位の先頭位置情報を用いて、偶数行データ記憶回路11及び奇数行データ記憶回路12の読み出しアドレスを生成すると共に、偶数行データ記憶回路11からの読み出しデータと奇数行データ記憶回路12からの読み出しデータのいずれを選択するかを示す選択信号を選択回路5に出力する回路である。
図9及び図10は、本実施の形態における仮想メモリへのマッピング例を表している。M値は200とする。なお、列アドレス0〜31列のうち、図9は0〜15列、図10は16〜31列を示している。メモリ空間は行と列の単純な2次元空間であり実装のメモリ空間とは異なるが、まずはこの空間にマッピングすることを想定する。列の数は32なので、200を32で割った余りの8列目(列アドレス7)までは7行、9列目(列アドレス8)以降は6行存在する。
入力データの先頭(1a),(1b)は2列目(列アドレス1)の1行目(行アドレス0)と2行目(行アドレス1)に配置される。aは上位ワード、bは下位ワードを表し、ワード単位に並べた場合、上位ワードの方が下位ワードに比べて時間軸で先行する。従って、例えば、入力から4サイクル目の上位ワード(4a)は、2列目(列アドレス1)の7行目(行アドレス6)に配置されるが、下位ワード(4b)は18列目(列アドレス17)の1行目(行アドレス0)に列が分かれて配置される。このように、列の最後では、同一サイクルに入力する2個のデータが同じ列に配置される場合と異なる列に配置される場合の2種類が存在する。図9及び図10では110サイクルまで書き込まれた状態を表しているが、300サイクルで全ての空間にデータが書き込まれる。
図11及び図12は図9及び図10の仮想メモリ空間を実装メモリ空間へ置き換えたものである。ここで、0〜7は統合行アドレスを示し、Even0,Odd0〜Even3,Odd3は個別メモリアドレスを示している。
行方向のアドレスは、統合アドレスの偶数行目が偶数行データ記憶回路11の格納空間となり、統合アドレスの奇数行目が奇数行データ記憶回路12の格納空間となる。仮想メモリ空間では、データ4aは7行目(行アドレス6)、データ4bは1行目(行アドレス0)に格納されるが、実装メモリ空間では両方とも偶数行データ記憶回路11の格納空間となる。同一サイクルに2個のデータを同一記憶回路に書き込むことは不可能であるため、実装メモリ空間ではデータ4bを奇数行データ記憶回路12の方である2行目(統合行アドレス1)に書き込む。
続けてデータ5a,5bも仮想メモリ空間ではそれぞれ2行目(行アドレス1)、3行目(行アドレス2)に配置されるが、実装メモリ空間では4bに続けて3行目(統合行アドレス2)、4行目(統合行アドレス3)に書き込む。すなわち実装メモリ空間では、同一サイクルの上位ワード(a)を偶数行データ記憶回路11に、下位ワード(b)を奇数行データ記憶回路12に書き込む。
実装メモリ空間では図11及び図12に示した書き込み順序であるため、データを読み出す際に1行の中で偶数行データ記憶回路11から読み出すサイクルと奇数行データ記憶回路12から読み出すサイクルが存在する。そこで本発明では、1列の書き込みが偶数行データ記憶回路11から始まったか奇数行データ記憶回路12から始まったかを識別する1ビットの情報を記憶する先頭位置記憶回路4を設け、書き込みの際に情報を記憶させ読み出しの際に使用することで所望のデータを読み出すことが可能となるようにした。
図13は、サブコードブロック0の偶数行データ記憶回路11及び奇数行データ記憶回路12へのデータ書き込みタイミングを示す説明図である。なお、図中、偶数行ライトイネーブル、偶数行水平ライトアドレス、…は、それぞれ偶数行データ記憶回路11に対する信号を示し、データ奇数行ライトイネーブル、奇数行水平ライトアドレス、…はそれぞれ奇数行データ記憶回路12の信号を示している。また、先頭位置ライトイネーブル、先頭位置ライトデータは、先頭位置記憶回路4に対する信号である。
偶数行データ記憶回路11における各列の最終データ書き込みサイクルで、カウントアップ信号が統合行アドレスカウンタ201からアサートされ、次のサイクルで列アドレスカウンタ202から出力される列アドレスがカウントアップする(図13中の矢印で示す)。M値が64以上の場合、列アドレスカウンタ202は1ずつカウントアップする。また、行アドレス制御回路204は、偶数行データ記憶回路11のアドレスと奇数行データ記憶回路12のアドレスとが同じサイクルでは、先頭位置記憶回路4に対して0を書き込む(例えば、図13中の先頭位置記憶回路ライトデータ110を参照)。一方、偶数行データ記憶回路11のアドレスと奇数行データ記憶回路12のアドレスとが異なるサイクルは、次の列の読み出しが奇数行データ記憶回路12から始まることを表すので、先頭位置記憶回路4に1を書き込む(例えば、図中の先頭位置記憶回路ライトデータ111を参照)。先頭位置記憶回路4の書き込みアドレスには、奇数行データ記憶回路12のライトアドレスを使用する。
図14はサブコードブロック0の偶数行データ記憶回路11及び奇数行データ記憶回路12からのデータ読み出しタイミングを示す説明図である。なお、図中、先頭位置アドレス、…、偶数行リードイネーブル、…、奇数行リードイネーブル、…は、それぞれ先頭位置記憶回路4、偶数行データ記憶回路11、奇数行データ記憶回路12の信号を示している。
読み出しアドレス生成部3は、まず先頭位置記憶回路4をアドレス昇順に読み出す。読み出された値が0であれば(図中、矢印112で示す)、偶数行メモリからデータを読み出す(図中、矢印113で示す)。一方、読み出された値が1であれば(図中、矢印114で示す)。奇数行データ記憶回路12からデータを読み出す(図中、矢印115で示す)。選択回路5は、読み出しアドレス生成部3からの選択信号に基づいて、偶数行リードデータと奇数行リードデータを選択して、これらの読み出したデータを出力シンボルコードとして出力する。図15は、実装メモリ空間にて、読み出し順序を示している。
以上説明したように、実施の形態1のレートデマッチング及びデインターリーブ回路によれば、受信データのうち、偶数行のデータをコードブロック単位に格納する偶数行データ記憶回路と、受信データのうち、奇数行のデータをコードブロック単位に格納する奇数行データ記憶回路と、偶数行データ記憶回路及び奇数行データ記憶回路へデータの書き込みを行うための書き込みアドレスを生成する書き込みアドレス生成回路と、偶数行データ記憶回路及び奇数行データ記憶回路からデータの読み出しを行うための読み出しアドレスを生成する読み出しアドレス生成部と、偶数行データ記憶回路及び奇数行データ記憶回路のどちらの記憶回路からデータの書き込みを始めたかを列単位に記憶する先頭位置記憶回路とを備え、読み出しアドレス生成部は、先頭位置記憶回路で記憶されたデータを用いて、偶数行データ記憶回路及び奇数行データ記憶回路からの読み出しアドレスを生成するようにしたので、回路の動作周波数を上げるといった手段を用いることなく高いスループットを実現することができる。
実施の形態2.
実施の形態2は、M値が奇数の場合に対応するようにした例である。
図16は、実施の形態2のレートデマッチング及びデインターリーブ回路における偶数行データ記憶回路11及び奇数行データ記憶回路12の詳細を示す構成図である。
図示の偶数行データ記憶回路11及び奇数行データ記憶回路12は、偶数行用メモリ13、奇数行用メモリ14、スイッチ(SW)15,フリップフロップ16、セレクタ(SEL)17、加算器18,19、ANDゲート20,21、遅延回路22、セレクタ(SEL)23を備える。なお、選択回路5は図6の選択回路5を示している。
偶数行用メモリ13及び奇数行用メモリ14は、偶数行データ記憶回路11及び奇数行データ記憶回路12における記憶部を構成するためのメモリである。スイッチ15は、与えられるスイッチ信号により入力シンボルコードの上位ワードと下位ワードを入れ替えるスイッチである。なお、このスイッチ信号は、書き込みアドレス生成部2における書き込みメモリ選択回路207から出力される信号である。フリップフロップ16は、スイッチ15でスイッチされた下位ワードを1サイクル遅延させるための回路である。セレクタ17は、スイッチ15でスイッチ動作を行う場合はフリップフロップ16で1サイクル遅延させたデータを選択し、スイッチ15でスイッチ動作を行わない場合は遅延させないデータを選択する選択回路である。加算器18及び加算器19は、それぞれ偶数行用メモリ13及び奇数行用メモリ14に書き込むデータと、偶数行用メモリ13及び奇数行用メモリ14から読み出したデータとの加算を行う加算器である。ANDゲート20及びANDゲート21は、入力シンボル長がM値の3倍より大きくなり、折り返しが発生した場合は偶数行用メモリ13及び奇数行用メモリ14から読み出したデータを通し、それ以外の場合はデータを0に固定するよう設定されている。遅延回路22は、折り返しが発生した場合の読み出しアドレスと、読み出したデータと入力データとの加算値を書き込むための書き込みアドレスとのタイミング差を補償するための遅延回路である。また、この遅延回路22は、スイッチ15でデータのスイッチが発生し、フリップフロップ16でデータを1サイクル遅延させた場合、偶数行用メモリ13の書き込みアドレスも遅延させる機能も有している。セレクタ23は、折り返しが発生している期間は書き込みアドレス生成部2から出力されるアドレスを、それ以外は読み出しアドレス生成部3から出力される読み出しアドレスを選択する。
次に、実施の形態2におけるレートデマッチング及びデインターリーブ回路の動作を説明する。
図17及び図18はM値が奇数となる場合の仮想メモリへのマッピング例を表している。M値は205とする。なお、列アドレス0〜31列のうち、図17は0〜15列、図18は16〜31列を示している。この時103サイクル目のデータ(103a),(103b)は、上位ワード(103a)がサブコードブロック0に属するが、下位ワード(103b)はサブコードブロック1に属する。従って、サブコードブロック1の仮想メモリ上では、同一サイクル内の上位ワード(a)と下位ワード(b)が、サブコードブロック0とはずれて逆の位置に配置される。サブコードブロック1とサブコードブロック2、サブコードブロック2と折り返した場合のサブコードブロック等、隣り合うサブコードブロック同士は全て同様の関係になる。
図19及び図20は図17及び図18の仮想メモリ空間を実装メモリ空間へ置き換えたものである。サブコードブロック1では、下位ワード(b)と次のサイクルの上位ワード(a)とをペアにし、同一サイクルでそれぞれ偶数行用メモリ13と奇数行用メモリ14に書き込む。このようにすることで、サブコードブロック間において同じデータ配置でデータを書き込むことができる。これにより、折り返しが発生した場合でも、メモリからの読み出しと入力データとの加算値の書き込みとで同じアドレスを使用することが可能となる。
図21はM値が奇数の設定にて折り返しが発生した場合の、サブコードブロック0の偶数行用メモリ13及び奇数行用メモリ14へのデータ書き込みタイミング図を示す。
M値が偶数であれば、入力シンボルコードの上位ワードは加算器18に、下位ワードは加算器19に入力する。しかし、M値が奇数の場合、入力シンボルコードの上位ワードが加算器19に、下位ワードの1サイクル遅延が加算器18に入力する(図中の加算器18入力及び加算器19入力参照)。
シンボルコードの入力タイミングに合うように、先に偶数行用メモリ13及び奇数行用メモリ14内のデータを読み出しておく(図中の偶数行用リードデータ及び奇数行用リードデータ参照)。
入力シンボルコードの下位ワードと偶数行用メモリ13から読み出されたデータが加算器18で加算され、再び偶数行用メモリ13に書き戻される(図中の偶数行用ライトデータ参照)。また、入力シンボルコードの上位ワードと奇数行用メモリ14から読み出されたデータが加算器19で加算され、再び奇数行用メモリ14に書き戻される(図中の奇数行ライトデータ参照)。
以上説明したように、実施の形態2のレートデマッチング及びデインターリーブ回路によれば、受信データをサブコードブロック単位に分割して記憶回路に格納するレートデマッチング処理において、受信データの上位ワードのデータと下位ワードのデータとを入れ替えるスイッチ回路と、切り替え後のデータを1サイクル遅延させる遅延回路とを備え、これらスイッチ回路と遅延回路を偶数行データ記憶回路及び奇数行データ記憶回路の前段に設け、上位ワードを偶数行データ記憶回路に格納し、下位ワードを奇数行データ記憶回路に格納するか、上位ワードを奇数行データ記憶回路に格納し、下位ワードを偶数行データ記憶回路に格納するようにしたので、M値が奇数の場合でも処理が可能である。
実施の形態3.
実施の形態3は、行数が1または2となるような小さいM値であっても処理を可能とした例である。
図22は、実施の形態3のレートデマッチング及びデインターリーブ回路における奇数行アドレス生成回路206を示す構成図である。なお、この奇数行アドレス生成回路206を含む書き込みアドレス生成部2の構成及びその他の構成は図7及び図1に示す構成と同様であるため、その他の構成についての説明は省略する。
図22に示す奇数行アドレス生成回路206は、列アドレスカウントアップ判定部401、加算器402,403,404、ビットスワップ回路405,406,407、列アドレスカウントアップ値生成部408、セレクタ409を備える。
列アドレスカウントアップ判定部401は、行アドレス制御回路204から取得する列アドレス位置信号と、統合行アドレスカウンタ201から取得する統合行アドレスと、M値とを元に、上位ワード(a)と下位ワード(b)が同じ列アドレスになるか否かを判定する処理部である。加算器402は、列アドレスカウントアップ判定部401において上位ワード(a)と下位ワード(b)が同じ列アドレスにならないと判定された場合に、列アドレスカウンタ202から取得する列アドレスカウンタ値を1インクリメントする加算器である。また、加算器403は、列アドレスカウンタ値に固定値2を加算する加算器であり、加算器404は、列アドレスカウンタ値に固定値3を加算する加算器である。ビットスワップ回路405,406,407は、それぞれ、ビットスワップ回路203と同じ機能を有する回路である。列アドレスカウントアップ値生成部408は、ビットスワップ回路405,406,407から出力される値とM値とを用いて、列アドレスカウンタ202のカウントアップ値を決定する処理部である。なお、カウントアップ値は1〜4である。また、列アドレスカウントアップ値生成部408は、カウントアップ値に基づいて、セレクタ409への選択信号を出力するよう構成されている。セレクタ409は、列アドレスカウントアップ値生成部408から出力される選択信号に基づき、ビットスワップ回路405から出力される値とビットスワップ回路406から出力される値のいずれかを選択し、奇数行アドレスの下位ビットとして出力する選択回路である。
次に、実施の形態3のレートデマッチング及びデインターリーブ回路の動作について説明する。
列アドレスカウントアップ判定部401は、列アドレス位置信号と統合行アドレスとM値を元に、上位ワード(a)と下位ワード(b)が同じ列アドレスになるか否かを判定する。判定の結果、同じ列アドレスになる場合は、統合行アドレスを1インクリメントし、最下位ビットを切り捨てたものを出力し、同じ列アドレスにならない場合は0を奇数行アドレスの上位ビットとして出力する。
加算器402は、列アドレスカウントアップ判定部401において、上位ワード(a)と下位ワード(b)が同じ列アドレスにならないと判定された場合に、入力される列アドレスカウンタ値を1インクリメントする。また、加算器403は、列アドレスカウンタ値に固定値2を加算し、加算器404は、列アドレスカウンタ値に固定値3を加算する。
列アドレスカウントアップ値生成部408は、ビットスワップ回路405〜407から出力される値とM値を用いて、列アドレスカウンタ値のカウントアップ値を決定する。カウントアップ値は1〜4である。セレクタ409は、列アドレスカウントアップ値生成部408から出力される選択信号に基づいて、ビットスワップ回路405から出力される値とビットスワップ回路406から出力される値のいずれかを選択し、これを奇数行アドレスの下位ビットとして出力する。
図23及び図24は、M値が32〜63となる場合の仮想メモリへのマッピング例を示している。M値は43とする。なお、列アドレス0〜31列のうち、図23は0〜15列、図24は16〜31列を示している。図示のように、3サイクル目の上位ワード(3a)は10列目(列アドレス9)の2行目(行アドレス1)に配置され、下位ワード(3b)は26列目(列アドレス25)の1行目(行アドレス0)に配置される。このとき、4サイクル目の上位ワード(4a)は6列目(列アドレス5)に配置することになり、列アドレスカウンタ202は2カウントアップする必要がある。図25及び図26は図23及び図24の仮想メモリ空間を実装メモリ空間へ置き換えたものである。
図27は、M値が17〜31となる場合の仮想メモリへのマッピング例を示している。M値は20とする。1サイクル目の上位ワード(1a)は2列目(列アドレス1)に配置され、下位ワード(1b)は18列目(列アドレス17)に配置される。このとき、2サイクル目の上位ワード(2a)は10列目(列アドレス9)に配置することになり、列アドレスカウンタ202は2カウントアップする必要がある。
また、4サイクル目の上位ワード(4a)は20列目(列アドレス19)に配置され、下位ワード(4b)は12列目(列アドレス11)に配置される。このとき、5サイクル目の上位ワード(5a)は、実施の形態1で示した式1の順に従えば28列目(列アドレス27)に配置されるべきところであるが、M値が小さいため28列目は配置不可である。そこで次の8列目(列アドレス7)に配置することになり、列アドレスカウンタ202は3カウントアップする必要がある。
また、2サイクル目の上位ワード(2a)は10列目(列アドレス9)に配置されるが、下位ワード(2b)は式1の順に従えば26列目(列アドレス25)に配置されるべきところである。しかし、M値が小さく26列目は配置不可であるため、次の6列目(列アドレス5)に配置される。更に、3サイクル目の上位ワード(3a)は式1の順に従えば22列目(列アドレス21)に配置されるべきところである。しかし、M値が小さく22列目は配置不可であるため、次の14列目(列アドレス13)に配置することになり、列アドレスカウンタ202は4カウントアップする必要がある。図28は図27の仮想メモリ空間を実装メモリ空間へ置き換えたものである。
図29はM値が43の場合、図30はM値が20の場合のサブコードブロック0の偶数行用メモリ13及び奇数行用メモリ14へのデータ書き込みタイミング図を示している。M値が32〜63の場合、1行しか存在しない列があるため、列アドレスのカウントアップ値が2になるケースがある(図29中の列アドレスカウントアップ値参照)。M値が17〜31の場合、1行も存在しない列があるため、列アドレスのカウントアップ値が3や4になるケースがある(図30中の列アドレスカウントアップ値参照)。
以上説明したように、実施の形態3のレートデマッチング及びデインターリーブ回路によれば、書き込みアドレス生成回路は、受信データをサブコードブロック単位にm列×n行(m及びnは自然数)の記憶回路に格納し、行単位にデータm個の並べ替えを行うデインターリーブ処理を行う場合、奇数行のアドレスを生成する奇数行アドレス生成回路として、列アドレスの元となるカウンタ値を生成する列アドレスカウンタの出力値にそれぞれ異なる固定値を加算する複数の加算器と、複数の加算器におけるそれぞれの出力に対してデインターリーブ処理を行う複数のビットスワップ回路と、サブコードブロックの長さに基づいて、複数のビットスワップ回路のうち、いずれかのビットスワップ回路の出力を選択して、列アドレスカウンタのカウントアップ値を生成する列アドレスカウントアップ値生成部とを備え、列アドレスカウンタは、カウントアップ値に従って次のサイクルのカウンタ値を生成するようにしたので、行数が1または2になるような小さいM値においても処理が可能である。
なお、上記各実施の形態では列の大きさを32としたが、この値に限定されるものではなく、他の値であっても上記各実施の形態と同様の効果がある。また、偶数行データ記憶回路11及び奇数行データ記憶回路12の行数についてもどのような値であっても適用可能である。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
2 書き込みアドレス生成部、3 読み出しアドレス生成部、4 先頭位置記憶回路、5 選択回路、11 偶数行データ記憶回路、12 奇数行データ記憶回路、13 偶数行用メモリ、14 奇数行用メモリ、15 スイッチ、16 フリップフロップ、17,23 セレクタ、18,19 加算器、20,21 ANDゲート、22 遅延回路、201 統合行アドレスカウンタ、202 列アドレスカウンタ、203 ビットスワップ回路、204 行アドレス制御回路、205 偶数行アドレス生成回路、206 奇数行アドレス生成回路、207 書き込みメモリ選択回路、301 列アドレスカウンタ、302 統合行アドレスカウンタ、303 アドレス生成回路、401 列アドレスカウントアップ判定部、402,403,404 加算器、405,406,407 ビットスワップ回路、408 列アドレスカウントアップ値生成部、409 セレクタ。

Claims (3)

  1. 受信データのうち、偶数行のデータをコードブロック単位に格納する偶数行データ記憶回路と、
    前記受信データのうち、奇数行のデータをコードブロック単位に格納する奇数行データ記憶回路と、
    前記偶数行データ記憶回路及び前記奇数行データ記憶回路へデータの書き込みを行うための書き込みアドレスを生成する書き込みアドレス生成回路と、
    前記偶数行データ記憶回路及び前記奇数行データ記憶回路からデータの読み出しを行うための読み出しアドレスを生成する読み出しアドレス生成部と、
    前記偶数行データ記憶回路及び奇数行データ記憶回路のどちらの記憶回路からデータの書き込みを始めたかを列単位に記憶する先頭位置記憶回路とを備え、
    前記読み出しアドレス生成部は、前記先頭位置記憶回路で記憶されたデータを用いて、前記偶数行データ記憶回路及び前記奇数行データ記憶回路からの読み出しアドレスを生成することを特徴とするレートデマッチング及びデインターリーブ回路。
  2. 受信データをサブコードブロック単位に分割して記憶回路に格納するレートデマッチング処理において、前記受信データの上位ワードのデータと下位ワードのデータとを入れ替えるスイッチ回路と、
    前記切り替え後のデータを1サイクル遅延させる遅延回路とを備え、
    これらスイッチ回路と遅延回路を前記偶数行データ記憶回路及び前記奇数行データ記憶回路の前段に設け、前記上位ワードを前記偶数行データ記憶回路に格納し、前記下位ワードを前記奇数行データ記憶回路に格納するか、前記上位ワードを前記奇数行データ記憶回路に格納し、前記下位ワードを前記偶数行データ記憶回路に格納することを特徴とする請求項1記載のレートデマッチング及びデインターリーブ回路。
  3. 前記書き込みアドレス生成回路は、受信データをサブコードブロック単位にm列×n行(m及びnは自然数)の記憶回路に格納し、行単位にデータm個の並べ替えを行うデインターリーブ処理を行う場合、
    奇数行のアドレスを生成する奇数行アドレス生成回路として、
    列アドレスの元となるカウンタ値を生成する列アドレスカウンタの出力値にそれぞれ異なる固定値を加算する複数の加算器と、
    前記複数の加算器におけるそれぞれの出力に対してデインターリーブ処理を行う複数のビットスワップ回路と、
    前記サブコードブロックの長さに基づいて、前記複数のビットスワップ回路のうち、いずれかのビットスワップ回路の出力を選択して、前記列アドレスカウンタのカウントアップ値を生成する列アドレスカウントアップ値生成部とを備え、
    前記列アドレスカウンタは、前記カウントアップ値に従って次のサイクルの前記カウンタ値を生成することを特徴とする請求項1または請求項2記載のレートデマッチング及びデインターリーブ回路。
JP2017113324A 2017-06-08 2017-06-08 レートデマッチング及びデインターリーブ回路 Active JP6863661B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017113324A JP6863661B2 (ja) 2017-06-08 2017-06-08 レートデマッチング及びデインターリーブ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017113324A JP6863661B2 (ja) 2017-06-08 2017-06-08 レートデマッチング及びデインターリーブ回路

Publications (2)

Publication Number Publication Date
JP2018207386A JP2018207386A (ja) 2018-12-27
JP6863661B2 true JP6863661B2 (ja) 2021-04-21

Family

ID=64958436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017113324A Active JP6863661B2 (ja) 2017-06-08 2017-06-08 レートデマッチング及びデインターリーブ回路

Country Status (1)

Country Link
JP (1) JP6863661B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002062001A1 (fr) * 2001-01-31 2002-08-08 Mitsubishi Denki Kabushiki Kaisha Procede de communication a correction d'erreurs et appareil de communication dans lequel ce procede de communication est mis en oeuvr e
CN101116249B (zh) * 2005-02-03 2010-10-13 松下电器产业株式会社 并行交织器、并行解交织器以及交织方法
CN101895374B (zh) * 2010-07-20 2012-09-05 华为技术有限公司 速率匹配方法及装置
JP2012099989A (ja) * 2010-11-01 2012-05-24 Fujitsu Ltd 無線通信装置および復号処理方法
JP2015130128A (ja) * 2014-01-08 2015-07-16 富士通株式会社 検索装置、検索方法、および検索プログラム

Also Published As

Publication number Publication date
JP2018207386A (ja) 2018-12-27

Similar Documents

Publication Publication Date Title
US11755474B2 (en) Tile based interleaving and de-interleaving for digital signal processing
US9684592B2 (en) Memory address generation for digital signal processing
US9705505B2 (en) Reconfigurable semiconductor device
JP3796250B2 (ja) デジタル通信システムのデインターリービング装置およびそのデインターリービング方法
JP6863661B2 (ja) レートデマッチング及びデインターリーブ回路
EP2911052B1 (en) Apparatus for mutual-transposition of scalar and vector data sets and related method
US5325332A (en) Dual port semiconductor memory device
CN107241163B (zh) 一种交织处理方法及装置
US8526493B2 (en) Double register array buffer for motion compensation
US7075846B2 (en) Apparatus for interleave and method thereof
KR101404844B1 (ko) 듀얼 포트 메모리 및 그 방법
EP1644820B1 (en) Single memory with multiple shift register functionality
US20050050428A1 (en) Interleaver and device for decoding digital signals comprising such an interleaver
US20140359397A1 (en) Memory access apparatus and method for interleaving and deinterleaving
US20090083514A1 (en) Apparatus and method for block interleaving in mobile communication system
US20040088442A1 (en) Integrated circuit device having two or more input ports and system for the device
KR101734623B1 (ko) 메모리 제어 장치 및 방법
JP4750446B2 (ja) 半導体集積回路
JPH0962585A (ja) インターリーブ装置
KR0176641B1 (ko) 역 dct코아에서 전치 메모리의 워드수 절약회로
KR100324590B1 (ko) 원형버퍼
JP4252406B2 (ja) データ変換装置
JP4044419B2 (ja) 表示制御回路
WO2013039376A1 (en) Interleaver for duo -binary turbo codes for a wimax communication system
BR102013026036A2 (pt) Arquitetura de circuito e método para entrelaçamento de bits em fluxo de dados paralelo

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210330

R150 Certificate of patent or registration of utility model

Ref document number: 6863661

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250