JP5816383B2 - インターリーバーインデックス生成装置及び方法 - Google Patents

インターリーバーインデックス生成装置及び方法 Download PDF

Info

Publication number
JP5816383B2
JP5816383B2 JP2014555464A JP2014555464A JP5816383B2 JP 5816383 B2 JP5816383 B2 JP 5816383B2 JP 2014555464 A JP2014555464 A JP 2014555464A JP 2014555464 A JP2014555464 A JP 2014555464A JP 5816383 B2 JP5816383 B2 JP 5816383B2
Authority
JP
Japan
Prior art keywords
addition
index
result
input
interleaver
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
JP2014555464A
Other languages
English (en)
Other versions
JP2015505655A (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.)
Innowireless Co Ltd
Original Assignee
Innowireless Co 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 Innowireless Co Ltd filed Critical Innowireless Co Ltd
Publication of JP2015505655A publication Critical patent/JP2015505655A/ja
Application granted granted Critical
Publication of JP5816383B2 publication Critical patent/JP5816383B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2739Permutation polynomial interleaver, e.g. quadratic permutation polynomial [QPP] interleaver and quadratic congruence interleaver
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/276Interleaving address generation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/395Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using a collapsed trellis, e.g. M-step algorithm, radix-n architectures with n>2

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、インターリーバーインデックス生成装置及び方法に関し、より詳細にはターボエンコーダの内部インターリーバーインデックスの並列式生成装置及び方法に関する。
ターボエンコーダの内部インターリーバーの入出力関係は、入力がC0,C2..., CK-1で、出力がC’0,C’2..., C’K-1であるとき、次の数式に従う。
Figure 0005816383
また、入力列のインデックスと出力列のインデックスは次の数式に従う。
Figure 0005816383
図1は、従来のターボエンコーダの内部インターリーバーインデックスを生成するための装置100を示す構成図である。
図1を参照すると、従来のターボエンコーダの内部インターリーバーインデックスを生成するための装置100は、第1乗算器110、加算器120、第2乗算器130、除算器140を含むように構成される。
従来のターボエンコーダの内部インターリーバーインデックスを生成するための装置100は、入力データの大きさであるK、上記Kから計算されたfとf及びビットの順によるiの値の入力を受けて下記式を満足するΠ(i)を出力する。
Figure 0005816383
第1乗算器110はfとiの入力を受けてf*iの値を出力する。
加算器120は、上記第1乗算器110を通じて出力されたf*iとiの入力を受けてf*i+f値を出力する。
第2乗算器130は、上記加算器120を通じて出力されたf*i+fとiの入力を受けて(f*i+f)*iの値を出力する。
除算器140は(f*i+f)*iとKの入力を受けて{(f*i+f)*i}/Kを行って、余りに該当する{(f*i+f)*i}mod Kを出力する。
このような従来のターボエンコーダの内部インターリーバーインデックスを生成するための装置100はインデックスをビット単位で出力しているため、入力データの大きさが大きくなるにつれてインデックス生成時間が比例して増加して、性能低下が発生するという問題点がある。
また、従来のターボエンコーダの内部インターリーバーインデックスを生成するための装置100は、インデックスを生成するためにハードウェア具現の観点で高い重要度を持つ乗算器と除算器を必要とする問題点がある。
本発明の目的は、複数のビットに対するインターリーバーインデックスを並列に生成できるようにしながら、入力データの一定ビットに対して導出したインデックス値を用いて、以後のビットに対するインデックスを計算するようにするインターリーバーインデックス生成装置及び方法を提供することである。
上記の目的を達成するための入力データに対するインターリーバーインデックス生成装置において、上記データの一定ビットに対するインデックスを計算する上位プロセッサ;及び上記上位プロセッサから計算されたインデックスを受けて上記一定ビット以後のビットに対するインデックスを並列に計算して複数のインデックスを導出するインデックス演算部;を含むことを特徴とするインターリーバーインデックス生成装置が提供される。
好ましくは、上記上位プロセッサ又は上記インデックス演算部は、インデックスを計算するにあたってインデックス値の差を用いて計算することを特徴とする。
好ましくは、上記一定ビットに対するインデックスは、以下の数式により計算される値を用いて計算されることを特徴とする。
Figure 0005816383
好ましくは、上記モジュラ(mod)演算は加算とマルチプレクサを用いて行われるようにすることを特徴とする。
好ましくは、上記加算は上記モジュラ演算の被除数と符号反転された除数の加算であり、上記マルチプレクサは上記加算の結果及び上記被除数の入力を受けて、上記加算の結果が負数であれば上記被除数が出力され、正数であれば上記加算の結果が出力されるようにすることを特徴とする。
好ましくは、上記上位プロセッサは上記データのi番目からi+15番目までのビット(ここで、iは0以上の整数)に対するインデックスを計算し、上記インデックス演算部はi+j番目と(i+j)+8番目ビットに対するインデックス値の差を用いて(i+j)+16番目ビット(ここで、jは0≦j≦7)に対するインデックスを計算することを特徴とする。
好ましくは、上記上位プロセッサは(128*f)mod Kを計算して上記インデックス演算部に送り、上記インデックス演算部は下記の数式を用いてインデックスを計算することを特徴とする。
Figure 0005816383

