JP2015037277A - Address generation circuit and address generation method - Google Patents

Address generation circuit and address generation method Download PDF

Info

Publication number
JP2015037277A
JP2015037277A JP2013168857A JP2013168857A JP2015037277A JP 2015037277 A JP2015037277 A JP 2015037277A JP 2013168857 A JP2013168857 A JP 2013168857A JP 2013168857 A JP2013168857 A JP 2013168857A JP 2015037277 A JP2015037277 A JP 2015037277A
Authority
JP
Japan
Prior art keywords
address
remainder
value
divisor
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.)
Granted
Application number
JP2013168857A
Other languages
Japanese (ja)
Other versions
JP6193051B2 (en
Inventor
幸洋 伊藤
Koyo Ito
幸洋 伊藤
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 Engineering Ltd
Original Assignee
NEC Engineering 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 Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2013168857A priority Critical patent/JP6193051B2/en
Publication of JP2015037277A publication Critical patent/JP2015037277A/en
Application granted granted Critical
Publication of JP6193051B2 publication Critical patent/JP6193051B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce the circuit scale of an interleaving circuit and a de-interleaving circuit by reducing comparison/subtraction elements and thus dispensing with a large scale modulo operation circuit and also by reducing a ROM size to be stored.SOLUTION: An address generation device for dividing, by a predetermined divisor, the sum of a first result of multiplication of an ordinal number by a first constant and a result of multiplication of the square of the ordinal number by a second constant to generate a remainder as an address includes: first arithmetic means for dividing the first result by the divisor to produce a first intermediate remainder; second arithmetic means for dividing a predetermined function of the ordinal number by the divisor to produce a second intermediate remainder; and third arithmetic means for dividing the sum of the first intermediate remainder and the second intermediate remainder by the divisor to produce a final remainder. The final remainder is the address.

Description

本発明は、アドレスを生成するための、アドレス生成回路及びアドレス生成方法に関する。   The present invention relates to an address generation circuit and an address generation method for generating an address.

携帯電話機等によって無線通信を行う場合、信号を送受信するに際してターボ符号が広く用いられている。例えば、3GPP(Third Generation Partnership Project)プロジェクトに参加する標準化団体により標準化されている規格であるLTE(Long Term Evolution)による通信時にターボ符号が用いられる(非特許文献1参照)。   When wireless communication is performed using a mobile phone or the like, turbo codes are widely used for transmitting and receiving signals. For example, a turbo code is used at the time of communication by LTE (Long Term Evolution) which is a standard standardized by a standardization organization participating in a 3GPP (Third Generation Partnership Project) project (see Non-Patent Document 1).

このターボ符号による符号化及び復号化では、インタリーブ回路(「インタリーバ」と呼ばれることもある)によるインタリーブ処理及びデインタリーブ回路(「デインタリーバ」と呼ばれることもある)によるデインタリーブ処理が実施される。これらの処理について図を参照して説明する。   In the encoding and decoding by the turbo code, an interleaving process by an interleave circuit (sometimes referred to as “interleaver”) and a deinterleave process by a deinterleave circuit (sometimes called “deinterleaver”) are performed. These processes will be described with reference to the drawings.

まず、図1にはターボ符号器の基本的構成が表されている。図1を参照するとターボ符号器101は、第1の符号化回路102、第2の符号化回路103及びインタリーブ回路104を含む。   First, FIG. 1 shows a basic configuration of a turbo encoder. Referring to FIG. 1, the turbo encoder 101 includes a first encoding circuit 102, a second encoding circuit 103, and an interleave circuit 104.

また、ターボ符号器101は送信機105と接続している。そして、ターボ符号器101に入力された信号は、3つのルートを介して送信機105に対して出力される。   The turbo encoder 101 is connected to the transmitter 105. The signal input to the turbo encoder 101 is output to the transmitter 105 through three routes.

具体的には、入力された信号を送信機105にそのまま出力するルート(出力は図中のS1に相当)、入力された信号を第1の符号化回路102を経て送信機105に出力するルート(出力は図中のS2に相当)、及び、入力された信号についてインタリーブ回路104により入力データの並び替えを行った後に第2の符号化回路103を経て送信機105に出力するルート(出力は図中のS3’に相当、なお、図中及び以下の説明においても、インタリーブ処理後の信号については、その信号がインタリーブ処理後の信号であることを表すために符号に「’」を付す。)、の3つである。そして送信機105は、これら3ルートの信号を多重化する。具体的には、信号S1をペイロードとし、信号S2及び信号S3’をパリティビットとしたデータとして多重化する。そして、送信機105が、多重化後のデータを通信先の装置に対して送出することにより通信が行われる。   Specifically, a route for outputting the input signal as it is to the transmitter 105 (output corresponds to S1 in the figure), and a route for outputting the input signal to the transmitter 105 via the first encoding circuit 102. (The output corresponds to S2 in the figure), and a route (output is output to the transmitter 105 via the second encoding circuit 103 after the input data is rearranged by the interleave circuit 104 for the input signal. Corresponding to S3 ′ in the figure, in the figure and in the following description, the signal after the interleaving process is denoted by “′” to indicate that the signal is the signal after the interleaving process. 3). The transmitter 105 multiplexes these three route signals. Specifically, the signal S1 is multiplexed as payload, and the signal S2 and the signal S3 'are multiplexed as parity bits. Then, the transmitter 105 performs communication by sending the multiplexed data to the communication destination device.

次に、図2を参照して、送信機105が信号(図中のS1〜S3’に相当)を送出した通信先の装置に含まれるターボ復号器及び受信機について説明する。図2を参照すると、ターボ復号器202は、デインタリーブ回路203、第1の復号回路204、インタリーブ回路205、第2の復号回路206及びデマルチプレクサ207を含む。また、ターボ復号器202は受信機201と接続されている。   Next, a turbo decoder and a receiver included in a communication destination apparatus to which the transmitter 105 has transmitted a signal (corresponding to S1 to S3 'in the figure) will be described with reference to FIG. Referring to FIG. 2, the turbo decoder 202 includes a deinterleave circuit 203, a first decode circuit 204, an interleave circuit 205, a second decode circuit 206, and a demultiplexer 207. The turbo decoder 202 is connected to the receiver 201.

受信機201は送信機105が送出した信号(図中のS1〜S3’に相当)を受信する。そして受信機201は、受信した信号のうち、ペイロードである信号S1を第1の復号回路204に入力する。また、受信機201は、受信した信号のうち、パリティビットである信号S2及びS3’をデマルチプレクサ207に入力する。   The receiver 201 receives a signal (corresponding to S1 to S3 'in the drawing) sent from the transmitter 105. Then, the receiver 201 inputs the signal S <b> 1 that is a payload among the received signals to the first decoding circuit 204. In addition, the receiver 201 inputs signals S 2 and S 3 ′ that are parity bits among the received signals to the demultiplexer 207.

デインタリーブ回路203は、前回の繰返し復号処理により得られている第1の尤度情報信号(図中のS11に相当)の並び順を元に戻す処理であるデインタリーブを実行する。   The deinterleaving circuit 203 executes deinterleaving, which is a process for returning the arrangement order of the first likelihood information signals (corresponding to S11 in the figure) obtained by the previous iterative decoding process.

次に、第1の復号回路204は、信号S1、信号S2、及びデインタリーブ回路203が出力するデインタリーブ後の第1の尤度情報信号(図中のS11に相当)を用いて復号を実行する。   Next, the first decoding circuit 204 performs decoding using the signal S1, the signal S2, and the first likelihood information signal after deinterleaving output from the deinterleaving circuit 203 (corresponding to S11 in the figure). To do.

そして、第1の復号回路204は、復号結果を第2の尤度情報信号(図中のS12に相当)としてインタリーブ回路205に対して出力する。併せて第1の復号回路204は、信号S1をインタリーブ回路205に対して出力する。   Then, the first decoding circuit 204 outputs the decoding result to the interleaving circuit 205 as a second likelihood information signal (corresponding to S12 in the figure). In addition, the first decoding circuit 204 outputs the signal S1 to the interleave circuit 205.

次に、インタリーブ回路205は、第1の復号回路204が出力する第2の尤度情報信号(図中のS12に相当)及び信号S1に対して並び替え処理であるインタリーブを実行する。   Next, the interleaving circuit 205 performs interleaving, which is a rearrangement process, on the second likelihood information signal (corresponding to S12 in the figure) output from the first decoding circuit 204 and the signal S1.

第2の復号回路206は、インタリーブ回路205が出力するインタリーブ後の信号S1’及びインタリーブ後の第2の尤度情報信号(図中のS12’に相当)並びに信号S3’を用いて復号を実行する。そして、第2の復号回路206は、復号結果を第1の尤度情報信号として出力する。出力された信号はデインタリーブ回路203によるデインタリーブが実行された後に、復号結果として外部に出力される。   Second decoding circuit 206 performs decoding using interleaved signal S1 ′ output from interleaving circuit 205, second likelihood information signal after interleaving (corresponding to S12 ′ in the figure), and signal S3 ′. To do. Then, the second decoding circuit 206 outputs the decoding result as a first likelihood information signal. The output signal is output to the outside as a decoding result after being deinterleaved by the deinterleave circuit 203.

ここで、インタリーブ処理やデインタリーブ処理は、データの並べ替えを行うための処理である。具体的にはインタリーブ処理により並び替えられたデータは、デインタリーブ処理によりその並びが元に戻りインタリーブ処理を施す前のデータの並びとなる。   Here, the interleaving process and the deinterleaving process are processes for rearranging data. Specifically, the data rearranged by the interleaving process is restored to the original order by the deinterleaving process and becomes the data array before the interleaving process is performed.

また、これら処理を行う理由は、伝送路における誤りが或る時点で集中して起きる事象であるバースト誤りを、ランダム誤りへと変え、ターボ復号による誤り訂正能力を向上させるためである。   The reason for performing these processes is to improve the error correction capability by turbo decoding by changing the burst error, which is an event in which errors in the transmission path are concentrated at a certain point of time, into a random error.

送信する側では、インタリーブ回路によって、規定のビット数のデータを一つのまとまりとしたブロックサイズKのデータを対象として、データのインタリーブ処理を行う。   On the transmitting side, the interleaving circuit performs data interleaving processing on data of a block size K in which a predetermined number of bits of data are grouped.

並べ替えは、インタリーブ回路に入力されるビット順に対し、出力されるビット順を「(f1×i+f2×i)mod K」に該当するビット順とすることにより行われる。 The rearrangement is performed by setting the output bit order to the bit order corresponding to “(f1 × i + f2 × i 2 ) mod K” with respect to the bit order input to the interleave circuit.

ここで、f1及びf2はそれぞれブロックサイズKに応じて規定される任意の値である。また、iは情報ビットのインデックスである。iの取りうる値は、i=0,1,2…K−1である。   Here, f1 and f2 are arbitrary values defined according to the block size K, respectively. I is an index of information bits. Possible values of i are i = 0, 1, 2,... K−1.

ここで、例えばLTEの規格では、データブロックKの取り得る範囲は、K=40〜6144である。また、データブロックKの取る得る値は188通りである。すなわち、LTEの規格ではインタリーブのパターンが188通り定義されている。   Here, for example, in the LTE standard, the range that the data block K can take is K = 40 to 6144. There are 188 possible values for the data block K. That is, in the LTE standard, 188 interleave patterns are defined.

具体例として、ブロックサイズK=40を例とするとf1=3,f2=10と規定されている。そして、i=0,1,2…K−1のデータ順でインタリーブ回路に入力された情報ビットは、i=0,13,6,19…7というデータ順に並び替えられて送出される。   As a specific example, if the block size K = 40 is taken as an example, it is defined that f1 = 3 and f2 = 10. The information bits input to the interleave circuit in the data order of i = 0, 1, 2,... K−1 are rearranged in the data order of i = 0, 13, 6, 19.

他方で、受信側に設けられたデインタリーブ回路は、このインタリーブ処理により並べ替えられたi=0,13,6,19…7というデータ順を元のデータ順であるi=0,1,2…K−1に戻す処理であるデインタリーブ処理を行う。   On the other hand, the deinterleave circuit provided on the receiving side uses the data order i = 0, 13, 6, 19... 7 rearranged by this interleaving process as the original data order, i = 0, 1, 2. ... Deinterleaving is performed to return to K-1.

なお、このようなインタリーブ処理やデインタリーブ処理を行う通信装置の一例は、例えば特許文献1や特許文献2に記載がある。   An example of a communication device that performs such interleaving and deinterleaving is described in, for example, Patent Document 1 and Patent Document 2.

特表2013−509824号公報Special table 2013-509824 gazette 特表2012−503248号公報Special table 2012-503248 gazette

“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/〉“TS 36.212 Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and channel coding”, [online], 3GPP, [searched on July 9, 2013], Internet <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を含む。 Next, an example of an interleave circuit will be described with reference to FIG. Interleaving circuit 300 represented in Figure 3, write counter 301, a read counter 302, f1 multiplier 303, i 2 multiplier 304, f2 multiplier 305, adder 306, a modulo operation circuit (in the figure as "MODULO" 307) and Dual Port RAM 308.

書き込みカウンタ301はブロックサイズKのブロックの先頭を‘0’とし、情報ビットが入力される毎に値をインクリメントしてDual Port RAM308の書き込みアドレスの生成を行う。   The write counter 301 sets the head of a block of block size K to “0” and increments the value every time an information bit is input to generate a write address of the dual port RAM 308.

他方、読み出しカウンタ302は、情報ビットの読み出し毎にカウンタをインクリメントして情報ビットインデックスであるiの生成を行う。   On the other hand, the read counter 302 increments the counter every time information bits are read and generates i as an information bit index.

f1乗算器303は読み出しカウンタ302により生成されたiとKの値に応じて設定された値であるf1との乗算を行う乗算器であり、f1×iの算出を行う。   The f1 multiplier 303 is a multiplier that multiplies i generated by the read counter 302 by f1 that is a value set according to the value of K, and calculates f1 × i.

乗算器304は読み出しカウンタ302により生成されたiからiの生成を行う。 The i 2 multiplier 304 generates i 2 from i generated by the read counter 302.

その後、f2乗算器305によりKの値に応じて設定された値であるf2とiの乗算を行う。 Thereafter, the set is a value multiplying the f2 and i 2 in accordance with the value of K by f2 multiplier 305.

更に、加算器306が加算を行うことにより(f1×i+f2×i)の値を生成する。最後に、モジュロ演算回路307により(f1×i+f2×i)mod Kに対応する、Dual Port RAM308の読み出しアドレスを生成する。そして、書き込まれた情報ビットを、この読み出しアドレスに従って読み出すことでブロックデータに対するインタリーブ処理を行う。 Further, the adder 306 performs addition to generate a value of (f1 × i + f2 × i 2 ). Finally, the modulo arithmetic circuit 307 generates a read address of the Dual Port RAM 308 corresponding to (f1 × i + f2 × i 2 ) mod K. Then, the written information bits are read according to the read address, thereby performing interleave processing on the block data.

続いて、図4を参照してデインタリーブ回路の一例について説明をする。図4に表されるデインタリーブ回路400は、書き込みカウンタ401、読み出しカウンタ402、f1乗算器403、i乗算器404、f2乗算器405、加算器406、モジュロ演算回路(図中では「MODULO」と記載する。)407及びDual Port RAM408を含む。 Next, an example of a deinterleave circuit will be described with reference to FIG. Deinterleaving circuit 400 represented in Figure 4, write counter 401, a read counter 402, f1 multiplier 403, i 2 multiplier 404, f2 multiplier 405, an adder 406, a modulo operation circuit (in the figure "MODULO" 407 and Dual Port RAM 408.

書き込みカウンタ401は、情報ビットの読み出し毎にカウンタをインクリメントして情報ビットインデックスであるiの生成を行う。   The write counter 401 increments the counter every time an information bit is read, and generates i as an information bit index.

f1乗算器403は書き込みカウンタ401により生成されたiとKの値に応じて設定された値であるf1との乗算を行う乗算器であり、f1×iの算出を行う。   The f1 multiplier 403 is a multiplier that multiplies i generated by the write counter 401 and f1 that is a value set according to the value of K, and calculates f1 × i.

乗算器404は書き込みカウンタ401により生成されたiからiの生成を行う。 The i 2 multiplier 404 generates i 2 from i generated by the write counter 401.

その後、f2乗算器405によりKの値に応じて設定された値であるf2とiの乗算を行う。 Thereafter, the set is a value multiplying the f2 and i 2 in accordance with the value of K by f2 multiplier 405.

更に、加算器406が加算を行うことにより(f1×i+f2×i)の値を生成する。最後に、モジュロ演算回路407により(f1×i+f2×i)mod Kに対応する、Dual Port RAM408の書き込みアドレスを生成する。そして、この書き込みアドレスに従ってブロックサイズ分のデータ書き込みを行う。 Further, the adder 406 performs addition to generate a value of (f1 × i + f2 × i 2 ). Finally, the modulo arithmetic circuit 407 generates a write address of the Dual Port RAM 408 corresponding to (f1 × i + f2 × i 2 ) mod K. Then, data for the block size is written according to this write address.

読み出しカウンタ402が、読み出しデータ毎に値をインクリメントしながら行う。これによりデインタリーブ処理は実現される。   The read counter 402 performs the process while incrementing the value for each read data. Thereby, the deinterleaving process is realized.

このように、インタリーブ処理及びデインタリーブ処理ではデータを並べ替えるためのアドレスを生成する点において共通する一方で、生成したアドレスを読み出しアドレスとするか、それとも書き込みアドレスとするかという点で相違する。   As described above, the interleaving process and the deinterleaving process are common in that an address for rearranging data is generated, but is different in that the generated address is used as a read address or a write address.

このインタリーブ処理及びデインタリーブ処理の何れにおいても、mod Kの計算処理を実現するためにモジュロの演算回路307が必要である。そして、このモジュロ演算回路307は比較回路及び減算回路を組み合わせた回路(以下、適宜「比較減算要素」と呼ぶ。)により実現される。   In both the interleaving process and the deinterleaving process, a modulo arithmetic circuit 307 is required to realize the mod K calculation process. The modulo arithmetic circuit 307 is realized by a circuit combining a comparison circuit and a subtraction circuit (hereinafter referred to as “comparison subtraction element” as appropriate).

このモジュロ演算回路の規模について、LTEを例に取って具体的な検討を行う。LTEで規定される(f1×i+f2×i)の最大値を、2進数で表すと28bitが必要になる。また、Kが取りうる最大の値である6144を2進数で表すと13bitが必要となる。そのため、通常であればモジュロ演算回路には比較減算要素が多数必要となり、回路規模が多大なものとなる。 The scale of this modulo arithmetic circuit will be specifically examined by taking LTE as an example. If the maximum value of (f1 × i + f2 × i 2 ) defined by LTE is represented by a binary number, 28 bits are required. If 6144, which is the maximum value that K can take, is expressed in binary, 13 bits are required. For this reason, normally, a modulo arithmetic circuit requires a large number of comparison and subtraction elements, resulting in a large circuit scale.

モジュロ演算回路を設ける場合の通常の回路構成例を図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)となり、多数の比較減算要素で構成する必要がある。また、ソフトウェアで比較減算要素を構成するならば、比較減算演算をこの数だけ繰り返す必要がある。 A typical circuit configuration example in the case of providing a modulo arithmetic circuit is shown in FIG. The first-stage comparison / subtraction element 501-1 compares the block size K represented by 13 bits with the higher 13 bits of 28 bits representing (f1 × i + f2 × i 2 ). The comparison subtraction element 501 of the first stage is indicated by the upper 13 bits of it towards the value indicated by the upper 13 bits of (f1 × i + f2 × i 2) is greater than the block size K, (f1 × i + f2 × i 2) The value obtained by subtracting the block size K from the value to be subtracted is output. Otherwise, the upper 13 bits of (f1 × i + f2 × i 2 ) are output as they are to the next comparison subtraction element 501-2. To do. The output of the first stage comparison / subtraction element 501-1 is represented by 12 bits. Next, the comparison / subtraction element 501-2 of the next stage uses (f1 × i + f2 × i 2 ) as a bit lower than the 12-bit LSB (least significant bit) input from the comparison / subtraction element 501-1 of the first stage. By adding the 14th bit from the higher order, 13 bits are obtained, and the same arithmetic processing as that of the first stage comparison / subtraction element 501-1 is performed. This operation is repeated until the least significant bit of (f1 × i + f2 × i 2 ). Therefore, the necessary number of the comparison subtraction elements 501 is the number obtained by adding 1 to the difference between the number of bits necessary to represent (f1 × i + f2 × i 2 ) and the number of bits necessary to represent the block size K. (In this example, 28−13 + 1 = 16), and it is necessary to configure a number of comparison subtraction elements. Further, if the comparison subtraction element is configured by software, it is necessary to repeat the comparison subtraction operation by this number.

このように多数の比較減算要素によってモジュロ演算回路を実現する場合には、回路規模が大きくなる。そこで、このような多数の比較減算要素を不要とし、回路規模を削減するための方法として、予め全てのブロックサイズによるインタリーブのパターンの全てをROM(Read Only Memory)などに保存しておく、という方法がある。しかし、この方法を用いると、多数のブロックサイズと、その情報インデックスごとのデータとを所有する必要があり、大規模なROMが必要となってしまう。   Thus, when a modulo arithmetic circuit is realized by a large number of comparison and subtraction elements, the circuit scale becomes large. Thus, as a method for reducing the circuit scale by eliminating the need for such a large number of comparison and subtraction elements, all interleave patterns of all block sizes are stored in advance in a ROM (Read Only Memory) or the like. There is a way. However, if this method is used, it is necessary to own a large number of block sizes and data for each information index, and a large-scale ROM is required.

具体的には、このROMサイズは、すべてのブロックサイズKを加算した値355248に対し、Kの最大値6144を表すために必要なビット幅13bitを掛け合わせた値のROMの容量となる。すなわち、355248×13bit=4618224bitが必要となる。そのため、4618224bit以上の大規模な記憶容量のROMを用意する必要が生じてしまう。   Specifically, this ROM size is the ROM capacity having a value obtained by multiplying the value 355248 obtained by adding all the block sizes K and the bit width 13 bits necessary to represent the maximum value 6144 of K. That is, 355248 × 13 bits = 4618224 bits are required. Therefore, it becomes necessary to prepare a ROM having a large storage capacity of 4618224 bits or more.

そこで、本発明は、比較減算要素を削減することにより規模の大きいモジュロの演算回路を不要とし、且つ、記憶すべきROMサイズも減少させることにより、インタリーブ回路及びデインタリーブ回路における回路規模を縮小させることが可能な、アドレス生成回路、アドレス生成方法及びアドレス生成プログラムを提供することを目的とする。   Therefore, the present invention eliminates the need for a large-scale modulo arithmetic circuit by reducing the comparison and subtraction elements, and also reduces the circuit size in the interleave circuit and the deinterleave circuit by reducing the ROM size to be stored. An object is to provide an address generation circuit, an address generation method, and an address generation program.

本発明の第1の観点によれば、序数に第1の定数を乗じて得た第1の結果と前記序数の二乗に第2の定数を乗じて得た結果との和を所定の除数で除して得た剰余をアドレスとして生成するアドレス生成装置であって、前記第1の結果を前記除数で除することにより第1中間剰余を得る第1演算手段と、前記序数の所定の関数を前記除数で除することにより第2中間剰余を得る第2演算手段と、前記第1中間剰余と前記第2中間剰余との和を前記除数で除して最終剰余を得る第3演算手段と、を備え、前記最終剰余を前記アドレスとすることを特徴とするアドレス生成装置が提供される。   According to the first aspect of the present invention, a sum of a first result obtained by multiplying an ordinal by a first constant and a result obtained by multiplying the square of the ordinal by a second constant is a predetermined divisor. An address generation device for generating a remainder obtained by dividing as an address, the first calculation means for obtaining a first intermediate remainder by dividing the first result by the divisor, and a predetermined function of the ordinal number Second computing means for obtaining a second intermediate remainder by dividing by the divisor, third computing means for obtaining a final remainder by dividing the sum of the first intermediate remainder and the second intermediate remainder by the divisor, And an address generating device characterized in that the final remainder is the address.

本発明の第2の観点によれば、序数に第1の定数を乗じて得た第1の結果と前記序数の二乗に第2の定数を乗じて得た結果との和を所定の除数で除して得た剰余をアドレスとして生成するアドレス生成方法であって、前記第1の結果を前記除数で除することにより第1中間剰余を得る第1演算ステップと、前記序数の所定の関数を前記除数で除することにより第2中間剰余を得る第2演算ステップと、前記第1中間剰余と前記第2中間剰余との和を前記除数で除して最終剰余を得る第3演算ステップと、を有し、前記最終剰余を前記アドレスとすることを特徴とするアドレス生成方法が提供される。   According to the second aspect of the present invention, a sum of a first result obtained by multiplying an ordinal by a first constant and a result obtained by multiplying the square of the ordinal by a second constant is a predetermined divisor. An address generation method of generating a remainder obtained by dividing as an address, wherein a first calculation step of obtaining a first intermediate remainder by dividing the first result by the divisor, and a predetermined function of the ordinal number, A second operation step of obtaining a second intermediate residue by dividing by the divisor, and a third operation step of obtaining a final residue by dividing the sum of the first intermediate residue and the second intermediate residue by the divisor, The address generation method is characterized in that the final remainder is the address.

本発明によれば、比較減算要素を削減することにより規模の大きいモジュロの演算回路を不要とし、且つ、記憶すべきROMサイズも減少させることにより、インタリーブ回路及びデインタリーブ回路における回路規模を縮小させることが可能となる。   According to the present invention, the circuit scale in the interleave circuit and the deinterleave circuit is reduced by eliminating the comparative subtraction element, thereby eliminating the need for a large-scale modulo arithmetic circuit and reducing the ROM size to be stored. It becomes possible.

一般的な技術におけるターボ符号器の構成の具体例を表すブロック図である。It is a block diagram showing the specific example of a structure of the turbo encoder in a general technique. 一般的な技術におけるターボ復号器の構成の具体例を表すブロック図である。It is a block diagram showing the specific example of a structure of the turbo decoder in a general technique. 一般的な技術におけるインタリーブ回路の構成の具体例を表すブロック図である。It is a block diagram showing the specific example of a structure of the interleave circuit in a general technique. 一般的な技術におけるデインタリーブ回路の構成の具体例を表すブロック図である。It is a block diagram showing the specific example of a structure of the deinterleaving circuit in a general technique. 一般的な技術におけるモジュロの演算回路の具体例を表すブロック図である。It is a block diagram showing the specific example of the modulo arithmetic circuit in a general technique. 本発明の実施形態の基本的構成の一つであるインタリーブ回路を表すブロック図である。It is a block diagram showing the interleave circuit which is one of the fundamental structures of embodiment of this invention. K/GCDの周期で巡回するデータ系列について表す表(1/6)である。It is a table | surface (1/6) showing about the data series circulated by the period of K / GCD. K/GCDの周期で巡回するデータ系列について表す表(2/6)である。It is a table | surface (2/6) showing about the data series circulated by the period of K / GCD. K/GCDの周期で巡回するデータ系列について表す表(3/6)である。It is a table | surface (3/6) showing about the data series circulated by the period of K / GCD. K/GCDの周期で巡回するデータ系列について表す表(4/6)である。It is a table | surface (4/6) showing about the data series circulated by the period of K / GCD. K/GCDの周期で巡回するデータ系列について表す表(5/6)である。It is a table | surface (5/6) showing about the data series circulated by the period of K / GCD. K/GCDの周期で巡回するデータ系列について表す表(6/6)である。It is a table | surface (6/6) showing about the data series circulated by the period of K / GCD. ブロックサイズK毎の、f1の値、f2の値、GCDの値、K/GCDの値、及びK/GCDの全てのブロックサイズ分を合計した値を表す表(1/6)である。It is a table | surface (1/6) showing the value which totaled the value of the value of f1, the value of f2, the value of GCD, the value of K / GCD, and all the block sizes of K / GCD for every block size K. ブロックサイズK毎の、f1の値、f2の値、GCDの値、K/GCDの値、及びK/GCDの全てのブロックサイズ分を合計した値を表す表(2/6)である。It is a table | surface (2/6) showing the value which totaled the value of the value of f1, the value of f2, the value of GCD, the value of K / GCD, and all the block sizes of K / GCD for every block size K. ブロックサイズK毎の、f1の値、f2の値、GCDの値、K/GCDの値、及びK/GCDの全てのブロックサイズ分を合計した値を表す表(3/6)である。It is a table | surface (3/6) showing the value which totaled the value of the value of f1, the value of f2, the value of GCD, the value of K / GCD, and all the block sizes of K / GCD for every block size K. ブロックサイズK毎の、f1の値、f2の値、GCDの値、K/GCDの値、及びK/GCDの全てのブロックサイズ分を合計した値を表す表(4/6)である。It is a table | surface (4/6) showing the value which totaled the value of the value of f1, the value of f2, the value of GCD, the value of K / GCD, and all the block sizes of K / GCD for every block size K. ブロックサイズK毎の、f1の値、f2の値、GCDの値、K/GCDの値、及びK/GCDの全てのブロックサイズ分を合計した値を表す表(5/6)である。It is a table | surface (5/6) showing the value which totaled the value of the value of f1, the value of f2, the value of GCD, the value of K / GCD, and all the block sizes of K / GCD for every block size K. ブロックサイズK毎の、f1の値、f2の値、GCDの値、K/GCDの値、及びK/GCDの全てのブロックサイズ分を合計した値を表す表(6/6)である。It is a table | surface (6/6) showing the value which totaled the value of the value of f1, the value of f2, the value of GCD, the value of K / GCD, and all the block sizes of K / GCD for every block size K. 本発明の実施形態におけるROMのデータ構造の一例を表すイメージ図である。It is an image figure showing an example of the data structure of ROM in embodiment of this invention. 本発明の実施形態の基本的構成の一つであるデインタリーブ回路を表すブロック図である。It is a block diagram showing the deinterleave circuit which is one of the fundamental structures of embodiment of this invention.

まず、本発明の実施形態の概略を説明する。本発明の実施形態は、並べ替え処理を行うためのアドレス生成に関するものである。具体的な一例としては、LTEで用いるターボ符号化および復号のためのインタリーブ回路及びデインタリーブ回路に適用することができる。   First, an outline of an embodiment of the present invention will be described. Embodiments of the present invention relate to address generation for performing rearrangement processing. As a specific example, the present invention can be applied to an interleave circuit and a deinterleave circuit for turbo encoding and decoding used in LTE.

本実施形態では、f2とKの最大公約数(GCD:greatest common divisor)を用いることでインタリーブ及びデインタリーブによる(f1×i+f2×i)mod Kの計算回路規模を縮小し、解決すべき課題を解決する。 In this embodiment, by using the greatest common divisor (GCD) of f2 and K, the calculation circuit scale of (f1 × i + f2 × i 2 ) mod K by interleaving and deinterleaving is reduced, and the problem to be solved To solve.

より具体的に説明すると、上述したf2とKのGCDとKとにより割り出される値を利用することにより、周期的に繰り返される(周期巡回する)データパターンである周期パターンが得られ、その周期パターンを用いることにより、モジュロの演算することなく、簡易な計算回路でインタリーブを行うアドレス制御が行える。以上が本発明の実施形態の概略である。   More specifically, a periodic pattern, which is a data pattern that is periodically repeated (cyclically cycled), is obtained by using the value calculated by GCD and K of f2 and K described above. By using the pattern, it is possible to perform address control for interleaving with a simple calculation circuit without performing modulo arithmetic. The above is the outline of the embodiment of the present invention.

続いて、図6を参照して本実施形態であるインタリーブ回路600について説明する。ここで、インタリーブ回路600は例えば図1に表されるインタリーブ回路104として利用することができる。   Next, the interleave circuit 600 according to the present embodiment will be described with reference to FIG. Here, the interleave circuit 600 can be used as the interleave circuit 104 shown in FIG. 1, for example.

図6を参照するとインタリーブ回路600は、f1加算器601、f1比較減算器602、比較器603、f2算出カウンタ604、オフセット加算器605、ROM606、f1,f2加算器607、f1,f2比較減算器608、書き込みカウンタ609及びDual Port ROM610を含む。   Referring to FIG. 6, the interleave circuit 600 includes an f1 adder 601, an f1 comparison subtractor 602, a comparator 603, an f2 calculation counter 604, an offset adder 605, a ROM 606, an f1, f2 adder 607, and an f1, f2 comparison subtractor. 608, a write counter 609 and a dual port ROM 610.

ここで、本実施形態では、(f1×i+f2×i)mod Kの計算を実行するにあたり、f1×iの計算部とf2×iの計算部を分離して計算を行う。このように分離する場合は、まずf1×iの計算部が行う(f1×i)mod Kの計算と、f2×iの計算部が行う(f2×i)mod Kの計算に分離する。そして、両方の計算結果を足し合わせて、その結果得られる和に対してmod Kの計算を行う。 Here, in the present embodiment, when calculating (f1 × i + f2 × i 2 ) mod K, the calculation unit of f1 × i and the calculation unit of f2 × i 2 are separately calculated. If this way of separating includes a calculation of the first f1 × calculation of i is performed (f1 × i) mod K, separated in the calculation of the f2 × calculation of i 2 is performed (f2 × i 2) mod K . Then, both calculation results are added together, and mod K is calculated for the sum obtained as a result.

具体的には、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の読み出しアドレスとして利用する。 Specifically, the calculation unit of f1 × i includes an f1 adder 601 and an f1 comparison subtracter 602. The calculation of the f2 × i 2 includes a comparator 603, f2 calculation counter 604, the offset adder 605 and ROM 606. Furthermore, performs addition of f1 × i calculator and f2 × i 2 calculator respective calculation results f1, f2 adder 607, f1 with respect to the sum obtained by adding, f2 comparator subtractor 608 mod Calculate K and obtain the remainder. The numerical value of the remainder generated in this way is used as a read address of the Dual Port ROM 610.

このようにした場合、f1×iの計算側では読み出す情報ビット毎にf1を加算していけばよく、この加算後の値がKの値以上であれば、加算後の値からKの値を減算すれば良い。このため、加算回路601と、f1比較減算回路602で、(f1×i)mod Kの計算を行うことができる。   In this case, on the calculation side of f1 × i, it is only necessary to add f1 for each read information bit. If the value after the addition is equal to or greater than the value of K, the value of K is calculated from the value after the addition. Subtract. Therefore, (f1 × i) mod K can be calculated by the adder circuit 601 and the f1 comparison / subtraction circuit 602.

他方、f2×iの計算側においても以下に説明するようにモジュロ演算回路の規模削減が可能である。 On the other hand, the scale of the modulo arithmetic circuit can be reduced on the calculation side of f2 × i 2 as described below.

f2とKとのGCDの値を用いると、分離した(f2×i)mod Kの計算部分が、[f2×{imod(K/GCD)}]mod Kでも同様の結果が得ることができる。そして、{imod(K/GCD)}によって、iは、K/GCDの周期で巡回するデータ系列へと変化する。 Using the GCD values of f2 and K, the same result can be obtained even if the calculated part of (f2 × i 2 ) mod K is [f2 × {i 2 mod (K / GCD)}] mod K Can do. Then, by {i 2 mod (K / GCD)}, i 2 changes to a data sequence that circulates in a cycle of K / GCD.

従って、逐一(f2×i)mod Kの値を逐一算出するのではなく、予め計算した(f2×i)mod Kの値をROMにデータとして保管する。そして、今回処理対象としているデータのブロックサイズKに対応する(f2×i)mod Kの値を参照することで、大規模なモジュロ計算を用いることなく簡素な構成とすることが可能となる。この点、K/GCDが小さい値であればあるほどROMに保管すべきデータの容量を削減することが可能となる。 Thus, one by one (f2 × i 2) instead of one by one calculates the value of mod K, stores the value of the previously calculated (f2 × i 2) mod K as data in ROM. Then, by referring to the value of (f2 × i 2 ) mod K corresponding to the block size K of the data to be processed this time, a simple configuration can be achieved without using a large-scale modulo calculation. . In this respect, the smaller the value of K / GCD, the smaller the capacity of data to be stored in the ROM.

次に、iがK/GCDの周期で巡回するデータ系列へと変化しており、(f2×i)mod Kの値もK/GCDの周期で巡回するデータ系列であることについて、図7−1〜図7〜6に記載の表1の具体例を参照して説明する。 Next, i 2 has changed to a data sequence that circulates in a cycle of K / GCD, and the value of (f2 × i 2 ) mod K is also a data sequence that circulates in a cycle of K / GCD. Description will be made with reference to specific examples of Table 1 described in 7-1 to FIGS.

表1には、ブロックサイズK=6144,f1=263,f2=480の場合における各巡回データの系列を示す。この場合、f2とKのGCD(最大公約数)=96となる。そのため、K/GCD=64となる。   Table 1 shows a sequence of each cyclic data when the block size K = 6144, f1 = 263, and f2 = 480. In this case, GCD (greatest common divisor) of f2 and K = 96. Therefore, K / GCD = 64.

表1中の第1列には情報ビットのインデックスであるiの値を表す。   The first column in Table 1 represents the value of i that is an index of information bits.

また、表1中の第2列には(f1×i+f2×i^2)mod Kによる正規手段での計算結果を表す。   Further, the second column in Table 1 shows the calculation result by the normal means by (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列に表す。   On the other hand, the calculation result of (f1 × i) mod K dividedly calculated according to this embodiment is shown in the third column of Table 1. Also, i ^ 2 mod (K / GCD) is shown in the fourth column in Table 1. Further, (f2 × i ^ 2) mod (K / GCD) is shown in the fifth column in Table 1. Further, the calculation result of f1 × i in the third column in Table 1 and (f2 × i ^ 2) mod (K / GCD) in the fifth column in Table 1 are added, and mod K is further added to the addition value. The calculation result of the calculation is shown in the sixth column of Table 1.

なお、情報ビットi=0〜6143であるが、省略のためi=0乃至192まで記載する。i=193以降は同様の周期が繰り返される。   Although information bits i = 0 to 6143, i = 0 to 192 are described for the sake of omission. After i = 193, the same cycle is repeated.

下記の表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と一致する周期パターンであることが分かる。   Referring to Table 1 below, for example, the value of i ^ 2 mod (K / GCD) in the fourth column of i = 0 to 63 and the value of (f2 × i ^ 2) mod (K / GCD) in the fifth column Is the same as the group of i ^ 2mod (K / GCD) values in the fourth column from i = 64 to 127 and the group of (f2 × i ^ 2) mod (K / GCD) values in the fifth column. (I.e., the value of i ^ 2 mod (K / GCD) in the fourth column and the value of (f2 * i ^ 2) mod (K / GCD) in the fifth column coincide with each other at positions 64 rows apart). Therefore, it can be seen that the periodic pattern is consistent with K / GCD = 64.

表1はK=6144,f1=263,f2=480の例の値を示しているが、他のブロックサイズでも、同様に、K/GCDと一致する周期のパターンで第4列と第5列のデータが得られる。   Table 1 shows the values of the example of K = 6144, f1 = 263, f2 = 480, but the fourth column and the fifth column in the same pattern of K / GCD in the other block sizes as well. Is obtained.

次に、図8−1〜図8〜6に記載の表2を参照して説明を続ける。表2の第1列には、LTEにおけるインタリーブ及びデインタリーブの際のブロックサイズKの取り得る値を全て表す。また、第2列には、ブロックサイズKに対応したf1の値を表す。更に、第3列にはブロックサイズKに対応したとf2の値を表す。更に、第4列にはf2とKのGCDの値を表す。更に、第5列にはK/GCDの値を表す。また、最下行にK/GCDの全てのブロックサイズ分を合計した値を表す。   Next, the description will be continued with reference to Table 2 described in FIGS. The first column of Table 2 represents all possible values of the block size K when interleaving and deinterleaving in LTE. The second column represents the value of f1 corresponding to the block size K. Furthermore, the third column shows the value of f2 corresponding to the block size K. Furthermore, the GCD values of f2 and K are shown in the fourth column. Further, the fifth column represents the value of K / GCD. In addition, the bottom row represents a value obtained by summing up all the block sizes of K / GCD.

インタリーブのブロックサイズ毎のK/GCDを調べると、最小値は2であり、最大値は112である。また、ブロックサイズ毎のK/GCDを全ブロックサイズについて合わせると3304となる。従って、全てのブロックサイズに対して必要なビット数は、3304×13bit=42952bitとなり、約43kのROMがあれば構成することができる。このようなROMは、全てのブロックサイズKについての全ての(f2×i)mod Kが格納できる。 When the K / GCD for each interleave block size is examined, the minimum value is 2 and the maximum value is 112. Also, 3304 is obtained by adding K / GCD for each block size for all block sizes. Therefore, the number of bits required for all block sizes is 3304 × 13 bits = 42952 bits, and the configuration can be made if there is a ROM of about 43k. Such a ROM can store all (f2 × i 2 ) mod K for all block sizes K.

上記の13bitとはROMのアドレスに格納されるデータ幅であり、ブロックサイズKの最大値6144を表すために必要なビット幅に対応する。   The 13-bit is the data width stored in the ROM address and corresponds to the bit width necessary to represent the maximum value 6144 of the block size K.

すなわち本実施形態では全てのブロックサイズに対して必要なビット数が、本発明が解決しようとする課題の欄で述べた全てのブロックサイズKを加算した値355248に対し、Kの最大値6144を満たすビット幅13bitを掛け合わせた値である4618224bitに対して、42952bitとなり、記憶容量を約100分の1に削減することが可能となる。   That is, in this embodiment, the number of bits necessary for all block sizes is set to a maximum value 6144 of K with respect to the value 355248 obtained by adding all the block sizes K described in the column of the problem to be solved by the present invention. The 461822 bits, which is a value obtained by multiplying the bit width of 13 bits to be satisfied, is 42952 bits, and the storage capacity can be reduced to about 1/100.

次に、本実施形態の各部の動作について再度図6を参照して詳細に説明する。   Next, the operation of each part of this embodiment will be described in detail with reference to FIG. 6 again.

まず、本実施形態ではインタリーブ回路の読み出しアドレスの計算をするための動作を開始する前に、CPUなどの制御部(図示を省略する)の指示に応じて以下のように情報の設定を行う。   First, in this embodiment, before starting the operation for calculating the read address of the interleave circuit, information is set as follows according to an instruction from a control unit (not shown) such as a CPU.

書き込みカウンタ609は、ブロックの先頭を‘0’とし、入力データ毎に値をインクリメントしてDual Port ROM610の書き込みアドレスの生成を行う。そして、Dual Port ROM610は、生成されたアドレスのエントリに入力データの書き込みを行うことを、ブロックサイズK分のデータの書き込みが終了するまで行う。   The write counter 609 generates the write address of the dual port ROM 610 by setting the head of the block to “0” and incrementing the value for each input data. Then, the dual port ROM 610 writes input data to the entry of the generated address until writing of data for the block size K is completed.

ブロックサイズK分のデータ書き込みが完了すると、読み出し制御により、読み出しアドレスが、指定されたブロックサイズKに該当する生成式(f1×i+f2×i)mod Kに従ったアドレス順となるよう制御することで、インタリーブ処理を行う。この読み出しアドレスの計算が本実施形態の特徴となる。 When the data writing for the block size K is completed, the read control is performed so that the read address is in the address order according to the generation formula (f1 × i + f2 × i 2 ) mod K corresponding to the designated block size K. Thus, the interleaving process is performed. This calculation of the read address is a feature of this embodiment.

ここで、本実施形態では、インタリーブの読み出しアドレスの計算手段として以下のように行う。   Here, in the present embodiment, the calculation is performed as follows as means for calculating the interleave read address.

まず、第1の計算として(f1×i)の計算を行う。第1の計算を実行する回路は、f1加算器601とf1比較減算器602とを含む。   First, the calculation of (f1 × i) is performed as the first calculation. The circuit that executes the first calculation includes an f1 adder 601 and an f1 comparison subtractor 602.

まず、情報ビットごとにf1加算器601においてf1の値の加算が行われる。   First, the value of f1 is added in the f1 adder 601 for each information bit.

そして、f1比較減算器602が、f1加算器601による加算後の値をブロックサイズKと比較する。f1比較減算器602は、比較の結果、f1加算器601による加算後の値がブロックサイズK以上であれば、f1加算器601による加算後の値がブロックサイズKの値未満の値となるように、f1加算器601による加算後の値からブロックサイズKを減算した値を出力する。他方、f1比較減算器602は、f1加算器601による加算後の値が、ブロックサイズKの値未満であれば、f1加算器601による加算後の値をそのまま出力を行う。   Then, the f1 comparison subtracter 602 compares the value after the addition by the f1 adder 601 with the block size K. As a result of the comparison, if the value after addition by the f1 adder 601 is equal to or larger than the block size K, the f1 comparison subtracter 602 makes the value after addition by the f1 adder 601 less than the block size K value. In addition, a value obtained by subtracting the block size K from the value after the addition by the f1 adder 601 is output. On the other hand, if the value after the addition by the f1 adder 601 is less than the value of the block size K, the f1 comparison subtracter 602 outputs the value after the addition by the f1 adder 601 as it is.

このように、本実施形態では、第1の計算の段階で積算値がブロックサイズKを超えるたびに減算をしている。そのため、第1の計算結果と第2の計算結果とを加算後にf1,f2比較減算器608がmod Kの計算を行う際に、ブロックサイズKを減算する回数を削減することが可能となる。すなわち、回路全体として比較減算器の数を削減することが可能となる。   Thus, in this embodiment, subtraction is performed every time the integrated value exceeds the block size K in the first calculation stage. Therefore, it is possible to reduce the number of times the block size K is subtracted when the f1, f2 comparison subtractor 608 calculates mod K after adding the first calculation result and the second calculation result. That is, it is possible to reduce the number of comparison subtractors as a whole circuit.

この点について具体的に説明する。まず、第1の計算部に含まれるf1比較減算器602では、ブロックサイズKを超えるたびに、ブロックサイズKを減算した値を出力している。そのため、f1加算器601の出力はブロックサイズKの最大値6144未満の値となることから最大でも6143となる。よって、f1加算器601の出力はブロックサイズKの最大値6143を表すために必要な13bitを超えることはない。例えば、表1に記載されているブロックサイズK=6144の場合を例に取ってみると、ROM606の出力はi=70のときの6122が最大である。   This point will be specifically described. First, the f1 comparison subtracter 602 included in the first calculation unit outputs a value obtained by subtracting the block size K every time the block size K is exceeded. For this reason, the output of the f1 adder 601 is less than the maximum value 6144 of the block size K, and is 6143 at the maximum. Therefore, the output of the f1 adder 601 does not exceed 13 bits necessary to represent the maximum value 6143 of the block size K. For example, taking the case of the block size K = 6144 described in Table 1 as an example, the maximum output of the ROM 606 is 6122 when i = 70.

一方で、ROM606の出力は、(f2×i)mod Kを表す値であるが、この値もmod Kの計算が含まれているため、ブロックサイズKの最大値6144未満の値となることから最大でも6143となる。よって、ROM606の出力も、ブロックサイズKの最大値6143を表すために必要な13bitを超えることはない。例えば、表1に記載されているブロックサイズK=6144の場合を例に取ってみると、ROM606の出力はi=5等のときの5856が最大である。 On the other hand, the output of the ROM 606 is a value representing (f2 × i 2 ) mod K, but since this value also includes the calculation of mod K, the value is smaller than the maximum value 6144 of the block size K. To 6143 at the maximum. Therefore, the output of the ROM 606 does not exceed 13 bits necessary to represent the maximum value 6143 of the block size K. For example, taking the case of block size K = 6144 described in Table 1 as an example, the maximum output of ROM 606 is 5856 when i = 5 or the like.

従って、f1,f2比較減算器608における加算後の値は、加算前の値が最大でも6143+6143であることから最大でも122886である。また、f1,f2比較減算器608における加算後の最大値122886は、14bitあれば表すことが可能である。   Therefore, the value after addition in the f1, f2 comparison subtractor 608 is 122886 at the maximum because the value before the addition is 6143 + 6143 at the maximum. Further, the maximum value 122886 after the addition in the f1, f2 comparison subtractor 608 can be expressed by 14 bits.

そして、f1,f2比較減算器608がmod Kの計算を行う際に必要となる比較減算要素の必要数は、f1,f2比較減算器608における加算後の値を表すために必要なビット数からブロックサイズKを表すために必要なビット数の差に1を加算して得た数であるため、14−13+1=2となる。   The necessary number of comparison subtraction elements required when the f1, f2 comparison subtractor 608 calculates mod K is calculated from the number of bits necessary to represent the value after addition in the f1, f2 comparison subtractor 608. Since this is a number obtained by adding 1 to the difference in the number of bits necessary to represent the block size K, 14-13 + 1 = 2.

また、f1比較減算器602の比較減算要素の必要数についても説明する。この点、f1比較減算器602が出力する値はブロックサイズK未満であるので最大でも6143である。また、f1の値は最大でも477である。従って、f1加算器601の出力は最大でも6143+477=6620となり13bitで表すことが可能である。   The necessary number of comparison subtraction elements of the f1 comparison subtracter 602 will also be described. In this regard, since the value output from the f1 comparison subtracter 602 is less than the block size K, it is 6143 at the maximum. The value of f1 is 477 at the maximum. Therefore, the output of the f1 adder 601 is 6143 + 477 = 6620 at the maximum and can be expressed in 13 bits.

そして、f1比較減算器602がmod Kの計算を行う際に必要となる比較減算要素の必要数は、f1比較減算器602における加算後の値を表すために必要なビット数からブロックサイズKを表すために必要なビット数の差に1を加算して得た数であるため、13−13+1=1となる。   Then, the necessary number of comparison subtraction elements required when the f1 comparison subtractor 602 calculates mod K is obtained by calculating the block size K from the number of bits necessary to represent the value after addition in the f1 comparison subtractor 602. Since 13 is a number obtained by adding 1 to the difference in the number of bits necessary for the expression, 13−13 + 1 = 1.

このように、本実施形態では回路全体で最大でも3つの比較減算要素があれば足りる。この点、発明が解決しようとする課題の欄にて述べた例では比較減算要素の必要数は16であることから、本実施形態では必要となる比較減算要素の数を大幅に削減できている。   Thus, in this embodiment, it is sufficient that there are at most three comparison subtraction elements in the entire circuit. In this regard, in the example described in the column of the problem to be solved by the invention, the required number of comparison subtraction elements is 16, and thus the number of comparison subtraction elements required in this embodiment can be greatly reduced. .

次に、第2の計算として(f2×i)の計算を行う。ここで、第2の計算を実行する回路は、比較器603とf2算出カウンタ604とオフセット加算器605とROM606とを含む。 Next, (f2 × i 2 ) is calculated as the second calculation. Here, the circuit that executes the second calculation includes a comparator 603, an f2 calculation counter 604, an offset adder 605, and a ROM 606.

f2算出カウンタ604は、情報ビットごとにカウンタ値をインクリメントする。比較器603は、そのカウンタ値と該当するブロックサイズKの値に対し設定されたK/GCDの値を比較する。   The f2 calculation counter 604 increments the counter value for each information bit. The comparator 603 compares the counter value with the set K / GCD value for the corresponding block size K value.

比較器603は、比較の結果、f2算出カウンタ604のカウンタ値が設定値K/GCDと同じ値であればf2算出カウンタ604をリセットする。一方比較器603は、f2算出カウンタ604のカウンタ値が設定値K/GCD以外の値であれば、f2算出カウンタ604はリセットせずにインクリメントを行う。比較器603がこのように動作することから、f2算出カウンタ604のカウンタ値は、一つずつ増加していき、カウンタ値が、K/GCDの値となった場合には再度0からカウントされるというように周期的に変化していく。   The comparator 603 resets the f2 calculation counter 604 if the counter value of the f2 calculation counter 604 is the same value as the set value K / GCD as a result of the comparison. On the other hand, if the counter value of the f2 calculation counter 604 is a value other than the set value K / GCD, the comparator 603 increments without resetting the f2 calculation counter 604. Since the comparator 603 operates in this way, the counter value of the f2 calculation counter 604 increases one by one, and when the counter value becomes the value of K / GCD, it is counted again from 0. It will change periodically.

オフセット加算器605は、f2算出カウンタ604のカウンタ値に、ROM606の該当するブロックサイズKに対応する先頭アドレスに対応するオフセット値を加算する。例えば、表2に従ってROM606にデータが格納されているならば、ブロックサイズKが40であれば、オフセット値はゼロである。オフセット加算器605の加算結果は、アドレスとしてROM606に入力される。ROM606は入力アドレスに対応する格納データの出力を行う。   The offset adder 605 adds the offset value corresponding to the head address corresponding to the corresponding block size K in the ROM 606 to the counter value of the f2 calculation counter 604. For example, if data is stored in the ROM 606 according to Table 2, if the block size K is 40, the offset value is zero. The addition result of the offset adder 605 is input to the ROM 606 as an address. The ROM 606 outputs stored data corresponding to the input address.

この点について図9を参照して説明を行う。図9はROM606に格納されるデータのデータ構造を表すイメージ図である。   This point will be described with reference to FIG. FIG. 9 is an image diagram showing a data structure of data stored in the ROM 606.

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である。 The ROM 606 stores all (f2 × i 2 ) mod K values for each of the values that the block size K can take. The possible values of K this time are K = 40, 48, 56. For example, when K = 40, K / GCD = 4. That is, when K = 40, four (f2 × i 2 ) mod K values become one cycle, and (f2 × i 2 ) mod K changes to a data series that circulates in this cycle. Similarly, when K = 48, K / GCD = 4.

ここで、例えば今回K=48であり、f2算出カウンタ604のカウンタ値が2であったとする。この場合は、オフセットの値は4である。このオフセット値4によりK=48に対応するデータが格納されたアドレスの先頭アドレスであるアドレス4までオフセットがなされる。   Here, for example, it is assumed that K = 48 this time and the counter value of the f2 calculation counter 604 is 2. In this case, the offset value is 4. With this offset value 4, an offset is made up to address 4, which is the head address of the address where data corresponding to K = 48 is stored.

そして、オフセット加算器605は、このオフセットの値4にカウント値2を加算して、加算値6をアドレスとしてROM606に入力する。結果として、ROM606は入力アドレスに対応する格納データとして、アドレス6に格納されているK=48のときの(f2×i)mod Kの第3の値が出力される。 The offset adder 605 adds the count value 2 to the offset value 4 and inputs the addition value 6 to the ROM 606 as an address. As a result, the ROM 606 outputs the third value of (f2 × i 2 ) mod K stored at address 6 when K = 48, as stored data corresponding to the input address.

上述したようにf2算出カウンタ604のカウンタ値は、リセットとインクリメントを繰り返すことにより0〜3の範囲で周期的に巡回する。結果として、K=48のときの(f2×i)mod Kの第1の値〜K=48のときの(f2×i)mod Kの第4の値が周期的に出力される。この出力される値が第2の計算の計算結果となる。 As described above, the counter value of the f2 calculation counter 604 periodically circulates in the range of 0 to 3 by repeating reset and increment. As a result, (f2 × i 2) in the case of K = 48 (f2 × i 2 ) when the first value ~K = 48 of the mod K fourth value of mod K is cyclically outputted. This output value becomes the calculation result of the second calculation.

また、例えば図7−1〜図7−6に記載されている表1の例のようにK=6144であり、f2算出カウンタ604のカウンタ値が63であったとする。この場合は、オフセットの値は3239である。このオフセット値3239によりK=6144に対応するデータが格納されたアドレスの先頭アドレスであるアドレス3239までオフセットがなされる。   Further, for example, it is assumed that K = 6144 and the counter value of the f2 calculation counter 604 is 63 as in the example of Table 1 described in FIGS. 7-1 to 7-6. In this case, the offset value is 3239. By this offset value 3239, an offset is made up to the address 3239 which is the head address of the address where the data corresponding to K = 6144 is stored.

そして、オフセット加算器605は、このオフセットの値3239にカウント値63を加算して、加算値3303をアドレスとしてROM606に入力する。結果として、ROM606は入力アドレスに対応する格納データとして、アドレス3303に格納されているK=6144のときの(f2×i)mod Kの第64の値が出力される。 The offset adder 605 adds the count value 63 to the offset value 3239 and inputs the added value 3303 as an address to the ROM 606. As a result, the ROM 606 outputs the 64th value of (f2 × i 2 ) mod K when K = 6144 stored in the address 3303 as stored data corresponding to the input address.

第1の計算と第2の計算で得られた値は、f1,f2加算器607により加算され、加算後の値はf1,f2比較減算器608へ入力される。   The values obtained by the first calculation and the second calculation are added by the f1, f2 adder 607, and the value after the addition is input to the f1, f2 comparison subtracter 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の読み出しアドレスとして出力する。   Then, the f1 and f2 comparison subtractor 608 compares the value input from the f1 and f2 adder 607 with the block size K. As a result of comparison, the value input from the f1 and f2 adder 607 is the block. If the size is greater than or equal to the size K, a value obtained by subtracting the block size K from the value input from the f1, f2 adder 607 is output as a read address of the Dual Port ROM 610. On the other hand, if the value input from the f1, f2 adder 607 is less than the block size K value, the value input from the f1, f2 adder 607 is output as it is as the read address of the Dual Port ROM 610.

これによりインタリーブ側の読み出しアドレスが生成され、該当アドレスに格納されたデータの読み出しをブロックサイズ分読み出すことでインタリーブの動作が行われる。   As a result, a read address on the interleave side is generated, and the interleave operation is performed by reading the data stored in the corresponding address for the block size.

ここで、上述の説明は、本実施形態をインタリーブ回路に適用する場合の説明である。もっとも、本実施形態は、書き込みアドレスと読み出しアドレスの生成方法をインタリーブ回路と逆の構成で生成することにより、ターボ復号器に用いられるデインタリーブ回路に適用することも可能である。   Here, the above description is a case where the present embodiment is applied to an interleave circuit. However, this embodiment can also be applied to a deinterleave circuit used in a turbo decoder by generating a write address and a read address generation method with a configuration opposite to that of an interleave circuit.

このように、本実施形態をデインタリーブ回路に適用する場合について図10を参照して説明する。ここで、本デインタリーブ回路は例えば図2に表されるインタリーブ回路203として利用することができる。   Thus, the case where this embodiment is applied to a deinterleave circuit will be described with reference to FIG. Here, this deinterleave circuit can be used as, for example, the interleave circuit 203 shown in FIG.

図10を参照すると本インタリーブ回路は、f1加算器701、f1比較減算器702、比較器703、f2算出カウンタ704、オフセット加算器705、ROM706、f1,f2加算器707、f1,f2比較減算器708、読み出しカウンタ709及びDual Port RAM710を含む。   Referring to FIG. 10, this interleave circuit includes an f1 adder 701, an f1 comparison subtractor 702, a comparator 703, an f2 calculation counter 704, an offset adder 705, a ROM 706, an f1, f2 adder 707, and an f1, f2 comparison subtractor. 708, a read counter 709, and a dual port RAM 710.

これら、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に従ったアドレスを生成する。 These f1 adder 701, f1 comparison subtractor 702, comparator 703, f2 calculation counter 704, offset adder 705, ROM 706, f1, f2 adder 707 and f1, f2 comparison subtractor 708 are the above-described f1 adder. 601, f1 comparison subtractor 602, comparator 603, f2 calculation counter 604, offset adder 605, ROM 606, f1, f2 adder 607 and f1, f2 comparison subtractor 608 are processed, and the designated block size An address according to the generation formula (f1 × i + f2 × i 2 ) mod K corresponding to K is generated.

そして、生成したアドレスを書き込みアドレスとして、Dual Port RAM710にブロックサイズ分のデータ書き込みを実行する。そして、書き込みが完了後、読み出しデータ毎に値をインクリメントするアドレスカウンタである読み出しカウンタ709が読み出しを実行する。これによりデインタリーブ処理を実現することが可能となる。   Then, using the generated address as a write address, data writing for the block size is executed in the Dual Port RAM 710. Then, after the writing is completed, a read counter 709 that is an address counter that increments a value for each read data executes reading. This makes it possible to implement deinterleaving processing.

以上説明した本実施形態である図6に表されるインタリーブ回路及び図10に表されるデインタリーブ回路は、予めROMに記憶しておくデータ量を削減できるため、小さな記憶容量のROMにて処理を実現することが可能となる、という効果を奏する。更に、以上説明した本実施形態である図6に表されるインタリーブ回路及び図10に表されるデインタリーブ回路は、規模の大きいモジュロの演算回路が不要となり、大幅な計算回路の規模縮小が可能となる、という効果を奏する。   The interleave circuit shown in FIG. 6 and the deinterleave circuit shown in FIG. 10 according to the present embodiment described above can reduce the amount of data stored in the ROM in advance, so that processing is performed with a ROM having a small storage capacity. It is possible to achieve the effect. Furthermore, the interleave circuit shown in FIG. 6 and the deinterleave circuit shown in FIG. 10 according to the present embodiment described above do not require a large-scale modulo arithmetic circuit, and the scale of the calculation circuit can be greatly reduced. It has the effect of becoming.

その理由は、{f2×i^2mod(K/GCD)}の周期性を利用することにより記憶しておくべき値を削減することから、全てのインデックスi分を記憶しておく必要が無くなるからである。一方で周期性の無い値、f1×i mod Kに関しては逐一算出する。そして、これらを加算することによりモジュラ回路が不要となるからである。   The reason is that the value to be stored is reduced by using the periodicity of {f2 × i ^ 2mod (K / GCD)}, so that it is not necessary to store all the indexes i. It is. On the other hand, a value having no periodicity, f1 × i mod K, is calculated step by step. This is because the modular circuit becomes unnecessary by adding these.

なお、図6に表されるインタリーブ回路と図10に表されるデインタリーブ回路のそれぞれ一部は、本願発明の「アドレス生成回路」に相当する。   A part of each of the interleave circuit shown in FIG. 6 and the deinterleave circuit shown in FIG. 10 corresponds to the “address generation circuit” of the present invention.

また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。   Moreover, although the above-described embodiment is a preferred embodiment of the present invention, the scope of the present invention is not limited only to the above-described embodiment, and various modifications are made without departing from the gist of the present invention. Implementation in the form is possible.

例えば、上述した実施形態の説明では、ROMに全ブロックサイズのパターンによるデータを書き込んでいることを前提に説明を行った。このため上述した実施形態では、図9を参照して説明したようにオフセット値を与えて加算することで、該当するブロックサイズにおけるデータ格納部の先頭アドレスまでシフトする動作を行っていた。しかし、これを例えば以下の第1及び第2の変形例のように変形することも考えられる。   For example, in the above description of the embodiment, the description has been made on the assumption that data having a pattern of all block sizes is written in the ROM. For this reason, in the above-described embodiment, as described with reference to FIG. 9, an operation of shifting to the head address of the data storage unit in the corresponding block size is performed by adding and adding an offset value. However, it is also conceivable to modify this as in the following first and second modifications.

まず、第1の変形例として、このオフセット値及びオフセット加算器605を用いないことも可能である。この場合には、通信開始前に該当ブロックサイズKに対応する(f2×i)mod Kの値を一周期分のみをROMに書き込む。すなわち、ROMの先頭アドレスから、該当ブロックサイズKに対応する(f2×i)mod Kの値を一周期分のみ書き込む。これにより、オフセット値及びオフセット加算器605を用いる必要が無くなる。 First, as a first modification, the offset value and offset adder 605 may not be used. In this case, the value of (f2 × i 2 ) mod K corresponding to the corresponding block size K is written in the ROM for only one cycle before the start of communication. That is, the value of (f2 × i 2 ) mod K corresponding to the corresponding block size K is written for one cycle from the head address of the ROM. This eliminates the need to use the offset value and offset adder 605.

続いて第2の変形例として、ROMではなくフリップフロップ(FF:Flip Flop)などにより該当データを通信期間だけ保持させ、書き込みカウンタ609のカウント値により選択する動作も同様な処置となる。   Subsequently, as a second modified example, an operation in which the data is held only for the communication period by a flip-flop (FF) instead of the ROM, and selected according to the count value of the write counter 609 is the same treatment.

上述の説明では、LTEの規格に準拠したターボ符号化及びターボ復号におけるインタリーブ処理及びデインタリーブ処理を例に取って説明した。もっとも、LTE以外の規格であっても、本発明の趣旨を逸脱しない範囲であればLTE以外の他の規格に適用することも可能である。   In the above description, the interleaving process and the deinterleaving process in turbo encoding and turbo decoding compliant with the LTE standard have been described as examples. However, even standards other than LTE can be applied to standards other than LTE as long as they do not depart from the spirit of the present invention.

更に、上記のインタリーブ回路及びデインタリーブ回路は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のインタリーブ回路及びデインタリーブ回路により行なわれるインタリーブ関連処理方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。   Furthermore, the interleaving circuit and the deinterleaving circuit described above can be realized by hardware, software, or a combination thereof. In addition, the interleaving-related processing method performed by the above interleaving circuit and deinterleaving circuit can also be realized by hardware, software, or a combination thereof. Here, “realized by software” means realized by a computer reading and executing a program.

プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   The program may be stored using various types of non-transitory computer readable media and supplied to the computer. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD- R, CD-R / W, and semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)). The program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
序数に第1の定数を乗じて得た第1の結果と前記序数の二乗に第2の定数を乗じて得た結果との和を所定の除数で除して得た剰余をアドレスとして生成するアドレス生成装置であって、
前記第1の結果を前記除数で除することにより第1中間剰余を得る第1演算手段と、
前記序数の所定の関数を前記除数で除することにより第2中間剰余を得る第2演算手段と、
前記第1中間剰余と前記第2中間剰余との和を前記除数で除して最終剰余を得る第3演算手段と、
を備え、
前記最終剰余を前記アドレスとすることを特徴とするアドレス生成装置。
(Appendix 1)
A remainder obtained by dividing the sum of the first result obtained by multiplying the ordinal by the first constant and the result obtained by multiplying the square of the ordinal by the second constant by a predetermined divisor is generated as an address. An address generator,
First computing means for obtaining a first intermediate remainder by dividing the first result by the divisor;
Second computing means for obtaining a second intermediate remainder by dividing the predetermined function of the ordinal by the divisor;
Third arithmetic means for dividing the sum of the first intermediate remainder and the second intermediate remainder by the divisor to obtain a final remainder;
With
An address generation apparatus characterized in that the final remainder is the address.

(付記2)
付記1に記載のアドレス生成装置であって、
前記第2演算手段は、
前記序数を、前記第2の定数と前記除数により定まる所定の数値により除することにより第3中間剰余を得る手段と、
前記第3中間剰余と前記第2中間剰余との対応関係を保持した記憶手段を備え、
前記第3中間剰余をキーとして前記記憶手段を参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成装置。
(Appendix 2)
The address generation device according to attachment 1, wherein
The second calculation means includes
Means for obtaining a third intermediate remainder by dividing the ordinal number by a predetermined numerical value determined by the second constant and the divisor;
Storage means for holding a correspondence relationship between the third intermediate residue and the second intermediate residue;
An address generation apparatus characterized in that the second intermediate residue is obtained by referring to the storage means using the third intermediate residue as a key.

(付記3)
付記2に記載のアドレス生成装置であって、
前記第3中間剰余を得る手段は、
前記序数をカウントして、カウント値を前記第3中間剰余として出力するカウンタと、
前記第3中間剰余が前記所定の数値に達したときに前記カウンタをリセットする手段と、
を備えることを特徴とするアドレス生成装置。
(Appendix 3)
The address generation device according to attachment 2, wherein
The means for obtaining the third intermediate remainder is
A counter that counts the ordinal number and outputs a count value as the third intermediate remainder;
Means for resetting the counter when the third intermediate remainder reaches the predetermined value;
An address generation device comprising:

(付記4)
付記2又は3に記載のアドレス生成装置であって、
前記所定の数値とは、前記第2の定数と前記除数との最大公約数により前記除数を除することにより得た商であることを特徴とするアドレス生成装置。
(Appendix 4)
The address generation device according to appendix 2 or 3,
The address generation apparatus according to claim 1, wherein the predetermined numerical value is a quotient obtained by dividing the divisor by a greatest common divisor of the second constant and the divisor.

(付記5)
付記2乃至4の何れか1に記載のアドレス生成装置であって、
前記第2演算手段は、前記記憶手段中の前記所定の除数に対応した前記第2中間剰余が格納されている位置まで参照位置を移動させた上で、前記第3中間剰余をキーとして前記記憶手段を参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成装置。
(Appendix 5)
The address generation device according to any one of appendices 2 to 4,
The second calculation means moves the reference position to a position where the second intermediate remainder corresponding to the predetermined divisor in the storage means is stored, and then stores the storage using the third intermediate remainder as a key. An address generation apparatus characterized in that the second intermediate remainder is obtained by referring to means.

(付記6)
付記1乃至5の何れか1に記載のアドレス生成装置であって、
前記第1演算手段は、
比較減算器が得た前記第1中間剰余に前記第1の定数を加算して、それにより得た和を前記比較減算器に出力する加算器と、
前記加算器から入力した前記和と前記第1の定数に対して比較減算を行うことにより前記第1中間剰余を得る前記比較減算器と、
を備えることを特徴とするアドレス生成装置。
(Appendix 6)
The address generation device according to any one of appendices 1 to 5,
The first calculation means includes
An adder that adds the first constant to the first intermediate residue obtained by the comparison subtractor and outputs the resulting sum to the comparison subtractor;
The comparison subtractor for obtaining the first intermediate remainder by performing a comparison subtraction on the sum input from the adder and the first constant;
An address generation device comprising:

(付記7)
付記1乃至6の何れか1に記載のアドレス生成装置と、
入力したデータを書き込みアドレスに従って記憶し、記憶したデータを読み出しアドレスに従って読み出して出力する記憶手段であって、前記序数を、前記書き込みアドレス及び前記読み出しアドレスのうちの一方として使用し、前記アドレス生成装置が生成したアドレスを前記書き込みアドレス及び前記読み出しアドレスのうちの他方として使用する記憶手段と、
を備えることを特徴とするデータ並べ替え装置。
(Appendix 7)
The address generation device according to any one of appendices 1 to 6,
Storage means for storing input data in accordance with a write address, reading out and outputting the stored data in accordance with a read address, wherein the ordinal number is used as one of the write address and the read address, and the address generation device Storing means for using the address generated by the second address as the other of the write address and the read address;
A data rearrangement device comprising:

(付記8)
序数に第1の定数を乗じて得た第1の結果と前記序数の二乗に第2の定数を乗じて得た結果との和を所定の除数で除して得た剰余をアドレスとして生成するアドレス生成方法であって、
前記第1の結果を前記除数で除することにより第1中間剰余を得る第1演算ステップと、
前記序数の所定の関数を前記除数で除することにより第2中間剰余を得る第2演算ステップと、
前記第1中間剰余と前記第2中間剰余との和を前記除数で除して最終剰余を得る第3演算ステップと、
を有し、
前記最終剰余を前記アドレスとすることを特徴とするアドレス生成方法。
(Appendix 8)
A remainder obtained by dividing the sum of the first result obtained by multiplying the ordinal by the first constant and the result obtained by multiplying the square of the ordinal by the second constant by a predetermined divisor is generated as an address. An address generation method,
A first calculation step of obtaining a first intermediate remainder by dividing the first result by the divisor;
A second calculation step of obtaining a second intermediate remainder by dividing the predetermined function of the ordinal number by the divisor;
A third calculation step of obtaining a final remainder by dividing the sum of the first intermediate remainder and the second intermediate remainder by the divisor;
Have
An address generation method, wherein the final remainder is the address.

(付記9)
付記8に記載のアドレス生成方法であって、
前記第2演算ステップは、
前記序数を、前記第2の定数と前記除数により定まる所定の数値により除することにより第3中間剰余を得るステップと、
前記第3中間剰余と前記第2中間剰余との対応関係を保持した記憶手段を参照するステップを含み、
前記第3中間剰余をキーとして前記記憶手段を参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成方法。
(Appendix 9)
The address generation method according to attachment 8, wherein
The second calculation step includes:
Obtaining a third intermediate remainder by dividing the ordinal by a predetermined numerical value determined by the second constant and the divisor;
Including a step of referring to storage means holding a correspondence relationship between the third intermediate residue and the second intermediate residue;
An address generation method characterized in that the second intermediate residue is obtained by referring to the storage means using the third intermediate residue as a key.

(付記10)
付記9に記載のアドレス生成方法であって、
前記第3中間剰余を得るステップは、
前記序数をカウントして、カウント値を前記第3中間剰余として出力するカウンタと、
前記第3中間剰余が前記所定の数値に達したときに前記カウンタをリセットするステップと、
を含むことを特徴とするアドレス生成方法。
(Appendix 10)
The address generation method according to attachment 9, wherein
The step of obtaining the third intermediate remainder includes
A counter that counts the ordinal number and outputs a count value as the third intermediate remainder;
Resetting the counter when the third intermediate remainder reaches the predetermined value;
An address generation method comprising:

(付記11)
付記9又は10に記載のアドレス生成方法であって、
前記所定の数値とは、前記第2の定数と前記除数との最大公約数により前記除数を除することにより得た商であることを特徴とするアドレス生成方法。
(Appendix 11)
The address generation method according to appendix 9 or 10,
The address generation method characterized in that the predetermined numerical value is a quotient obtained by dividing the divisor by a greatest common divisor of the second constant and the divisor.

(付記12)
付記9乃至11の何れか1に記載のアドレス生成方法であって、
前記第2演算ステップは、前記記憶手段中の前記所定の除数に対応した前記第2中間剰余が格納されている位置まで参照位置を移動させた上で、前記第3中間剰余をキーとして前記記憶ステップを参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成方法。
(Appendix 12)
The address generation method according to any one of appendices 9 to 11,
In the second calculation step, the reference position is moved to a position where the second intermediate remainder corresponding to the predetermined divisor in the storage means is stored, and the storage is performed using the third intermediate remainder as a key. An address generation method characterized in that the second intermediate remainder is obtained by referring to a step.

(付記13)
付記8乃至12の何れか1に記載のアドレス生成方法であって、
前記第1演算ステップは、
比較減算器が得た前記第1中間剰余に前記第1の定数を加算して、それにより得た和を前記比較減算器に加算器を使用して出力するステップと、
前記比較減算器が、前記加算器から入力した前記和と前記第1の定数に対して比較減算を行うことにより前記第1中間剰余を得るステップと、
を含むことを特徴とするアドレス生成方法。
(Appendix 13)
The address generation method according to any one of appendices 8 to 12,
The first calculation step includes:
Adding the first constant to the first intermediate residue obtained by the comparison subtractor and outputting the resulting sum to the comparison subtractor using an adder;
The comparison subtractor obtains the first intermediate remainder by performing a comparison subtraction on the sum input from the adder and the first constant;
An address generation method comprising:

(付記14)
付記8乃至13の何れか1に記載のアドレス生成方法に加え、
入力したデータを書き込みアドレスに従って記憶し、記憶したデータを読み出しアドレスに従って読み出して出力する記憶ステップであって、前記序数を、前記書き込みアドレス及び前記読み出しアドレスのうちの一方として使用し、前記アドレス生成方法が生成したアドレスを前記書き込みアドレス及び前記読み出しアドレスのうちの他方として使用する記憶ステップと、
を含むことを特徴とするデータ並べ替え方法。
(Appendix 14)
In addition to the address generation method described in any one of appendices 8 to 13,
A storage step of storing input data according to a write address, reading out the stored data according to a read address and outputting the same, wherein the ordinal number is used as one of the write address and the read address, and the address generation method A storage step of using the generated address as the other of the write address and the read address;
A data rearrangement method comprising:

(付記15)
LTE(Long Term Evolution 3GPP TS 36.212)で用いるターボ符号化および復号のためのインタリーブ回路においてGCD(最大公約数)を用いて得られる周期巡回するデータ系列を用いてインタリーブに用いるDual Port RAMのアドレス生成を行うインタリーブ回路。
(Appendix 15)
A dual port RAM used for interleaving using a cyclic data sequence obtained by using GCD (greatest common divisor) in an interleaving circuit for turbo coding and decoding used in LTE (Long Term Evolution 3GPP TS 36.212) An interleave circuit that generates addresses.

(付記16)
付記15記載のインタリーブ回路であって、前記周期巡回するデータをROMに格納し、情報ビットi(0,1,2...K−1の任意の値)から読み出しすることでインタリーブのアドレス生成を行うインタリーブ回路。
(Appendix 16)
The interleave circuit according to appendix 15, wherein the cyclic data is stored in a ROM and read from an information bit i (an arbitrary value of 0, 1, 2, ... K-1) to generate an interleave address Interleave circuit that performs.

本発明は、インタリーブ処理及びデインタリーブ処理に好適である。   The present invention is suitable for interleaving and deinterleaving.

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
101 turbo encoder 102 encoding circuit 1
103 Coding circuit 2
104 Interleave circuit 105 Transmitter 201 Receiver 202 Turbo decoder 203 Deinterleave circuit 204 First decode circuit 205 Interleave circuit 206 Second decode circuit 207 Demultiplexer 300 Interleave circuit 301 Write counter 302 Read counter 303 f1 multiplier 304 i 2 multiplier 305 f2 multiplier 306 adder 307 modulo arithmetic circuit 308 Dual Port RAM
400 Deinterleave circuit 401 Write counter 402 Read counter 403 f1 multiplier 404 i 2 multiplier 405 f2 multiplier 406 adder 407 Modulo operation circuit 408 Dual Port RAM
501 Modulo operation comparison subtraction element 601 f1 adder 602 f1 comparison subtractor 603 comparator 604 f2 calculation counter 605 offset adder 606 ROM
607 f1, f2 adder 608 f1, f2 comparison subtractor 609 Write counter 610 Dual Port RAM
701 f1 adder 702 f1 comparison subtractor 703 comparator 704 f2 calculation counter 705 offset adder 706 ROM
707 f1, f2 adder 708 f1, f2 comparison subtractor 709 Read counter 710 Dual Port RAM

Claims (8)

序数に第1の定数を乗じて得た第1の結果と前記序数の二乗に第2の定数を乗じて得た結果との和を所定の除数で除して得た剰余をアドレスとして生成するアドレス生成装置であって、
前記第1の結果を前記除数で除することにより第1中間剰余を得る第1演算手段と、
前記序数の所定の関数を前記除数で除することにより第2中間剰余を得る第2演算手段と、
前記第1中間剰余と前記第2中間剰余との和を前記除数で除して最終剰余を得る第3演算手段と、
を備え、
前記最終剰余を前記アドレスとすることを特徴とするアドレス生成装置。
A remainder obtained by dividing the sum of the first result obtained by multiplying the ordinal by the first constant and the result obtained by multiplying the square of the ordinal by the second constant by a predetermined divisor is generated as an address. An address generator,
First computing means for obtaining a first intermediate remainder by dividing the first result by the divisor;
Second computing means for obtaining a second intermediate remainder by dividing the predetermined function of the ordinal by the divisor;
Third arithmetic means for dividing the sum of the first intermediate remainder and the second intermediate remainder by the divisor to obtain a final remainder;
With
An address generation apparatus characterized in that the final remainder is the address.
請求項1に記載のアドレス生成装置であって、
前記第2演算手段は、
前記序数を、前記第2の定数と前記除数により定まる所定の数値により除することにより第3中間剰余を得る手段と、
前記第3中間剰余と前記第2中間剰余との対応関係を保持した記憶手段を備え、
前記第3中間剰余をキーとして前記記憶手段を参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成装置。
The address generation device according to claim 1,
The second calculation means includes
Means for obtaining a third intermediate remainder by dividing the ordinal number by a predetermined numerical value determined by the second constant and the divisor;
Storage means for holding a correspondence relationship between the third intermediate residue and the second intermediate residue;
An address generation apparatus characterized in that the second intermediate residue is obtained by referring to the storage means using the third intermediate residue as a key.
請求項2に記載のアドレス生成装置であって、
前記第3中間剰余を得る手段は、
前記序数をカウントして、カウント値を前記第3中間剰余として出力するカウンタと、
前記第3中間剰余が前記所定の数値に達したときに前記カウンタをリセットする手段と、
を備えることを特徴とするアドレス生成装置。
The address generation device according to claim 2,
The means for obtaining the third intermediate remainder is
A counter that counts the ordinal number and outputs a count value as the third intermediate remainder;
Means for resetting the counter when the third intermediate remainder reaches the predetermined value;
An address generation device comprising:
請求項2又は3に記載のアドレス生成装置であって、
前記所定の数値とは、前記第2の定数と前記除数との最大公約数により前記除数を除することにより得た商であることを特徴とするアドレス生成装置。
The address generation device according to claim 2 or 3,
The address generation apparatus according to claim 1, wherein the predetermined numerical value is a quotient obtained by dividing the divisor by a greatest common divisor of the second constant and the divisor.
請求項2乃至4の何れか1項に記載のアドレス生成装置であって、
前記第2演算手段は、前記記憶手段中の前記所定の除数に対応した前記第2中間剰余が格納されている位置まで参照位置を移動させた上で、前記第3中間剰余をキーとして前記記憶手段を参照することにより前記第2中間剰余を得ることを特徴とするアドレス生成装置。
The address generation device according to any one of claims 2 to 4,
The second calculation means moves the reference position to a position where the second intermediate remainder corresponding to the predetermined divisor in the storage means is stored, and then stores the storage using the third intermediate remainder as a key. An address generation apparatus characterized in that the second intermediate remainder is obtained by referring to means.
請求項1乃至5の何れか1項に記載のアドレス生成装置であって、
前記第1演算手段は、
比較減算器が得た前記第1中間剰余に前記第1の定数を加算して、それにより得た和を前記比較減算器に出力する加算器と、
前記加算器から入力した前記和と前記第1の定数に対して比較減算を行うことにより前記第1中間剰余を得る前記比較減算器と、
を備えることを特徴とするアドレス生成装置。
The address generation device according to any one of claims 1 to 5,
The first calculation means includes
An adder that adds the first constant to the first intermediate residue obtained by the comparison subtractor and outputs the resulting sum to the comparison subtractor;
The comparison subtractor for obtaining the first intermediate remainder by performing a comparison subtraction on the sum input from the adder and the first constant;
An address generation device comprising:
請求項1乃至6の何れか1項に記載のアドレス生成装置と、
入力したデータを書き込みアドレスに従って記憶し、記憶したデータを読み出しアドレスに従って読み出して出力する記憶手段であって、前記序数を、前記書き込みアドレス及び前記読み出しアドレスのうちの一方として使用し、前記アドレス生成装置が生成したアドレスを前記書き込みアドレス及び前記読み出しアドレスのうちの他方として使用する記憶手段と、
を備えることを特徴とするデータ並べ替え装置。
The address generation device according to any one of claims 1 to 6,
Storage means for storing input data in accordance with a write address, reading out and outputting the stored data in accordance with a read address, wherein the ordinal number is used as one of the write address and the read address, and the address generation device Storing means for using the address generated by the second address as the other of the write address and the read address;
A data rearrangement device comprising:
序数に第1の定数を乗じて得た第1の結果と前記序数の二乗に第2の定数を乗じて得た結果との和を所定の除数で除して得た剰余をアドレスとして生成するアドレス生成方法であって、
前記第1の結果を前記除数で除することにより第1中間剰余を得る第1演算ステップと、
前記序数の所定の関数を前記除数で除することにより第2中間剰余を得る第2演算ステップと、
前記第1中間剰余と前記第2中間剰余との和を前記除数で除して最終剰余を得る第3演算ステップと、
を有し、
前記最終剰余を前記アドレスとすることを特徴とするアドレス生成方法。
A remainder obtained by dividing the sum of the first result obtained by multiplying the ordinal by the first constant and the result obtained by multiplying the square of the ordinal by the second constant by a predetermined divisor is generated as an address. An address generation method,
A first calculation step of obtaining a first intermediate remainder by dividing the first result by the divisor;
A second calculation step of obtaining a second intermediate remainder by dividing the predetermined function of the ordinal number by the divisor;
A third calculation step of obtaining a final remainder by dividing the sum of the first intermediate remainder and the second intermediate remainder by the divisor;
Have
An address generation method, wherein the final remainder is the address.
JP2013168857A 2013-08-15 2013-08-15 Address generation circuit and address generation method Active JP6193051B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013168857A JP6193051B2 (en) 2013-08-15 2013-08-15 Address generation circuit and address generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013168857A JP6193051B2 (en) 2013-08-15 2013-08-15 Address generation circuit and address generation method

Publications (2)

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

Family

ID=52687573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013168857A Active JP6193051B2 (en) 2013-08-15 2013-08-15 Address generation circuit and address generation method

Country Status (1)

Country Link
JP (1) JP6193051B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004129240A (en) * 2002-09-30 2004-04-22 Lucent Technol Inc Method and apparatus for generating interleaved address
JP2007057811A (en) * 2005-08-24 2007-03-08 Univ Nagoya Method, device, and program for computing residue system
JP2008141756A (en) * 2006-11-30 2008-06-19 Motorola Inc Method and apparatus for encoding and decoding data
JP2008219892A (en) * 2007-02-28 2008-09-18 Motorola Inc Method and apparatus of encoding and decoding data
JP2010541319A (en) * 2007-09-25 2010-12-24 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Control channel element interference randomization
WO2013115429A1 (en) * 2012-02-02 2013-08-08 Innowireless Co., Ltd. Apparatus and method for generating interleaver index

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004129240A (en) * 2002-09-30 2004-04-22 Lucent Technol Inc Method and apparatus for generating interleaved address
JP2007057811A (en) * 2005-08-24 2007-03-08 Univ Nagoya Method, device, and program for computing residue system
JP2008141756A (en) * 2006-11-30 2008-06-19 Motorola Inc Method and apparatus for encoding and decoding data
JP2008219892A (en) * 2007-02-28 2008-09-18 Motorola Inc Method and apparatus of encoding and decoding data
JP2010541319A (en) * 2007-09-25 2010-12-24 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Control channel element interference randomization
WO2013115429A1 (en) * 2012-02-02 2013-08-08 Innowireless Co., Ltd. Apparatus and method for generating interleaver index

Also Published As

Publication number Publication date
JP6193051B2 (en) 2017-09-06

Similar Documents

Publication Publication Date Title
CN110999095B (en) Block-wise parallel freeze bit generation for polarization codes
JP2008510379A (en) Method and apparatus for encoding and decoding data
KR20160105311A (en) Apparatus of parity interleaving for encoding variable-length signaling information and method using the same
US9312884B2 (en) Double QC-LDPC code
WO2016050323A1 (en) Method and device for calculating a crc code in parallel
US20100241911A1 (en) Address generator of communication data interleaver and communication data decoding circuit
JP4847628B2 (en) Method and apparatus for encoding based on linear block code
JP7047092B2 (en) Decoding method, device and storage medium for stair code
JP6193051B2 (en) Address generation circuit and address generation method
JP2009246474A (en) Turbo decoder
JP4909498B2 (en) Interleave parameter calculation method / program / program recording medium / device, mobile phone
US10505710B2 (en) Electronic calculating device
US11362679B2 (en) Method and apparatus for generating redundant bits for error detection
CN110022158B (en) Decoding method and device
US20200119846A1 (en) Interleaving Method And Apparatus
US8595584B2 (en) Method and apparatus for interleaving a data stream using quadrature permutation polynomial functions (QPP)
US8296627B2 (en) Address generation apparatus and method of data interleaver/deinterleaver
KR20090030378A (en) Apparatus and method for block interleaving in mobile communication system
CN111600613B (en) Verification method, verification device, decoder, receiver and computer storage medium
WO2018184672A1 (en) Construction of ldpc convolutional turbo codes
Upadhyaya et al. Design of FPGA-Based QPP Interleaver for LTE/LTE-Advanced Application
TW201810960A (en) Decoding module for logarithmic calculation function
JP2017058501A (en) Hash function calculation device and method
JP2010041628A (en) Encoder, encoding method, and encoding program
KR20120071511A (en) Method and apparatus for data rate matching for mobile communication systems

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