(57)【要約】【課題】誤り訂正能力を向上させることができる復号装置、復号方法及びプログラムを提供する。【解決手段】送信される前は第１の値を含み、受信された後は前記第１の値が通信路の影響により変化した第２の値を含むデータに対してターボ復号を行う復号方法であって、データに対してターボ復号を行い前記第２の値に対応する対数尤度比を得るステップと、ターボ復号に基づき得られたデータの復号の結果が誤りであって、対数尤度比の絶対値が所定の閾値以上である場合、第２の値を第１の値に近づくように補正して得られる第３の値に変換するステップと、第３の値を含む前記データに対してターボ復号を行ってデータに対する復号結果を得るステップと、を有する。【選択図】図４
2010011119.tif 000002
【特許請求の範囲】
【請求項１】
送信される前は第１の値を含み、受信された後は前記第１の値が通信路の影響により変化した第２の値を含むデータに対してターボ復号を行う復号方法であって、
前記データに対してターボ復号を行い前記第２の値に対応する対数尤度比を得るステップと、
ターボ復号に基づき得られた前記データの復号の結果が誤りであって、前記対数尤度比の絶対値が所定の閾値以上である場合、前記第２の値を、当該第２の値を前記第１の値に近づくように補正して得られる第３の値に変換するステップと、
前記第３の値を含む前記データに対してターボ復号を行って前記データに対する復号結果を得るステップと、
を有することを特徴とする復号方法。
【請求項２】
前記対数尤度比は第１対数尤度比であって、
前記第３の値を含む前記データについてターボ復号を行い前記第３の値に対応する第２対数尤度比を得るステップと、
前記第３の値を含む前記データについてのターボ復号に基づき得られた復号結果が誤りであって、前記第２対数尤度比が前記所定の閾値以上である場合、
前記第３の値を、当該第３の値を前記第１の値に近づくように補正して得られる第４の値に変換するステップと、
前記第４の値を含む前記データに対してターボ復号を行うステップと、
をさらに有することを特徴とする請求項１に記載の復号方法。
【請求項３】
前記第３の値を含む前記データについてのターボ復号に基づき得られた復号結果が誤りである場合に、前記第３の値を、前記第２の値に対して行った補正の量とは異なる量で補正して前記第４の値に変換することを特徴とする請求項２に記載の復号方法。
【請求項４】
前記第３の値を含む前記データについてのターボ復号に基づき得られた復号結果が誤りである場合に、前記所定の閾値の値を変更することを特徴とする請求項２に記載の復号方法。
【請求項５】
前記対数尤度比の絶対値が第１の閾値以上である場合には前記第２の値を第１の絶対値だけ変化させて前記第３の値に変換し、
前記対数尤度比の絶対値が前記第１の閾値未満であって前記第１の閾値より低い第２の閾値以上である場合、前記第２の値を前記第１の絶対値より小さい第２の絶対値だけ変化させて前記第３の値に変換することを特徴とする請求項１に記載の復号方法。
【請求項６】
前記対数尤度比は、前記データに対して複数回のターボ復号を行った結果として得られた対数尤度比であることを特徴とする請求項１に記載の復号方法。
【請求項７】
送信される前は第１の値を含み、受信された後は前記第１の値が通信路の影響により変化した第２の値を含むデータに対してターボ復号を行い、前記第２の値に対応する対数尤度比を求める復号器と、
前記ターボ復号に基づき得られた復号の結果が誤りであって、前記対数尤度比の絶対値が所定の閾値以上である場合、前記第２の値を補正するよう指示する補正判定器と、
前記第２の値を、当該第２の値を前記第１の値に近づくように補正して得られる第３の値に変換する補正器と、を有し、
前記復号器は、前記第３の値を含む前記データに対して再度ターボ復号を行うことを特徴とする復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ターボ復号やビタビ復号といった畳み込み符号の誤り訂正能力を向上する復号装置、復号方法及びプログラムに関する。
【背景技術】
【０００２】
デジタル通信システムでは、伝送路において生じる誤りを訂正する誤り訂正符号が用いられている。特に移動通信システムでは、フェージングの影響により電波強度が激しく変動して誤りが生じ易いため、誤り訂正符号には高い訂正能力が要求される。誤り訂正符号の一例であるターボ符号は、シャノン限界に近い誤り訂正能力を有する符号として注目されており、例えば、第３世代の移動通信方式であるＷ−ＣＤＭＡ（Wideband Code Division Multiple Access）やＣＤＭＡ−２０００で使用されている。
【０００３】
また、ビタビ復号は畳み込み符号に対する復号法であり、最も一般的な誤り訂正方法の一つとして知られている。ビタビ復号は最尤復号法であり、尤もらしい状態の遷移を辿ること(トレースバック)で復号結果を得る。復号結果が正しいかどうかの判定はＣＲＣ（Cyclic Redundancy Check）などの誤り検出方法を用い、誤りであればデータの再送を要求する。
【０００４】
これらの畳み込み符号の誤り訂正能力を向上させる復号装置が従来提案されている。図１１は、従来の参考例にかかる復号装置を示すブロック図である（例えば特許文献１参照。）。図１１に示すように、復号装置１００は、入力データメモリ１１２、合成部１１３、復号器１１４、復号データメモリ１１５、硬判定部１１６、誤り検出部１１７、制御部１１９、及び信号対雑音比推定部１２２を有する。
【０００５】
入力データメモリ１１２は、受信部（不図示）からのデータを格納する。合成部１１３は、入力データメモリ１１２からのデータと信号対雑音比推定部１２２からのデータとを合成する。復号器１１４は、ターボ復号を行う。復号データメモリ１１５は、復号データ信頼度（ＬＬＲ：Log-Likelihood Ratio（対数尤度比））を保存する。硬判定部１１６は、ＬＬＲに基づき復号結果を硬判定した結果である硬判定結果を求める。誤り検出部１１７は、ＣＲＣにより硬判定結果から誤り検出をする。制御部１１９は、誤り検出部１１７が復号データの誤りを検出した場合、誤り検出部１１７、復号器１１４、合成部１１３を（再）起動するよう制御する。信号対雑音比推定部１２２は、二乗平均回路１２２ａ及びルックアップテーブル１２２ｂを有する。二乗平均回路１２２ａは、復号データメモリ１１５からの軟出力データ（ＬＬＲ）に基づき処理中のブロックの信号対雑音比を推定する。ルックアップテーブル１２２ｂには、信号対雑音比とＩＥＲとの対応関係を示すデータが格納される。ＩＥＲとは、Input to Extrinsic data Rationの略であり、外部尤度情報（Extrinsic Information）に対する入力データの割合である。
【０００６】
合成部１１３は、ルックアップテーブル１２２ｂから出力されたＩＥＲが小さい場合、すなわち、受信データ、符号化データの信頼度が高い場合は、これらの受信データ、符号化データを中心に復号結果を推定するよう小さな増幅率で増幅する。一方、ルックアップテーブル１２２ｂから出されたＩＥＲが大きい場合、すなわち受信データ、符号化データの信頼度が低い場合は、復号部の演算結果を中心に復号結果を推定するように大きな増幅部でこれらの受信データ、符号化データを増幅する。
【０００７】
図１２は、従来の他の参考例にかかる復号装置を示すブロック図である。（例えば特許文献２参照。）。図１２に示すように、復号装置２００は、入力データメモリ２１２、合成部２１３、復号器２１４、復号データメモリ２１５、硬判定部２１６、誤り検出部２１７、制御部２１９、符号マッピング器２２４及び等化器２２５を有する。
【０００８】
入力データメモリ２１２は、受信部（不図示）からのデータを格納する。合成部２１３は、入力データメモリ２１２からのデータと等化器２２５からのデータとを合成する。復号器２１４は、ターボ復号する。復号データメモリ２１５は、復号データ信頼度（ＬＬＲ）を保存する。硬判定部２１６は、ＬＬＲに基づき復号結果を硬判定した硬判定結果を求める。誤り検出部２１７は、ＣＲＣにより硬判定結果の誤り検出をする。制御部２１９は、誤り検出部２１７、復号器２１４、合成部２１３を制御する。
【０００９】
硬判定部２１６は、復号データメモリ２１５に格納されたシステムビット、パリティビットの双方の尤度情報から、復号結果の硬判定結果を求める。符号マッピング器２２４により硬判定結果を再度マッピングする。等化器２２５により、硬判定結果を入力データにフィードバックすることで、次の入力データを調整する。
【特許文献１】特開２００１−２３０６８１号公報
【特許文献２】特表２００３−５３５４９３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１に記載の復号装置においては、ＬＬＲに基づき受信した復号すべきデータの信号対雑音比を推定しているが、信号対雑音比を精度よく推定することは大変困難である。また、精度の良い信号対雑音比の推定を行う場合にはルックアップテーブルを細かい粒度で用意しなければならず、復号装置の回路規模が増大する。一方、回路規模の増大をできるだけ低く抑えるためルックアップテーブルの粒度を大きくすると適切な精度で信号対雑音比を推定することができない。つまり、特許文献１に記載の復号装置は、信号対雑音比の推定結果に基づいて入力データメモリ１１２に記憶されたデータの補正を行っているが、信号対雑音比の推定の精度が低い場合には入力データメモリ１１２に記憶されたデータに対して適切な補正を行うことができないため、補正後のデータを復号しても再び復号結果が誤りとなる可能性がある。
【００１１】
また、特許文献２に記載された復号装置は、復号結果を硬判定した結果である硬判定結果が誤っている可能性がある。したがって、復号結果の硬判定を用いて入力データメモリ２１２に記憶された復号すべきデータの重みづけを行ったとしたとしても正しく復号すべきデータの重みづけを行うことができているか不明である。すなわち、特許文献２に記載の復号装置は、復号すべきデータに対する適切な補正を行うことができない場合がある。したがって、補正後のデータを再度、復号器２１４で復号したとしても、復号結果は再び誤りとなる可能性がある。以上を総括すると、上記従来技術の復号装置には、復号すべきデータの補正を適切に行うことができない場合があり、復号すべきデータを適切に補正して誤りのない復号結果を得ようとすれば回路規模が著しく増大し、回路規模を低減しようとすれば復号すべきデータに対する補正の精度が悪化して正しい復号結果を得にくくなってしまうという、解決すべき課題があった。
【課題を解決するための手段】
【００１２】
本発明にかかる復号方法は、送信される前は第１の値を含み、受信された後は第１の値が通信路の影響により変化した第２の値を含むデータに対してターボ復号を行う復号方法であって、このデータに対してターボ復号を行い第２の値に対応する対数尤度比を得るステップと、ターボ復号に基づき得られた当該データの復号の結果が誤りであって、対数尤度比の絶対値が所定の閾値以上である場合、第２の値を前記第２の値を、当該第１の値に近づくように補正して得られる第３の値に変換するステップと、第３の値を含むデータに対してターボ復号を行って当該データに対する復号結果を得るステップと、を有する。
【００１３】
本発明にかかる復号装置は、送信される前は第１の値を含み、受信された後は前記第１の値が通信路の影響により変化した第２の値を含むデータに対してターボ復号を行い、第２の値に対応する対数尤度比を求める復号器と、ターボ復号に基づき得られた復号の結果が誤りであって、対数尤度比の絶対値が所定の閾値以上である場合、第２の値を補正するよう指示する補正判定器と、第２の値を、当該第２の値を前記第１の値に近づくように補正して第３の値に変換する補正器と、を有し、復号器が、第３の値を含む前記データに対して再度ターボ復号を行う。
【００１４】
本発明においては、ターボ復号によって得られた対数尤度比を、所定の閾値と比較する。そして係る対数尤度比の絶対値が所定の閾値以上である場合、そのターボ復号によって得られた対数尤度比を用いた硬判定の結果は正しいことが推定できる。この場合、係る対数尤度比に対応する受信データを、本来、示していたであろう送信前の値に近づけるように補正する。対数尤度比の絶対値が所定の閾値より大きいかどうかの基準に基づき当該対数尤度比に対応する受信データを補正すればよいため、従来技術に示されている信号対雑音比の推定のような複雑な処理を行わなくてよい。結果として回路規模の増大を低減しつつ、復号の精度を向上させることができる。また、この補正は、硬判定を行う前に得られる対数尤度比に基づいて行われるため、復号すべきデータを適切に補正することができる。
【発明の効果】
【００１５】
本発明によれば、誤り訂正能力を向上させることができる復号方法を実現することができ、誤り訂正能力を向上させつつ回路規模の増加を低減した復号装置を提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、ターボ復号を行う復号装置に適用したものである。
【００１７】
図１は、本発明の第１の実施の形態にかかる情報通信システムを示す図である。図２及び図３は、各ブロックが出力するデータを示す図である。図１に示すように、送信側はたとえば基地局１０であり、符号化部１１、変調部１２、Ｄ／Ａ変換部１３及びアンテナ１４を有する。基地局１０では、例えば、まず基地局１０のＣＰＵ（不図示）が送信したいデータを情報ビットとして符号化部１１に入力する（図２（ａ））。符号化部１１は、入力された情報ビットに対し例えばターボ符号化などの誤り訂正符号化（＋誤り検出符号化等）を施す（図２（ｂ））。情報ビットは、図２（ａ）に示すように、１と０を含むビット列である。符号化部１１が係る情報ビットのターボ符号化を行う場合には、符号化すべき情報ビットにパリティが付加されるので、符号化率にもよるが、例えば符号化率が１／３であれば、符号化されたデータである符号化データは、情報ビットの３倍のビット数を有することになる。図２、図３において、符号データ、送信データ、受信データ、復号データ信頼度、補正データは、情報ビット及び復号データの３倍のビット数を有する。符号化部１１は、入力された情報ビットを誤り訂正符号化、例えばターボ符号化して得た符号データ（図２（ｂ））を変調部１２に出力する。変調部１２は、入力された符号データをＢＰＳＫ（binary phase shift keying）の方式で変調し（図２（ｃ））、変調後のデータである送信データ(図２（ｃ）)をＤ／Ａ変換部１３に出力する。Ｄ／Ａ変換部１３は、変調部１２が出力した送信データをデジタル信号からアナログ信号に変換する。そしてアナログ信号に変換された送信データはアンテナ１４を介して送信される。図２（ｃ）に示すように、変調部１２は、符号データに対してＢＳＰＫ変調を施す場合、符号データのビット"０"を１．００に、符号データのビット"１"を−１．００に変換する。
【００１８】
受信側はたとえばユーザ端末２０である。ユーザ端末２０は、アンテナ２４を介して送信側１０のアンテナ１４から送信されたデータを受信する。ただし、アンテナ２４が受信したデータは、アンテナ１４から出力された後、空間を伝播する際のノイズの影響を受けていることに留意する。アンテナ２４が受信したデータはＡ／Ｄ変換部２１に入力される。Ａ／Ｄ変換部２１は、入力されたデータをアナログ信号からデジタル信号に変換する。Ａ／Ｄ変換部２１は、変換後のデジタル信号を復調部２２に出力する。そして、復調部２２は、Ａ／Ｄ変換部２１が出力したデータを復調する。復調部２２が復調を行った結果として得られるデータが、図２（ｄ）に示す受信データである（図２（ｄ））。ここで、送信側から送信されたデータには通信路を経て受信されるまでにノイズが混入する。ノイズは時間的にその大きさが変化する。したがって、復調部２２が復調した結果得られる受信データ（図２（ｄ））にも、係るノイズの影響が存在している。図２（ｄ）に示す受信データにおいては、ｄ７のデータに符号が反転するほどのノイズが加えられている。このように復調部２２が復調を行うことで得られた受信データにはノイズが混入しているため、元の送信側の変調部１２が変調した時点での送信データ（図２（ｃ））と係る受信データとは異なる。復調部２２は、復調して得た受信データを復号部２３に出力する。復号部２３は、入力された受信データに対して誤り訂正復号を施す。復号部２３は、誤り訂正復号を受信データに施し、ノイズによる受信データの誤りの訂正を行う。この誤り訂正復号の結果として、復号データに対する信頼度が得られる（例えば図２（ｅ）、具体的な動作については後述する）。本実施の形態の復号部２３は、受信データに対してターボ復号を行う。ターボ復号を行った結果、得られた信頼度(対数尤度比：ＬＬＲ)に基づき復号データ（図３（ａ））が得られ、この復号データを使用して後段のＣＰＵなどの処理回路が所定の処理を実施する。
【００１９】
図４は、本実施の形態に係る復号部（図１の復号部２３である。以下、復号装置２４という）を示している。入力データメモリ３１は、復調部２２から、図２（ｄ）の受信データを受け取り、記憶する。入力データメモリ３１は、まず、例えば制御部３７からの信号（不図示）に基づきアドレスを指定され、記憶した受信データのｄ１の情報とパリティ１、ｄ２の情報とパリティ１、ｄ３の情報とパリティ１・・・・ｄ８の情報とパリティ１を復号器３３にセレクタ３２を介して出力する（信号線D１）。入力データメモリ３１から復号器３３までの信号線は、例えばバスを使用した複数ビットを伝送可能なものでもよく、シリアルに信号を出力可能なものでもよい。なお、この時点では、制御部３７からの信号に基づき、セレクタは入力データメモリからの信号を出力すべき信号として選択している。また、以下では、図２のｄ１からｄ８までの範囲のデータが、復号の処理単位、例えば１パケット分のデータであるとする。
【００２０】
復号器３３は、図２（ｄ）に係るｄ１ないしｄ８のそれぞれの情報およびパリティ１を取得した後、取得したデータに対してターボ復号を行う。復号器３３は、ターボ復号を行った結果、ｄ１ないしｄ８のそれぞれの情報およびパリティ１に対応する対数尤度比ＬＬＲを算出する。例えば復号器３３は、図２（e）にｄ１の情報に対する対数尤度比―１１０、パリティ１に対する対数尤度比５４を算出するとともに、ｄ２の情報に対する対数尤度比１０５、パリティ１に対する対数尤度比―４２を算出する。さらに、復号器３３は同様に、ｄ３ないしｄ８の情報およびパリティ１に対する対数尤度比を算出する。そして復号器３３は、算出したこれらの対数尤度比を復号データメモリ３４に順次出力して書き込んでいく（信号線Ｄ２）。
【００２１】
ここで、対数尤度比は、ある対数尤度比の値に対応するビットが０らしいか１らしいかを表す確率に関する値である。対数尤度比は、例えば実際には８ビットで表現される。この場合、対数尤度比は−１２８〜１２７の値をとることになる。ターボ復号では、この対数尤度比の値を用いて硬判定という処理を行う。硬判定とは、例えば−１２８から１２７の値をとる対数尤度比の場合、一の対数尤度比の値が０より大きい場合は当該一の対数尤度比に対応するビットは０であり、一の対数尤度比の値が０より小さい場合は該一の対数尤度比に対応するビットは１であると判定する処理のことをいう。硬判定では対数尤度比が０より大きいか小さいに基づきその対数尤度比に対応数ビットが０なのか１なのかを判定しているため、対数尤度比の値が１２７に近いほど、その対数尤度比に対応するビットは０である確率が高くなる。また、対数尤度比の値が−１２８に近いほど、その対数尤度比に対応するビットは１である確率が高くなる。言い換えると、絶対値が大きい対数尤度比に対応するビットは０なのか１なのかを高い信頼性を持って判定されることになる。例えば一の対数尤度比の絶対値が１００以上であれば当該一の対数尤度比に対応するビットを"１"または"０"であると判定した場合、その判定結果は正しい可能性が高い。また、一の対数尤度比の絶対値が３０乃至１００であれば、その対数尤度比に対応するビットが０なのか１なのかについての判定の信頼度は中程度である。一方、一の対数尤度比の絶対値が３０未満であれば、その対数尤度比が０なのか１なのかについての判定の信頼度は低い。この場合、仮にこの対数尤度比の値の正負と絶対値に基づいて、この対数尤度比に対応するビットが０または１であるかを判定したとしても、その判定結果が誤りである可能性がある。
【００２２】
図４の復号装置２４の動作の説明に戻る。制御部３７が復号データに対してアドレスを指定したことに応答して、復号データメモリ３４は、硬判定部３５に図２（e）に示したｄ１ないしｄ８のそれぞれの情報に対応する対数尤度比を出力する。硬判定部３５は、復号データメモリ３４から取得した対数尤度比のそれぞれに対して、上述した硬判定を施す。その結果、硬判定３５は、図３(a)に示した復号データの内、ｄ１ないしｄ８のそれぞれの情報の復号データを得る。硬判定部３５は、得られた復号データを誤り検出部３６に出力する（信号線D３）。
【００２３】
誤り検出部３６は、硬判定部３５から受け取った復号データ、すなわち図３（ａ）に示すｄ１ないしｄ８のそれぞれの情報についての復号データが、送信側で送信した情報ビット（図２（ａ））を誤りなく復元しているかどうかを判定する。具体的には、図２（ａ）の情報ビットには、ＣＲＣ（Cyclic Redundancy Check；巡回冗長検査）が付加されており、誤り検出部３６は、このＣＲＣに基づいて、硬判定部３５から受け取った復号データが正しいかどうかを判定する。図３（ａ）に示す例では、図２（ａ）のｄ５およびｄ６のそれぞれと、図３（ａ）のｄ５およびｄ６のそれぞれの情報が異なっている。すなわち、この例では、誤り検出部３６は、硬判定部３５から受けとった復号データは誤りであるという判定を行い、その判定結果を制御部３７に出力する（信号線Ｄ４：この信号線は１ビットでよい。）なお、誤り検出部３６が、硬判定部３５から受け取った復号データが正しいという判定を下した場合、係る復号データはデータ処理部４１に出力される。データ処理部４１はＣＰＵやバスなどを含むシステムを構成し、入力されたデータに対して所定の処理を施すブロックである。
【００２４】
制御部３７は、誤り検出部３６から硬判定部３５が出力した復号データが誤りであることを示す信号を受け取ると、復号器３３に対して、再度の復号を行うよう指示する信号を出力する（信号線Ｄ１０）。つまり、上述した復号は、第１回目の復号であり、以下に説明する復号は第２回目の復号である。ターボ復号は繰り返し復号を行うことで、復号の精度を高めることができる技術である。
【００２５】
復号器３３は、制御部３７からの指示に応答して、入力データメモリ３１から、図２（ｄ）に示す受信データのｄ１ないしｄ８のそれぞれの情報およびパリティ「２」を読み出して取得する。第１回目の復号では、ｄ１ないしｄ８の情報およびパリティ「１」を使用していた点で異なる。さらに、復号器３４は、復号データメモリ３４から、第１回目の復号の際に当該復号データメモリ３４に書き込まれたデータの内、図２（ｅ）に示すｄ１ないしｄ８のそれぞれの情報についての対数尤度比を読み出して取得する。この復号データメモリ３４から復号器３３に対して読み出される信号は、ターボ復号の分野では外部情報と呼ばれる。
【００２６】
復号器３３は、図２（ｄ）の受信データに関するｄ１ないしｄ８のそれぞれの情報およびパリティ２と、復号データメモリ３４から読み出したｄ１ないしｄ８の情報についての対数尤度比（図２（ｅ）参照）を使用して、第２回目のターボ復号を行う。復号器３３は、ターボ復号を行った結果、ｄ１ないしｄ８のそれぞれの情報およびパリティ２についての対数尤度比を算出し、算出した対数尤度比を復号データメモリ３４に順次書き込んでいく。なお、第１回目の復号の際に算出されたｄ１ないしｄ８のそれぞれの情報についての対数尤度比は、第２回目の復号の際に算出されたｄ１ないしｄ８のそれぞれの情報についての対数尤度比で上書きされるものとする。ここで、第２回目のターボ復号で復号器３３が算出した対数尤度比の内、ｄ１ないしｄ８に関するものは、図２（ｅ）に示すものとは異なることに注意する。しかしｄ１ないしｄ８のそれぞれについてのパリティ２に関する対数尤度比は、図２（ｅ）に示されたものである。パリティ２についての対数尤度比は、第２回目のターボ復号で初めて算出されているため、図２（ｅ）にも示されている。
【００２７】
次に硬判定部３５は、復号データメモリ３４から、第２回目の復号の際のｄ１ないしｄ８の情報についての対数尤度比を読み出して取得する。そして第１回目の復号の際と同様に硬判定を行って、その結果である復号データを誤り検出部３６に出力する。復号結果の内、ｄ１ないしｄ８のパリティ２については、図３（ａ）に示すものとなる。しかしｄ１ないしｄ８の情報についての復号データは図３(a)に示すものとは異なる。図３（ａ）のｄ１ないしｄ８の情報についての硬判定結果は、第１回目の復号の際の硬判定結果だからである。
【００２８】
誤り検出部３６は、第１回目の復号の際と同様に、硬判定部３５からの復号データが正しいかどうかを判定する。ここで、第２回目の復号の結果、得られた復号データも誤りであったとする。この場合誤り検出部３６は、制御部３７に対して、復号データが誤りであることを信号線Ｄ４を介して伝える。制御部３７は、その結果を受けて、再度、復号器３３に対して復号を行うように指示する。すなわち第３回目の復号である。
【００２９】
第３回目の復号では、復号器３３は、入力データメモリ３１から、図２（ｄ）に示す受信データのｄ１ないしｄ８のそれぞれの情報およびパリティ１を読み出す。この点は第１回目の復号のときと同様である。しかし、復号器３３は、復号データメモリ３４から、第２回目の復号の際に復号データメモリ３４に書き込まれたｄ１ないしｄ８の情報についての対数尤度比を読み出して取得し、係る対数尤度比を第３回目の復号に使用する点が異なる。第１回目の復号と第３回目の復号とでは、復号データメモリから読み出す対数尤度比の点で異なっている。したがって第１回目と第３回目では復号に使用する入力値が異なるため、復号結果も第１回目と第３回目とでは異なる可能性がある。以降の処理は第１回目と同様である。復号器３３は、復号データメモリに対してｄ１ないしｄ８の情報およびパリティ１についての対数尤度比を書き込む。第１回目で書き込まれたｄ１ないしｄ８の情報およびパリティ１についての対数尤度比は上書きされ、第３回目の復号で算出された、ｄ１ないしｄ８の情報およびパリティ１の対数尤度比となる。そして硬判定部３５は、復号データメモリからｄ１ないしｄ８の情報（第３回目の復号に対応するもの）の対数尤度比を読み出してそれらの硬判定を行う。そして硬判定部３５は、得られた復号データを誤り検出部３６に出力する。誤り検出部３６は同様に復号データが誤りであるか否かを判定する。
【００３０】
第３回目の復号も誤りであった場合、制御部３７の指示を受けて、復号器３３は第４回目の復号を行う。この際、復号器３３は、入力データメモリ３１からｄ１ないしｄ８の情報およびパリティ２を読み出して復号に使用することは第２回目の復号と同様である。しかし、復号器３３は、復号データメモリ３４から、第３回目の復号の際に当該復号データメモリに書き込まれた、ｄ１ないしｄ８の情報のそれぞれについての対数尤度比を読み出して復号に使用する。この点が第２回目の復号と異なる。復号に使用する入力値が第１回目、第２回目、第３回目の復号のいずれとも異なるため、第１ないし第３回目の復号とは異なる結果が得られる可能性がある。以降の処理は第１回目ないし第３回目と同様である。
【００３１】
ここで、第４回目の復号も誤りであったことが、誤り検出部３６から制御部３７に伝えられたとする。制御部３７は、４回の繰り返し復号を行っても正しい復号結果を得ることができなかったことを認識し、補正判定器３８、補正器３９に入力データメモリに記憶されている受信データ（図２（ｄ））を補正することを指示する（信号線Ｄ５およびＤ６）。
【００３２】
補正判定器３８は、制御部３７から信号線D5を介して入力データメモリ３１に記憶されている受信データを補正する旨の指示を受けた場合、まず復号データメモリからｄ１ないしｄ８の情報、パリティ１、パリティ２を読み出す。以降、説明を分かりやすいものにするため、補正判定器３８が復号データメモリ３４から読み出したデータは、図２（ｅ）であるものとする。実際には、復号器３３が４回の繰り返し復号を行っているため、繰り返し復号の終了時点で復号データメモリ３４に記憶されているデータは図２（ｅ）とは異なる。上述したように、例えば図２（ｅ）のｄ１ないしｄ８のそれぞれの情報についての対数尤度比は、第１回目のターボ復号を復号器３３が行った際に、復号器３３が復号データメモリ３４に書き込んだものである。図２（ｅ）のｄ１ないしｄ８のそれぞれのパリティ１に関する対数尤度比も、同様に復号器３３が第１回目のターボ復号を行った際に復号データメモリに書き込んだものである。図２（ｅ）のｄ１ないしｄ８のそれぞれのパリティ２についての対数尤度比は、復号器３３が、第２回目のターボ復号を行った際に復号データメモリに書き込んだものである。したがって、復号器３３が４回のターボ復号を繰り返した時点においては、復号データメモリ３４に記憶されている対数尤度比は図２（ｅ）とは一致しないが、以降の説明では、実際の数値を例にとった分かりやすい説明を行うため、図２（ｅ）に記載されている対数尤度比が４回目ターボ復号の終了時に復号データメモリが保持しているデータであるとする。
【００３３】
補正判定器３８は、復号データメモリ３４から読み出した対数尤度比のそれぞれに対して以下の判定を行う。なお、以下に示す補正判定器３８の処理内容は具体的な例であり、権利範囲がこの実施例の記載に限定されてはならない。補正判定器３８は、一の対数尤度比の符号が正であって、当該一の対数尤度比の絶対値が１００以上である場合、当該一の対数尤度比に対応する受信データの値を０．１増加させることを決定する。例えば、図２（ｅ）のｄ２の情報について対数尤度比は１０５である。したがって、この対数尤度比に対応する図２（ｄ）の受信データであるｄ２の情報０．４２を０．５２に増加させるべきことを決定する。具体的な演算は、後述する補正器３９により行われるが、演算の結果は、図３（ｂ）の補正データの内の、ｄ２の情報が０．５２となっていることにより示されている。次に、補正判定器３８は、一の対数尤度比の符号が負であって、当該一の対数尤度比の絶対値が１００以上である場合、当該一の対数尤度比に対応する受信データの値を０．１減少させることを決定する。例えば、図２（ｅ）のｄ１の情報についての対数尤度比は、−１１０である。したがって、この対数尤度比に対応する図２（ｄ）の受信データであるｄ１の情報−０．８０を−０．９０とすべきことを決定する。具体的な演算は後述する補正器３９が行うが、演算の結果は、図３（ｂ）の補正データの内の、ｄ１の情報が−０．９０となっていることにより示されている。一方、補正判定器３８は、絶対値が１００未満である対数尤度比のそれぞれに対応する受信データのそれぞれには、値の増減を行わないことを決定する。補正判定器３８の係る決定内容を図で示したのが図５である。補正判定器３８は、ターボ復号を繰り返し行った結果として得られた対数尤度比に基づいて、入力データメモリ３１に記憶された受信データのそれぞれをどのように補正するかを決定している。
【００３４】
なお、以上の説明は具体的な例であり、例えば、補正判定器３８が使用する対数尤度比の絶対値は１００でなくてもよい。また補正判定器３８が一の受信データの値を増減させる具体的な値は０．１でなくてもよい。対数尤度比の絶対値が高いということは、硬判定の結果が信頼できるということである。したがって、硬判定の結果が正しいと推定する対数尤度比の閾値を状況に応じた値とすればよい。補正判定器３８は対数尤度比の絶対値を評価し、正しい硬判定が行われると推定される対数尤度比を見つけ出す。そして補正判定器は、これらの対数尤度比に対応する受信データの値を補正すべきことを決定する。
【００３５】
受信データの値をどのように補正するかについては、以下の方針で決定される。例えば、図２（ｅ）の対数尤度比の内、ｄ１の情報についての対数尤度比は−１１０である。正しい硬判定が行われると推定できる対数尤度比の絶対値の閾値が１００であれば、ｄ１の情報の対数尤度比は、正しく硬判定が行われると推定できる対数尤度比である。ここで、対数尤度比―１１０を硬判定した結果は１となり、この硬判定結果は正しいと推定される。一方、このｄ１の情報の対数尤度比−１１０に対応する受信データは図２（ｄ）を参照し−０．８０である。送信機側では、図２（ｂ）の符号データをＢＰＳＫ変調しており、このＢＰＳＫ変調では、符号データの時点でビットの値が１のデータは−１．００に変換され、ビットの値が０のデータは１．００に変換される。ここで、図２（ｄ）のｄ１の情報についての受信データ、−０．８０は、対応する硬判定結果が１であり、さらにこの−０．８０に対応する硬判定の結果は正しいと推定されるので、ノイズの影響がなければ、この−０．８０は、本来−１．００であったと考えられる。そこで補正判定器３８は、この−０．８０の値を、−１．００に近づくように補正することを決定する。係る補正を行うにあたり、−０．８０に具体的に加える値が、上述の例では−０．１であった。
【００３６】
つまり補正判定器３８は、一の対数尤度比について行われる硬判定の結果が正しいと推定できる場合、係る一の対数尤度比に対応する受信データの値を、ノイズ等の影響がなければ示していたであろう値に近づけるように補正することを決定する。補正するための加減算に使用する具体的な値は、状況に応じて決定すればよい。
【００３７】
補正判定器３８は、図２（ｄ）の受信データの内のどの部分に対してどのような補正を行うかを、信号線Ｄ７を介して補正器３９に伝える。一方、制御部３７は、信号線Ｄ６を介して、補正する受信データの部分をどのような値で加減算するかを補正器３９に伝える。
【００３８】
補正器３９は入力データメモリ３１から図２（ｄ）の受信データを読み出す。そして、補正器３９は、補正判定器３８から指示された受信データの部分に対して制御部から取得した値を加算する、あるいは減算することで補正を行う。補正器３９は内部にメモリを有し、補正後の受信データを記憶しておく。具体的には、図３（ｂ）のデータを記憶しておく。
【００３９】
補正器３９が補正データを記憶した後、制御部３７は、復号器３３に対して、再度の復号を行うよう指示する。ここで、制御部３７はセレクタ３２に対して、補正器３８からの信号が復号器３３に伝達されるように指示を送る。復号器３３は、補正器３９から、補正後の受信データ、すなわち図３（ｂ）に記載された補正データの内、まずはｄ１ないしｄ８のそれぞれについての情報およびパリティ１を取得する。そして第１回目のターボ復号を行う。ターボ復号の際の復号器３３、復号データメモリ３４、硬判定部３５、誤り検出部３６、制御部３７の動作は、上述したものと同様である。復号器３３は、補正後の受信データを用いた第１回目の復号の結果が誤りであった場合、制御部からの指示に応答して、補正器３９から図３（ｂ）の補正データの内でｄ１ないしｄ８のそれぞれについての情報およびパリティ２を取得する。そして復号データメモリ３４から第１回目の復号で書き込まれたｄ１ないしｄ８の情報についての対数尤度比を外部情報として取得した上で、第２回目のターボ復号を行う。第３回目のターボ復号、第４回目のターボ復号も、上述した説明と同様である。ただし、復号器３３が、補正器３９から補正後の受信データを取得することが異なる。
【００４０】
図３（ｂ）に示した補正後のデータを用いてターボ復号を行っても、正しい復号結果が得られなかった場合、制御部３７は、補正判定器３８および補正器３９に対して、補正器３９が記憶している補正後の受信データ（図３（ｂ））をさらに補正することを指示する。
【００４１】
係る指示を受けた補正判定器３８および補正器３９は、上述の説明と同様の手順で、補正器３９が記憶している補正後の受信データを補正する。そして、さらに補正された受信データが、再度のターボ復号に使用される。
【００４２】
補正判定器３８および補正器３９により行われる補正は、正しい復号結果が得られるまで繰り返されてもよいし、予め定めた回数分、行われてもよい。また、本実施の形態では、補正判定器が受信データの各々の部分に補正を行うかどうかを決定する際の基準として対数尤度比を用いた。これは、復号器３３がターボ復号を行うためである。誤り訂正符号の復号方法はターボ復号だけではなく、例えばビタビ復号もある。ビタビ復号は、復号の結果として、トレリス線図上の生き残りパスをどのように選択したかをパスメモリに記憶しておくが、例えばこれに加えてパスメトリックやパスメトリック差といったパラメータを記憶しておき、これらのパラメータを用いて復号に使用する受信データを補正してもよい。
【００４３】
また、本実施の形態では、補正判定器３８は、復号データメモリ３４から読み出した対数尤度比のそれぞれと、硬判定の結果が正しいと推定できる対数尤度比の絶対値の閾値とを比較する比較器を有していればよい（例えば係る対数尤度比の閾値は制御部３７が補正器３８に指示する構成とすればよい）。また、補正器３９も加算器および１パケット分の受信データを記憶するメモリを有していればよい。
【００４４】
また、本実施の形態では、入力データメモリ３１は記憶している受信データ（図２（ｄ））を該受信データの補正の有無に関わらず記憶し続けている。したがって、補正判定器３８および補正器３９が当該受信データの補正を繰り返し行った上で復号器３３が復号を行っても正しい復号結果が得られない場合において、硬判定の結果が正しいと推定できる対数尤度比の閾値を変更し、あるいは、補正器３９が受信データの補正のために受信データの対応部分に加算する値、減算する値を変更した上で、入力データメモリ３１が記憶している受信データを再度利用して復号を行うこともできる。あるいは変更後の対数尤度比の絶対値の閾値および／または変更後の、補正に使用する値を用いて、補正器３９が記憶している補正データを再度補正して、復号を行っても良い。
【００４５】
一方、本実施の形態では、復号器３３が、４回の繰り返し復号を行っても正しい復号結果が得られない場合に補正判定器３８および補正器３９が受信データの補正を行った。しかし、繰り返し復号の回数は４回に限られない。ただし、繰り返しの回数が少ない場合、復号データメモリに記憶されている対数尤度比の信頼性が低い場合があるので注意を要する。ターボ復号を行った結果として得られる対数尤度比は、繰り返しターボ復号を行うことで収束し、安定する。したがって、ターボ復号の繰り返しの回数が少ない状態では、復号データメモリに記憶されている対数尤度比の値が収束していないため、ある程度、ターボ復号を繰り返してから補正判定器３８および補正器３９が受信データの補正を行うべきである。補正判定器３８が収束していない対数尤度比に基づいて受信データのどの部分に補正を行うかを決定したとしても、その決定が正しい復号結果を得るための適切なものである可能性が低くなるからである。
【００４６】
図６は、上述した補正判定器３８および補正器３９の動作の変形例を示している。上述した実施の形態では、硬判定の結果が信頼できると推定される対数尤度比の絶対値の閾値はひとつであった。しかし、図６では、係る絶対値の閾値を二つ設けている。具体的には、１００と５０である。したがって、補正判定器３８は、復号データメモリ３４から読み出した対数尤度比の内、絶対値が５０を超える対数尤度比に対応する受信データには補正を行うべきことを決定する。しかし、補正器３９が補正を行うべき受信データに加算する値も二種類あるため、補正判定器３８は、補正器３９に対して、補正すべき受信データの部分を指定すると共に、どのような値を加算する必要があるかも指示する。また、補正器３９は、制御部３７から２種類の加算すべき値を受け取っておく。具体的には、補正判定器３８は、対数尤度比の絶対値が１００を超える場合には硬判定の結果が確実に正しいと推定し、補正値として０．１を補正器３９に指示する。一方、補正判定器３８は、対数尤度比の値が１００未満であって５０以上の場合には、硬判定の結果が一応確からしいものと推定し、補正値として０．０５を補正器３９に指示する。対数尤度比の絶対値が１００未満であって５０以上のものに対応する受信データについては０．１よりも小さい０．０５を使用して補正を行うことで、復号の結果に悪影響を与える不適切な補正を防止する。
【００４７】
図７は、本実施の形態にかかる補正方法を示すフローチャートである。ステップＳ３〜Ｓ９が、本実施の形態にかかる補正処理を行うステップであり、信頼度が閾値を上回ったビットに対して補正を行う。
【００４８】
復号器３３は、第１のデコーダ及び第２のデコーダを有し、これらが交互に復号処理することで復号を行う。先ず、第１のデコーダが復号し(ステップＳ１)、その結果を誤り検出部３６にて誤り検出する(ステップＳ２)。ここで、誤りがなければ処理を終了する。一方、誤りが検出された場合は、繰り返し復号回数が所定の回数になるまで、本例においては、４回であるが、第１のデコーダと第２のデコーダで繰り返し復号を実施する。繰り返し回数が４回未満であれば、ステップＳ１０に進み、第２のデコーダで復号処理を実施する。そして、誤り検出部３６に誤り検出をする（ステップＳ１１）。上述と同様、ここで誤りが検出されなければ、処理を終了する。
【００４９】
一方、誤りが検出された場合は、再びステップＳ３に進む。ここで繰り返し回数が４回であったとする。この場合は、ステップＳ４に進み補正処理を実施する。先ず、入力データの最初のビット（ｉ＝０）について（ステップＳ４）、ＬＬＲ［ｉ］の絶対値が閾値ＬＬＲｔｈ以上か否かを判定する。ここでは、上述したように、閾値が絶対値で１００以上とする。ＬＬＲが閾値ＬＬＲｔｈ以上であれば、入力データｉｎｐｕｔ［ｉ］をＬＬＲ［ｉ］の硬判定方向に所定の値αを足す。すなわち、入力データが０．８であり、ＬＬＲの硬判定結果が０であれば、０．８＋α、ＬＬＲの硬判定結果が１であれば、０．８−α（α＞０）とする（ステップＳ４）。閾値より小さければ次の入力データについてチェックする。そして、１パケット分のデータＮのすべてについて、ＬＬＲの閾値判定が終了したら補正処理を終了する（ステップＳ７−９）。
【００５０】
具体的に説明する。図２（ｄ）において、データｄ７には符号が反転するほどの大きなノイズが重畳され受信されている。そのため、復号の結果ｄ５とｄ６の対数尤度比が誤った方向に傾き、復号データに誤りが発生している。一方、ｄ７は誤りが訂正され、送信データと同じ１という結果を得ている（図２（ｆ））。本例においては復号データ信頼度の絶対値が１００以上の入力データを修正するため、情報ビットのみでいえば、ここではｄ１、ｄ２、ｄ３、ｄ７、ｄ８の入力データが補正対象となる。ここでデータｄ１は復号データが１であるから、上述したように−０．１の補正を行う。したがって、−０．８０が−０．９０となる。また、データｄ３は復号データが０であるから、＋０．１の補正を行い、０．７３が０．８３になる。一方、データｄ７は復号データが１であるから０．３１が０．２１となる（図２（ｇ））。誤った復号データを得ているｄ５、ｄ６の入力データは補正されていないが、周りのデータが補正され送信時のデータに近づいたことで次の復号ではｄ５とｄ６の誤りが訂正されている（図２（ｈ）、（ｉ））。
【００５１】
図８は、本発明の実施の形態の効果を示す図であって、誤り訂正能力を示すグラフ図である。図８に示すように、本実施の形態にかかる復号方法を実施すると、誤り訂正能力が向上する。図８は、情報サイズ６５６ビット、Ｃｏｄｉｎｇ  Ｒａｔｅ１／３のターボ復号における訂正能力の向上効果を示す。一般的な復号回路の性能（従来例）に比して、本実施の形態にかかる復号回路の性能がよいことがわかる。
【００５２】
図９は、本発明の実施の形態の他の効果を示す図であって、誤り訂正までにかかる復号の繰り返し回数低減効果を示すグラフ図である。図９に示すように、訂正能力の向上により、繰り返し復号の回数が減少する。
【００５３】
本実施の形態においては、ＬＬＲが所定の閾値より高く信頼できるとみなせる入力データのみを補正対象として補正するため、間違った補正をする蓋然性が低い。本実施の形態における補正処理により誤り訂正能力が向上し、結果、繰り返し復号回数を減少して、処理の高速化を図ることができる。
【００５４】
図１０は、本発明の第２の実施の形態にかかる復号装置を示す図である。なお、図１に示す全体構成は第１の実施の形態と同様であり、また、図４に示す第１の実施の形態と同一構成要素には、同一の符号を付しその詳細な説明は省略する。
【００５５】
図１０に示すように、本実施の形態においては、補正器３９が入力データメモリ３１に対し、データを書き込戻す構成となっている。このため、第１の実施の形態において必要であったセレクタが不要である。また、補正器３９は、補正後のデータを入力データメモリに書き戻すため、補正器３９にて必要であったメモリが不要となり、回路規模を削減することができる。
【００５６】
次に、その他の実施の形態について説明する。復号データメモリ３４は、情報ビットのみならず、パリティビットのＬＬＲも演算し、保持するものとして説明したが、情報ビットのＬＬＲのみを保持するようにしてもよい。すなわち、入力データのうち、情報ビットのみを補正対象にすることも可能である。この場合、復号データメモリは、パリティビットのＬＬＲを保持する必要がなくなるので、メモリ容量を削減することができ、結果、回路規模を低減することができる。
【００５７】
さらに、パリティビットのＬＬＲを保存する代わりに、パリティビットの補正判定結果を保存するようにしてもよい。情報ビットのＬＬＲは次の復号の外部情報として用いるため必要であるが、パリティのＬＬＲは補正判定のみに用いるため不要である。このことにより、各ビットの情報はＬＬＲ（８ビット）を保存するのに比べると、ＬＬＲ閾値が１つの場合には、補正するかしないかを示す１ビットに抑えることができる。この場合、補正判定器３８が復号器３３からＬＬＲを受け取り、補正判定結果のみ復号データメモリ３４に書き込むか、または補正判定器３８自体が補正判定結果を保持するようにすればよい。
【００５８】
また、補正対象とするか否かの閾値は、予め定められた値とすることができるが、この閾値は、入力データの分布・平均振幅や、信頼度分布・平均振幅に基づき求めることも可能である。信頼度分布は復号を繰り返す度、変化するため、繰り返し回数に応じて閾値を別途定めてもよい。
【００５９】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【００６０】
上述の実施の形態においては、本発明をターボ復号に適用した例について説明したが、本発明は、各受信データのビット毎に軟出力、例えばＬＬＲ（対数尤度比）が得られるため、ソフトアウトプット（軟出力）が得られるビタビ復号等の畳み込み符号や、ＬＤＰＣ符号（low-density parity-check code：低密度パリティ検査符号）など軟出力が可能な復号全般に適用することができる。
【図面の簡単な説明】
【００６１】
【図１】本発明の第１の実施の形態にかかる情報処理システムを示す図である。
【図２】各ブロックが出力するデータを示す図である。
【図３】同じく、各ブロックが出力するデータを示す図である。
【図４】本発明の第１の実施の形態にかかる復号部（復号装置）を示すブロック図である。
【図５】補正器が実施する補正処理を説明する図である。
【図６】本発明の第１の実施の形態の変形例にかかる補正器が実施する補正処理を説明する図である。
【図７】本発明の第１の実施の形態にかかる補正方法を示すフローチャートである。
【図８】本発明の第１の実施の形態の効果を示す図であって、誤り訂正能力を示すグラフ図である。
【図９】本発明の第１の実施の形態の他の効果を示す図であって、繰り返し回数低減効果を示すグラフ図である。
【図１０】本発明の第２の実施の形態にかかる復号装置を示す図である。
【図１１】従来の参考例にかかる復号装置を示すブロック図である。
【図１２】従来の他の参考例にかかる復号装置を示すブロック図である。
【符号の説明】
【００６２】
１１  符号化部
１２  変調部
１３  変換部
１４、２４  アンテナ
２０  ユーザ端末
２１  変換部
２２  復調部
２３  復号部
３１  入力データメモリ
３２  セレクタ
３３  復号器
３４  復号データメモリ
３５  硬判定部
３６  検出部
３７  制御部
３８  補正判定器
３９  補正器
４１  データ処理部
【図１】
2010011119.tif 000003
【図２】
2010011119.tif 000004
【図３】
2010011119.tif 000005
【図４】
2010011119.tif 000006
【図５】
2010011119.tif 000007
【図６】
2010011119.tif 000008
【図７】
2010011119.tif 000009
【図８】
2010011119.tif 000010
【図９】
2010011119.tif 000011
【図１０】
2010011119.tif 000012
【図１１】
2010011119.tif 000013
【図１２】
2010011119.tif 000014