(ここで、jは0≦j≦7)
好ましくは、上記モジュラ演算は第1入力、第2入力及び除数Kの入力を受けて第1加算、第2加算及びマルチプレクサを用いて行われるようにすることを特徴とする。
好ましくは、上記第1加算は上記第1入力の値と符号反転された上記第2入力の値の加算であり、上記第2加算は、上記第1加算の結果と上記除数Kの加算であり、上記マルチプレクサは上記第1加算の結果と上記第2加算の結果の入力を受けて、上記第1加算の結果が負数であれば上記第2加算の結果を出力し、正数であれば上記第1加算の結果を出力することを特徴とする。
また、入力データに対するインターリーバーインデックスを生成する方法において、上記データの一定ビットに対するインデックスを計算する第1ステップ;及び上記計算されたインデックスを用いて上記一定ビット以後のビットに対するインデックスを並列に計算する第2ステップ;を含むことを特徴とするインターリーバーインデックス生成方法が提供される。
好ましくは、上記第1ステップは以下の数式によりビットに対するインデックス値の差を計算し、上記計算されたインデックス値を用いて上記ビット以後のビットに対するインデックスを計算することを特徴とする。
Figure 0005816383
好ましくは、上記モジュラ演算は加算とマルチプレクサを用いて行われるが、上記加算は上記モジュラ演算の被除数と符号反転された除数の加算であり、上記マルチプレクサは上記加算の結果及び上記被除数の入力を受けて、上記加算の結果が負数であれば上記被除数が出力され、正数であれば上記加算の結果が出力されるようにすることを特徴とする。
好ましくは、上記第1ステップは上記データのi番目からi+15番目までのビット(ここで、iは0以上の整数)に対するインデックス及び(128*f)mod Kを計算し、上記第2ステップは以下の数式を用いてi+16番目ビット以後のビットに対するインデックスを計算することを特徴とする。
Figure 0005816383

