JP6193051B2 - アドレス生成回路及びアドレス生成方法 - Google Patents

アドレス生成回路及びアドレス生成方法 Download PDF

Info

Publication number
JP6193051B2
JP6193051B2 JP2013168857A JP2013168857A JP6193051B2 JP 6193051 B2 JP6193051 B2 JP 6193051B2 JP 2013168857 A JP2013168857 A JP 2013168857A JP 2013168857 A JP2013168857 A JP 2013168857A JP 6193051 B2 JP6193051 B2 JP 6193051B2
Authority
JP
Japan
Prior art keywords
address
value
divisor
remainder
address generation
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
JP2013168857A
Other languages
English (en)
Other versions
JP2015037277A (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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2013168857A priority Critical patent/JP6193051B2/ja
Publication of JP2015037277A publication Critical patent/JP2015037277A/ja
Application granted granted Critical
Publication of JP6193051B2 publication Critical patent/JP6193051B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Description

本発明は、アドレスを生成するための、アドレス生成回路及びアドレス生成方法に関する。
携帯電話機等によって無線通信を行う場合、信号を送受信するに際してターボ符号が広く用いられている。例えば、3GPP(Third Generation Partnership Project)プロジェクトに参加する標準化団体により標準化されている規格であるLTE(Long Term Evolution)による通信時にターボ符号が用いられる(非特許文献1参照)。
このターボ符号による符号化及び復号化では、インタリーブ回路(「インタリーバ」と呼ばれることもある)によるインタリーブ処理及びデインタリーブ回路(「デインタリーバ」と呼ばれることもある)によるデインタリーブ処理が実施される。これらの処理について図を参照して説明する。
まず、図1にはターボ符号器の基本的構成が表されている。図1を参照するとターボ符号器101は、第1の符号化回路102、第2の符号化回路103及びインタリーブ回路104を含む。
また、ターボ符号器101は送信機105と接続している。そして、ターボ符号器101に入力された信号は、3つのルートを介して送信機105に対して出力される。
具体的には、入力された信号を送信機105にそのまま出力するルート(出力は図中のS1に相当)、入力された信号を第1の符号化回路102を経て送信機105に出力するルート(出力は図中のS2に相当)、及び、入力された信号についてインタリーブ回路104により入力データの並び替えを行った後に第2の符号化回路103を経て送信機105に出力するルート(出力は図中のS3’に相当、なお、図中及び以下の説明においても、インタリーブ処理後の信号については、その信号がインタリーブ処理後の信号であることを表すために符号に「’」を付す。)、の3つである。そして送信機105は、これら3ルートの信号を多重化する。具体的には、信号S1をペイロードとし、信号S2及び信号S3’をパリティビットとしたデータとして多重化する。そして、送信機105が、多重化後のデータを通信先の装置に対して送出することにより通信が行われる。
次に、図2を参照して、送信機105が信号(図中のS1〜S3’に相当)を送出した通信先の装置に含まれるターボ復号器及び受信機について説明する。図2を参照すると、ターボ復号器202は、デインタリーブ回路203、第1の復号回路204、インタリーブ回路205、第2の復号回路206及びデマルチプレクサ207を含む。また、ターボ復号器202は受信機201と接続されている。
受信機201は送信機105が送出した信号(図中のS1〜S3’に相当)を受信する。そして受信機201は、受信した信号のうち、ペイロードである信号S1を第1の復号回路204に入力する。また、受信機201は、受信した信号のうち、パリティビットである信号S2及びS3’をデマルチプレクサ207に入力する。
デインタリーブ回路203は、前回の繰返し復号処理により得られている第1の尤度情報信号(図中のS11に相当)の並び順を元に戻す処理であるデインタリーブを実行する。
次に、第1の復号回路204は、信号S1、信号S2、及びデインタリーブ回路203が出力するデインタリーブ後の第1の尤度情報信号(図中のS11に相当)を用いて復号を実行する。
そして、第1の復号回路204は、復号結果を第2の尤度情報信号(図中のS12に相当)としてインタリーブ回路205に対して出力する。併せて第1の復号回路204は、信号S1をインタリーブ回路205に対して出力する。
次に、インタリーブ回路205は、第1の復号回路204が出力する第2の尤度情報信号(図中のS12に相当)及び信号S1に対して並び替え処理であるインタリーブを実行する。
第2の復号回路206は、インタリーブ回路205が出力するインタリーブ後の信号S1’及びインタリーブ後の第2の尤度情報信号(図中のS12’に相当)並びに信号S3’を用いて復号を実行する。そして、第2の復号回路206は、復号結果を第1の尤度情報信号として出力する。出力された信号はデインタリーブ回路203によるデインタリーブが実行された後に、復号結果として外部に出力される。
ここで、インタリーブ処理やデインタリーブ処理は、データの並べ替えを行うための処理である。具体的にはインタリーブ処理により並び替えられたデータは、デインタリーブ処理によりその並びが元に戻りインタリーブ処理を施す前のデータの並びとなる。
また、これら処理を行う理由は、伝送路における誤りが或る時点で集中して起きる事象であるバースト誤りを、ランダム誤りへと変え、ターボ復号による誤り訂正能力を向上させるためである。
送信する側では、インタリーブ回路によって、規定のビット数のデータを一つのまとまりとしたブロックサイズKのデータを対象として、データのインタリーブ処理を行う。
並べ替えは、インタリーブ回路に入力されるビット順に対し、出力されるビット順を「(f1×i+f2×i)mod K」に該当するビット順とすることにより行われる。
ここで、f1及びf2はそれぞれブロックサイズKに応じて規定される任意の値である。また、iは情報ビットのインデックスである。iの取りうる値は、i=0,1,2…K−1である。
ここで、例えばLTEの規格では、データブロックKの取り得る範囲は、K=40〜6144である。また、データブロックKの取る得る値は188通りである。すなわち、LTEの規格ではインタリーブのパターンが188通り定義されている。
具体例として、ブロックサイズK=40を例とするとf1=3,f2=10と規定されている。そして、i=0,1,2…K−1のデータ順でインタリーブ回路に入力された情報ビットは、i=0,13,6,19…7というデータ順に並び替えられて送出される。
他方で、受信側に設けられたデインタリーブ回路は、このインタリーブ処理により並べ替えられたi=0,13,6,19…7というデータ順を元のデータ順であるi=0,1,2…K−1に戻す処理であるデインタリーブ処理を行う。
なお、このようなインタリーブ処理やデインタリーブ処理を行う通信装置の一例は、例えば特許文献1や特許文献2に記載がある。
特表2013−509824号公報 特表2012−503248号公報
"TS 36.212 Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and channel coding"、[online]、3GPP、[平成25年7月9日検索]、インターネット〈URL:http://www.3gpp.org/ftp/Specs/archive/36_series/36.212/〉
続いて、図3を参照してインタリーブ回路の一例について説明をする。図3に表されるインタリーブ回路300は、書き込みカウンタ301、読み出しカウンタ302、f1乗算器303、i乗算器304、f2乗算器305、加算器306、モジュロ演算回路(図中では「MODULO」と記載する。)307及びDual Port RAM308を含む。
書き込みカウンタ301はブロックサイズKのブロックの先頭を‘0’とし、情報ビットが入力される毎に値をインクリメントしてDual Port RAM308の書き込みアドレスの生成を行う。
他方、読み出しカウンタ302は、情報ビットの読み出し毎にカウンタをインクリメントして情報ビットインデックスであるiの生成を行う。
f1乗算器303は読み出しカウンタ302により生成されたiとKの値に応じて設定された値であるf1との乗算を行う乗算器であり、f1×iの算出を行う。
乗算器304は読み出しカウンタ302により生成されたiからiの生成を行う。
その後、f2乗算器305によりKの値に応じて設定された値であるf2とiの乗算を行う。
更に、加算器306が加算を行うことにより(f1×i+f2×i)の値を生成する。最後に、モジュロ演算回路307により(f1×i+f2×i)mod Kに対応する、Dual Port RAM308の読み出しアドレスを生成する。そして、書き込まれた情報ビットを、この読み出しアドレスに従って読み出すことでブロックデータに対するインタリーブ処理を行う。
続いて、図4を参照してデインタリーブ回路の一例について説明をする。図4に表されるデインタリーブ回路400は、書き込みカウンタ401、読み出しカウンタ402、f1乗算器403、i乗算器404、f2乗算器405、加算器406、モジュロ演算回路(図中では「MODULO」と記載する。)407及びDual Port RAM408を含む。
書き込みカウンタ401は、情報ビットの読み出し毎にカウンタをインクリメントして情報ビットインデックスであるiの生成を行う。
f1乗算器403は書き込みカウンタ401により生成されたiとKの値に応じて設定された値であるf1との乗算を行う乗算器であり、f1×iの算出を行う。
乗算器404は書き込みカウンタ401により生成されたiからiの生成を行う。
その後、f2乗算器405によりKの値に応じて設定された値であるf2とiの乗算を行う。
更に、加算器406が加算を行うことにより(f1×i+f2×i)の値を生成する。最後に、モジュロ演算回路407により(f1×i+f2×i)mod Kに対応する、Dual Port RAM408の書き込みアドレスを生成する。そして、この書き込みアドレスに従ってブロックサイズ分のデータ書き込みを行う。
読み出しカウンタ402が、読み出しデータ毎に値をインクリメントしながら行う。これによりデインタリーブ処理は実現される。
このように、インタリーブ処理及びデインタリーブ処理ではデータを並べ替えるためのアドレスを生成する点において共通する一方で、生成したアドレスを読み出しアドレスとするか、それとも書き込みアドレスとするかという点で相違する。
このインタリーブ処理及びデインタリーブ処理の何れにおいても、mod Kの計算処理を実現するためにモジュロの演算回路307が必要である。そして、このモジュロ演算回路307は比較回路及び減算回路を組み合わせた回路(以下、適宜「比較減算要素」と呼ぶ。)により実現される。
このモジュロ演算回路の規模について、LTEを例に取って具体的な検討を行う。LTEで規定される(f1×i+f2×i)の最大値を、2進数で表すと28bitが必要になる。また、Kが取りうる最大の値である6144を2進数で表すと13bitが必要となる。そのため、通常であればモジュロ演算回路には比較減算要素が多数必要となり、回路規模が多大なものとなる。
モジュロ演算回路を設ける場合の通常の回路構成例を図5に示す。初段の比較減算要素501−1は、13ビットで表されるブロックサイズKと、(f1×i+f2×i)を表す28ビットのうちの上位側の13ビットとを比較する。そして、初段の比較減算要素501は、(f1×i+f2×i)の上位13ビットにより示される値のほうがブロックサイズKよりも大きければ、(f1×i+f2×i)の上位13ビットにより示される値からブロックサイズKを差し引くための減算をして得た値を出力し、そうでなければ(f1×i+f2×i)の上位13ビットをそのまま次段の比較減算要素501−2に出力する。初段の比較減算要素501−1の出力は、12ビットで表される。次に、次段の比較減算要素501−2は、初段の比較減算要素501−1から入力した12ビットのLSB(least significant bit)よりも下位のビットとして、(f1×i+f2×i)の上位から14番目のビットを付加することにより13ビットを得て、初段の比較減算要素501−1と同様な演算処理を行う。この動作が(f1×i+f2×i)の最下位ビットまで繰り返し行われる。従って、比較減算要素501の必要数は、(f1×i+f2×i)を表すために必要なビット数からブロックサイズKを表すために必要なビット数の差に1を加算して得た数(この例では、28−13+1=16)となり、多数の比較減算要素で構成する必要がある。また、ソフトウェアで比較減算要素を構成するならば、比較減算演算をこの数だけ繰り返す必要がある。
このように多数の比較減算要素によってモジュロ演算回路を実現する場合には、回路規模が大きくなる。そこで、このような多数の比較減算要素を不要とし、回路規模を削減するための方法として、予め全てのブロックサイズによるインタリーブのパターンの全てをROM(Read Only Memory)などに保存しておく、という方法がある。しかし、この方法を用いると、多数のブロックサイズと、その情報インデックスごとのデータとを所有する必要があり、大規模なROMが必要となってしまう。
具体的には、このROMサイズは、すべてのブロックサイズKを加算した値355248に対し、Kの最大値6144を表すために必要なビット幅13bitを掛け合わせた値のROMの容量となる。すなわち、355248×13bit=4618224bitが必要となる。そのため、4618224bit以上の大規模な記憶容量のROMを用意する必要が生じてしまう。
そこで、本発明は、比較減算要素を削減することにより規模の大きいモジュロの演算回路を不要とし、且つ、記憶すべきROMサイズも減少させることにより、インタリーブ回路及びデインタリーブ回路における回路規模を縮小させることが可能な、アドレス生成回路、アドレス生成方法及びアドレス生成プログラムを提供することを目的とする。
本発明の第1の観点によれば、序数に第1の定数を乗じて得た第1の結果と前記序数の二乗に第2の定数を乗じて得た結果との和を所定の除数で除して得た剰余をアドレスとして生成するアドレス生成装置であって、前記第1の結果を前記除数で除することにより第1中間剰余を得る第1演算手段と、前記序数の所定の関数を前記除数で除することにより第2中間剰余を得る第2演算手段と、前記第1中間剰余と前記第2中間剰余との和を前記除数で除して最終剰余を得る第3演算手段と、を備え、前記最終剰余を前記アドレスとすることを特徴とするアドレス生成装置が提供される。
本発明の第2の観点によれば、序数に第1の定数を乗じて得た第1の結果と前記序数の二乗に第2の定数を乗じて得た結果との和を所定の除数で除して得た剰余をアドレスとして生成するアドレス生成方法であって、前記第1の結果を前記除数で除することにより第1中間剰余を得る第1演算ステップと、前記序数の所定の関数を前記除数で除することにより第2中間剰余を得る第2演算ステップと、前記第1中間剰余と前記第2中間剰余との和を前記除数で除して最終剰余を得る第3演算ステップと、を有し、前記最終剰余を前記アドレスとすることを特徴とするアドレス生成方法が提供される。
本発明によれば、比較減算要素を削減することにより規模の大きいモジュロの演算回路を不要とし、且つ、記憶すべきROMサイズも減少させることにより、インタリーブ回路及びデインタリーブ回路における回路規模を縮小させることが可能となる。
一般的な技術におけるターボ符号器の構成の具体例を表すブロック図である。 一般的な技術におけるターボ復号器の構成の具体例を表すブロック図である。 一般的な技術におけるインタリーブ回路の構成の具体例を表すブロック図である。 一般的な技術におけるデインタリーブ回路の構成の具体例を表すブロック図である。 一般的な技術におけるモジュロの演算回路の具体例を表すブロック図である。 本発明の実施形態の基本的構成の一つであるインタリーブ回路を表すブロック図である。 K/GCDの周期で巡回するデータ系列について表す表(1/6)である。 K/GCDの周期で巡回するデータ系列について表す表(2/6)である。 K/GCDの周期で巡回するデータ系列について表す表(3/6)である。 K/GCDの周期で巡回するデータ系列について表す表(4/6)である。 K/GCDの周期で巡回するデータ系列について表す表(5/6)である。 K/GCDの周期で巡回するデータ系列について表す表(6/6)である。 ブロックサイズK毎の、f1の値、f2の値、GCDの値、K/GCDの値、及びK/GCDの全てのブロックサイズ分を合計した値を表す表(1/6)である。 ブロックサイズK毎の、f1の値、f2の値、GCDの値、K/GCDの値、及びK/GCDの全てのブロックサイズ分を合計した値を表す表(2/6)である。 ブロックサイズK毎の、f1の値、f2の値、GCDの値、K/GCDの値、及びK/GCDの全てのブロックサイズ分を合計した値を表す表(3/6)である。 ブロックサイズK毎の、f1の値、f2の値、GCDの値、K/GCDの値、及びK/GCDの全てのブロックサイズ分を合計した値を表す表(4/6)である。 ブロックサイズK毎の、f1の値、f2の値、GCDの値、K/GCDの値、及びK/GCDの全てのブロックサイズ分を合計した値を表す表(5/6)である。 ブロックサイズK毎の、f1の値、f2の値、GCDの値、K/GCDの値、及びK/GCDの全てのブロックサイズ分を合計した値を表す表(6/6)である。 本発明の実施形態におけるROMのデータ構造の一例を表すイメージ図である。 本発明の実施形態の基本的構成の一つであるデインタリーブ回路を表すブロック図である。
まず、本発明の実施形態の概略を説明する。本発明の実施形態は、並べ替え処理を行うためのアドレス生成に関するものである。具体的な一例としては、LTEで用いるターボ符号化および復号のためのインタリーブ回路及びデインタリーブ回路に適用することができる。
本実施形態では、f2とKの最大公約数(GCD:greatest common divisor)を用いることでインタリーブ及びデインタリーブによる(f1×i+f2×i)mod Kの計算回路規模を縮小し、解決すべき課題を解決する。
より具体的に説明すると、上述したf2とKのGCDとKとにより割り出される値を利用することにより、周期的に繰り返される(周期巡回する)データパターンである周期パターンが得られ、その周期パターンを用いることにより、モジュロの演算することなく、簡易な計算回路でインタリーブを行うアドレス制御が行える。以上が本発明の実施形態の概略である。
続いて、図6を参照して本実施形態であるインタリーブ回路600について説明する。ここで、インタリーブ回路600は例えば図1に表されるインタリーブ回路104として利用することができる。
図6を参照するとインタリーブ回路600は、f1加算器601、f1比較減算器602、比較器603、f2算出カウンタ604、オフセット加算器605、ROM606、f1,f2加算器607、f1,f2比較減算器608、書き込みカウンタ609及びDual Port ROM610を含む。
ここで、本実施形態では、(f1×i+f2×i)mod Kの計算を実行するにあたり、f1×iの計算部とf2×iの計算部を分離して計算を行う。このように分離する場合は、まずf1×iの計算部が行う(f1×i)mod Kの計算と、f2×iの計算部が行う(f2×i)mod Kの計算に分離する。そして、両方の計算結果を足し合わせて、その結果得られる和に対してmod Kの計算を行う。
具体的には、f1×iの計算部はf1加算器601及びf1比較減算器602を含む。また、f2×iの計算部は、比較器603、f2算出カウンタ604、オフセット加算器605及びROM606を含む。更に、f1×iの計算部とf2×iの計算部それぞれの算出結果の加算をf1,f2加算器607で行い、加算により得られた和に対してf1,f2比較減算器608がmod Kの計算を行い、剰余を得る。そして、このようにして生成した剰余の数値をDual Port ROM610の読み出しアドレスとして利用する。
このようにした場合、f1×iの計算側では読み出す情報ビット毎にf1を加算していけばよく、この加算後の値がKの値以上であれば、加算後の値からKの値を減算すれば良い。このため、加算回路601と、f1比較減算回路602で、(f1×i)mod Kの計算を行うことができる。
他方、f2×iの計算側においても以下に説明するようにモジュロ演算回路の規模削減が可能である。
f2とKとのGCDの値を用いると、分離した(f2×i)mod Kの計算部分が、[f2×{imod(K/GCD)}]mod Kでも同様の結果が得ることができる。そして、{imod(K/GCD)}によって、iは、K/GCDの周期で巡回するデータ系列へと変化する。
従って、逐一(f2×i)mod Kの値を逐一算出するのではなく、予め計算した(f2×i)mod Kの値をROMにデータとして保管する。そして、今回処理対象としているデータのブロックサイズKに対応する(f2×i)mod Kの値を参照することで、大規模なモジュロ計算を用いることなく簡素な構成とすることが可能となる。この点、K/GCDが小さい値であればあるほどROMに保管すべきデータの容量を削減することが可能となる。
次に、iがK/GCDの周期で巡回するデータ系列へと変化しており、(f2×i)mod Kの値もK/GCDの周期で巡回するデータ系列であることについて、図7−1〜図7〜6に記載の表1の具体例を参照して説明する。
表1には、ブロックサイズK=6144,f1=263,f2=480の場合における各巡回データの系列を示す。この場合、f2とKのGCD(最大公約数)=96となる。そのため、K/GCD=64となる。
表1中の第1列には情報ビットのインデックスであるiの値を表す。
また、表1中の第2列には(f1×i+f2×i^2)mod Kによる正規手段での計算結果を表す。
他方、本実施形態により分割計算する(f1×i)mod Kの計算結果については表1中の第3列に表す。また、i^2mod(K/GCD)については表1中の第4列に表す。更に、(f2×i^2)mod (K/GCD)については表1中の第5列に表す。更に、表1中の第3列のf1×iの計算結果と、表1中の第5列の(f2×i^2)mod (K/GCD)を加算し、更に加算値にmod Kの計算を行った算出結果を表1中の第6列に表す。
なお、情報ビットi=0〜6143であるが、省略のためi=0乃至192まで記載する。i=193以降は同様の周期が繰り返される。
下記の表1を参照すると、例えば、i=0乃至63の第4列のi^2mod (K/GCD)の値及び第5列の(f2×i^2) mod (K/GCD)の値のグループが、i=64至127の第4列のi^2mod (K/GCD)の値及び第5列の(f2×i^2) mod (K/GCD)の値のグループと、一致している(すなわち、64行離れた位置にある第4列のi^2mod (K/GCD)の値及び第5列の(f2×i^2) mod (K/GCD)の値がそれぞれ一致しているので、K/GCD=64と一致する周期パターンであることが分かる。
表1はK=6144,f1=263,f2=480の例の値を示しているが、他のブロックサイズでも、同様に、K/GCDと一致する周期のパターンで第4列と第5列のデータが得られる。
次に、図8−1〜図8〜6に記載の表2を参照して説明を続ける。表2の第1列には、LTEにおけるインタリーブ及びデインタリーブの際のブロックサイズKの取り得る値を全て表す。また、第2列には、ブロックサイズKに対応したf1の値を表す。更に、第3列にはブロックサイズKに対応したとf2の値を表す。更に、第4列にはf2とKのGCDの値を表す。更に、第5列にはK/GCDの値を表す。また、最下行にK/GCDの全てのブロックサイズ分を合計した値を表す。
インタリーブのブロックサイズ毎のK/GCDを調べると、最小値は2であり、最大値は112である。また、ブロックサイズ毎のK/GCDを全ブロックサイズについて合わせると3304となる。従って、全てのブロックサイズに対して必要なビット数は、3304×13bit=42952bitとなり、約43kのROMがあれば構成することができる。このようなROMは、全てのブロックサイズKについての全ての(f2×i)mod Kが格納できる。
上記の13bitとはROMのアドレスに格納されるデータ幅であり、ブロックサイズKの最大値6144を表すために必要なビット幅に対応する。
すなわち本実施形態では全てのブロックサイズに対して必要なビット数が、本発明が解決しようとする課題の欄で述べた全てのブロックサイズKを加算した値355248に対し、Kの最大値6144を満たすビット幅13bitを掛け合わせた値である4618224bitに対して、42952bitとなり、記憶容量を約100分の1に削減することが可能となる。
次に、本実施形態の各部の動作について再度図6を参照して詳細に説明する。
まず、本実施形態ではインタリーブ回路の読み出しアドレスの計算をするための動作を開始する前に、CPUなどの制御部(図示を省略する)の指示に応じて以下のように情報の設定を行う。
書き込みカウンタ609は、ブロックの先頭を‘0’とし、入力データ毎に値をインクリメントしてDual Port ROM610の書き込みアドレスの生成を行う。そして、Dual Port ROM610は、生成されたアドレスのエントリに入力データの書き込みを行うことを、ブロックサイズK分のデータの書き込みが終了するまで行う。
ブロックサイズK分のデータ書き込みが完了すると、読み出し制御により、読み出しアドレスが、指定されたブロックサイズKに該当する生成式(f1×i+f2×i)mod Kに従ったアドレス順となるよう制御することで、インタリーブ処理を行う。この読み出しアドレスの計算が本実施形態の特徴となる。
ここで、本実施形態では、インタリーブの読み出しアドレスの計算手段として以下のように行う。
まず、第1の計算として(f1×i)の計算を行う。第1の計算を実行する回路は、f1加算器601とf1比較減算器602とを含む。
まず、情報ビットごとにf1加算器601においてf1の値の加算が行われる。
そして、f1比較減算器602が、f1加算器601による加算後の値をブロックサイズKと比較する。f1比較減算器602は、比較の結果、f1加算器601による加算後の値がブロックサイズK以上であれば、f1加算器601による加算後の値がブロックサイズKの値未満の値となるように、f1加算器601による加算後の値からブロックサイズKを減算した値を出力する。他方、f1比較減算器602は、f1加算器601による加算後の値が、ブロックサイズKの値未満であれば、f1加算器601による加算後の値をそのまま出力を行う。
このように、本実施形態では、第1の計算の段階で積算値がブロックサイズKを超えるたびに減算をしている。そのため、第1の計算結果と第2の計算結果とを加算後にf1,f2比較減算器608がmod Kの計算を行う際に、ブロックサイズKを減算する回数を削減することが可能となる。すなわち、回路全体として比較減算器の数を削減することが可能となる。
この点について具体的に説明する。まず、第1の計算部に含まれるf1比較減算器602では、ブロックサイズKを超えるたびに、ブロックサイズKを減算した値を出力している。そのため、f1加算器601の出力はブロックサイズKの最大値6144未満の値となることから最大でも6143となる。よって、f1加算器601の出力はブロックサイズKの最大値6143を表すために必要な13bitを超えることはない。例えば、表1に記載されているブロックサイズK=6144の場合を例に取ってみると、ROM606の出力はi=70のときの6122が最大である。
一方で、ROM606の出力は、(f2×i)mod Kを表す値であるが、この値もmod Kの計算が含まれているため、ブロックサイズKの最大値6144未満の値となることから最大でも6143となる。よって、ROM606の出力も、ブロックサイズKの最大値6143を表すために必要な13bitを超えることはない。例えば、表1に記載されているブロックサイズK=6144の場合を例に取ってみると、ROM606の出力はi=5等のときの5856が最大である。
従って、f1,f2比較減算器608における加算後の値は、加算前の値が最大でも6143+6143であることから最大でも122886である。また、f1,f2比較減算器608における加算後の最大値122886は、14bitあれば表すことが可能である。
そして、f1,f2比較減算器608がmod Kの計算を行う際に必要となる比較減算要素の必要数は、f1,f2比較減算器608における加算後の値を表すために必要なビット数からブロックサイズKを表すために必要なビット数の差に1を加算して得た数であるため、14−13+1=2となる。
また、f1比較減算器602の比較減算要素の必要数についても説明する。この点、f1比較減算器602が出力する値はブロックサイズK未満であるので最大でも6143である。また、f1の値は最大でも477である。従って、f1加算器601の出力は最大でも6143+477=6620となり13bitで表すことが可能である。
そして、f1比較減算器602がmod Kの計算を行う際に必要となる比較減算要素の必要数は、f1比較減算器602における加算後の値を表すために必要なビット数からブロックサイズKを表すために必要なビット数の差に1を加算して得た数であるため、13−13+1=1となる。
このように、本実施形態では回路全体で最大でも3つの比較減算要素があれば足りる。この点、発明が解決しようとする課題の欄にて述べた例では比較減算要素の必要数は16であることから、本実施形態では必要となる比較減算要素の数を大幅に削減できている。
次に、第2の計算として(f2×i)の計算を行う。ここで、第2の計算を実行する回路は、比較器603とf2算出カウンタ604とオフセット加算器605とROM606とを含む。
f2算出カウンタ604は、情報ビットごとにカウンタ値をインクリメントする。比較器603は、そのカウンタ値と該当するブロックサイズKの値に対し設定されたK/GCDの値を比較する。
比較器603は、比較の結果、f2算出カウンタ604のカウンタ値が設定値K/GCDと同じ値であればf2算出カウンタ604をリセットする。一方比較器603は、f2算出カウンタ604のカウンタ値が設定値K/GCD以外の値であれば、f2算出カウンタ604はリセットせずにインクリメントを行う。比較器603がこのように動作することから、f2算出カウンタ604のカウンタ値は、一つずつ増加していき、カウンタ値が、K/GCDの値となった場合には再度0からカウントされるというように周期的に変化していく。
オフセット加算器605は、f2算出カウンタ604のカウンタ値に、ROM606の該当するブロックサイズKに対応する先頭アドレスに対応するオフセット値を加算する。例えば、表2に従ってROM606にデータが格納されているならば、ブロックサイズKが40であれば、オフセット値はゼロである。オフセット加算器605の加算結果は、アドレスとしてROM606に入力される。ROM606は入力アドレスに対応する格納データの出力を行う。
この点について図9を参照して説明を行う。図9はROM606に格納されるデータのデータ構造を表すイメージ図である。
ROM606にはブロックサイズKが取りうる値のそれぞれについて、全ての(f2×i)mod Kの値が格納されている。今回Kの取りうる値はK=40、48、56…6144である。そして、例えば、K=40の場合、K/GCD=4である。すなわちK=40の場合4つの(f2×i)mod Kの値が一周期となり、(f2×i)mod Kはこの周期で巡回するデータ系列へと変化する。同様に、K=48の場合も、K/GCD=4である。
ここで、例えば今回K=48であり、f2算出カウンタ604のカウンタ値が2であったとする。この場合は、オフセットの値は4である。このオフセット値4によりK=48に対応するデータが格納されたアドレスの先頭アドレスであるアドレス4までオフセットがなされる。
そして、オフセット加算器605は、このオフセットの値4にカウント値2を加算して、加算値6をアドレスとしてROM606に入力する。結果として、ROM606は入力アドレスに対応する格納データとして、アドレス6に格納されているK=48のときの(f2×i)mod Kの第3の値が出力される。
上述したようにf2算出カウンタ604のカウンタ値は、リセットとインクリメントを繰り返すことにより0〜3の範囲で周期的に巡回する。結果として、K=48のときの(f2×i)mod Kの第1の値〜K=48のときの(f2×i)mod Kの第4の値が周期的に出力される。この出力される値が第2の計算の計算結果となる。
また、例えば図7−1〜図7−6に記載されている表1の例のようにK=6144であり、f2算出カウンタ604のカウンタ値が63であったとする。この場合は、オフセットの値は3239である。このオフセット値3239によりK=6144に対応するデータが格納されたアドレスの先頭アドレスであるアドレス3239までオフセットがなされる。
そして、オフセット加算器605は、このオフセットの値3239にカウント値63を加算して、加算値3303をアドレスとしてROM606に入力する。結果として、ROM606は入力アドレスに対応する格納データとして、アドレス3303に格納されているK=6144のときの(f2×i)mod Kの第64の値が出力される。
第1の計算と第2の計算で得られた値は、f1,f2加算器607により加算され、加算後の値はf1,f2比較減算器608へ入力される。
そして、f1,f2比較減算器608により、f1,f2加算器607から入力された値と、ブロックサイズKとが比較される、比較した結果、f1,f2加算器607から入力された値がブロックサイズK以上であればf1,f2加算器607から入力された値からブロックサイズKを減算した値をDual Port ROM610の読み出しアドレスとして出力する。一方で、f1,f2加算器607から入力された値が、ブロックサイズKの値未満であれば、f1,f2加算器607から入力された値をそのままDual Port ROM610の読み出しアドレスとして出力する。
これによりインタリーブ側の読み出しアドレスが生成され、該当アドレスに格納されたデータの読み出しをブロックサイズ分読み出すことでインタリーブの動作が行われる。
ここで、上述の説明は、本実施形態をインタリーブ回路に適用する場合の説明である。もっとも、本実施形態は、書き込みアドレスと読み出しアドレスの生成方法をインタリーブ回路と逆の構成で生成することにより、ターボ復号器に用いられるデインタリーブ回路に適用することも可能である。
このように、本実施形態をデインタリーブ回路に適用する場合について図10を参照して説明する。ここで、本デインタリーブ回路は例えば図2に表されるインタリーブ回路203として利用することができる。
図10を参照すると本インタリーブ回路は、f1加算器701、f1比較減算器702、比較器703、f2算出カウンタ704、オフセット加算器705、ROM706、f1,f2加算器707、f1,f2比較減算器708、読み出しカウンタ709及びDual Port RAM710を含む。
これら、f1加算器701、f1比較減算器702、比較器703、f2算出カウンタ704、オフセット加算器705、ROM706、f1,f2加算器707及びf1,f2比較減算器708は、上述したf1加算器601、f1比較減算器602、比較器603、f2算出カウンタ604、オフセット加算器605、ROM606、f1,f2加算器607及びf1,f2比較減算器608と同様の処理を行い、指定されたブロックサイズKに該当する生成式(f1×i+f2×i)mod Kに従ったアドレスを生成する。
そして、生成したアドレスを書き込みアドレスとして、Dual Port RAM710にブロックサイズ分のデータ書き込みを実行する。そして、書き込みが完了後、読み出しデータ毎に値をインクリメントするアドレスカウンタである読み出しカウンタ709が読み出しを実行する。これによりデインタリーブ処理を実現することが可能となる。
以上説明した本実施形態である図6に表されるインタリーブ回路及び図10に表されるデインタリーブ回路は、予めROMに記憶しておくデータ量を削減できるため、小さな記憶容量のROMにて処理を実現することが可能となる、という効果を奏する。更に、以上説明した本実施形態である図6に表されるインタリーブ回路及び図10に表されるデインタリーブ回路は、規模の大きいモジュロの演算回路が不要となり、大幅な計算回路の規模縮小が可能となる、という効果を奏する。
その理由は、{f2×i^2mod(K/GCD)}の周期性を利用することにより記憶しておくべき値を削減することから、全てのインデックスi分を記憶しておく必要が無くなるからである。一方で周期性の無い値、f1×i mod Kに関しては逐一算出する。そして、これらを加算することによりモジュラ回路が不要となるからである。
なお、図6に表されるインタリーブ回路と図10に表されるデインタリーブ回路のそれぞれ一部は、本願発明の「アドレス生成回路」に相当する。
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
例えば、上述した実施形態の説明では、ROMに全ブロックサイズのパターンによるデータを書き込んでいることを前提に説明を行った。このため上述した実施形態では、図9を参照して説明したようにオフセット値を与えて加算することで、該当するブロックサイズにおけるデータ格納部の先頭アドレスまでシフトする動作を行っていた。しかし、これを例えば以下の第1及び第2の変形例のように変形することも考えられる。
まず、第1の変形例として、このオフセット値及びオフセット加算器605を用いないことも可能である。この場合には、通信開始前に該当ブロックサイズKに対応する(f2×i)mod Kの値を一周期分のみをROMに書き込む。すなわち、ROMの先頭アドレスから、該当ブロックサイズKに対応する(f2×i)mod Kの値を一周期分のみ書き込む。これにより、オフセット値及びオフセット加算器605を用いる必要が無くなる。
続いて第2の変形例として、ROMではなくフリップフロップ(FF:Flip Flop)などにより該当データを通信期間だけ保持させ、書き込みカウンタ609のカウント値により選択する動作も同様な処置となる。
上述の説明では、LTEの規格に準拠したターボ符号化及びターボ復号におけるインタリーブ処理及びデインタリーブ処理を例に取って説明した。もっとも、LTE以外の規格であっても、本発明の趣旨を逸脱しない範囲であればLTE以外の他の規格に適用することも可能である。
更に、上記のインタリーブ回路及びデインタリーブ回路は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のインタリーブ回路及びデインタリーブ回路により行なわれるインタリーブ関連処理方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
序数に第1の定数を乗じて得た第1の結果と前記序数の二乗に第2の定数を乗じて得た結果との和を所定の除数で除して得た剰余をアドレスとして生成するアドレス生成装置であって、
前記第1の結果を前記除数で除することにより第1中間剰余を得る第1演算手段と、
前記序数の所定の関数を前記除数で除することにより第2中間剰余を得る第2演算手段と、
前記第1中間剰余と前記第2中間剰余との和を前記除数で除して最終剰余を得る第3演算手段と、
を備え、
前記最終剰余を前記アドレスとすることを特徴とするアドレス生成装置。
(付記2)
付記1に記載のアドレス生成装置であって、
前記第2演算手段は、
前記序数を、前記第2の定数と前記除数により定まる所定の数値により除することにより第3中間剰余を得る手段と、
前記第3中間剰余と前記第2中間剰余との対応関係を保持した記憶手段を備え、
前記第3中間剰余をキーとして前記記憶手段を参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成装置。
(付記3)
付記2に記載のアドレス生成装置であって、
前記第3中間剰余を得る手段は、
前記序数をカウントして、カウント値を前記第3中間剰余として出力するカウンタと、
前記第3中間剰余が前記所定の数値に達したときに前記カウンタをリセットする手段と、
を備えることを特徴とするアドレス生成装置。
(付記4)
付記2又は3に記載のアドレス生成装置であって、
前記所定の数値とは、前記第2の定数と前記除数との最大公約数により前記除数を除することにより得た商であることを特徴とするアドレス生成装置。
(付記5)
付記2乃至4の何れか1に記載のアドレス生成装置であって、
前記第2演算手段は、前記記憶手段中の前記所定の除数に対応した前記第2中間剰余が格納されている位置まで参照位置を移動させた上で、前記第3中間剰余をキーとして前記記憶手段を参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成装置。
(付記6)
付記1乃至5の何れか1に記載のアドレス生成装置であって、
前記第1演算手段は、
比較減算器が得た前記第1中間剰余に前記第1の定数を加算して、それにより得た和を前記比較減算器に出力する加算器と、
前記加算器から入力した前記和と前記第1の定数に対して比較減算を行うことにより前記第1中間剰余を得る前記比較減算器と、
を備えることを特徴とするアドレス生成装置。
(付記7)
付記1乃至6の何れか1に記載のアドレス生成装置と、
入力したデータを書き込みアドレスに従って記憶し、記憶したデータを読み出しアドレスに従って読み出して出力する記憶手段であって、前記序数を、前記書き込みアドレス及び前記読み出しアドレスのうちの一方として使用し、前記アドレス生成装置が生成したアドレスを前記書き込みアドレス及び前記読み出しアドレスのうちの他方として使用する記憶手段と、
を備えることを特徴とするデータ並べ替え装置。
(付記8)
序数に第1の定数を乗じて得た第1の結果と前記序数の二乗に第2の定数を乗じて得た結果との和を所定の除数で除して得た剰余をアドレスとして生成するアドレス生成方法であって、
前記第1の結果を前記除数で除することにより第1中間剰余を得る第1演算ステップと、
前記序数の所定の関数を前記除数で除することにより第2中間剰余を得る第2演算ステップと、
前記第1中間剰余と前記第2中間剰余との和を前記除数で除して最終剰余を得る第3演算ステップと、
を有し、
前記最終剰余を前記アドレスとすることを特徴とするアドレス生成方法。
(付記9)
付記8に記載のアドレス生成方法であって、
前記第2演算ステップは、
前記序数を、前記第2の定数と前記除数により定まる所定の数値により除することにより第3中間剰余を得るステップと、
前記第3中間剰余と前記第2中間剰余との対応関係を保持した記憶手段を参照するステップを含み、
前記第3中間剰余をキーとして前記記憶手段を参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成方法。
(付記10)
付記9に記載のアドレス生成方法であって、
前記第3中間剰余を得るステップは、
前記序数をカウントして、カウント値を前記第3中間剰余として出力するカウンタと、
前記第3中間剰余が前記所定の数値に達したときに前記カウンタをリセットするステップと、
を含むことを特徴とするアドレス生成方法。
(付記11)
付記9又は10に記載のアドレス生成方法であって、
前記所定の数値とは、前記第2の定数と前記除数との最大公約数により前記除数を除することにより得た商であることを特徴とするアドレス生成方法。
(付記12)
付記9乃至11の何れか1に記載のアドレス生成方法であって、
前記第2演算ステップは、前記記憶手段中の前記所定の除数に対応した前記第2中間剰余が格納されている位置まで参照位置を移動させた上で、前記第3中間剰余をキーとして前記記憶ステップを参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成方法。
(付記13)
付記8乃至12の何れか1に記載のアドレス生成方法であって、
前記第1演算ステップは、
比較減算器が得た前記第1中間剰余に前記第1の定数を加算して、それにより得た和を前記比較減算器に加算器を使用して出力するステップと、
前記比較減算器が、前記加算器から入力した前記和と前記第1の定数に対して比較減算を行うことにより前記第1中間剰余を得るステップと、
を含むことを特徴とするアドレス生成方法。
(付記14)
付記8乃至13の何れか1に記載のアドレス生成方法に加え、
入力したデータを書き込みアドレスに従って記憶し、記憶したデータを読み出しアドレスに従って読み出して出力する記憶ステップであって、前記序数を、前記書き込みアドレス及び前記読み出しアドレスのうちの一方として使用し、前記アドレス生成方法が生成したアドレスを前記書き込みアドレス及び前記読み出しアドレスのうちの他方として使用する記憶ステップと、
を含むことを特徴とするデータ並べ替え方法。
(付記15)
LTE(Long Term Evolution 3GPP TS 36.212)で用いるターボ符号化および復号のためのインタリーブ回路においてGCD(最大公約数)を用いて得られる周期巡回するデータ系列を用いてインタリーブに用いるDual Port RAMのアドレス生成を行うインタリーブ回路。
(付記16)
付記15記載のインタリーブ回路であって、前記周期巡回するデータをROMに格納し、情報ビットi(0,1,2...K−1の任意の値)から読み出しすることでインタリーブのアドレス生成を行うインタリーブ回路。
本発明は、インタリーブ処理及びデインタリーブ処理に好適である。
101 ターボ符号器
102 符号化回路1
103 符号化回路2
104 インタリーブ回路
105 送信機
201 受信機
202 ターボ復号器
203 デインタリーブ回路
204 第1の復号回路
205 インタリーブ回路
206 第2の復号回路
207 デマルチプレクサ
300 インタリーブ回路
301 書き込みカウンタ
302 読み出しカウンタ
303 f1乗算器
304 i乗算器
305 f2乗算器
306 加算器
307 モジュロ演算回路
308 Dual Port RAM
400 デインタリーブ回路
401 書き込みカウンタ
402 読み出しカウンタ
403 f1乗算器
404 i乗算器
405 f2乗算器
406 加算器
407 モジュロ演算回路
408 Dual Port RAM
501 モジュロ演算の比較減算要素
601 f1加算器
602 f1比較減算器
603 比較器
604 f2算出カウンタ
605 オフセット加算器
606 ROM
607 f1,f2加算器
608 f1,f2比較減算器
609 書き込みカウンタ
610 Dual Port RAM
701 f1加算器
702 f1比較減算器
703 比較器
704 f2算出カウンタ
705 オフセット加算器
706 ROM
707 f1,f2加算器
708 f1,f2比較減算器
709 読み出しカウンタ
710 Dual Port RAM

Claims (7)

  1. 序数に第1の定数を乗じて得た第1の結果と前記序数の二乗に第2の定数を乗じて得た結果との和を所定の除数で除して得た剰余をアドレスとして生成するアドレス生成装置であって、
    前記第1の結果を前記除数で除することにより第1中間剰余を得る第1演算手段と、
    前記序数の所定の関数を前記除数で除することにより第2中間剰余を得る第2演算手段と、
    前記第1中間剰余と前記第2中間剰余との和を前記除数で除して最終剰余を前記アドレスとして得る第3演算手段と、
    を備え、
    前記第2演算手段は、
    前記序数を、前記第2の定数と前記除数により定まる所定の数値により除することにより第3中間剰余を得る手段と、
    前記第3中間剰余と前記第2中間剰余との対応関係を保持した記憶手段を備え、
    前記第3中間剰余をキーとして前記記憶手段を参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成装置。
  2. 請求項に記載のアドレス生成装置であって、
    前記第3中間剰余を得る手段は、
    前記序数をカウントして、カウント値を前記第3中間剰余として出力するカウンタと、
    前記第3中間剰余が前記所定の数値に達したときに前記カウンタをリセットする手段と、
    を備えることを特徴とするアドレス生成装置。
  3. 請求項又はに記載のアドレス生成装置であって、
    前記所定の数値とは、前記第2の定数と前記除数との最大公約数により前記除数を除することにより得た商であることを特徴とするアドレス生成装置。
  4. 請求項乃至の何れか1項に記載のアドレス生成装置であって、
    前記第2演算手段は、前記記憶手段中の前記所定の除数に対応した前記第2中間剰余が格納されている位置まで参照位置を移動させた上で、前記第3中間剰余をキーとして前記記憶手段を参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成装置。
  5. 請求項1乃至の何れか1項に記載のアドレス生成装置であって、
    前記第1演算手段は、
    比較減算器が得た前記第1中間剰余に前記第1の定数を加算して、それにより得た和を前記比較減算器に出力する加算器と、
    前記加算器から入力した前記和と前記第1の定数に対して比較減算を行うことにより前記第1中間剰余を得る前記比較減算器と、
    を備えることを特徴とするアドレス生成装置。
  6. 請求項1乃至の何れか1項に記載のアドレス生成装置と、
    入力したデータを書き込みアドレスに従って記憶し、記憶したデータを読み出しアドレスに従って読み出して出力する記憶手段であって、前記序数を、前記書き込みアドレス及び前記読み出しアドレスのうちの一方として使用し、前記アドレス生成装置が生成したアドレスを前記書き込みアドレス及び前記読み出しアドレスのうちの他方として使用する記憶手段と、
    を備えることを特徴とするデータ並べ替え装置。
  7. 序数に第1の定数を乗じて得た第1の結果と前記序数の二乗に第2の定数を乗じて得た結果との和を所定の除数で除して得た剰余をアドレスとして生成するアドレス生成方法であって、
    前記第1の結果を前記除数で除することにより第1中間剰余を得る第1演算ステップと、
    前記序数の所定の関数を前記除数で除することにより第2中間剰余を得る第2演算ステップと、
    前記第1中間剰余と前記第2中間剰余との和を前記除数で除して最終剰余を前記アドレスとして得る第3演算ステップと、
    を有し、
    前記第2演算ステップは、
    前記序数を、前記第2の定数と前記除数により定まる所定の数値により除することにより第3中間剰余を得るステップと、
    前記第3中間剰余と前記第2中間剰余との対応関係を保持した記憶手段を参照するステップとを有し、
    前記第3中間剰余をキーとして前記記憶手段を参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成方法。
JP2013168857A 2013-08-15 2013-08-15 アドレス生成回路及びアドレス生成方法 Active JP6193051B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013168857A JP6193051B2 (ja) 2013-08-15 2013-08-15 アドレス生成回路及びアドレス生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013168857A JP6193051B2 (ja) 2013-08-15 2013-08-15 アドレス生成回路及びアドレス生成方法

Publications (2)

Publication Number Publication Date
JP2015037277A JP2015037277A (ja) 2015-02-23
JP6193051B2 true JP6193051B2 (ja) 2017-09-06

Family

ID=52687573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013168857A Active JP6193051B2 (ja) 2013-08-15 2013-08-15 アドレス生成回路及びアドレス生成方法

Country Status (1)

Country Link
JP (1) JP6193051B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6851039B2 (en) * 2002-09-30 2005-02-01 Lucent Technologies Inc. Method and apparatus for generating an interleaved address
JP4182226B2 (ja) * 2005-08-24 2008-11-19 国立大学法人名古屋大学 剰余系の計算方法及び装置並びにプログラム
US7949926B2 (en) * 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US7873893B2 (en) * 2007-02-28 2011-01-18 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
CN103401648B (zh) * 2007-09-25 2017-05-31 爱立信电话股份有限公司 控制信道单元的干扰随机化
KR101286021B1 (ko) * 2012-02-02 2013-07-19 주식회사 이노와이어리스 인터리버 인덱스 생성장치 및 방법

Also Published As

Publication number Publication date
JP2015037277A (ja) 2015-02-23

Similar Documents

Publication Publication Date Title
JP4602406B2 (ja) データをエンコード及びデコードするための方法並びに装置
BR112016019084B1 (pt) Aparelho transmissor, e método de intercalação de um aparelho transmissor
CN110999095B (zh) 用于极化码的按块并行冻结位生成
KR20160105311A (ko) 가변 길이 시그널링 정보 부호화를 위한 패리티 인터리빙 장치 및 이를 이용한 패리티 인터리빙 방법
US9312884B2 (en) Double QC-LDPC code
KR20160105309A (ko) 가변 길이 시그널링 정보 부호화를 위한 패리티 펑처링 장치 및 이를 이용한 패리티 펑처링 방법
WO2016050323A1 (en) Method and device for calculating a crc code in parallel
JP4847628B2 (ja) 線形ブロック符号に基づいて符号化する方法及び装置
JP7047092B2 (ja) 階段コードの復号化方法、装置および記憶媒体
US20100241911A1 (en) Address generator of communication data interleaver and communication data decoding circuit
JP2008154298A (ja) 低密度パリティ検査(ldpc)デコーダに応用する演算方法、及び、その回路
US20110087949A1 (en) Reconfigurable turbo interleavers for multiple standards
JP6193051B2 (ja) アドレス生成回路及びアドレス生成方法
JP2009246474A (ja) ターボデコーダ
US11362679B2 (en) Method and apparatus for generating redundant bits for error detection
CN109951250B (zh) 通信信号的ldpc编码方法和装置
US8296627B2 (en) Address generation apparatus and method of data interleaver/deinterleaver
WO2024106297A1 (ja) ターボ符号設計方法、ターボ符号設計装置およびターボ符号設計プログラムを格納する記録媒体
US20110060963A1 (en) Method and apparatus for interleaving a data stream using quadrature permutation polynomial functions (qpp)
KR20090030378A (ko) 이동통신 시스템에서 블럭 인터리빙을 위한 장치 및 방법
CN111600613B (zh) 一种校验方法、装置、译码器、接收机及计算机存储介质
WO2018184672A1 (en) Construction of ldpc convolutional turbo codes
Upadhyaya et al. Design of FPGA-Based QPP Interleaver for LTE/LTE-Advanced Application
TW201810960A (zh) 具對數計算功能的解碼模組
JP2010041628A (ja) 符号化装置、符号化方法および符号化プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160708

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160923

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170404

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170512

TRDD Decision of grant or rejection written
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170711

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170809

R150 Certificate of patent or registration of utility model

Ref document number: 6193051

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150