JP2008271516A - 畳み込み符号及びターボ符号の復号器 - Google Patents
畳み込み符号及びターボ符号の復号器 Download PDFInfo
- Publication number
- JP2008271516A JP2008271516A JP2008048878A JP2008048878A JP2008271516A JP 2008271516 A JP2008271516 A JP 2008271516A JP 2008048878 A JP2008048878 A JP 2008048878A JP 2008048878 A JP2008048878 A JP 2008048878A JP 2008271516 A JP2008271516 A JP 2008271516A
- Authority
- JP
- Japan
- Prior art keywords
- parity check
- decoder
- polynomial
- decoding
- code
- 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.)
- Pending
Links
Images
Classifications
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1191—Codes on graphs other than LDPC codes
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
【課題】 Sum-Productアルゴリズムを用いた畳み込み符号、ターボ符号におけるSum-Product復号特性を改善できる畳み込み符号及びターボ符号の復号器を提供する。
【解決手段】 Sum-Productアルゴリズムを用いた畳み込み符号、ターボ符号の復号器において、拘束長の長い(HCL)パリティ検査を用いて復号を行い、また、複数のHCLパリティ検査を用いて復号(マルチパリティ復号)を行うものであり、オリジナルのパリティ検査多項式に対して畳み込み符号では拘束長が2倍程度の長さ、ターボ符号では拘束長が5倍程度の長さがあり、畳み込み符号、ターボ符号におけるSum-Product復号特性を改善する畳み込み符号及びターボ符号の復号器である。
【選択図】 図13
【解決手段】 Sum-Productアルゴリズムを用いた畳み込み符号、ターボ符号の復号器において、拘束長の長い(HCL)パリティ検査を用いて復号を行い、また、複数のHCLパリティ検査を用いて復号(マルチパリティ復号)を行うものであり、オリジナルのパリティ検査多項式に対して畳み込み符号では拘束長が2倍程度の長さ、ターボ符号では拘束長が5倍程度の長さがあり、畳み込み符号、ターボ符号におけるSum-Product復号特性を改善する畳み込み符号及びターボ符号の復号器である。
【選択図】 図13
Description
本発明は、畳み込み符号及びターボ符号を復号する復号器に係り、特に、Sum-Product復号特性を改善できる畳み込み符号及びターボ符号の復号器に関する。
[はじめに]
ADSL(Asymmetric Digital Subscriber Line)、第三世代携帯電話、地上ディジタルテレビ等の分野において、誤り訂正符号として、畳み込み符号、ターボ符号が用いられている。
特に、理論限界に近い特性を示す誤り訂正符号としてターボ符号が提案されている。
しかし、復号の処理量は、LDPC(Low-Density Parity Check)符号に比べて高い。もし、ターボ符号がLDPC符号のように、Sum-Productアルゴリズム(SPA)を用いた復号(Sum-Product復号)が可能であるならば、ターボ符号の復号の処理量は少なくなると期待される。
ADSL(Asymmetric Digital Subscriber Line)、第三世代携帯電話、地上ディジタルテレビ等の分野において、誤り訂正符号として、畳み込み符号、ターボ符号が用いられている。
特に、理論限界に近い特性を示す誤り訂正符号としてターボ符号が提案されている。
しかし、復号の処理量は、LDPC(Low-Density Parity Check)符号に比べて高い。もし、ターボ符号がLDPC符号のように、Sum-Productアルゴリズム(SPA)を用いた復号(Sum-Product復号)が可能であるならば、ターボ符号の復号の処理量は少なくなると期待される。
SPAは、符号のタナーグラフに短いループがない場合には、その符号で良好の復号特性を実現する。
以下の非特許文献では、Sum-Product復号で良い特性を得るには、タナーグラフに短いループが存在しない必要があるとして、タナーグラフに短いループを持たない畳み込み符号を使ってターボ符号を構成することを提案している。
以下の非特許文献では、Sum-Product復号で良い特性を得るには、タナーグラフに短いループが存在しない必要があるとして、タナーグラフに短いループを持たない畳み込み符号を使ってターボ符号を構成することを提案している。
尚、関連する先行技術として、特開2005−141887号公報(特許文献1)がある。
特許文献1には、ビタビ復号アルゴリズム、BCJR(Bahl-Cocke-Jeinek-Raviv)復号アルゴリズム、更にターボ復号処理に関する記載がある。
特許文献1には、ビタビ復号アルゴリズム、BCJR(Bahl-Cocke-Jeinek-Raviv)復号アルゴリズム、更にターボ復号処理に関する記載がある。
また、畳み込み符号にSum-Product復号を適用した先行技術が以下の非特許文献1,2に記載され、ターボ符号にSum-Product復号を適用した先行技術が以下の非特許文献3に記載されている。
しかしながら、上記非特許文献1,2では、畳み込み符号にSum-Product復号を適用したときに良い特性が得られるような符号の構成方法を提案しているものであって、当該方法によって構成された特定の符号に限り良いSum-Product復号特性を得ることが可能となるが、一般の符号に対するSum-Product復号特性を改善できるものではないという問題点があった。
また、上記非特許文献3では、ターボ符号にSum-Product復号を適用することが記載されているが、ターボ符号のSum-Product復号特性が悪いという問題点があった。
そして、上記非特許文献4では、ターボ符号においてタナーグラフが短いループを持たないような符号の中から特性の良い符号を探索し、探索された符号のSum-Product復号特性が良いことが記載されているが、Sum-Product復号特性が良好なのは、特定の符号に限られており、一般の符号に対するSum-Product復号特性を改善できないという問題点があった。
また、上記特許文献1では、ターボ符号をSum-Product復号することについては記載されていない。
本発明は上記実情に鑑みて為されたもので、畳み込み符号、ターボ符号におけるSum-Product復号特性を改善できる畳み込み符号及びターボ符号のSum-Productアルゴリズムを用いた復号器を提供することを目的とする。
上記従来例の問題点を解決するための本発明は、Sum-Productアルゴリズムを用いた畳み込み符号又はターボ符号の復号器であって、パリティ検査多項式の集合に含まれる任意の2つのパリティ検査多項式を線形演算して、新たに得られたパリティ検査多項式を前記集合に追加し、当該集合に含まれるパリティ検査多項式から線形演算により新しいパリティ検査多項式が得られなくなるまで、任意の2つのパリティ検査多項式を線形演算して集合に追加する処理を繰り返して得られた集合からタナーグラフにおいて長さ4のループが少なく、拘束長が大きい多項式を選択してパリティ検査式として復号することを特徴とする。
本発明は、上記復号器において、パリティ検査多項式の初回の集合の要素は、オリジナルのパリティ検査多項式と遅延演算子を掛けたパリティ検査多項式で構成されることを特徴とする。
本発明は、上記復号器において、畳み込み符号の復号器にあっては、オリジナルのパリティ検査多項式に対して拘束長が2倍程度の長さがあることを特徴とする。
本発明は、上記復号器において、ターボ符号の復号器にあっては、オリジナルのパリティ検査多項式に対して拘束長が5倍程度の長さがあることを特徴とする。
本発明は、Sum-Productアルゴリズムを用いた畳み込み符号又はターボ符号の復号器であって、パリティ検査多項式の集合に含まれる任意の2つのパリティ検査多項式を線形演算して、新たに得られたパリティ検査多項式を前記集合に追加し、当該集合に含まれるパリティ検査多項式から線形演算により新しいパリティ検査多項式が得られなくなるまで、任意の2つのパリティ検査多項式を線形演算して集合に追加する処理を繰り返して得られた集合からパリティ検査多項式の複数をパリティ検査式として復号することを特徴とする。
本発明は、Sum-Productアルゴリズムを用いたターボ符号の復号器であって、符号系列を元に戻すよう並び替えるディインタリーバと、ディインタリーバからの出力を分割して入力すると共に通信路値を入力して、Sum-Product復号を行う複数の第1の復号器と、第1の復号器からの出力を加算する第1の加算器と、第1の加算器からの出力をスケーリングする第1の乗算器と、第1の乗算器からの出力について符号系列の並び替えを行うインタリーバと、インタリーバからの出力を分割して入力すると共に通信路値を入力して、Sum-Product復号を行う複数の第2の復号器と、第2の復号器からの出力を加算する第2の加算器と、第2の加算器からの出力をスケーリングしてディインタリーバに出力する第2の乗算器と、第2の加算器からの出力に通信路値を加算して出力する第3の加算器とを有し、前記複数の第1の復号器と前記複数の第2の復号器は、パリティ検査多項式の集合に含まれる任意の2つのパリティ検査多項式を線形演算して、新たに得られたパリティ検査多項式を前記集合に追加し、当該集合に含まれるパリティ検査多項式から線形演算により新しいパリティ検査多項式が得られなくなるまで、任意の2つのパリティ検査多項式を線形演算して集合に追加する処理を繰り返して得られた集合から各々選択されたパリティ検査式が予め設定されていることを特徴とする。
本発明は、上記復号器において、パリティ検査式として、オリジナルのパリティ検査多項式、若しくは、線形演算により得られた新しいパリティ検査多項式の中で、拘束長の短いパリティ検査多項式が最低1つは含まれることを特徴とする。
本発明は、上記復号器において、畳み込み符号を要素符号とするターボ符号の復号器にあっては、選択されたパリティ検査多項式の複数が、パリティ検査式で関係する共通のビットが少ない組み合わせを選択することを特徴とする。
本発明は、Sum-Productアルゴリズムを用いた畳み込み符号又はターボ符号の復号器であって、オリジナルのパリティ検査多項式H(P,X)に情報ビットX,パリティビットPを含まない非零の多項式である変数A(D)を乗算し、オリジナルのパリティ検査多項式H(P,X)よりも長い拘束長を持ち、オリジナルのパリティ検査多項式H(P,X)と等価となる変形したパリティ検査多項式H(P,X)を生成し、当該パリティ検査多項式H(P,X)の拘束長を変化させて、Sum-Productアルゴリズムを用いた復号特性の良い多項式を選択してパリティ検査式として復号することを特徴とする。
本発明は、上記復号器において、パリティ検査多項式H(P,X)の拘束長を変化させて、Sum-Productアルゴリズムを用いた復号特性の良い多項式を選択する際に、タナーグラフにおける長さ4のループの数が最小のものを選択することを特徴とする。
本発明によれば、Sum-Productアルゴリズムを用いた畳み込み符号又はターボ符号の復号器であって、パリティ検査多項式の集合に含まれる任意の2つのパリティ検査多項式を線形演算して、新たに得られたパリティ検査多項式を前記集合に追加し、当該集合に含まれるパリティ検査多項式から線形演算により新しいパリティ検査多項式が得られなくなるまで、任意の2つのパリティ検査多項式を線形演算して集合に追加する処理を繰り返して得られた集合からタナーグラフにおいて長さ4のループが少なく、拘束長が大きい多項式を選択してパリティ検査式として復号する復号器としているので、畳み込み符号、ターボ符号におけるSum-Product復号特性を改善できる効果がある。
本発明によれば、Sum-Productアルゴリズムを用いた畳み込み符号又はターボ符号の復号器であって、パリティ検査多項式の集合に含まれる任意の2つのパリティ検査多項式を線形演算して、新たに得られたパリティ検査多項式を前記集合に追加し、当該集合に含まれるパリティ検査多項式から線形演算により新しいパリティ検査多項式が得られなくなるまで、任意の2つのパリティ検査多項式を線形演算して集合に追加する処理を繰り返して得られた集合からパリティ検査多項式の複数をパリティ検査式として復号する復号器としているので、畳み込み符号、ターボ符号におけるSum-Product復号特性を改善できる効果がある。
本発明によれば、Sum-Productアルゴリズムを用いた畳み込み符号又はターボ符号の復号器であって、オリジナルのパリティ検査多項式H(P,X)に情報ビットX,パリティビットPを含まない非零の多項式である変数A(D)を乗算し、オリジナルのパリティ検査多項式H(P,X)よりも長い拘束長を持ち、オリジナルのパリティ検査多項式H(P,X)と等価となる変形したパリティ検査多項式H(P,X)を生成し、当該パリティ検査多項式H(P,X)の拘束長を変化させて、Sum-Productアルゴリズムを用いた復号特性の良い多項式を選択してパリティ検査式として復号する復号器としているので、簡潔かつ実用的にパリティ検査式を求めることができ、畳み込み符号、ターボ符号におけるSum-Product復号特性を改善できる効果がある。
本発明の実施の形態について図面を参照しながら説明する。
[実施の形態の概要]
本発明の実施の形態に係る復号器は、Sum-Productアルゴリズムを用いた畳み込み符号、ターボ符号の復号器において拘束長の長い(HCL)パリティ検査を用いて復号を行い、また、複数のHCLパリティ検査を用いて復号(マルチパリティ復号)を行うものであり、畳み込み符号、ターボ符号におけるSum-Product復号特性を改善できるものである。
ここで、パリティ検査式の拘束長とは、パリティ検査多項式の最大次数に1を加えた値をいう。また、畳み符号のパリティ検査式については後述する。
[実施の形態の概要]
本発明の実施の形態に係る復号器は、Sum-Productアルゴリズムを用いた畳み込み符号、ターボ符号の復号器において拘束長の長い(HCL)パリティ検査を用いて復号を行い、また、複数のHCLパリティ検査を用いて復号(マルチパリティ復号)を行うものであり、畳み込み符号、ターボ符号におけるSum-Product復号特性を改善できるものである。
ここで、パリティ検査式の拘束長とは、パリティ検査多項式の最大次数に1を加えた値をいう。また、畳み符号のパリティ検査式については後述する。
本発明の実施の形態を説明する前に、畳み込み符号、ターボ符号におけるSum-Product復号特性の劣化原因を説明し、その対策についても説明する。
尚、本発明の実施の形態における畳み込み符号及びターボ符号では、直列連接符号を含むものである。
尚、本発明の実施の形態における畳み込み符号及びターボ符号では、直列連接符号を含むものである。
[復号特性劣化の原因]
畳み込み符号、ターボ符号における各復号法の復号に影響する情報ビット長について考える。
畳み込み符号では、ビタビ復号における復号に影響する情報ビットの長さは、拘束長の4倍とされている。
畳み込み符号、ターボ符号における各復号法の復号に影響する情報ビット長について考える。
畳み込み符号では、ビタビ復号における復号に影響する情報ビットの長さは、拘束長の4倍とされている。
また、ターボ符号では、Soft Output Viterbi Algorithm(SOVA)における復号に影響する情報ビットの長さは、拘束長の10倍とされている。Sum-Product復号に関しては、復号に影響する情報ビット長という考えはこれまでなかった。
ここで、Sum-Product復号では、遠く離れたビットの信頼度ががどのように復号に影響するかについて図1を参照しながら考えてみる。図1は、(a)がオリジナルのタナーグラフを示す図であり、(b)がHCLパリティ検査式を用いたタナーグラフを示す図である。
図1(a)に示すように、1回の処理でi時点のビットに関する外部値は、拘束長をKとすると、i−Kからi+Kの範囲におけるビットの情報から求められる。
つまり、拘束長の2倍範囲のビットのみが外部値の計算に関係している。そのため、1回の処理では、従来の復号法に比べて復号に影響する情報が少ないといえる。Sum-Product復号では、このような局所的な信頼度伝搬を繰り返すことで、離れた時点のビットの信頼度を伝搬している。
つまり、拘束長の2倍範囲のビットのみが外部値の計算に関係している。そのため、1回の処理では、従来の復号法に比べて復号に影響する情報が少ないといえる。Sum-Product復号では、このような局所的な信頼度伝搬を繰り返すことで、離れた時点のビットの信頼度を伝搬している。
しかし、途中のあるビットの信頼度が低いときには、信頼度伝搬がその時点で弱まり、離れた時点のビットへの信頼度が伝搬し難くなる。
そこで、1回の処理で遠くまで信頼度を伝搬する方法を考案した。影響する情報を多くするには、図1(b)に示すように、拘束長の長い(High Constraint Length:HCL)パリティ検査を用いることで可能となるので、HCLパリティ検査を用いることで復号特性の改善が期待される。
特に、上述のことから拘束長Kの2倍程度のHCLパリティ検査を考えると、畳み込み符号におけるi時点の外部値はi−2K〜i+2Kのビットの信頼度から求まる。すなわち、拘束長の4倍の範囲のビットがビタビ復号と同様影響する。
そのため、畳み込み復号では、拘束長の2倍程度のHCLパリティ検査を用いることで十分な特性の改善が得られると推測される。
同様に、ターボ復号を考えると、拘束長の5倍程度のHCLパリティ検査を用いることで、SOVAと同様の範囲のビットが影響するため、十分な特性の改善が得られると推測される。
ここで、HCLパリティ検査はオリジナルのパリティ検査と等価であることが重要であり、そのようなHCLパリティ検査の導出を以下説明する。
同様に、ターボ復号を考えると、拘束長の5倍程度のHCLパリティ検査を用いることで、SOVAと同様の範囲のビットが影響するため、十分な特性の改善が得られると推測される。
ここで、HCLパリティ検査はオリジナルのパリティ検査と等価であることが重要であり、そのようなHCLパリティ検査の導出を以下説明する。
[HCLパリティ検査の導出]
ここでは、パリティ検査式を多項式表現で考える。この多項式を使って遠くのビットまで関係したパリティ検査式を導出する。そうすれば、Sum-product復号の1回の処理で遠くまで信頼度を伝搬させることが可能になると考えた。その方法として、オリジナルのパリティ検査多項式に遅延演算子Dl (l=1,2,…)を掛けたパリティ検査多項式を考える。
ここでは、パリティ検査式を多項式表現で考える。この多項式を使って遠くのビットまで関係したパリティ検査式を導出する。そうすれば、Sum-product復号の1回の処理で遠くまで信頼度を伝搬させることが可能になると考えた。その方法として、オリジナルのパリティ検査多項式に遅延演算子Dl (l=1,2,…)を掛けたパリティ検査多項式を考える。
そしてこれらの多項式の線形演算で得られた多項式は、K+lの範囲のビットが関係した多項式となる。従って、オリジナルよりも拘束長の長いパリティ検査式となる。実際の計算手順を以下に示す。
[Step1.初期設定]
まず、ステップ1(初期設定)として、HCLパリティ検査多項式の導出で得られるパリティ検査多項式の集合を、SH (i),(i=0,1,…)で表す。
初回i=0の集合SH (0)の要素は、オリジナルのパリティ検査多項式Horg(D)と遅延演算子Dl(l=1,…,L L:任意)をかけたパリティ検査多項式で与えられ、以下の式(1)のように表される。
SH (0)={H|H=DlHorg(D),l=0,1,…,L} (1)
まず、ステップ1(初期設定)として、HCLパリティ検査多項式の導出で得られるパリティ検査多項式の集合を、SH (i),(i=0,1,…)で表す。
初回i=0の集合SH (0)の要素は、オリジナルのパリティ検査多項式Horg(D)と遅延演算子Dl(l=1,…,L L:任意)をかけたパリティ検査多項式で与えられ、以下の式(1)のように表される。
SH (0)={H|H=DlHorg(D),l=0,1,…,L} (1)
[Step2.HCLパリティ検査の導出]
次に、ステップ2として、HCLパリティ検査多項式は、パリティ検査多項式の集合に含まれる任意の2つのパリティ検査多項式の線形演算で得られ、パリティ検査多項式の集合に追加される。i回目のパリティ検査多項式の集合は以下の式(2)のように表される。
SH (i+l)={H|H=Hj1+Hj2} (2)
但し、Hj1∈SH (i),Hj2∈SH (i)
Hj1≠Hj2
次に、ステップ2として、HCLパリティ検査多項式は、パリティ検査多項式の集合に含まれる任意の2つのパリティ検査多項式の線形演算で得られ、パリティ検査多項式の集合に追加される。i回目のパリティ検査多項式の集合は以下の式(2)のように表される。
SH (i+l)={H|H=Hj1+Hj2} (2)
但し、Hj1∈SH (i),Hj2∈SH (i)
Hj1≠Hj2
集合に含まれるパリティ検査多項式から新しいHCLパリティ検査多項式が得られなくなるまでi←i+1としてStep2を繰り返す。新しいパリティ検査多項式が得られなくなった時点でHCLパリティ検査の導出を終了する。
また、最終的にHCLパリティ検査多項式は、現時点の情報ビットとパリティビットが関係する。すなわち多項式に情報ビット:X(D)とパリティビット:P(D)が含まれる多項式のみを選ぶ。
例として、遅延器数2で、(7,5)8畳み込み符号器を用いて考える。過去のパリティ検査多項式として2時点過去までを考える。このとき初回の多項式集合の要素は、式(3)〜(5)となる。
(D2+1)X(D)+(D2+D+1)P(D)=0 (3)
(D3+D)X(D)+(D3+D2+D)P(D)=0 (4)
(D4+D2)X(D)+(D4+D3+D2)P(D)=0 (5)
(D2+1)X(D)+(D2+D+1)P(D)=0 (3)
(D3+D)X(D)+(D3+D2+D)P(D)=0 (4)
(D4+D2)X(D)+(D4+D3+D2)P(D)=0 (5)
式(3)〜(5)の2つのパリティ検査多項式の左辺、右辺をそれぞれ足し合わせることで式(6)〜(8)が得られる。また、式(5)と式(6)を足し合わせることで式(9)を得る。
(3)+(4):(D3+D2+D+1)X(D)
+(D3+1)P(D)=0 (6)
(3)+(5):(D4+1)X(D)
+(D4+D3+D+1)P(D)=0 (7)
(4)+(5):(D4+D3+D2+D)X(D)
+(D4+D)P(D)=0 (8)
(5)+(6):(D4+D3+D+1)X(D)
+(D4+D2+1)P(D)=0 (9)
(3)+(4):(D3+D2+D+1)X(D)
+(D3+1)P(D)=0 (6)
(3)+(5):(D4+1)X(D)
+(D4+D3+D+1)P(D)=0 (7)
(4)+(5):(D4+D3+D2+D)X(D)
+(D4+D)P(D)=0 (8)
(5)+(6):(D4+D3+D+1)X(D)
+(D4+D2+1)P(D)=0 (9)
式(6)と式(8)を見て分かるように、同じ多項式を遅延した多項式が得られるため、最終的には現時点の情報とパリティが関係している多項式のみをHCLパリティ検査多項式として選択する。式(6)と式(8)の場合、HCLパリティ検査多項式には式(6)を選ぶ。
このような操作によって得られるパリティ検査多項式は、膨大な数になる。その中から、Sum-Product復号でよい特性が得られるものを求める必要があり、その評価基準は検討する必要がある。
ここでは、FC(Four Cycle:長さ4のループ)の数nFCと拘束長νを評価基準としており、nFCが少なく、νが大きいものを選択する。
ここでは、FC(Four Cycle:長さ4のループ)の数nFCと拘束長νを評価基準としており、nFCが少なく、νが大きいものを選択する。
上記方法により求めた(7,5)8,(45,73)8畳み込み符号のそれぞれのパリティ検査多項式に対応するHCLパリティ検査多項式の8及び10進表現を図2,図3に示す。図2は、(7,5)8畳み込み符号のHCLパリティ検査多項式の特性を示す図であり、図3は、(45,73)8畳み込み符号のHCLパリティ検査多項式の特性を示す図である。
ここで、nFCはFCの数、νは拘束長、dcはチェックノード次数、dv,iは情報ビットに対応する変数ノード次数、dv,pはパリティビットに対応する変数ノード次数を表している。どちらの符号においても、オリジナルのパリティ検査式に比べて最大で4倍の拘束長の長いHCLパリティ検査式が得られた。また、(45,73)8畳み込み符号では、オリジナルのパリティ検査式よりも、少ないFCの数を持つHCLパリティが得られた。
[シミュレーション結果]
ここでは、畳み込み符号及びターボ符号において、オリジナルのパリティ検査に対応するタナーグラフの代わりに、HCLパリティ検査の導出で求めたHCLパリティ検査式に対応するタナーグラフを用いた場合のSum-Product復号の復号特性を示す。
尚、HCLパリティ検査多項式の評価は、FCの数nFCと拘束長νで行い、(nFC,ν)の表記で特性を示す。
ここでは、畳み込み符号及びターボ符号において、オリジナルのパリティ検査に対応するタナーグラフの代わりに、HCLパリティ検査の導出で求めたHCLパリティ検査式に対応するタナーグラフを用いた場合のSum-Product復号の復号特性を示す。
尚、HCLパリティ検査多項式の評価は、FCの数nFCと拘束長νで行い、(nFC,ν)の表記で特性を示す。
[畳み込み符号の復号特性]
HCLパリティ検査式に対応するタナーグラフにおける畳み込み符号のSum-Product復号の復号特性を図4に示す。図4は、畳み込み符号のBER特性を示す図である。
HCLパリティ検査の検査基準として(7,5)8畳み込み符号においては、各FCの数nFCで最大の拘束長νを持つ4種類のHCLパリティ検査式を選択した。
HCLパリティ検査式に対応するタナーグラフにおける畳み込み符号のSum-Product復号の復号特性を図4に示す。図4は、畳み込み符号のBER特性を示す図である。
HCLパリティ検査の検査基準として(7,5)8畳み込み符号においては、各FCの数nFCで最大の拘束長νを持つ4種類のHCLパリティ検査式を選択した。
また、(45,73)8畳み込み符号では、オリジナルの拘束長νの2及び3倍で、FCの数nFCが少ない場合と大きい場合の4種類のHCLパリティ検査式を選択した。
BER(Bit Error Rate)特性を比較すると、HCLパリティ検査を用いることで、通常のSum-Product復号と比べて特性が改善することが分かった。特に、オリジナルのパリティ検査式に対して、拘束長が2倍程度の長さがあり、FCの数が少ないことで良い特性が得られることが分かった。
BER(Bit Error Rate)特性を比較すると、HCLパリティ検査を用いることで、通常のSum-Product復号と比べて特性が改善することが分かった。特に、オリジナルのパリティ検査式に対して、拘束長が2倍程度の長さがあり、FCの数が少ないことで良い特性が得られることが分かった。
(7,5)8,(45,73)8畳み込み符号において、nFCが少ない上位19種類のHCLパリティ検査式を用いて検討した。それぞれのHCLパリティ検査における、Eb/No=4.5,5.0[dB]でのBER特性を図2,図3に示す。表からも、拘束長が長く、FCの数が少ないことで復号特性が良くなることが分かった。
これまでの結果及びBER特性から最適なHCLパリティ検査を、(7,5)8畳み込み符号では、(1413,1141)8畳み込み符号相当のパリティ検査式、(45,73)8畳み込み符号では、(3101,2007)8畳み込み符号相当のパリティ検査式とした。
[ターボ符号の復号特性]
次に、上記畳み込み符号の復号特性と同様のHCLパリティ検査式を用いて、ターボ符号のSum-Product復号を行う。
ターボ符号のSum-Product復号におけるoverall,turbo-like復号の復号特性をそれぞれ図5、図6に示す。図5は、ターボ符号のBER特性(overall復号)を示す図であり、図6は、ターボ符号のBER特性(turbo-like復号)を示す図である。
ここで、turbo-like復号の内部繰り返しは10回とした。また、チェックノードから変数ノードへの信頼度情報に対して、最適化したスケーリング値0.7を掛け合わせている。
次に、上記畳み込み符号の復号特性と同様のHCLパリティ検査式を用いて、ターボ符号のSum-Product復号を行う。
ターボ符号のSum-Product復号におけるoverall,turbo-like復号の復号特性をそれぞれ図5、図6に示す。図5は、ターボ符号のBER特性(overall復号)を示す図であり、図6は、ターボ符号のBER特性(turbo-like復号)を示す図である。
ここで、turbo-like復号の内部繰り返しは10回とした。また、チェックノードから変数ノードへの信頼度情報に対して、最適化したスケーリング値0.7を掛け合わせている。
HCLパリティ検査式を用いることで、オリジナルのパリティ検査式と比べてBER特性が劣化することが分かった。
また、overall復号とturbo-like復号の復号特性を比較すると、BER特性から、turbo-like復号が優れていることが分かった。turbo-like復号では、要素符号器毎にFCが影響するのに対し、overall復号では2つの要素符号器を合わせたタナーグラフのFCが影響する。
従って、overall復号の方が特性の影響するFCの数が多くなっているのではないかと考えられる。
また、overall復号とturbo-like復号の復号特性を比較すると、BER特性から、turbo-like復号が優れていることが分かった。turbo-like復号では、要素符号器毎にFCが影響するのに対し、overall復号では2つの要素符号器を合わせたタナーグラフのFCが影響する。
従って、overall復号の方が特性の影響するFCの数が多くなっているのではないかと考えられる。
用いるHCLパリティの拘束長がオリジナルのパリティの拘束長の5倍とすれば、復号特性の改善が可能であると期待される。遅延器数5,(45,73)8畳み込み符号の場合、拘束長ν=6×5=30のHCLパリティが必要であるが、このようなHCLパリティ検査式の導出は図7に示すように時間的に困難である。図7は、拘束長νのHCLパリティ検査式導出の所要時間を示す図である。
そこで、次に、拘束長を長くすることとは別の視点で、復号特性の改善策を説明する。
そこで、次に、拘束長を長くすることとは別の視点で、復号特性の改善策を説明する。
[複数のHCLパリティ検査多項式を用いた復号(マルチパリティ復号)]
上記畳み込み符号の復号特性では、ターボ符号の復号に用いるHCLパリティ検査式の拘束長の5倍に満たないため、特性が改善しないことを説明した。拘束長の5倍となるHCLパリティの導出は困難であり、ここでは別の方法を説明する。
上記畳み込み符号の復号特性では、ターボ符号の復号に用いるHCLパリティ検査式の拘束長の5倍に満たないため、特性が改善しないことを説明した。拘束長の5倍となるHCLパリティの導出は困難であり、ここでは別の方法を説明する。
ここで、復号特性劣化の原因を再度思い起こすと、信頼度伝搬において、低い信頼度のビットの存在により、離れた時点のビットへの信頼度伝搬がしにくくなることが特性劣化の影響と考えていた。
そこで、このようなビットの信頼度を高めることができるなら、特性が改善すると考えた。ビットの信頼度を高めるには、他のビットからの信頼度が多く伝搬されることで可能であると考えられる。
そこで、このようなビットの信頼度を高めることができるなら、特性が改善すると考えた。ビットの信頼度を高めるには、他のビットからの信頼度が多く伝搬されることで可能であると考えられる。
図8(a)で、例えば、|L(x2)|が小さい時には、Uc1,x1は小さい値となる。もし、図8(b)のように別のパリティ検査c2があれば、Uc1,x1が小さい値であったとしても、Uc2,x1によって、|Le(x1)|=|Uc1,x1+Uc2,x1|が小さな値をとる確率を減らすことができる。図8は、用いるパリティに対する信頼度伝搬の影響を示す図である。
そのため、パリティ検査を複数用いた復号(マルチパリティ復号)により、信頼度を高めることができると考えられる。また、これにより、ビットの信頼度が離れたビットまで伝搬し、復号特性が改善するのではないかと考えた。
ここで、用いるパリティはオリジナルのパリティ検査と等価である必要があるため、既に求めているHCLパリティ検査式を用いることにした。
ここで、用いるパリティはオリジナルのパリティ検査と等価である必要があるため、既に求めているHCLパリティ検査式を用いることにした。
図9のように、c2がc1と共通な変数ノードを含んでいる場合には、外部値Le(x1)が小さな値をとる確率は、図8(b)の場合より高くなる。図9は、マルチパリティのビットの重なりを示す図である。
例えば、図9の場合、|L(x3)|が小さい時には、Uc1,x1,Uc2,x1ともに小さい値となり、|Le(x1)|も小さな値となってしまう。
例えば、図9の場合、|L(x3)|が小さい時には、Uc1,x1,Uc2,x1ともに小さい値となり、|Le(x1)|も小さな値となってしまう。
そこで、用いるHCLパリティ検査には、それぞれのパリティ検査で共通するビットの数が少ないHCLパリティ検査を選択することにした。
また、共通するビットの数はFCの数nFCに対応があるが、ここで用いるnFCの導出法では、複数のパリティ検査多項式を用いる場合のタナーグラフにおけるnFCを求めることはできない。そのため、それぞれのパリティ検査で共通するビットの数で評価する。
また、共通するビットの数はFCの数nFCに対応があるが、ここで用いるnFCの導出法では、複数のパリティ検査多項式を用いる場合のタナーグラフにおけるnFCを求めることはできない。そのため、それぞれのパリティ検査で共通するビットの数で評価する。
[復号器構成]
次に、本発明の実施の形態に係る復号器について図10〜図13を参照しながら説明する。図10は、HCLパリティ検査式を用いた畳み込み符号の復号器の構成図であり、図11は、マルチパリティ復号を用いた畳み込み符号の復号器の構成図であり、図12は、HCLパリティ検査式を用いたターボ符号の復号器の構成図であり、図13は、マルチパリティ復号を用いたターボ符号の復号器の構成図である。
次に、本発明の実施の形態に係る復号器について図10〜図13を参照しながら説明する。図10は、HCLパリティ検査式を用いた畳み込み符号の復号器の構成図であり、図11は、マルチパリティ復号を用いた畳み込み符号の復号器の構成図であり、図12は、HCLパリティ検査式を用いたターボ符号の復号器の構成図であり、図13は、マルチパリティ復号を用いたターボ符号の復号器の構成図である。
図10〜図13において、DECは要素復号器であり、HCLパリティ検査式を用いた復号を行う。また、図11、図13においては、分割した要素復号器で並列処理を行っている。尚、Πは、符号系列を並び替えるインタリーバであり、Π-1は、符号系列を元に戻すよう並び替えるディインタリーバである。
復号器は、畳み込み符号の場合、上述したHCLパリティ検査によって選択された多項式が予め設定され、また、ターボ符号の場合、マルチパリティ復号によって選択された複数の多項式の各々が予め設定されている。
また、復号器は、例えば、LSI(Large Scale Integrated Circuit)、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)等で実現されるものである。
また、復号器は、例えば、LSI(Large Scale Integrated Circuit)、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)等で実現されるものである。
尚、復号器は、以下の文献に示されているように実現されるものである。
Optimizing iterative decoding of low-density
parity check codes on programmable pipelined
parallel architectures Al-Rawi, G. ; Cioffi, J. ;Motwani, R. ; Horowitz, M. ; Global Telecommunications Conference, 2001. GLOBECOM 01. IEEE Volume 5, 25-29 Nov. 2001 Page(s): 3012-3018 vol.5
Optimizing iterative decoding of low-density
parity check codes on programmable pipelined
parallel architectures Al-Rawi, G. ; Cioffi, J. ;Motwani, R. ; Horowitz, M. ; Global Telecommunications Conference, 2001. GLOBECOM 01. IEEE Volume 5, 25-29 Nov. 2001 Page(s): 3012-3018 vol.5
ここで、図13におけるマルチパリティ復号を用いたターボ符号の復号器の構成について具体的に説明する。
復号器の構成として、要素復号器を用いるHCLパリティ検査のそれぞれに対応する復号器に分割する。復号では、この分割した復号器を直列又は並列で処理を行う。ここでは、並列処理の方が、復号特性が良かったため、図13では並列処理を採用している。
復号器の構成として、要素復号器を用いるHCLパリティ検査のそれぞれに対応する復号器に分割する。復号では、この分割した復号器を直列又は並列で処理を行う。ここでは、並列処理の方が、復号特性が良かったため、図13では並列処理を採用している。
図13に示す復号器は、復号器(DEC1)11′と、復号器(DEC2)12′と、インタリーバ(Π)13と、ディンタリーバ(Π-1)14と、ηを乗算する乗算器15,16と、Lc2を加算する加算器17とを備え、復号器11′、12′内には分割された複数の要素復号器11-1〜11-M,12-1〜12-Mとそれらの出力を加算する加算器110,120が設けられている。
尚、Mは用いるHCLパリティ検査数、DEC1(・)、DEC2(・)は分割した復号器、Le1 (・),Le2 (・)は分割した復号器で出力される外部値を表している。
要素復号器には、事前値La,通信路値Lcが入力される。また、復号器では、分割したそれぞれの復号器でSum-Product復号が一斉に行われる。
要素復号器には、事前値La,通信路値Lcが入力される。また、復号器では、分割したそれぞれの復号器でSum-Product復号が一斉に行われる。
復号器で得られたそれぞれの外部値Le(・)は、各ビットに対して足し合わせられ、要素復号器の外部値Leとして出力される。
また、要素復号器2では、得られた外部値から情報ビットdnに対する事後値Λ2(dn)を
Λ2(dn)=La2(dn)+Lc2(dn)+Le2(dn) (10)
で求め、得られた事後値の正/負で硬判定する。
また、要素復号器2では、得られた外部値から情報ビットdnに対する事後値Λ2(dn)を
Λ2(dn)=La2(dn)+Lc2(dn)+Le2(dn) (10)
で求め、得られた事後値の正/負で硬判定する。
ここで、K種類のHCLパリティ検査を用いる場合を考えると、得られた要素復号の外部値は、それぞれの分割した復号で得られる外部値に対して、最大でM倍程度の大きさになると考えられる。
十分な復号が行われていない場合、このような外部値は誤った情報である可能性があり、この値を次段の事前値とすることで、特性の劣化を引き起こすと考えられる。
そこで、要素復号器の外部値に対してη≒1/M程度のスケーリングをかけ、次段の要素復号器の事前値とすることにした。
十分な復号が行われていない場合、このような外部値は誤った情報である可能性があり、この値を次段の事前値とすることで、特性の劣化を引き起こすと考えられる。
そこで、要素復号器の外部値に対してη≒1/M程度のスケーリングをかけ、次段の要素復号器の事前値とすることにした。
[ターボ符号の復号特性]
ターボ符号のマルチパリティ復号の復号特性を示す。用いるパリティ検査としては、オリジナルのパリティ検査多項式とFCの数が少ない上位10種類のHCLパリティ検査多項式を候補とする。この候補の中から、3種類のパリティ検査多項式を選択して復号を行う。
ターボ符号のマルチパリティ復号の復号特性を示す。用いるパリティ検査としては、オリジナルのパリティ検査多項式とFCの数が少ない上位10種類のHCLパリティ検査多項式を候補とする。この候補の中から、3種類のパリティ検査多項式を選択して復号を行う。
はじめに、Eb/Noを固定して、候補の中から3種類のパリティ検査多項式を選択する全ての組み合わせに対してマルチパリティ復号を行った。
(7,5)8畳み込み符号を要素符号とするターボ符号では、Eb/No=3.0[dB]で、(45,73)8畳み込み符号を要素復号とするターボ符号では、Eb/No=2.5[dB]で復号を行った結果、良いBER特性が得られた上位5種類の組み合わせを図14に示す。図14は、マルチパリティ復号に用いるパリティ検査の組み合わせを示す図である。
ここで、それぞれのターボ符号で、チェックノードから変数ノードへの信頼度情報に対して最適化したスケーリング値0.7,0.9を掛け合わせている。
(7,5)8畳み込み符号を要素符号とするターボ符号では、Eb/No=3.0[dB]で、(45,73)8畳み込み符号を要素復号とするターボ符号では、Eb/No=2.5[dB]で復号を行った結果、良いBER特性が得られた上位5種類の組み合わせを図14に示す。図14は、マルチパリティ復号に用いるパリティ検査の組み合わせを示す図である。
ここで、それぞれのターボ符号で、チェックノードから変数ノードへの信頼度情報に対して最適化したスケーリング値0.7,0.9を掛け合わせている。
全ての組み合わせに対して復号を行った結果、用いられるパリティ検査式として、オリジナルのパリティ検査、若しくは、求めたHCLパリティ検査のなかで拘束長の短いパリティ検査が最低1つ含まれる組み合わせを選ぶ必要があることが分かった。
ここで、各組み合わせにおいて、用いるパリティ検査式の関係する共通のビットの数に対するBERの関係を図15に示す。図15は、共通のビットの数に対するBERの関係を示す図である。図15の→で指しているプロット点は、図14の組み合わせに対応している。
この特性から、(7,5)8畳み込み符号を要素符号とするターボ符号において、最も良い特性となる組み合わせは、共通のビットが少ない組み合わせで得られていることが分かる。また、(45,73)8畳み込み符号を要素符号とするターボ符号において、最も良い特性となる組み合わせは、共通のビットが少ない組み合わせとはならなかったが、ビットの重なりが少ない組み合わせでも同等の特性が得られていることが分かる。
そのため、マルチパリティ復号に用いるパリティ検査では、それぞれのパリティ検査多項式で関係する共通のビットが少ない組み合わせを選ぶ必要があることが分かった。
次に、図14で示した、最も良い特性が得られる組み合わせを用いたマルチパリティ復号の復号特性を図16に示す。図16は、ターボ符号のBER特性を示す図である。得られた特性を通常のSum-Product復号と比較すると、マルチパリティ復号により、(7,5)8畳み込み符号を要素符号とするターボ符号において、BER=10-3のEb/Noが0.5[dB]の改善が得られ、(45,73)8畳み込み符号を要素符号とするターボ符号において、BER=10-4のEb/Noが0.4[dB]の改善が得られた。
特に、マルチパリティ復号は、error floor領域の特性改善に効果があることが分かった。また、マルチパリティ復号に用いるパリティ検査式数を増やすことで、復号特性が更に改善することが分かっている。
増やしたパリティ検査数の分だけ処理量は倍増するが、特性が良くなり、その分だけ早く復号が終了すると考えられるため、BER特性の兼ね合いで用いるパリティ検査式数を増やしていけば良いと考えられる。
増やしたパリティ検査数の分だけ処理量は倍増するが、特性が良くなり、その分だけ早く復号が終了すると考えられるため、BER特性の兼ね合いで用いるパリティ検査式数を増やしていけば良いと考えられる。
本発明の実施の形態に係る復号器によれば、畳み込み符号、ターボ符号におけるSum-Product復号特性を改善できる効果がある。
[畳み符号のパリティ検査式]
次に、補足として、畳み符号のパリティ検査式について説明する。
符号化率1/2,生成行列Gの畳み符号を考える。
G=[1 G1(D)/G0(D)] (11)
ここで、G1はフィードフォーワード多項式、G0はフィードバック多項式を表している。情報系列の多項式表現を、X(D)=x0+x1D+x2D2+・・・、パリティ系列の多項式表現をP(D)=p0+p1D+p2D2+・・・とする。また、簡単のために、X,Pと表す場合もある。
次に、補足として、畳み符号のパリティ検査式について説明する。
符号化率1/2,生成行列Gの畳み符号を考える。
G=[1 G1(D)/G0(D)] (11)
ここで、G1はフィードフォーワード多項式、G0はフィードバック多項式を表している。情報系列の多項式表現を、X(D)=x0+x1D+x2D2+・・・、パリティ系列の多項式表現をP(D)=p0+p1D+p2D2+・・・とする。また、簡単のために、X,Pと表す場合もある。
パリティ検査式H(X,P)は、
H(X,P)=G1(D)X(D)+G0(D)P(D) (12)
で表される。H(X,P)=0ならば、(X,P)は符号語であり、それ以外の場合、(X,P)は符号語ではない。
H(X,P)=G1(D)X(D)+G0(D)P(D) (12)
で表される。H(X,P)=0ならば、(X,P)は符号語であり、それ以外の場合、(X,P)は符号語ではない。
また、H(X,P)に基づいてタナーグラフを得ることができる。また、G1(D),G0(D)の最大次数に1を加えた値をパリティ検査式の拘束長νと呼ぶことにする。
[拘束長の長いパリティ検査式]
上記実施の形態では、パリティ検査多項式の集合に含まれる任意の2つのパリティ検査多項式を線形演算して、新たに得られたパリティ検査多項式を前記集合に追加し、当該集合に含まれるパリティ検査多項式から線形演算により新しいパリティ検査多項式が得られなくなるまで、任意の2つのパリティ検査多項式を線形演算して集合に追加する処理を繰り返して得られた集合からタナーグラフにおいて長さ4のループが少なく、拘束長が大きい多項式を選択してパリティ検査式として復号するようになっているが、このように選択されるパリティ検査式と等価であり、簡潔かつ実用的なパリティ検査式の求め方について説明する。
上記実施の形態では、パリティ検査多項式の集合に含まれる任意の2つのパリティ検査多項式を線形演算して、新たに得られたパリティ検査多項式を前記集合に追加し、当該集合に含まれるパリティ検査多項式から線形演算により新しいパリティ検査多項式が得られなくなるまで、任意の2つのパリティ検査多項式を線形演算して集合に追加する処理を繰り返して得られた集合からタナーグラフにおいて長さ4のループが少なく、拘束長が大きい多項式を選択してパリティ検査式として復号するようになっているが、このように選択されるパリティ検査式と等価であり、簡潔かつ実用的なパリティ検査式の求め方について説明する。
タナーグラフは、パリティ検査式H(X,P)をグラフ表現したものであるから、H(X,P)と等価なパリティ検査式を求めればよい。等価なパリティ検査式H'(X,P)を求める方法として、次の方法を提案する。
H'(X,P)=A(D)H(X,P) (13)
=A(D)G1(D)X(D)+A(D)G0(D)P(D) (14)
=G'1(D)X(D)+G'0(D)P(D) (15)
ここで、
G'0(D)=A(D)G0(D) (16)
G'1(D)=A(D)G1(D) (17)
=A(D)G1(D)X(D)+A(D)G0(D)P(D) (14)
=G'1(D)X(D)+G'0(D)P(D) (15)
ここで、
G'0(D)=A(D)G0(D) (16)
G'1(D)=A(D)G1(D) (17)
A(D)は、変数ノード列であり、X,Pを含まない非零の多項式である。ここで、H(X,P)をオリジナルのパリティ検査式と呼ぶことにすると、上記のようにして得られたH'(X,P)はオリジナルのパリティ検査式H(X,P)と等価であるといえる。何故なら、次式が成立するからである。
H'(X,P)=A(D)H(X,P)=0
iff H(X,P)=0 (18)
H'(X,P)=A(D)H(X,P)≠0
iff H(X,P)≠0
この式が成立することは、A(D)がX,Pを含まない非零の多項式であることから明らかである。
iff H(X,P)=0 (18)
H'(X,P)=A(D)H(X,P)≠0
iff H(X,P)≠0
この式が成立することは、A(D)がX,Pを含まない非零の多項式であることから明らかである。
式(15)〜(17)から、H'(X,P)は、オリジナルのパリティ検査式H(X,P)よりも長い拘束長を持つことが分かる。そこで、H'(X,P)を拘束長の長いパリティ検査式(HCL−PCE)と呼ぶことにする。
また、式(15)〜(17)から、H'(X,P)の拘束長νはA(D)の最大次数でコントロールできることが分かる。
また、式(15)〜(17)から、H'(X,P)の拘束長νはA(D)の最大次数でコントロールできることが分かる。
どのようなH'(X,P)がSPAに適しているのかについて、制御可能な拘束長νを変化させてヒューリスティックにSPA復号特性が改善するものを求める。その方法は次の通りである。
A(D)の最大次数を設定したとき、可能な全てのA(D)を用いてH'(X,P)を求める。そうすると、設定した拘束長を持つH'(X,P)が多数得られる。この全てに対してシミュレーションを行うのは現実的ではないので、この中から1つのHCL−PCEを選択してシミュレーションを行う。その選択には、チェックノード当たりのFC数nFCを用い、上記提案法で得られたH'(X,P)はFCを含んでおり、nFCが最小のものを選択することは妥当である。尚、拘束長νとFC数nFCのどちらも同じHCL−PCEが複数存在した場合には、任意にその中の一つを選択する。
A(D)の最大次数を設定したとき、可能な全てのA(D)を用いてH'(X,P)を求める。そうすると、設定した拘束長を持つH'(X,P)が多数得られる。この全てに対してシミュレーションを行うのは現実的ではないので、この中から1つのHCL−PCEを選択してシミュレーションを行う。その選択には、チェックノード当たりのFC数nFCを用い、上記提案法で得られたH'(X,P)はFCを含んでおり、nFCが最小のものを選択することは妥当である。尚、拘束長νとFC数nFCのどちらも同じHCL−PCEが複数存在した場合には、任意にその中の一つを選択する。
上記のように、パリティ検査式の拘束長を延ばす等価な変形により得られるパリティ検査の中からヒューリスティックに良いSPA復号特性が得られるパリティ検査式を求め、それを用いてSPA復号を行うようにすれば、復号特性の改善が期待できる。
また、この方法を適用したターボ符号のSum-Product復号では、BER特性の改善が期待できる。
また、この方法を適用したターボ符号のSum-Product復号では、BER特性の改善が期待できる。
本発明は、畳み込み符号、ターボ符号におけるSum-Product復号特性を改善できる畳み込み符号及びターボ符号の復号器に好適である。
1…復号器(要素復号器)、 11,11′…復号器、 12,12′…復号器、 13…インタリーバ、 14…ディインタリーバ、 15,16…乗算器、 17…加算器、 110,120…加算器
Claims (10)
- Sum-Productアルゴリズムを用いた畳み込み符号又はターボ符号の復号器であって、
パリティ検査多項式の集合に含まれる任意の2つのパリティ検査多項式を線形演算して、新たに得られたパリティ検査多項式を前記集合に追加し、当該集合に含まれるパリティ検査多項式から線形演算により新しいパリティ検査多項式が得られなくなるまで、任意の2つのパリティ検査多項式を線形演算して前記集合に追加する処理を繰り返して得られた集合からタナーグラフにおいて長さ4のループが少なく、拘束長が大きい多項式を選択してパリティ検査式として復号することを特徴とする復号器。 - パリティ検査多項式の初回の集合の要素は、オリジナルのパリティ検査多項式と遅延演算子を掛けたパリティ検査多項式で構成されることを特徴とする請求項1記載の復号器。
- 畳み込み符号の復号器にあっては、
オリジナルのパリティ検査多項式に対して拘束長が2倍程度の長さがあることを特徴とする請求項1又は2記載の復号器。 - ターボ符号の復号器にあっては、
オリジナルのパリティ検査多項式に対して拘束長が5倍程度の長さがあることを特徴とする請求項1又は2記載の復号器。 - Sum-Productアルゴリズムを用いた畳み込み符号又はターボ符号の復号器であって、
パリティ検査多項式の集合に含まれる任意の2つのパリティ検査多項式を線形演算して、新たに得られたパリティ検査多項式を前記集合に追加し、当該集合に含まれるパリティ検査多項式から線形演算により新しいパリティ検査多項式が得られなくなるまで、任意の2つのパリティ検査多項式を線形演算して前記集合に追加する処理を繰り返して得られた集合からパリティ検査多項式の複数をパリティ検査式として復号することを特徴とする復号器。 - Sum-Productアルゴリズムを用いたターボ符号の復号器であって、
符号系列を元に戻すよう並び替えるディインタリーバと、
前記ディインタリーバからの出力を分割して入力すると共に通信路値を入力して、Sum-Product復号を行う複数の第1の復号器と、
前記第1の復号器からの出力を加算する第1の加算器と、
前記第1の加算器からの出力をスケーリングする第1の乗算器と、
前記第1の乗算器からの出力について符号系列の並び替えを行うインタリーバと、
前記インタリーバからの出力を分割して入力すると共に通信路値を入力して、Sum-Product復号を行う複数の第2の復号器と、
前記第2の復号器からの出力を加算する第2の加算器と、
前記第2の加算器からの出力をスケーリングして前記ディインタリーバに出力する第2の乗算器と、
前記第2の加算器からの出力に通信路値を加算して出力する第3の加算器とを有し、
前記複数の第1の復号器と前記複数の第2の復号器には、パリティ検査多項式の集合に含まれる任意の2つのパリティ検査多項式を線形演算して、新たに得られたパリティ検査多項式を前記集合に追加し、当該集合に含まれるパリティ検査多項式から線形演算により新しいパリティ検査多項式が得られなくなるまで、任意の2つのパリティ検査多項式を線形演算して前記集合に追加する処理を繰り返して得られた集合から各々選択されたパリティ検査式が予め設定されていることを特徴とする復号器。 - パリティ検査式として、オリジナルのパリティ検査多項式、若しくは、線形演算により得られた新しいパリティ検査多項式の中で、拘束長の短いパリティ検査多項式が最低1つは含まれることを特徴とする請求項5又は6記載の復号器。
- 畳み込み符号を要素符号とするターボ符号の復号器にあっては、
選択されたパリティ検査多項式の複数が、パリティ検査式で関係する共通のビットが少ない組み合わせを選択することを特徴とする請求項5又は6記載の復号器。 - Sum-Productアルゴリズムを用いた畳み込み符号又はターボ符号の復号器であって、オリジナルのパリティ検査多項式H(P,X)に情報ビットX,パリティビットPを含まない非零の多項式である変数A(D)を乗算し、前記オリジナルのパリティ検査多項式H(P,X)よりも長い拘束長を持ち、前記オリジナルのパリティ検査多項式H(P,X)と等価となる変形したパリティ検査多項式H'(P,X)を生成し、当該パリティ検査多項式H'(P,X)の拘束長を変化させて、Sum-Productアルゴリズムを用いた復号特性の良い多項式を選択してパリティ検査式として復号することを特徴とする復号器。
- パリティ検査多項式H'(P,X)の拘束長を変化させて、Sum-Productアルゴリズムを用いた復号特性の良い多項式を選択する際に、タナーグラフにおける長さ4のループの数が最小のものを選択することを特徴とする請求項9記載の復号器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008048878A JP2008271516A (ja) | 2007-03-29 | 2008-02-28 | 畳み込み符号及びターボ符号の復号器 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007089946 | 2007-03-29 | ||
JP2008048878A JP2008271516A (ja) | 2007-03-29 | 2008-02-28 | 畳み込み符号及びターボ符号の復号器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008271516A true JP2008271516A (ja) | 2008-11-06 |
Family
ID=39863654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008048878A Pending JP2008271516A (ja) | 2007-03-29 | 2008-02-28 | 畳み込み符号及びターボ符号の復号器 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2008271516A (ja) |
WO (1) | WO2008126498A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009119013A1 (ja) * | 2008-03-27 | 2009-10-01 | 国立大学法人長岡技術科学大学 | Sum-Productアルゴリズムを用いた非組織型畳み込み符号の復号方法及び復号器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4050726B2 (ja) * | 2004-06-23 | 2008-02-20 | 株式会社東芝 | 復号装置 |
-
2008
- 2008-02-28 JP JP2008048878A patent/JP2008271516A/ja active Pending
- 2008-02-29 WO PCT/JP2008/053604 patent/WO2008126498A1/ja active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009119013A1 (ja) * | 2008-03-27 | 2009-10-01 | 国立大学法人長岡技術科学大学 | Sum-Productアルゴリズムを用いた非組織型畳み込み符号の復号方法及び復号器 |
Also Published As
Publication number | Publication date |
---|---|
WO2008126498A1 (ja) | 2008-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hashemi et al. | A fast polar code list decoder architecture based on sphere decoding | |
JP5203717B2 (ja) | 符号器、復号器、符号化方法、及び、復号方法 | |
KR101660554B1 (ko) | 부호화 방법, 복호 방법, 부호화기 및 복호기 | |
JP4651600B2 (ja) | 低密度パリティ検査復号器における検査ノード更新方法 | |
KR101625255B1 (ko) | 부호화기, 복호화기 및 부호화 방법 | |
Ul Hassan et al. | Comparison of LDPC block and LDPC convolutional codes based on their decoding latency | |
JP2009177775A (ja) | 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及びldpc−cc復号器 | |
US10193568B2 (en) | Optical coherent receiver with forward error correction | |
EP3533145A1 (en) | Generation of spatially-coupled quasi-cyclic ldpc codes | |
Halford et al. | Random redundant soft-in soft-out decoding of linear block codes | |
JP5789014B2 (ja) | 符号化方法、符号化器、復号器 | |
Doan et al. | Decoding Reed-Muller codes with successive codeword permutations | |
JP2009201084A (ja) | 符号化器及び送信装置 | |
Sarkis | Efficient encoders and decoders for polar codes: Algorithms and implementations | |
Ullah et al. | Performance improvement of multi-stage threshold decoding with difference register | |
JP2008271516A (ja) | 畳み込み符号及びターボ符号の復号器 | |
Liu et al. | On generalized LDPC codes for 5G ultra reliable communication | |
Ram et al. | Spatially coupled LDPC codes with random access | |
Zeineddine et al. | Construction and hardware-efficient decoding of raptor codes | |
JP5490931B2 (ja) | 符号器、復号器、符号化方法、及び、復号方法 | |
Kumar et al. | Design and implementation of multi-rate LDPC decoder for IEEE 802.16 e wireless standard | |
Yanping et al. | New implementation for the scalable LDPC-decoders | |
Mitchell et al. | On the block error rate performance of spatially coupled LDPC codes for streaming applications | |
Venkatesh et al. | High speed and low complexity XOR-free technique based data encoder architecture | |
Kim | Improved trellis-based decoder for non-binary LDPC codes |