(ここで、jは0≦j≦7)
好ましくは、上記モジュラ演算は第1入力、第2入力及び除数Kの入力を受けて第1加算、第2加算及びマルチプレクサを用いて行われるようにするが、上記第1加算は上記第1入力の値と符号反転された上記第2入力の値の加算であり、上記第2加算は上記第1加算の結果と上記除数Kの加算であり、上記マルチプレクサは上記第1加算の結果と上記第2加算の結果の入力を受けて、上記第1加算の結果が負数であれば上記第2加算の結果を出力し、正数であれば上記第1加算の結果を出力することを特徴とする。
その他実施例の具体的な事項は詳細な説明及び図面に含まれている。
本発明は、複数のビットに対するインデックスを並列に生成することで、全体インデックスの生成にかかる時間を減らす効果がある。
また、本発明は、一定ビットに対して計算されたインデックスを用いて、乗算器と除算器を使用せずに以後のビットに対するインデックスを計算することで、ハードウェア具現時の資源の効率性及び性能の向上を図る効果がある。
従来のターボエンコーダの内部インターリーバーインデックスを生成するための装置を示す構成図。 本発明の一実施例に係るインターリーバーインデックス生成装置の構成図。 本発明の一実施例に係るモジュラ回路の構成図。 本発明の他の実施例に係るモジュラ回路の構成図。 本発明の他の実施例に係るインターリーバーインデックス生成装置の構成図。 本発明の一実施例に係る次のインデックス生成器の構成図。 本発明の一実施例に係るインターリーバーインデックス生成方法の流れ図。
本発明の利点及び特徴、並びにそれらを達成する方法は、添付図面とともに詳細に後述されている実施例を参照すると明確になるだろう。しかし、本発明は、以下で開示される実施例に限定されるものではなく、互いに異なる多様な形態で具現されることができ、単に本実施例は本発明の開示を完全にさせるものであり、本発明の属する技術分野における通常の知識を有する者に発明の範囲を完全に知らせるために提供されるものであり、本発明は請求項の範疇によって定義されるだけである。一方、本明細書で使用された用語は実施例を説明するためのものであり、本発明を制限しようとするものではない。
図2は本発明の一実施例に係るインターリーバーインデックス生成装置200の構成図である。図2を参照すると、本発明の一実施例に係るインターリーバーインデックス生成装置200は上位プロセッサ210と8個のインデックス演算部220を含むように構成される。各インデックス演算部220は第1保存装置221、第2保存装置222、次のインデックス生成器223を含むように構成される。
本発明の一実施例に係るインターリーバーインデックス生成装置200は、入力データに対するインターリーバーインデックスを生成する。
インターリーバーインデックスは、入力データから導出されるf、f及びビットの順によるi値を用いて下記式を満足するΠ(i)である。
Figure 0005816383
例えば、上記数式で使用されたパラメータは、下表のとおりである。
Figure 0005816383
Figure 0005816383
即ち、上記表の最初の例であるK=40、f=3、f=10から生成されるインデックスは、順次に0、13、6、19、12、25、18、31、24、37、30、3、36、9、2、15、8、21、14、27、20、33、26、39、32、5、38、11、4、17、10、23、16、29、22、35、28、1、34、7になる。
上位プロセッサ210は、入力データの一定ビットに対するインデックスを計算する。
本発明の好ましい一実施例によれば、上位プロセッサ210は、インデックス値の差を用いて入力データの一定ビットに対するインデックスを計算する。
図3は本発明の一実施例に係るモジュラ回路300の構成図である。図3を参照すると、本発明の一実施例に係るモジュラ回路300は加算器310とマルチプレクサ320で構成される。
モジュラ演算は、被除数を除数で割った余りを出力する演算である。加算器310は、被除数と除数の入力を受けて被除数と符号反転された除数の加算を行う。即ち、被除数から除数を差し引いた値を導出する。
マルチプレクサ320は上記加算の結果と被除数の入力を受けて、上記加算の結果が負数であれば被除数が出力され、上記加算の結果が正数であれば上記加算の結果を出力するようにする。
本発明の好ましい他の実施例によれば、上記一定ビットに対するインデックスは、上記本発明の一実施例に係るモジュラ回路300を用いてモジュラ演算を行って値を演算する。
即ち、上位プロセッサ210が一定ビットに対するインデックス値をインデックス演算部220に提供しなくても、上記本発明の一実施例に係るモジュラ回路300を通じて一定ビットに対するインデックスを演算してインデックス演算部220に提供するように具現することができる。
このような本発明の一実施例に係るモジュラ回路300は、モジュラ演算することにおいて、乗算器と除算器をハードウェア具現の観点でより低い重要資源であるマルチプレクサと加算器に取り替える効果がある。
このようなモジュラ演算は除算器を加算器とマルチプレクサに取り替えて、ハードウェア具現の観点でより低い重要度を持つ回路要素で構成できるようにして効率的なハードウェア資源を運用できるようにする効果がある。
図5は、本発明の他の実施例に係るインターリーバーインデックス生成装置500の構成図である。図5を参照すると、本発明の他の実施例に係るインターリーバーインデックス生成装置500は3個の加算器511、512、513、2個のマルチプレクサ521、522、2個のD−フリップフロップ531、532及び3個の上記モジュラ演算器541、542、543を含むように構成される。
本発明の他の実施例に係るインターリーバーインデックス生成装置500は(f+f)mod K、(2*f)mod K及びKの入力を受けてΠ(i)を順次に生成する。
本発明の他の実施例に係るインターリーバーインデックス生成装置500は下記式を用いてΠ(i)を導出する。
Figure 0005816383
これをわかりやすく展開して説明すると、次のとおりである。
Π(i+1)−Π(i)={f*(i+1)+f*(i+1)−(f*i+f*i)} mod K
={f*i+f+f*i+2*f*i+f−(f*i+f*i)}mod K
=(f+f+2*f*i)mod K
即ち、現在インデックス値と次のインデックス値の差はf+fにfの2倍をiだけ累積して加えればよいため、本発明の他の実施例に係るインターリーバーインデックス生成装置500により導出されるΠ(i)は下記式を満たす。
Figure 0005816383
第1加算器511は、(2*f)mod Kの入力を受けて第1モジュラ演算器541の出力値と加算を行った結果値を出力する。最初演算のときは第1モジュラ演算器541の出力値を受けることができないため、出力値はアンノウン(unknown)状態である。
第1マルチプレクサ521は、第1加算器511の出力値と0の入力を受けて制御信号(control)により最初インデックス生成のときに0を出力するようにし、以後は第1加算器511の出力値を出力する。これはインターリーバーの最初インデックスが0でなければならないからであり、また第1加算器511の最初出力値がアンノウン状態の値であるからである。
第1D−フリップフロップ531は、第1マルチプレクサ521の出力値の入力を受けてこれを臨時的に保存する。これは第1モジュラ演算器541の出力値が第1加算器511に活用されるループバック(loop-back)が行われるからである。
また、第1D−フリップフロップ531は、第1加算器511に活用されるループバック(loop-back)を用いてΠ(i+1)−Π(i)=(f+f+2*f*i)mod Kにおけるiの増加による2*f値の累積が行われるようにする。
第1モジュラ演算器541は、第1D−フリップフロップ531の出力値とKの入力を受けて図3を通じて説明したモジュラ演算を行う。
第2加算器512は、第1モジュラ演算器541の出力値と(f+f)mod Kの加算結果を出力する。第2モジュラ演算器542は、第2加算器512の出力値とKの入力を受けて図3を通じて説明したモジュラ演算を行う。
第3加算器513は、第2モジュラ演算器542の出力値の入力を受けて第2D−フリップフロップ532の出力値と加算を行った結果値を出力する。最初遂行のときは第2D−フリップフロップ532の出力値を受けことができないため、出力値はアンノウン(unknown)状態である。
第3モジュラ演算器543は、第3加算器513の出力値とKの入力を受けて図3を通じて説明したモジュラ演算を行う。
第2マルチプレクサ522は、第3モジュラ演算器543の出力値と0の入力を受けて制御信号(control)により最初インデックス生成のときに0を出力するようにし、以後は第3モジュラ演算器543の出力値を出力する。これはインターリーバーの最初インデックスが0でなければならないからであり、また第3加算器513の最初出力値がアンノウン状態の値であるからである。
第2D−フリップフロップ532は第2マルチプレクサ522の出力値の入力を受けてこれを臨時的に保存する。これは第2マルチプレクサ522の出力値が第3加算器513に活用されるループバック(loop-back)が行われるからである。
また図2を参照すると、好ましくは、上記インターリーバーインデックス生成装置500は、上位プロセッサ210からインデックス演算部220に提供する一定ビットに対するインデックス値の導出に利用されることができる。即ち、上位プロセッサ210が一定ビットに対するインデックス値をインデックス演算部220に提供しない場合、上記インターリーバーインデックス生成装置500を用いて上記一定ビットに対するインデックスを演算してインデックス演算部220に提供するように構成することができる。
本発明の好ましいまた他の実施例によれば、上位プロセッサ210は、入力データのi番目からi+15番目までのビット(ここで、iは0以上の整数)に対するインデックス及び(128*f)mod Kを計算してインデックス演算部220に送る。上位プロセッサ210は、8個のインデックス演算部220それぞれに入力データのi+j番目と(i+j)+8番目ビットに対するインデックス値(ここで、jは0≦j≦7)、(128*f)mod K及びKを送る。
インデックス演算部220は、上位プロセッサ210から送られてきた値を用いて上位プロセッサ210が計算したビット以後のビットに対するインデックスを並列に計算して複数のインデックスを導出する。
本発明の好ましい他の実施例によれば、インデックス演算部220は上位プロセッサ210から入力データのi+j番目と(i+j)+8番目ビットに対するインデックス値(ここで、jは0≦j≦7)を受け取って、インデックス値の差を用いて(i+j)+16番目ビットに対するインデックスを計算する。
図2では、入力データのi+j番目に対するインデックス値はΠ(i)であって、(i+j)+8番目ビットに対するインデックス値はΠ(i)で表わされ、以後、iは8ずつ増加することになるiで表わされた。即ち、im+1はi+8と同じであり、im+2はi+16と同じである。
本発明の好ましいまた他の実施例によれば、インデックス演算部220は上位プロセッサ210から入力データのi+j番目と(i+j)+8番目ビットに対するインデックス値(ここで、jは0≦j≦7)及び(128*f)mod Kを受け取って下記式を用いて(i+j)+16番目ビットに対するインデックスを計算する。
Figure 0005816383
インターリーバーインデックスは以下のような特性を有する。
1.Kは全て8の倍数である。
2.最初インデックスは常に0である。
3.生成されたインデックスを8で割った余りは8個ずつ繰り返される形で表れる。
4.最初8個のインデックスと2番目の8個のインデックスが生成されると、これを用いて3番目以後の全てのインデックスを8個単位で生成することができる。
したがって、インターリーバーインデックスは次の数式を満たす。
Figure 0005816383
これをわかりやすく展開して説明すると、以下のとおりである。
Π(i+8)={f*(i+8)+f*(i+8)}mod K
={f*i+8*f+f*i+16*f*i+64*f}mod K
上記の数式にΠ(i)を加えて、差し引いた後、まとめると以下のとおりである。
Π(i+8)={f*i+8*f+f*i+16*f*i+64*f+(f*i+f*i)−(f*i+f*i)}mod K
={f*i+f*i+f*i+f*i+8*f+16*f*i+64*f−(f*i+f*i)}mod K
={2*(f*i+f*i)−(f*i-8*f)−(f*i−16*f*i−64*f}mod K
上記数式に128*fを加えて、差し引いた後、まとめると以下のとおりである。
Π(i+8)={2*(f*i+f*i)+128*f−128*f−(f*i−8*f)−(f*i−16*f*i−64*f}mod K
={2*(f*i+f*i)−(f*i−8*f)−(f*i−16*f*i+64*f)+128*f}mod K
={2*(f*i+f*i)−f*(i−8)−f*(i−8)+128*f}mod K
={2*Π(i)−Π(i−8)+128*f}mod K
好ましくは、インデックス生成部220は、第1保存装置221、第2保存装置222及び次のインデックス生成器223を含むように構成され、上位プロセッサ210からΠ(i)、Π(i)、(128*f)mod K及びKを受け取ってΠ(i)以後のインデックスを計算し、出力はΠ(i)から順次に出力されるようにする。
第1保存装置221は、最初は上位プロセッサ210からΠ(i)値を受け取って保存し、以後には第2保存装置222に保存されたΠ(im+1)を順次に受け取って保存する。また、第1保存装置221は保存された値を次のインデックス生成器223に送る。そして、第1保存装置221は保存された値を順次にインデックス演算部220の出力値として出力する。
例えば、第1保存装置221は、最初Π(i)を保存し且つ出力し、その次には第2保存装置222が最初保存したΠ(i)を受け取って保存し且つ出力し、その次には第2保存装置222が次に保存する次のインデックス生成器223がΠ(i)とΠ(i)を通じて出力したΠ(i)を受け取って保存し且つ出力する。即ち、第1保存装置221はΠ(i)から順次にΠ(i)値を保存し、次のインデックス生成器223に送り、インデックス演算部220の出力値として出力する。
第2保存装置222は、最初は上位プロセッサ210からΠ(i)値を受け取って保存し、以後には次のインデックス生成器223の出力値であるΠ(im+2)を受け取って保存する。また、第2保存装置222は保存された値を次のインデックス生成器223及び第1保存装置221に送る。即ち、第2保存装置222はΠ(i)から順次にΠ(im+1)値を保存し、次のインデックス生成器223と第1保存装置211に送る。
次のインデックス生成器223は、第1保存装置221及び第2保存装置223から受け取ったΠ(i)値とΠ(im+1)値、上位プロセッサ210から受け取った(128*f)mod K値とKを用いてΠ(im+2)を計算する。好ましくは、次のインデックス生成器223は下記式を用いてΠ(im+2)を計算する。また、次のインデックス生成器223は計算されたΠ(im+2)を第2保存装置222に送る。
Figure 0005816383
好ましくは、インデックス演算部220は8個が存在し、各インデックス演算部はそれぞれ(Π(0)、Π(8))、(Π(1)、Π(9))、(Π(2)、Π(10))、(Π(3)、Π(11))、(Π(4)、Π(12))、(Π(5)、Π(13))、(Π(6)、Π(14))、(Π(7)、Π(15))の入力を受けてΠ(n*8)、Π(n*8+1)、Π(n*8+2)、Π(n*8+3)、Π(n*8+4)、Π(n*8+5)、Π(n*8+6)、Π(n*8+7)を出力する。(nは2以上であって、(K/8−1)以下の定数)
図4は、本発明の他の実施例に係るモジュラ回路400の構成図である。図4を参照すると、本発明の他の実施例に係るモジュラ回路400は第1加算器410、第2加算器420及びマルチプレクサ430で構成され、第1入力、第2入力及び除数Kの入力を受ける。
第1加算器410は、入力を受けた第1入力の値と符号反転された第2入力の値の加算を行って出力する。即ち、第1加算器410は第1入力の値から第2入力の値を差し引く計算を行う。
第2加算器420は、第1加算器410の出力値と入力を受けた除数K値の加算を行って出力する。マルチプレクサ430は、第1加算器410の出力値と第2加算器420の出力値の入力を受けて、第1加算器410の出力値が正数であれば第1加算器410の出力値を出力し、第1加算器410の出力値が負数であれば第2加算器420の出力値を出力する。
図6は本発明の一実施例に係る次のインデックス生成器の構成図である。図6を参照すると、本発明の一実施例に係る次のインデックス生成器600は、図3で説明した2個のモジュラ演算器610、620、図4で説明した1個のモジュラ演算器630及び1個の加算器640を含むように構成され、(128*f)mod K、2*Π(i)、K及びΠ(im+1)の入力を受けてΠ(im+2)を出力する。
好ましくは、本発明の一実施例に係る次のインデックス生成器600が入力を受ける2*Π(i)は、Π(i)の入力を受けてビットシフトを適用して乗算器を使用せずに演算することができる。第1モジュラ演算器610は、2*Π(i)とKの入力を受けて図3で説明したモジュラ演算を行う。第2モジュラ演算器630は、第1モジュラ演算器610の出力値、Π(im+1)及びKの入力を受けて図4で説明したモジュラ演算を行う。加算器640は、第2モジュラ演算器620の出力値と(128*f)mod K値の加算を遂行して出力する。第3モジュラ演算器620は、加算器640の出力値とKの入力を受けて図3で説明したモジュラ演算を行う。第3モジュラ演算器620の出力値が次のインデックス生成器600の出力値であって、Π(im+2)になる。好ましくは、上記説明したマルチプレクサは、入力値の負数又は正数を判断するにあたって、最上位ビット値を用いて判断することができる。
図7は本発明の一実施例に係るインターリーバーインデックス生成方法の流れ図である。図7を参照すると、本発明の一実施例に係るインターリーバーインデックス生成方法は、入力データからK、f、fを計算するステップS710、S710ステップで計算したK、f、fを用いて入力データの一定ビットのi番目からi+15番目までのビットに対するインデックスであるΠ(i)からΠ(i+15)までの値を計算するステップS720、及びS720ステップで計算したΠ(i)からΠ(i+15)までの値とインデックス値の差を用いてΠ(i+16)以後の値を並列に計算するステップS730を含む。
S710ステップでは、インデックス生成装置は入力データからK、f、fを計算する。
S720ステップでは、インデックス生成装置はS710ステップで計算したK、f、fを用いて入力データの一定ビットに対するインデックスを計算する。
本発明の好ましい一実施例によれば、S720ステップでは、インデックス生成装置は下記式によりビットに対するインデックス値の差を計算し、これを用いてi+1回目以後のビットに対するインデックスを計算する。
Figure 0005816383
本発明の好ましい一実施例によれば、上記モジュラ演算は加算とマルチプレクサを用いて行われるが、上記加算は上記モジュラ演算の被除数と符号反転された除数の加算であり、上記マルチプレクサは上記加算の結果及び上記被除数の入力を受けて、上記加算の結果が負数であれば上記被除数が出力され、正数であれば上記加算の結果が出力されるようにする。
本発明の好ましい他の実施例によれば、S720ステップでは、インデックス生成装置は入力データのi番目からi+15番目までのビット(ここで、iは0以上の整数)に対するインデックス及び(128*f)mod Kを計算する。
S730ステップでは、インデックス生成装置はS720ステップで計算したインデックス値を用いて計算したビット以後のビットに対するインデックスを並列に計算する。
本発明の好ましい一実施例によれば、S730では、インデックス生成装置は下記式(ここで、jは0≦j≦7)数式を用いてi+16番目ビット以後のビットに対するインデックスを計算する。
Figure 0005816383
本発明の好ましい他の実施例によれば、S730では、インデックス生成装置は第1入力、第2入力及び除数Kの入力を受けて、第1加算、第2加算及びマルチプレクサを用いて行われるモジュラ演算を利用する。上記モジュラ演算で活用される各演算は以下のとおりである。
上記第1加算は上記第1入力の値と符号反転された上記第2入力の値の加算であり、上記第2加算は上記第1加算の結果と上記除数Kの加算であり、上記第2加算は上記第1加算の結果と上記除数の加算であり、上記マルチプレクサは上記第1加算の結果と上記第2加算の結果の入力を受けて上記第1加算の結果が負数であれば上記第2加算の結果を出力し、正数であれば上記第1加算の結果を出力する。
以上、本発明の好ましい実施例及び応用例について図示して説明したが、本発明は上述した特定の実施例及び応用例に限定されるものではなく、請求範囲で請求する本発明の要旨を逸脱せずに当該発明の属する技術分野における通常の知識を有する者によって多様な変形実施が可能であることが勿論のことであり、かかる変形実施は本発明の技術的思想や展望から個別的に理解されてはいけない。
200:インターリーバーインデックス生成装置
210:上位プロセッサ
220:インデックス演算部
221:第1保存装置
222:第2保存装置
223:次のインデックス生成器

Claims (10)

  1. 入力データに対するインターリーバーインデックス生成装置において、
    前記データのそれぞれのビットに対するインデックスを計算する上位プロセッサと、
    前記上位プロセッサから計算されたインデックスを受けて前記それぞれのビット以後のビットに対するインデックスを並列に計算して複数のインデックスを導出するインデックス演算部と、を含み、
    前記上位プロセッサは、前記データのi番目からi+15番目までのビット(ここで、iは0以上の整数)に対するインデックスを計算し、
    前記インデックス演算部は、(i+j)番目と(i+j)+8番目ビットに対するインデックス値の差を用いて(i+j)+16番目ビット(ここで、jは0≦j≦7)に対するインデックスを計算することを特徴とするインターリーバーインデックス生成装置。
  2. インデックスは、モジュラ(mod)演算によって計算され、
    前記モジュラ(mod)演算は、加算とマルチプレクサを用いて行われるようにすることを特徴とする請求項に記載のインターリーバーインデックス生成装置。
  3. 前記加算は、前記モジュラ演算の被除数と符号反転された除数の加算であり、
    前記マルチプレクサは、前記加算の結果及び前記被除数の入力を受けて、前記加算の結果が負数であれば前記被除数が出力され、正数であれば前記加算の結果が出力されるようにすることを特徴とする請求項に記載のインターリーバーインデックス生成装置。
  4. 前記上位プロセッサは、(128*f)mod Kを計算して前記インデックス演算部に送り、
    前記インデックス演算部は、下記の数式を用いてインデックスを計算することを特徴とする請求項に記載のインターリーバーインデックス生成装置。
    Figure 0005816383
    (ここで、Kは入力データの大きさであり、f はKから計算される係数である
  5. インデックスは、モジュラ(mod)演算によって計算され、
    前記モジュラ(mod)演算は、第1入力、第2入力及び除数K(但し、Kは入力データの大きさである)の入力を受けて第1加算、第2加算及びマルチプレクサを用いて行われるようにすることを特徴とする請求項に記載のインターリーバーインデックス生成装置。
  6. 前記第1加算は前記第1入力の値と符号反転された前記第2入力の値の加算であり、
    前記第2加算は前記第1加算の結果と前記除数Kの加算であり、
    前記マルチプレクサは、前記第1加算の結果と前記第2加算の結果の入力を受けて、前記第1加算の結果が負数であれば前記第2加算の結果を出力し、正数であれば前記第1加算の結果を出力することを特徴とする請求項に記載のインターリーバーインデックス生成装置。
  7. 入力データに対するインターリーバーインデックスを生成する方法において、
    前記データのそれぞれのビットに対するインデックスを計算する第1ステップと、
    前記計算されたインデックスを用いて前記それぞれのビット以後のビットに対するインデックスを並列に計算する第2ステップと、を含み、
    前記第1ステップは、前記データのi番目からi+15番目までのビット(ここで、iは0以上の整数)に対するインデックスを計算し、
    前記第2ステップは、(i+j)番目と(i+j)+8番目ビットに対するインデックス値の差を用いて(i+j)+16番目ビット(ここで、jは0≦j≦7)に対するインデックスを計算することを特徴とするインターリーバーインデックス生成方法。
  8. インデックスは、モジュラ(mod)演算によって計算され、
    前記モジュラ(mod)演算は、加算とマルチプレクサを用いて行われるが、
    前記加算は、前記モジュラ演算の被除数と符号反転された除数の加算であり、
    前記マルチプレクサは、前記加算の結果及び前記被除数の入力を受けて、前記加算の結果が負数であれば前記被除数が出力され、正数であれば前記加算の結果が出力されるようにすることを特徴とする請求項に記載のインターリーバーインデックス生成方法。
  9. 前記第2ステップは以下の数式を用いてi+16番目ビット以後のビットに対するインデックスを計算することを特徴とする請求項に記載のインターリーバーインデックス生成方法。
    Figure 0005816383
    (ここで、Kは入力データの大きさであり、f はKから計算される係数である。
  10. 前記数2のモジュラ(mod)演算は、第1入力、第2入力及び除数Kの入力を受けて第1加算、第2加算及びマルチプレクサを用いて行われるようにするが、
    前記第1加算は、前記第1入力の値と符号反転された前記第2入力の値の加算であり、
    前記第2加算は、前記第1加算の結果と前記除数Kの加算であり、
    前記マルチプレクサは、前記第1加算の結果と前記第2加算の結果の入力を受けて、前記第1加算の結果が負数であれば前記第2加算の結果を出力し、正数であれば前記1加算の結果を出力することを特徴とする請求項に記載のインターリーバーインデックス生成方法。
JP2014555464A 2012-02-02 2012-02-24 インターリーバーインデックス生成装置及び方法 Active JP5816383B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2012-0010658 2012-02-02
KR1020120010658A KR101286021B1 (ko) 2012-02-02 2012-02-02 인터리버 인덱스 생성장치 및 방법
PCT/KR2012/001441 WO2013115429A1 (en) 2012-02-02 2012-02-24 Apparatus and method for generating interleaver index

Publications (2)

Publication Number Publication Date
JP2015505655A JP2015505655A (ja) 2015-02-23
JP5816383B2 true JP5816383B2 (ja) 2015-11-18

Family

ID=48905444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014555464A Active JP5816383B2 (ja) 2012-02-02 2012-02-24 インターリーバーインデックス生成装置及び方法

Country Status (6)

Country Link
US (1) US9344118B2 (ja)
EP (1) EP2810372B1 (ja)
JP (1) JP5816383B2 (ja)
KR (1) KR101286021B1 (ja)
IL (1) IL233798B (ja)
WO (1) WO2013115429A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6193051B2 (ja) * 2013-08-15 2017-09-06 Necプラットフォームズ株式会社 アドレス生成回路及びアドレス生成方法
US10122495B2 (en) * 2015-11-25 2018-11-06 National Instruments Corporation Flexible polynomial-based interleaver

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01267713A (ja) * 1988-04-20 1989-10-25 Hitachi Ltd デイジタル周期波発生器
JP2728818B2 (ja) * 1991-11-22 1998-03-18 三菱電機株式会社 可変長復号化器
US6088800A (en) * 1998-02-27 2000-07-11 Mosaid Technologies, Incorporated Encryption processor with shared memory interconnect
DE10030407B4 (de) * 1999-07-14 2011-09-01 Lg Electronics Inc. Verfahren zur optimalen Ratenanpassung in einem Mobilkommunikationssystem
KR100943612B1 (ko) 2002-09-25 2010-02-24 삼성전자주식회사 터보코드를 사용하는 이동통신시스템의 터보 인터리버장치 및 방법
US7529307B2 (en) * 2005-03-30 2009-05-05 Intel Corporation Interleaver
KR20070080921A (ko) * 2006-02-09 2007-08-14 삼성전자주식회사 통신시스템에서 인터리빙 장치 및 방법
US7925956B2 (en) * 2006-10-03 2011-04-12 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8239711B2 (en) * 2006-11-10 2012-08-07 Telefonaktiebolaget Lm Ericsson (Publ) QPP interleaver/de-interleaver for turbo codes
US7949926B2 (en) * 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
KR101133907B1 (ko) * 2007-07-06 2012-04-12 주식회사 코아로직 디인터리브 장치와 방법 및 인터리빙 인덱스 산출장치 및방법과 그 기록매체
US8140932B2 (en) * 2007-11-26 2012-03-20 Motorola Mobility, Inc. Data interleaving circuit and method for vectorized turbo decoder
WO2010008165A2 (ko) * 2008-07-13 2010-01-21 엘지전자 주식회사 이동통신 시스템에서 ctc(convolutional turbo code) 인코더를 이용하여 데이터를 전송하기 위한 장치 및 그 방법.
CN101931419B (zh) * 2009-06-24 2013-04-03 中兴通讯股份有限公司 一种turbo码内交织器的计算方法及装置
TWI381653B (zh) * 2009-09-11 2013-01-01 Ind Tech Res Inst 二階重排多項式交織器位址產生裝置與方法
US8913478B2 (en) * 2009-11-18 2014-12-16 Wi-Lan, Inc. Methods and apparatus for interleaving in OFDM/OFDMA systems

Also Published As

Publication number Publication date
US9344118B2 (en) 2016-05-17
EP2810372A4 (en) 2015-09-09
US20150026535A1 (en) 2015-01-22
JP2015505655A (ja) 2015-02-23
WO2013115429A1 (en) 2013-08-08
KR101286021B1 (ko) 2013-07-19
IL233798B (en) 2019-02-28
EP2810372A1 (en) 2014-12-10
EP2810372B1 (en) 2019-04-03
IL233798A0 (en) 2014-09-30

Similar Documents

Publication Publication Date Title
KR101992270B1 (ko) 디지털 서명 생성 방법 및 장치
Chung et al. A high-performance elliptic curve cryptographic processor over GF (p) with SPA resistance
US8498411B1 (en) Using multiples above two with running totals and reference values other than 0 and 2 (window size) in elliptic curve cryptography scalar multiplication acceleration tables
US10999056B2 (en) Apparatus and method for performing operation being secure against side channel attack
Shah et al. A high‐speed RSD‐based flexible ECC processor for arbitrary curves over general prime field
JP5816383B2 (ja) インターリーバーインデックス生成装置及び方法
CN108512665B (zh) 在椭圆曲线密码系统中生成椭圆曲线点
US10833868B2 (en) Direct anonymous attestation-based apparatus and method
CN104506316A (zh) 一种基于sm2基点的点乘运算方法
CN106371803B (zh) 用于蒙哥马利域的计算方法和计算装置
US10659224B2 (en) Apparatus and method for performing operation being secure against side channel attack
US10812260B2 (en) Apparatus and method for performing operation being secure against side channel attack
Dong et al. An efficient FPGA implementation of ECC modular inversion over F256
Reyes et al. A performance comparison of elliptic curve scalar multiplication algorithms on smartphones
RU2392736C1 (ru) Способ генерации и проверки подлинности электронной цифровой подписи, заверяющей электронный документ
Rao An open source software package for primality testing of numbers of the form p2^ n+ 1, with no constraints on the relative sizes of p and 2^ n
Paryasto et al. Composite field multiplier based on look-up table for elliptic curve cryptography implementation
Mohammadi et al. Efficient design of Elliptic curve point multiplication based on fast Montgomery modular multiplication
Brar et al. Design and implementation of block method for computing NAF
KR101626743B1 (ko) 유한체상의 몽고메리 알고리즘을 이용한 곱셉기 및 곱셈 방법
US8605895B2 (en) Computing the eth root of a number using a variant of the RSA algorithm (for even e's)
KR101423947B1 (ko) 확장된 nist 소수를 이용한 모듈러 곱셈 및 모듈러 지수승 방법
Элиас et al. FPGA cores for fast multiplicative inverse calculation in Galois Fields
Rezai et al. An Efficient Scalar Multiplication Algorithm for Elliptic Curve Cryptography Using a New Signed-Digit Representation
Kodali et al. FPGA implementation of energy efficient multiplication over GF (2 m) for ECC

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140918

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150813

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150915

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150925

R150 Certificate of patent or registration of utility model

Ref document number: 5816383

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250