JP5231570B2 - プルーンインタリーバおよびプルーンデインタリーバの効率的なアドレス生成 - Google Patents
プルーンインタリーバおよびプルーンデインタリーバの効率的なアドレス生成 Download PDFInfo
- Publication number
- JP5231570B2 JP5231570B2 JP2010539758A JP2010539758A JP5231570B2 JP 5231570 B2 JP5231570 B2 JP 5231570B2 JP 2010539758 A JP2010539758 A JP 2010539758A JP 2010539758 A JP2010539758 A JP 2010539758A JP 5231570 B2 JP5231570 B2 JP 5231570B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- determining
- prune
- function
- invalid mappings
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2703—Coding, 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 the interleaver involving at least two directions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2703—Coding, 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 the interleaver involving at least two directions
- H03M13/2725—Turbo interleaver for 3rd generation partnership project 2 [3GPP2] mobile telecommunication systems, e.g. as defined in the 3GPP2 technical specifications C.S0002
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/275—Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/276—Interleaving address generation
- H03M13/2764—Circuits therefore
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2789—Interleaver providing variable interleaving, e.g. variable block sizes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
Description
本願は、本発明の譲受人に譲渡され、特に参照によって本明細書に組み込まれている、2007年12月21日に出願した米国仮出願第61/016045号、名称「PARALLEL PRUNED INTERLEAVER METHOD AND APPARATUS」の優先権を主張するものである。
・C’2:1011xxx: 8個の整数、
・C’3:101011x: 2個の整数、および
・C’4:1010101: 1個の整数。
・C2:xxx1101: δ2=0001101、
・C3:x110101: δ3=0110101、および
・C4:1010101: δ4=1010101。
・i番目の0ビットの左までのxのMSBすなわちx[n−1:I(i)+1]、および
・i番目の0ビットを含むxの残りのLSBすなわちx[I(i):0]。
aは、0≦a<mの乗数であり、
cは、0≦c<mの増分であり、
Yiは、線形合同シーケンス内のi番目の要素である。
2.(a−1)が、mのすべての素因子の倍数であり、
3.mが4の倍数である場合に、(a−1)が4の倍数である。
Kr,n(c,α’,β’)は、xのn個のMSBに対するLCS関数を考慮することによって決定される無効なマッピングを有する整数の集合であり、
「∪」は、和集合演算を表す。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
プルーンインタリーバ用の第1のアドレスを受け取ることと、
前記第1のアドレスに対応する無効なマッピングの総数を決定することと、
前記第1のアドレスおよび前記無効なマッピングの総数に基づいて前記プルーンインタリーバ用の第2のアドレスを決定することと、
前記第1のアドレスおよび前記第2のアドレスに基づいてデータを並べ変えることと
を含む、データを処理する方法。
[C2]
前記第1のアドレスは、線形アドレスを含み、前記第2のアドレスは、インタリーブされたアドレスを含み、データを並べ変えることは、
前記データをインタリーブするために、前記線形アドレスにあるデータ値を前記インタリーブされたアドレスにマッピングすること
を含む、[C1]に記載の方法。
[C3]
前記プルーンインタリーバは、プルーンビット逆転インタリーバを含み、前記第2のアドレスを決定することは、
中間アドレスを得るために、前記線形アドレスを前記無効なマッピングの総数と合計することと、
前記インタリーブされたアドレスとして、前記中間アドレスのビット逆転された版を提供することと
を含む、[C2]に記載の方法。
[C4]
前記第2のアドレスを決定することは、
中間アドレスを得るために、前記線形アドレスを前記無効なマッピングの総数と合計することと、
前記中間アドレスの非プルーンインタリーバ関数に基づいて前記インタリーブされたアドレスを決定することと
を含む、[C2]に記載の方法。
[C5]
前記非プルーンインタリーバ関数は、配列の複数の行に関する第1のマッピング関数および各行内の複数のエントリに関する第2のマッピング関数を含む、[C4]に記載の方法。
[C6]
前記非プルーンインタリーバ関数は、ビット逆転関数および線形合同シーケンス(LCS)関数を含む、[C4]に記載の方法。
[C7]
前記第1のアドレスは、インタリーブされたアドレスを含み、前記第2のアドレスは、線形アドレスを含み、データを並べ変えることは、
前記データをデインタリーブするために、前記インタリーブされたアドレスにあるデータ値を前記線形アドレスにマッピングすること
を含む、[C1]に記載の方法。
[C8]
前記プルーンインタリーバは、プルーンビット逆転インタリーバを含み、前記第2のアドレスを決定することは、
前記インタリーブされたアドレスのビット逆転された版に基づいて中間アドレスを決定することと、
前記線形アドレスを得るために、前記中間アドレスから前記無効なマッピングの総数を減算することと
を含む、[C7]に記載の方法。
[C9]
前記第2のアドレスを決定することは、
前記インタリーブされたアドレスの非プルーンデインタリーバ関数に基づいて中間アドレスを決定することと、
前記線形アドレスを得るために、前記中間アドレスから前記無効なマッピングの総数を減算することと
を含む、[C7]に記載の方法。
[C10]
前記無効なマッピングの総数は、反復的に決定される、[C1]に記載の方法。
[C11]
前記無効なマッピングの総数は、反復の所定の回数についてまたは無効なマッピングの同一の総数が2つの連続する反復について得られるまで決定される、[C10]に記載の方法。
[C12]
前記無効なマッピングの総数を決定することは、反復ごとに、
前記第1のアドレスと前記反復の初期値との合計に基づいて一時アドレスを決定することと、
0から前記一時アドレスまでの範囲内の無効なマッピングの個数を決定することと
を含む、[C10]に記載の方法。
[C13]
前記初期値は、最初の反復について0と等しく、各後続の反復について前の反復からの前記無効なマッピングの個数と等しい、[C12]に記載の方法。
[C14]
前記プルーンインタリーバは、Lのサイズを有し、0から前記一時アドレスまでの前記範囲内の前記無効なマッピングの個数を決定することは、
L−1のビット表現内の0ビットを識別することと、
L−1の前記ビット表現内の各0ビットのカウント値を、前記一時アドレス、L−1の前記ビット表現、およびL−1の前記ビット表現内の前記0ビットの位置に基づいて決定することと、
0から前記一時アドレスまでの前記範囲内の前記無効なマッピングの個数を得るために、L−1の前記ビット表現内のすべての0ビットのカウント値を合計することと
を含む、[C12]に記載の方法。
[C15]
前記無効なマッピングの総数を決定することは、
前記第1のマッピング関数に基づいて前記第1のアドレスの無効なマッピングの第1の個数を決定することと、
前記第2のマッピング関数に基づいて前記第1のアドレスの無効なマッピングの第2の個数を決定することと、
前記無効なマッピングの第1の個数および第2の個数に基づいて前記無効なマッピングの総数を決定することと
を含む、[C5]に記載の方法。
[C16]
前記無効なマッピングの総数は、反復的に決定され、前記無効なマッピングの総数を決定することは、反復ごとに、
前記第1のアドレスおよび前記反復の初期値の合計に基づいて一時アドレスを決定することと、
前記第1のマッピング関数によって決定される第1のカウント関数に基づいて0から前記一時アドレスまでの前記範囲内の無効なマッピングの第1の個数を決定することと、
前記第2のマッピング関数によって決定される第2のカウント関数に基づいて0から前記一時アドレスまでの前記範囲内の無効なマッピングの第2の個数を決定することと、
前記無効なマッピングの第1の個数および第2の個数に基づいて前記反復の無効なマッピングの組み合わされた個数を決定することと
を含む、[C5]に記載の方法。
[C17]
前記初期値は、最初の反復について0と等しく、各後続の反復について前の反復からの無効なマッピングの前記組み合わされた個数と等しい、[C16]に記載の方法。
[C18]
前記第1のカウント関数は、前記第1のマッピング関数のビット逆転関数に基づいて決定される、[C16]に記載の方法。
[C19]
前記第2のカウント関数は、前記第2のマッピング関数の線形合同シーケンス(LCS)関数に基づいて決定される、[C16]に記載の方法。
[C20]
前記第2のカウント関数は、デデキンド和の組合せを含む、[C16]に記載の方法。
[C21]
前記第1のアドレスおよび前記第2のアドレスは、それぞれ、bビットを含み、0からL−1までの範囲内にあり、Lは、前記プルーンインタリーバのサイズであり、(M/2)<L<MおよびM=2 b である、[C1]に記載の方法。
[C22]
プルーンインタリーバ用の第1のアドレスを受け取り、前記第1のアドレスに対応する無効なマッピングの総数を決定し、前記第1のアドレスおよび前記無効なマッピングの総数に基づいて前記プルーンインタリーバ用の第2のアドレスを決定し、前記第1のアドレスおよび前記第2のアドレスに基づいてデータを並べ変えるように構成された少なくとも1つのプロセッサ
を備える、データを処理する装置。
[C23]
前記少なくとも1つのプロセッサは、中間アドレスを得るために、前記第1のアドレスを前記無効なマッピングの総数と合計し、前記中間アドレスのビット逆転された版を前記第2のアドレスとして提供するように構成される、[C22]に記載の装置。
[C24]
前記少なくとも1つのプロセッサは、中間アドレスを得るために、前記第1のアドレスを前記無効なマッピングの総数と合計し、前記中間アドレスの非プルーンインタリーバ関数に基づいて前記第2のアドレスを決定するように構成される、[C22]に記載の装置。
[C25]
前記非プルーンインタリーバ関数は、ビット逆転関数および線形合同シーケンス(LCS)関数を含む、[C24]に記載の装置。
[C26]
前記少なくとも1つのプロセッサは、前記無効なマッピングの総数を反復的に決定し、反復ごとに、前記第1のアドレスおよび前記反復の初期値の合計に基づいて一時アドレスを決定し、0から前記一時アドレスまでの範囲内の無効なマッピングの個数を決定するように構成される、[C22]に記載の装置。
[C27]
前記プルーンインタリーバは、Lのサイズを有し、反復ごとに、前記少なくとも1つのプロセッサは、L−1のビット表現内の0ビットを識別し、L−1の前記ビット表現内の各0ビットのカウント値を、前記一時アドレス、L−1の前記ビット表現、およびL−1の前記ビット表現内の前記0ビットの位置に基づいて決定し、0から前記一時アドレスまでの前記範囲内の前記無効なマッピングの個数を得るために、L−1の前記ビット表現内のすべての0ビットのカウント値を合計するように構成される、[C26]に記載の装置。
[C28]
前記非プルーンインタリーバ関数は、配列の複数の行に関する第1のマッピング関数および各行内の複数のエントリに関する第2のマッピング関数を含み、前記少なくとも1つのプロセッサは、前記無効なマッピングの総数を反復的に決定し、反復ごとに、前記第1のアドレスおよび前記反復の初期値の合計に基づいて一時アドレスを決定し、前記第1のマッピング関数によって決定される第1のカウント関数に基づいて0から前記一時アドレスまでの範囲内の無効なマッピングの第1の個数を決定し、前記第2のマッピング関数によって決定される第2のカウント関数に基づいて0から前記一時アドレスまでの前記範囲内の無効なマッピングの第2の個数を決定し、前記無効なマッピングの第1の個数および第2の個数に基づいて前記反復の無効なマッピングの組み合わされた個数を決定するように構成される、[C24]に記載の装置。
[C29]
前記装置は、集積回路である、[C22]に記載の装置。
[C30]
前記装置は、無線通信デバイスである、[C22]に記載の装置。
[C31]
プルーンインタリーバ用の第1のアドレスを受け取るための手段と、
前記第1のアドレスに対応する無効なマッピングの総数を決定するための手段と、
前記第1のアドレスおよび前記無効なマッピングの総数に基づいて前記プルーンインタリーバ用の第2のアドレスを決定するための手段と、
前記第1のアドレスおよび前記第2のアドレスに基づいてデータを並べ変えるための手段と
を備える、データを処理する装置。
[C32]
前記第2のアドレスを決定するための手段は、
中間アドレスを得るために、前記第1のアドレスを前記無効なマッピングの総数と合計するための手段と、
前記中間アドレスのビット逆転された版を前記第2のアドレスとして提供するための手段と
を備える、[C31]に記載の装置。
[C33]
前記第2のアドレスを決定するための前記手段は、
中間アドレスを得るために、前記第1のアドレスを前記無効なマッピングの総数と合計するための手段と、
前記中間アドレスの非プルーンインタリーバ関数に基づいて前記第2のアドレスを決定するための手段と
を備える、[C31]に記載の装置。
[C34]
前記非プルーンインタリーバ関数は、ビット逆転関数および線形合同シーケンス(LCS)関数を含む、[C33]に記載の装置。
[C35]
前記無効なマッピングの総数は、反復的に決定され、前記無効なマッピングの総数を決定するための手段は、反復ごとに、
前記第1のアドレスおよび前記反復の初期値の合計に基づいて一時アドレスを決定するための手段と、
0から前記一時アドレスまでの範囲内の無効なマッピングの個数を決定するための手段と
を備える、[C31]に記載の装置。
[C36]
前記プルーンインタリーバは、Lのサイズを有し、0から前記一時アドレスまでの前記範囲内の前記無効なマッピングの個数を決定するための手段は、
L−1のビット表現内の0ビットを識別するための手段と、
L−1の前記ビット表現内の各0ビットのカウント値を、前記一時アドレス、L−1の前記ビット表現、およびL−1の前記ビット表現内の前記0ビットの位置に基づいて決定するための手段と、
0から前記一時アドレスまでの前記範囲内の前記無効なマッピングの個数を得るために、L−1の前記ビット表現内のすべての0ビットのカウント値を合計するための手段と
を備える、[C35]に記載の装置。
[C37]
前記非プルーンインタリーバ関数は、配列の複数の行に関する第1のマッピング関数および各行内の複数のエントリに関する第2のマッピング関数を含み、前記無効なマッピングの総数は、反復的に決定され、前記無効なマッピングの総数を決定するための前記手段は、反復ごとに、
前記第1のアドレスおよび前記反復の初期値の合計に基づいて一時アドレスを決定するための手段と、
前記第1のマッピング関数によって決定される第1のカウント関数に基づいて0から前記一時アドレスまでの範囲内の無効なマッピングの第1の個数を決定するための手段と、
前記第2のマッピング関数によって決定される第2のカウント関数に基づいて0から前記一時アドレスまでの前記範囲内の無効なマッピングの第2の個数を決定するための手段と、
前記無効なマッピングの第1の個数および第2の個数に基づいて前記反復の無効なマッピングの組み合わされた個数を決定するための手段と
を備える、[C33]に記載の装置。
[C38]
少なくとも1つのコンピュータにプルーンインタリーバ用の第1のアドレスを受け取らせるコードと、
前記少なくとも1つのコンピュータに前記第1のアドレスに対応する無効なマッピングの総数を決定させるコードと、
前記少なくとも1つのコンピュータに前記第1のアドレスおよび前記無効なマッピングの総数に基づいて前記プルーンインタリーバ用の第2のアドレスを決定させるコードと、
前記少なくとも1つのコンピュータに前記第1のアドレスおよび前記第2のアドレスに基づいてデータを並べ変えさせるコードと
を含む、コンピュータ可読媒体
を備える、コンピュータプログラム製品。
Claims (38)
- プルーンインタリーバ用の第1のアドレスを受け取ることと、
少なくとも部分的に、前記第1のアドレスと初期値との合計に基づいて一時アドレスを決定することによって、および、0から前記一時アドレスまでの範囲内の無効なマッピングの第1の個数を決定することによって、前記第1のアドレスに対応する無効なマッピングの総数を決定することと、
前記第1のアドレスおよび前記無効なマッピングの総数に基づいて前記プルーンインタリーバ用の第2のアドレスを決定することと、
前記第1のアドレスおよび前記第2のアドレスに基づいてデータを並べ変えることと
を含む、データを処理する方法。 - 前記第1のアドレスは、線形アドレスを含み、前記第2のアドレスは、インタリーブされたアドレスを含み、データを並べ変えることは、
前記データをインタリーブするために、前記線形アドレスにあるデータ値を前記インタリーブされたアドレスにマッピングすること
を含む、請求項1に記載の方法。 - 前記プルーンインタリーバは、プルーンビット逆転インタリーバを含み、前記第2のアドレスを決定することは、
中間アドレスを得るために、前記線形アドレスを前記無効なマッピングの総数と合計することと、
前記インタリーブされたアドレスとして、前記中間アドレスのビット逆転された版を提供することと
を含む、請求項2に記載の方法。 - 前記第2のアドレスを決定することは、
中間アドレスを得るために、前記線形アドレスを前記無効なマッピングの総数と合計することと、
前記中間アドレスの非プルーンインタリーバ関数に基づいて前記インタリーブされたアドレスを決定することと
を含む、請求項2に記載の方法。 - 前記非プルーンインタリーバ関数は、配列の複数の行に関する第1のマッピング関数および各行内の複数のエントリに関する第2のマッピング関数を含む、請求項4に記載の方法。
- 前記非プルーンインタリーバ関数は、ビット逆転関数および線形合同シーケンス(LCS)関数を含む、請求項4に記載の方法。
- 前記第1のアドレスは、インタリーブされたアドレスを含み、前記第2のアドレスは、線形アドレスを含み、データを並べ変えることは、
前記データをデインタリーブするために、前記インタリーブされたアドレスにあるデータ値を前記線形アドレスにマッピングすること
を含む、請求項1に記載の方法。 - 前記プルーンインタリーバは、プルーンビット逆転インタリーバを含み、前記第2のアドレスを決定することは、
前記インタリーブされたアドレスのビット逆転された版に基づいて中間アドレスを決定することと、
前記線形アドレスを得るために、前記中間アドレスから前記無効なマッピングの総数を減算することと
を含む、請求項7に記載の方法。 - 前記第2のアドレスを決定することは、
前記インタリーブされたアドレスの非プルーンデインタリーバ関数に基づいて中間アドレスを決定することと、
前記線形アドレスを得るために、前記中間アドレスから前記無効なマッピングの総数を減算することと
を含む、請求項7に記載の方法。 - 前記無効なマッピングの総数は、反復的に決定される、請求項1に記載の方法。
- 前記無効なマッピングの総数は、反復の所定の回数についてまたは無効なマッピングの同一の総数が2つの連続する反復について得られるまで決定される、請求項10に記載の方法。
- 前記初期値は、最初の反復について0と等しく、各後続の反復について前の反復からの前記無効なマッピングの第1の個数と等しい、請求項10に記載の方法。
- 前記プルーンインタリーバは、Lのサイズを有し、0から前記一時アドレスまでの前記範囲内の前記無効なマッピングの第1の個数を決定することは、
L−1のビット表現内の0ビットを識別することと、
L−1の前記ビット表現内の各0ビットのカウント値を、前記一時アドレス、L−1の前記ビット表現、およびL−1の前記ビット表現内の前記0ビットの位置に基づいて決定することと、
0から前記一時アドレスまでの前記範囲内の前記無効なマッピングの第1の個数を得るために、L−1の前記ビット表現内のすべての0ビットのカウント値を合計することと
を含む、請求項10に記載の方法。 - 前記無効なマッピングの総数を決定することは、
前記第1のマッピング関数に基づいて前記第1のアドレスの前記無効なマッピングの第1の個数を決定することと、
前記第2のマッピング関数に基づいて前記第1のアドレスの無効なマッピングの第2の個数を決定することと、
前記無効なマッピングの第1の個数および第2の個数に基づいて前記無効なマッピングの総数を決定することと
をさらに含む、請求項5に記載の方法。 - 前記無効なマッピングの総数は、反復的に決定され、前記無効なマッピングの総数を決定することは、反復ごとに、
前記第1のアドレスおよび前記反復の初期値の合計に基づいて前記一時アドレスを決定することと、
前記第1のマッピング関数によって決定される第1のカウント関数に基づいて0から前記一時アドレスまでの前記範囲内の前記無効なマッピングの第1の個数を決定することと、
前記第2のマッピング関数によって決定される第2のカウント関数に基づいて0から前記一時アドレスまでの前記範囲内の無効なマッピングの第2の個数を決定することと、
前記無効なマッピングの第1の個数および第2の個数に基づいて前記反復の無効なマッピングの組み合わされた個数を決定することと
を含む、請求項5に記載の方法。 - 前記初期値は、最初の反復について0と等しく、各後続の反復について前の反復からの無効なマッピングの前記組み合わされた個数と等しい、請求項15に記載の方法。
- 前記第1のカウント関数は、前記第1のマッピング関数のビット逆転関数に基づいて決定される、請求項15に記載の方法。
- 前記第2のカウント関数は、前記第2のマッピング関数の線形合同シーケンス(LCS)関数に基づいて決定される、請求項15に記載の方法。
- 前記第2のカウント関数は、デデキンド和の組合せを含む、請求項15に記載の方法。
- 前記第1のアドレスおよび前記第2のアドレスは、それぞれ、bビットを含み、0からL−1までの範囲内にあり、Lは、前記プルーンインタリーバのサイズであり、(M/2)<L<MおよびM=2bである、請求項1に記載の方法。
- プルーンインタリーバ用の第1のアドレスを受け取り、少なくとも部分的に、前記第1のアドレスおよび初期値の合計に基づいて一時アドレスを決定することによって、および、0から前記一時アドレスまでの範囲内の無効なマッピングの第1の個数を決定することによって、前記第1のアドレスに対応する無効なマッピングの総数を決定し、前記第1のアドレスおよび前記無効なマッピングの総数に基づいて前記プルーンインタリーバ用の第2のアドレスを決定し、前記第1のアドレスおよび前記第2のアドレスに基づいてデータを並べ変えるように構成された少なくとも1つのプロセッサ
を備える、データを処理する装置。 - 前記少なくとも1つのプロセッサは、中間アドレスを得るために、前記第1のアドレスを前記無効なマッピングの総数と合計し、前記中間アドレスのビット逆転された版を前記第2のアドレスとして提供するようにさらに構成される、請求項21に記載の装置。
- 前記少なくとも1つのプロセッサは、中間アドレスを得るために、前記第1のアドレスを前記無効なマッピングの総数と合計し、前記中間アドレスの非プルーンインタリーバ関数に基づいて前記第2のアドレスを決定するようにさらに構成される、請求項21に記載の装置。
- 前記非プルーンインタリーバ関数は、ビット逆転関数および線形合同シーケンス(LCS)関数を含む、請求項23に記載の装置。
- 前記プルーンインタリーバは、Lのサイズを有し、前記無効なマッピングの総数は、反復的に決定され、反復ごとに、前記少なくとも1つのプロセッサは、L−1のビット表現内の0ビットを識別し、L−1の前記ビット表現内の各0ビットのカウント値を、前記一時アドレス、L−1の前記ビット表現、およびL−1の前記ビット表現内の前記0ビットの位置に基づいて決定し、0から前記一時アドレスまでの前記範囲内の前記無効なマッピングの第1の個数を得るために、L−1の前記ビット表現内のすべての0ビットのカウント値を合計するようにさらに構成される、請求項21に記載の装置。
- 前記非プルーンインタリーバ関数は、配列の複数の行に関する第1のマッピング関数および各行内の複数のエントリに関する第2のマッピング関数を含み、前記少なくとも1つのプロセッサは、前記無効なマッピングの総数を反復的に決定し、反復ごとに、前記第1のアドレスおよび前記反復の初期値の合計に基づいて前記一時アドレスを決定し、前記第1のマッピング関数によって決定される第1のカウント関数に基づいて0から前記一時アドレスまでの範囲内の無効なマッピングの前記第1の個数を決定し、前記第2のマッピング関数によって決定される第2のカウント関数に基づいて0から前記一時アドレスまでの前記範囲内の無効なマッピングの第2の個数を決定し、前記無効なマッピングの第1の個数および第2の個数に基づいて前記反復の無効なマッピングの組み合わされた個数を決定するように構成される、請求項23に記載の装置。
- 前記装置は、集積回路である、請求項21に記載の装置。
- 前記装置は、無線通信デバイスである、請求項21に記載の装置。
- プルーンインタリーバ用の第1のアドレスを受け取るための手段と、
前記第1のアドレスに対応する無効なマッピングの総数を決定するための1つまたは複数の回路手段であって、
前記第1のアドレスおよび初期値の合計に基づいて一時アドレスを決定するための手段と、
0から前記一時アドレスまでの範囲内の無効なマッピングの第1の個数を決定するための手段と
を含む、1つまたは複数の回路手段と、
前記第1のアドレスおよび前記無効なマッピングの総数に基づいて前記プルーンインタリーバ用の第2のアドレスを決定するための手段と、
前記第1のアドレスおよび前記第2のアドレスに基づいてデータを並べ変えるための手段と
を備える、データを処理する装置。 - 前記第2のアドレスを決定するための手段は、
中間アドレスを得るために、前記第1のアドレスを前記無効なマッピングの総数と合計するための手段と、
前記中間アドレスのビット逆転された版を前記第2のアドレスとして提供するための手段と
を備える、請求項29に記載の装置。 - 前記第2のアドレスを決定するための前記手段は、
中間アドレスを得るために、前記第1のアドレスを前記無効なマッピングの総数と合計するための手段と、
前記中間アドレスの非プルーンインタリーバ関数に基づいて前記第2のアドレスを決定するための手段と
を備える、請求項29に記載の装置。 - 前記非プルーンインタリーバ関数は、ビット逆転関数および線形合同シーケンス(LCS)関数を含む、請求項31に記載の装置。
- 前記プルーンインタリーバは、Lのサイズを有し、前記無効なマッピングの総数は、反復的に決定され、0から前記一時アドレスまでの前記範囲内の前記無効なマッピングの第1の個数を決定するための手段は、
L−1のビット表現内の0ビットを識別するための手段と、
L−1の前記ビット表現内の各0ビットのカウント値を、前記一時アドレス、L−1の前記ビット表現、およびL−1の前記ビット表現内の前記0ビットの位置に基づいて決定するための手段と、
0から前記一時アドレスまでの前記範囲内の前記無効なマッピングの第1の個数を得るために、L−1の前記ビット表現内のすべての0ビットのカウント値を合計するための手段と
を備える、請求項29に記載の装置。 - 前記非プルーンインタリーバ関数は、配列の複数の行に関する第1のマッピング関数および各行内の複数のエントリに関する第2のマッピング関数を含み、前記無効なマッピングの総数は、反復的に決定され、前記無効なマッピングの総数を決定するための前記手段は、反復ごとに、
前記第1のアドレスおよび前記反復の初期値の合計に基づいて一時アドレスを決定するための手段と、
前記第1のマッピング関数によって決定される第1のカウント関数に基づいて0から前記一時アドレスまでの範囲内の無効なマッピングの第1の個数を決定するための手段と、
前記第2のマッピング関数によって決定される第2のカウント関数に基づいて0から前記一時アドレスまでの前記範囲内の無効なマッピングの第2の個数を決定するための手段と、
前記無効なマッピングの第1の個数および第2の個数に基づいて前記反復の無効なマッピングの組み合わされた個数を決定するための手段と
を備える、請求項31に記載の装置。 - プルーンインタリーバ用の第1のアドレスを受け取ることを少なくとも1つのコンピュータによって実行可能な命令と、
少なくとも部分的に、前記第1のアドレスと初期値との合計に基づいて一時アドレスを決定することによって、および、0から前記一時アドレスまでの範囲内の無効なマッピングの第1の数を決定することによって、前記第1のアドレスに対応する無効なマッピングの総数を決定することを前記少なくとも1つのコンピュータによって実行可能な命令と、
前記第1のアドレスおよび前記無効なマッピングの総数に基づいて前記プルーンインタリーバ用の第2のアドレスを決定することを前記少なくとも1つのコンピュータによって実行可能な命令と、
前記第1のアドレスおよび前記第2のアドレスに基づいてデータを並べ変えることを前記少なくとも1つのコンピュータによって実行可能な命令と
を含む、コンピュータ可読記憶媒体。 - 前記無効なマッピングの総数は、反復的に決定され、前記無効なマッピングの総数を決定することは、反復ごとに、
前記第1のアドレスおよび前記反復の初期値の合計に基づいて前記一時アドレスを決定することと、
第1のマッピング関数によって決定される第1のカウント関数に基づいて0から前記一時アドレスまでの範囲内の前記無効なマッピングの第1の個数を決定することと、
前記第2のマッピング関数によって決定される第2のカウント関数に基づいて0から前記一時アドレスまでの前記範囲内の無効なマッピングの第2の個数を決定することと、なお、前記第2のカウント関数は、デデキンド和の組合せを含む、
前記無効なマッピングの第1の個数および第2の個数に基づいて前記反復の無効なマッピングの組み合わされた個数を決定することと
を備える、請求項1に記載の方法。 - 前記無効なマッピングの総数は、1つまたは複数の鋸歯関数に基づいて決定される、請求項1に記載の方法。
- 前記プルーンインタリーバは、プルーンサイズLと関連付けられ、さらに、非プルーンサイズM−1と関連付けられ、前記無効なマッピングの総数は、LからM−1までのマッピングを反映し、前記コンピュータ可読記憶媒体はさらに、前記LからM−1までのマッピングを複数の整数のクラスにグループ化することと、前記整数のクラスのうち1つまたは複数に、少なくとも部分的に、基づいて前記無効なマッピングの第1の個数を決定することとを前記少なくとも1つのコンピュータによって実行可能な命令をさらに備える、請求項35に記載のコンピュータ可読記憶媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1604507P | 2007-12-21 | 2007-12-21 | |
US61/016,045 | 2007-12-21 | ||
US12/336,167 | 2008-12-16 | ||
US12/336,167 US8751769B2 (en) | 2007-12-21 | 2008-12-16 | Efficient address generation for pruned interleavers and de-interleavers |
PCT/US2008/087276 WO2009085871A2 (en) | 2007-12-21 | 2008-12-17 | Efficient address generation for pruned interleavers and de-interleavers |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011508530A JP2011508530A (ja) | 2011-03-10 |
JP5231570B2 true JP5231570B2 (ja) | 2013-07-10 |
Family
ID=40790051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010539758A Active JP5231570B2 (ja) | 2007-12-21 | 2008-12-17 | プルーンインタリーバおよびプルーンデインタリーバの効率的なアドレス生成 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8751769B2 (ja) |
EP (1) | EP2238690A2 (ja) |
JP (1) | JP5231570B2 (ja) |
KR (2) | KR20130057488A (ja) |
CN (1) | CN101904102B (ja) |
TW (1) | TW200935758A (ja) |
WO (1) | WO2009085871A2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101435830B1 (ko) * | 2007-06-20 | 2014-08-29 | 엘지전자 주식회사 | 인터리빙 수행 방법 |
EP2202933B1 (en) * | 2008-12-23 | 2016-10-26 | Telefonaktiebolaget LM Ericsson (publ) | Technique for generating an sc-fdma signal |
EP2579468B1 (en) * | 2011-10-05 | 2020-05-06 | Telefonaktiebolaget LM Ericsson (publ) | Method and device for decoding a transport block of a communication signal |
US9256531B2 (en) | 2012-06-19 | 2016-02-09 | Samsung Electronics Co., Ltd. | Memory system and SoC including linear addresss remapping logic |
US9495291B2 (en) * | 2013-09-27 | 2016-11-15 | Qualcomm Incorporated | Configurable spreading function for memory interleaving |
CN106664436B (zh) | 2014-06-10 | 2020-01-10 | Lg电子株式会社 | 广播信号发送设备、广播信号接收设备、广播信号发送方法、以及广播信号接收方法 |
WO2016027965A1 (ko) * | 2014-08-21 | 2016-02-25 | 엘지전자 주식회사 | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 |
CN104301069B (zh) * | 2014-09-05 | 2017-06-30 | 江苏中兴微通信息科技有限公司 | 基于同余类交织映射序列的交织和解交织方法及装置 |
CN105991505A (zh) * | 2015-02-26 | 2016-10-05 | 晨星半导体股份有限公司 | 解回旋交错器与解回旋交错方法 |
CN107124189B (zh) * | 2017-05-10 | 2020-06-09 | 西安空间无线电技术研究所 | 一种tdma系统随机交织地址动态变化的方法 |
US10879936B2 (en) | 2018-08-23 | 2020-12-29 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for de-interleaving data in a communication system |
CN115374022B (zh) * | 2022-10-27 | 2023-02-07 | 北京象帝先计算技术有限公司 | 内存访问方法、装置、系统及电子设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6871303B2 (en) | 1998-12-04 | 2005-03-22 | Qualcomm Incorporated | Random-access multi-directional CDMA2000 turbo code interleaver |
US6304991B1 (en) | 1998-12-04 | 2001-10-16 | Qualcomm Incorporated | Turbo code interleaver using linear congruential sequence |
US6314534B1 (en) | 1999-03-31 | 2001-11-06 | Qualcomm Incorporated | Generalized address generation for bit reversed random interleaving |
JP3848858B2 (ja) | 2001-05-10 | 2006-11-22 | 株式会社日立コミュニケーションテクノロジー | ターボ復号器並びにターボ符号器及びターボ符号器、復号器を含む無線基地局 |
WO2004040774A1 (en) * | 2002-10-29 | 2004-05-13 | Samsung Electronics Co., Ltd. | Method and apparatus for deinterleaving interleaved data stream in a communication system |
KR20040037624A (ko) | 2002-10-29 | 2004-05-07 | 삼성전자주식회사 | 인터리빙된 데이터 열의 디인터리빙 방법 및 장치 |
US8599764B2 (en) * | 2003-09-02 | 2013-12-03 | Qualcomm Incorporated | Transmission of overhead information for reception of multiple data streams |
KR100877536B1 (ko) | 2003-10-24 | 2009-01-07 | 콸콤 인코포레이티드 | 다수의 데이터 스트림들의 수신을 위한 오버헤드 정보의전송 |
US7437650B2 (en) * | 2005-04-12 | 2008-10-14 | Agere Systems Inc. | Pre-emptive interleaver address generator for turbo decoders |
-
2008
- 2008-12-16 US US12/336,167 patent/US8751769B2/en not_active Expired - Fee Related
- 2008-12-17 JP JP2010539758A patent/JP5231570B2/ja active Active
- 2008-12-17 EP EP08867085A patent/EP2238690A2/en not_active Withdrawn
- 2008-12-17 KR KR1020137010282A patent/KR20130057488A/ko not_active Application Discontinuation
- 2008-12-17 KR KR1020107016357A patent/KR101331516B1/ko active IP Right Grant
- 2008-12-17 WO PCT/US2008/087276 patent/WO2009085871A2/en active Application Filing
- 2008-12-17 CN CN2008801222971A patent/CN101904102B/zh not_active Expired - Fee Related
- 2008-12-19 TW TW097149906A patent/TW200935758A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN101904102B (zh) | 2013-09-11 |
JP2011508530A (ja) | 2011-03-10 |
KR101331516B1 (ko) | 2013-11-21 |
CN101904102A (zh) | 2010-12-01 |
TW200935758A (en) | 2009-08-16 |
WO2009085871A3 (en) | 2010-02-25 |
US8751769B2 (en) | 2014-06-10 |
US20090164748A1 (en) | 2009-06-25 |
EP2238690A2 (en) | 2010-10-13 |
KR20130057488A (ko) | 2013-05-31 |
WO2009085871A2 (en) | 2009-07-09 |
KR20100105729A (ko) | 2010-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5231570B2 (ja) | プルーンインタリーバおよびプルーンデインタリーバの効率的なアドレス生成 | |
US7949926B2 (en) | Method and apparatus for encoding and decoding data | |
US7873893B2 (en) | Method and apparatus for encoding and decoding data | |
US7925956B2 (en) | Method and apparatus for encoding and decoding data | |
KR100955305B1 (ko) | 큐피피 인터리브를 갖는 병렬 터보 디코딩을 위한 공식적플렉서블 충돌 방지 메모리 억세싱 | |
US20100318878A1 (en) | Communications channel parallel interleaver and de-interleaver | |
US7640462B2 (en) | Interleaver and de-interleaver | |
JP2018042035A (ja) | 符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120221 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120521 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120528 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120723 |
|
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: 20130219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130321 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160329 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
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 |