(57)【特許請求の範囲】
【請求項１】
入力信号を用いてpolar符号の硬判定復号を行うことにより第１復号結果を生成し、前記第１復号結果に対して第１誤り検出処理を行うことにより第１誤り検出結果を生成する硬判定復号部と、
前記入力信号に対してpolar符号の逐次復号を行うことにより、前記逐次復号における復号ごとに得られる第２復号結果を生成し、前記第２復号結果を用いて前記第１復号結果を更新して得られる結果に第２誤り検出処理を行うことにより第２誤り検出結果を生成する軟判定復号部と、
前記第１復号結果、または、前記第２復号結果を用いて前記第１復号結果を更新して得られる結果、を選択して最終復号結果として出力するデータ選択部と、
前記データ選択部が前記最終復号結果を出力すると、前記軟判定復号部を停止させる制御部と、
を備えることを特徴とする復号装置。
【請求項２】
前記データ選択部は、前記第１誤り検出結果が、誤りが無いことを示す結果である場合に、前記第１復号結果を選択して出力することを特徴とする請求項１に記載の復号装置。
【請求項３】
前記制御部は、前記第１誤り検出結果が誤りの有ることを示す結果である場合に、前記軟判定復号部を起動することを特徴とする請求項１または２に記載の復号装置。
【請求項４】
前記軟判定復号部は、前記逐次復号が符号長分行われる前に、前記第２誤り検出処理を実施し、
前記データ選択部は、前記第２誤り検出結果が、誤りが無いことを示す結果であるか否かを判断し、前記第２誤り検出結果が、誤りが無いことを示す結果である場合に、該第２誤り検出結果に対応する前記第２復号結果を用いて前記第１復号結果を更新して得られる結果を選択して前記最終復号結果として出力し、
前記制御部は、前記データ選択部が、前記第２復号結果を用いて前記第１復号結果を更新して得られる結果を前記最終復号結果として出力すると前記軟判定復号部を停止させることを特徴とする請求項１から３のいずれか１つに記載の復号装置。
【請求項５】
前記逐次復号における復号の回数が設定した回数となった場合に、前記軟判定復号部が前記第２誤り検出処理を実行することを特徴とする請求項４に記載の復号装置。
【請求項６】
前記逐次復号は、リスト型逐次除去復号であり、
前記軟判定復号部は、リストごとの前記第２復号結果を用いて第１復号結果を更新した結果および前記第２誤り検出結果を生成し、
前記データ選択部は、リストごとの前記第２復号結果を用いて第１復号結果を更新した結果のなかから、前記第２誤り検出結果に基づいて、１つの前記第２復号結果を用いて第１復号結果を更新した結果を選択して出力することを特徴とする請求項１から５のいずれか１つに記載の復号装置。
【請求項７】
前記軟判定復号部は、リストごとの前記第２復号結果のそれぞれに対応する尤もらしさを示す情報を生成し、
前記データ選択部は、前記第２誤り検出結果のうち誤りの無いことを示す結果が無い場合、リストごとの前記第２復号結果を用いて第１復号結果を更新した結果のなかから、前記尤もらしさを示す情報に基づいて１つの前記第２復号結果を用いて第１復号結果を更新した結果を選択して出力することを特徴とする請求項６に記載の復号装置。
【請求項８】
前記polar符号は、systematic  polar符号であり、
前記硬判定復号部は、前記入力信号に対してpolar符号の硬判定復号を行うことにより第３復号結果を生成し、前記第３復号結果の符号化において固定値が配置されたビット位置を前記固定値で置き換え、前記固定値で置き換えた復号結果に対してpolar符号の硬判定復号を行うことにより前記第１復号結果を生成し、
前記軟判定復号部は、前記第２復号結果を用いて前記第３復号結果の固定値を置き換えた復号結果を更新した結果に対してpolar符号の硬判定復号を行うことにより第４復号結果を生成し、前記第４復号結果に対して誤り検出処理を行うことにより前記第２誤り検出結果を生成することを特徴とする請求項１から７のいずれか１つに記載の復号装置。
【請求項９】
前記入力信号を硬判定して硬判定結果を生成し、前記硬判定結果に対して誤り検出処理を行うことにより第３誤り検出結果を生成する誤り検出部、
を備え、
前記制御部は、前記第３誤り検出結果に基づいて、前記硬判定復号部を起動させることを特徴とする請求項１から８のいずれか１つに記載の復号装置。
【請求項１０】
前記データ選択部は、前記第３誤り検出結果が、誤りが無いことを示す結果である場合に、前記硬判定結果を選択して出力することを特徴とする請求項９に記載の復号装置。
【請求項１１】
polar符号の復号を行う復号装置における復号方法であって、
入力信号を用いてpolar符号の硬判定復号を行うことにより第１復号結果を生成し、前記第１復号結果に対して誤り検出処理を行うことにより第１誤り検出結果を生成する第１処理を行う第１ステップと、
前記入力信号に対してpolar符号の逐次復号を行うことにより、前記逐次復号における復号ごとに得られる第２復号結果を生成し、前記第２復号結果を用いて前記第１復号結果を更新して得られる結果に誤り検出処理を行うことにより第２誤り検出結果を生成する第２処理を行う第２ステップと、
前記第１復号結果、または、前記第２復号結果で第１復号結果を更新した復号結果、を選択して最終復号結果として出力する第３ステップと、
前記第３ステップで最終復号結果が出力されると、前記第２処理を停止させる第４ステップと、
を含むことを特徴とする復号方法。
【請求項１２】
前記polar符号は、systematic  polar符号であり、
前記第１ステップでは、前記入力信号に対してpolar符号の硬判定復号を行うことにより第３復号結果を生成し、前記第３復号結果の符号化において固定値が配置されたビット位置を前記固定値で置き換え、前記固定値で置き換えた復号結果に対してpolar符号の硬判定復号を行うことにより前記第１復号結果を生成し、
前記第２ステップでは、前記第２復号結果を用いて前記第３復号結果の固定値を置き換えた復号結果を更新した結果に対してpolar符号の硬判定復号を行うことにより第４復号結果を生成し、前記第４復号結果に対して誤り検出処理を行うことにより前記第２誤り検出結果を生成することを特徴とする請求項１１に記載の復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、polar符号化された信号を復号する復号装置および復号方法に関する。
【背景技術】
【０００２】
通信を行う際には、通信経路で発生する雑音等で生じる誤りに対応すべく、誤り訂正技術を適用することが一般的になっている。誤り訂正符号の一方式であるpolar符号は、通信路分極という考え方に基づいて、シャノン限界に漸近する特性を実現することが可能である（下記非特許文献１参照）。また、polar符号は、符号化および復号の計算量を抑制することができる。polar符号は、ブロック符号であり、ブロック内のビットに対して排他的論理和演算および組み合わせ変更を繰り返すことで、このブロックがpolar符号化される。【０００３】
polar符号化された信号の復号には、一般には、逐次的にビットを判定していく逐次除去復号法が用いられる。逐次除去復号法では、符号長が長くなると、復号処理に時間を要することになる。特許文献１には、逐次復号を適用する範囲を複数に分割し、分割した塊に対して逐次復号を施すことにより複数の結果を得て、複数の結果に更に排他的論理和等を用いた事後処理を適用する技術が開示されている。特許文献１に記載の技術では、分割した塊を並列に逐次復号することができるので、復号処理に要する処理時間を抑制することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６０７５８１２号公報
【非特許文献】
【０００５】
【非特許文献１】E.  Arikan,  “Channel  Polarization:  A  Method  for  Constructing  Capacity-Achieving  Codes  for  Symmetric  Binary-Input  Memoryless  Channels,”  IEEE  Transactions  on  Information  Theory,  vol.  55,  no.  7,  pp.  3051-3073,  Jul.  2009.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の技術によれば、分割することにより復号処理に要する処理時間を抑制できるものの、根本的な復号方法は逐次的な復号となることから復号処理演算の総量は依然として多い。演算の総量が多いと常時処理を行うことになって消費電力が増加したり、処理能力の高い回路を使用することにより消費電力が増加したりする。【０００７】
本発明は、上記に鑑みてなされたものであって、復号処理演算の総量を抑制することができる復号装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明にかかる復号装置は、入力信号を用いてpolar符号の硬判定復号を行うことにより第１復号結果を生成し、第１復号結果に対して第１誤り検出処理を行うことにより第１誤り検出結果を生成する硬判定復号部を備える。また、復号装置は、入力信号に対してpolar符号の逐次復号を行うことにより、逐次復号における復号ごとに得られる第２復号結果を生成し、第２復号結果を用いて第１復号結果を更新して得られる結果に第２誤り検出処理を行うことにより第２誤り検出結果を生成する軟判定復号部、を備える。さらに、復号装置は、第１復号結果、または、第２復号結果を用いて第１復号結果を更新して得られる結果、を選択して最終復号結果として出力するデータ選択部と、データ選択部が最終復号結果を出力すると軟判定復号部を停止させる制御部と、を備える。
【発明の効果】
【０００９】
本発明にかかる復号装置は、復号処理演算の総量を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかる復号回路の構成例を示す図
【図２】実施の形態１の復号回路における処理手順の一例を示すフローチャート
【図３】実施の形態１の排他的論理和演算の概念を示す図
【図４】実施の形態１の専用のハードウェアである処理回路を示す図
【図５】実施の形態１の制御回路の一例を示す図
【図６】実施の形態２にかかる復号回路の構成例を示す図
【図７】実施の形態２の復号回路における処理手順の一例を示すフローチャート
【図８】実施の形態３にかかる復号回路の構成例を示す図
【図９】実施の形態３の復号回路における処理手順の一例を示すフローチャート
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態にかかる復号装置および復号方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、本発明の実施の形態１にかかる復号回路の構成例を示す図である。図１に示す復号回路１は、本発明にかかる復号装置の一例である。復号回路１は、入力される信号を復号し、復号により得られた結果を図示しない後段の回路へ出力する。なお、復号回路１は、後述するように逐次復号の過程で途中結果としての復号結果も算出する。途中結果としての復号結果、および後段の回路へ出力する復号結果は、いずれも復号結果であるが、以下では、後段の回路へ出力する復号結果を、最終復号結果と呼ぶ。後段の回路は、例えば、復号回路１が冗長ビットを付加して復号結果を出力する場合には冗長ビットを取り除く回路であり、polar符号と協調して誤り訂正を実施する連接符号が適用されている場合には外符号用の復号回路であり、外符号とpolar符号の間でインターリーブが行われる場合にはデインターリーブ回路である。また、後段の回路は、復号装置１が他の送受信装置からの信号を別のフレームに載せ替え、復号装置１を搭載した送受信装置が伝送するような場合にはデフレーマ回路などであってもよく、復号回路１が誤り訂正の復号までを想定した中継器であるならpolar符号化回路などであってもよい。また、復号回路１が受信信号の受信処理における最後の回路である場合には、後段の回路は、伝送された情報を使用して動作するようなアプリケーションを実行する回路などである。後段の回路は上述した例に限定さない。
【００１３】
復号回路１に入力される入力信号は、例えば、polar符号化された信号が通信路を介して受信された受信信号、対数尤度比（ＬＬＲ：Log  Likelihood  Ratio）などである。復号回路１は、例えば、受信装置に搭載される。この受信装置は、送信装置においてpolar符号化された信号を、送信装置から受信する。なお、復号回路１に入力される入力信号がＬＬＲである場合には、受信装置内の復号回路１の前段の回路がＬＬＲを求めて復号回路１に入力する。入力信号が受信信号である場合には、前段の回路はＡ／Ｄ（Analog  to  Digital）変換回路などである。
【００１４】
図１に示すように、復号回路１は、硬判定復号部１０、軟判定復号部１１、制御部１２およびデータ選択部１３を備える。硬判定復号部１０は、入力信号を用いてpolar符号の硬判定復号を行うことにより第１復号結果を生成し、第１復号結果に対して誤り検出処理を行うことにより第１誤り検出結果を生成する。硬判定復号部１０が実施する処理を第１処理とも呼ぶ。軟判定復号部１１は、入力信号に対してpolar符号の逐次復号を行うことにより、逐次復号における復号ごとに得られる第２復号結果を生成し、第１復号結果を、第２復号結果を用いて更新し、更新により得られる結果に誤り検出処理を行うことにより第２誤り検出結果を生成する。軟判定復号部１１が行う処理を第２処理とも呼ぶ。データ選択部１３は、第１復号結果、または、第２復号結果を用いて第１復号結果を更新して得られる結果、を選択して最終復号結果として出力する。制御部１２は、第１誤り検出結果に基づいて軟判定復号部１１を起動し、データ選択部１３が最終復号結果を出力すると軟判定復号部１１を停止させる。詳細には、データ選択部１３は、最終復号結果を出力すると、復号結果を決定したことを示す制御情報を制御部１２へ通知し、制御部１２は、この通知を受け取ると、軟判定復号部１１を停止させる。
【００１５】
硬判定復号部１０は、非逐次復号部１００および第１誤り検出部１０１を備える。また、軟判定復号部１１は、逐次復号部１１０、データ更新部１１１−１〜１１１−ｎ、第２誤り検出部１１２−１〜１１２−ｎを備える。ｎはデータ更新部および第２誤り検出部の個数を示す整数であり、後述するように、例えば、リスト型逐次除去復号におけるリストの数である。図１では、ｎが３以上であることを想定しているが、この例に限定されずｎは１以上であればよい。
【００１６】
ここで、polar符号について説明する。polar符号は、２００８年にArikanにより提案された誤り訂正符号方式である。非特許文献１に記載されているように、polar符号は、通信路分極という考え方に基づいて、シャノン限界に漸近する特性を実現する。polar符号の符号化は、ブロック内のビットに対して、排他的論理和で結合を繰り返すことにより行われる。また、polar符号を用いる場合は、一般に、符号化前にフローズンビット、凍結ビットなどと呼ばれる固定値であって送受信装置の間で既知となる固定値を、情報ビットに付加し、固定値が付加された情報ビットに対して、polar符号の符号化が行われる。このフローズンビット、凍結ビットなどと呼ばれる固定値を、以下、単に固定値とも呼ぶ。固定値は、符号化対象の情報ビットに対して挿入位置が決まっている。polar符号では、１ブロック内のビットは、通信路分極により通信路が分かれ、通信路によって通信路容量が異なる。特に制約を設けない限り、符号化前の通信路容量を計算した際に、通信路容量が小さい箇所から固定値を挿入するという方法が一般的である。この通信路容量の計算においては、排他的論理和で結合する２ビットの内の１ビットのビット値の確定した結果を用いて、通信路容量が計算されるビットがある。したがって、polar符号は、排他的論理和で結合する２ビットを逐次的に復号することを想定としている符号である。
【００１７】
このため、polar符号の復号方法としては、受信信号および復号途中で判定したビットを用いて、発生確率、尤度、ＬＬＲ等の軟判定情報を用いて、ビットを逐次的に確定していく方法が想定される。代表的な復号方法として、逐次除去復号法（ＳＣＤ：Successive  Cancellation  Decoding）、リスト型逐次除去復号法（ＳＣＬＤ：Successive  Cancellation  List  Decoding）、および巡回冗長検査（ＣＲＣ：Cyclic  Redundancy  Check）を復号結果の判定に使用するリスト型逐次除去復号法（ＣＲＣ  aided  ＳＣＬＤ）等がある。また、符号化前の通信路容量は、符号長が長いほど、通信路容量が良い位置と悪い位置とが明確に分かれるので、polar符号は符号長が長いほど有効に利用できる。しかしながら、polar符号の復号では、逐次的にビットを判定していく逐次復号をするため、符号長が長いと、復号処理における演算量が多くなる。本実施の形態では、以下に述べるように、逐次復号に硬判定の非逐次復号を併用することで、平均的に演算量を削減させる。
【００１８】
本実施の形態では、送信装置において、polar符号の符号化前にフローズンビットが付加されるとともに、誤り検出符号化処理により誤り検出用の冗長ビットが付加されているとする。誤り検出符号化処理の方式としてはどのようなものを用いてもよいが、前方誤り訂正（ＦＥＣ：Forward  Error  Correction)、垂直パリティチェック（ＶＲＣ：Vertical  Redundancy  Check）、水平パリティチェック（ＬＲＣ：Longitudinal  Redundancy  Check）をはじめとしたパリティ符号（パリティチェック）、チェックサム、巡回冗長検査などの方式が挙げられる。なお、誤り検出符号化処理の方式としては上述した例に限定されず、誤りを検出できる方式であればどのような方式であってもよい。
【００１９】
図１の説明に戻る。硬判定復号部１０の非逐次復号部１００は、受信信号から得られる軟判定値もしくはＬＬＲに基づいて硬判定値を生成し、硬判定値を用いてpolar符号の非逐次復号を行うことで硬判定復号を行い、復号結果を、第１誤り検出部１０１、データ選択部１３およびデータ更新部１１１−１〜１１１−ｎへ出力する。硬判定値の生成方法は、一般的な方法を用いることができ、どのような方法を用いてもよい。polar符号の非逐次復号をする回路は、polar符号の符号化を行うpolar符号化回路と共用の回路であってもよいし、polar符号の復号を行う専用の回路であってもよい。
【００２０】
第１誤り検出部１０１は、非逐次復号部１００から出力される復号結果を用いて、符号化前に付加された誤り検出用の冗長ビットを用いて誤り検出処理を行い、誤り検出処理の結果を制御部１２およびデータ選択部１３へ出力する。
【００２１】
軟判定復号部１１は、復号回路１へ入力される入力信号に対して逐次的なpolar復号を施す。軟判定復号部１１の逐次復号部１１０は、入力信号および逐次復号部１１０の復号過程で得られた復号結果を用いて、逐次的に復号していく復号部である。逐次復号部１１０における復号方法は、代表的な復号方法である、逐次除去復号法、リスト型逐次除去復号法などを用いることができる。ただし、逐次復号部１１０は、逐次除去復号法、またはリスト型逐次除去復号法の復号過程で逐次的に復号した結果である復号結果を、復号したタイミングで、データ更新部１１１−１〜１１１−ｎに出力する。また、逐次復号部１１０は、リスト型逐次除去復号法の復号において得られる、尤も確からしい候補を選択するための情報をデータ選択部１３へ出力する。尤も確からしい候補を示す情報は、候補すなわち復号結果ごとの尤もらしさを示す情報であり、パスメトリックなどがあげられる。
【００２２】
なお、逐次復号部１１０における復号方法は、逐次的に復号する方法であれば、逐次除去復号法、リスト型逐次除去復号法以外であってもよい。入力信号が、受信信号である場合には、逐次復号部１１０は、入力信号を用いてＬＬＲを生成し、ＬＬＲを用いた逐次復号を実施しても良いし、入力信号を用いて尤度または確率を用いた逐次復号を実施しても良い。入力信号がＬＬＲである場合には、逐次復号部１１０は、ＬＬＲを用いた逐次復号を実行することができる。
【００２３】
なお、図１は一例として、リスト型逐次除去復号法を適用した例を示している。このため、軟判定復号部１１は、逐次復号部１１０の後段のデータ更新部１１１−１〜１１１−ｎおよび第２誤り検出部１１２−１〜１１２−ｎを、最大リスト数の数だけ備えている。最大リスト数をＬとした場合、ｎ＝Ｌとなる。なお、最大リスト数を可変とすることを想定した並列数のデータ更新部１１１−１〜１１１−ｎおよび第２誤り検出部１１２−１〜１１２−ｎを具備することも可能である。この場合には、例えば、ｎ＞Ｌとしておき、最大リスト数Ｌが変更になったときにも対応できるようにしておく。
【００２４】
図１では、一例としてリスト型逐次除去復号法を適用しかつリスト数が３以上の例を図示しているが、リスト型逐次除去復号法を適用しリスト数が１である場合には、軟判定復号部１１は、データ更新部１１１−１および第２誤り検出部１１２−１を備えていればよい。逐次復号部１１０の復号方法として、逐次除去復号法を適用した際には、軟判定復号部１１は、リスト型逐次除去復号法を適用しリスト数が１である場合と同様に、データ更新部１１１−１および第２誤り検出部１１２−１を備えていればよい。このため、図１に示す構成は、リスト型逐次除去復号法を用いる場合と逐次除去復号法を用いる場合との両方に適用できる。すなわち、図１は、代表的な逐次復号方法を両方とも包含している図である。他の逐次復号方法を用いる場合には、軟判定復号部１１の構成を逐次復号方法に応じた構成とすればよい。
【００２５】
データ更新部１１１−１〜１１１−ｎは、硬判定復号部１０の非逐次復号部１００の復号結果を保持し、逐次復号部１１０から入力される復号結果すなわち逐次復号部１１０の逐次復号によって逐次生成される復号結果で、保持している復号結果を、上書きすることにより更新する。後述するように、逐次復号部１１０の逐次復号が符号長の全ビット分行われる前に、すなわち、逐次復号部１１０の逐次復号が符号長の全ビットのうちの一部のビットについて行われた段階でもデータ更新部１１１−１〜１１１−ｎによるデータの更新が行われる。このため、更新が行われた後に、データ更新部１１１−１〜１１１−ｎが保持する復号結果は、第１の復号結果である硬判定復号部１０の非逐次復号部１００の復号結果および第２の復号結果である逐次復号部１１０の復号結果に基づくものとなる。データ更新部１１１−１〜１１１−ｎは、更新した復号結果を対応する第２誤り検出部１１２−１〜１１２−ｎへそれぞれ出力する。また、データ更新部１１１−１〜１１１−ｎは、更新した復号結果をデータ選択部１３へ出力する。なお、データ更新部１１１−１〜１１１−ｎは、入力される信号が異なるものの、同じ動作をするものであり、同じ回路を用いることができる。データ更新部１１１−１〜１１１−ｎのそれぞれは、リスト型逐次除去復号法における各リストに対応しているため、逐次復号部１１０から入力される復号結果はそれぞれ異なるが、動作としては同様の動作を実行する。
【００２６】
第２誤り検出部１１２−１〜１１２−ｎは、データ更新部１１１−１〜１１１−ｎからそれぞれ更新された復号結果に対して、第１誤り検出部１０１と同様の誤り検出処理を実行し、誤り検出結果をデータ選択部１３へ出力する。第１誤り検出部１０１および第２誤り検出部１１２−１〜１１２−ｎとして、同じ回路を使用することができる。
【００２７】
以上の動作により、軟判定復号部１１からは、データ更新部１１１−１〜１１１−ｎによって更新されたリスト数分の復号結果、第２誤り検出部１１２−１〜１１２−ｎによる誤り検出結果、逐次復号部１１０から出力される尤も確からしい候補を選択するための情報が、データ選択部１３へ出力される。
【００２８】
制御部１２は、硬判定復号部１０の第１誤り検出部１０１から入力される誤り検出結果およびデータ選択部１３から入力される後述する制御情報に基づいて、軟判定復号部１１を制御する。具体的には、第１誤り検出部１０１から入力される誤り検出結果が、誤りが発生したことを示す結果である場合には、制御部１２は、軟判定復号部１１を起動させる。また、制御部１２は、データ選択部１３から、制御情報として復号結果を決定したことを示す情報が入力されると、軟判定復号部１１を停止させる。
【００２９】
データ選択部１３は、硬判定復号部１０から入力される各情報、および軟判定復号部１１から入力される各情報に基づいて制御情報を生成して制御部１２へ出力する。また、データ選択部１３は、硬判定復号部１０から入力される各情報、および軟判定復号部１１から入力される各情報に基づいて、最終復号結果とする復号結果を選択し、最終復号結果を復号回路１の後段の図示しない回路へ出力する。
【００３０】
詳細には、データ選択部１３は、第１誤り検出部１０１から入力される誤り検出結果が、誤りが無いことを示す結果である場合には、硬判定復号部１０の非逐次復号部１００から出力される復号結果を選択して最終復号結果として出力する。第１誤り検出部１０１から入力される誤り検出結果が、誤りが無いことを示す結果である場合には、軟判定復号部１１は動作せずに、最終復号結果が確定する。第１誤り検出部１０１から入力される誤り検出結果が、誤りが有ることを示す結果である場合には、軟判定復号部１１が動作する。データ選択部１３は、第１誤り検出部１０１から入力される誤り検出結果が、誤りが有ることを示す結果である場合には、軟判定復号部１１から入力された情報を用いて、最終復号結果とする復号結果を選択し、最終復号結果を出力する。このとき、データ選択部１３には、軟判定復号部１１からは逐次復号が全ビット終了するより前の段階でも情報が入力され、データ選択部１３は、誤りの無い復号結果が得られれば逐次復号が全ビット分終了していなくても最終復号結果として確定させる。具体的には、データ選択部１３は、データ更新部１１１−１〜１１１−ｎから入力される復号結果、のうち、第２誤り検出部１１２−１〜１１２−ｎから入力される誤り検出結果が誤りの無いことを示すものを選択する。データ更新部１１１−１〜１１１−ｎから入力される復号結果は、非逐次復号の復号結果を、リストの数分の、全ビット分が完了する前の逐次復号の復号結果で更新したもの、または全ビット分完了したときの逐次復号の復号結果で更新したものである。例えば、第２誤り検出部１１２−２から入力される復号結果が誤りの無いことを示している場合には、データ選択部１３は、データ更新部１１１−２から入力された復号結果を選択して最終復号結果として出力する。
【００３１】
一方、逐次復号が全ビット分終了しても、第２誤り検出部１１２−１〜１１２−ｎから入力される誤り検出結果の全てが、誤りがあることを示していた場合、データ選択部１３は、データ更新部１１１−１〜１１１−ｎから入力された復号結果のなかから、逐次復号部１１０から入力された尤も確からしい候補を選択するための情報を用いて尤も確からしい復号結果を選択して最終復号結果として出力する。例えば、尤も確からしい候補を選択するための情報がパスメトリックである場合には、データ選択部１３は、パスメトリックがもっとも小さい復号結果を選択する。第２誤り検出部１１２−１〜１１２−ｎから入力される誤り検出結果のうち誤りの無いことを示す結果が複数存在した場合にも、データ選択部１３は、逐次復号部１１０から入力された尤も確からしい候補を選択するための情報を用いて尤も確からしい復号結果を選択してもよい。
【００３２】
次に、本実施の形態の復号回路１の動作を、フローチャートを用いて説明する。図２は、本実施の形態の復号回路１における処理手順の一例を示すフローチャートである。ここでは、逐次復号方法としてリスト型逐次除去復号法を用いる場合を例に挙げて説明する。なお、以下では、図１に示す構成の復号回路１が図２に示す処理を行うとして説明するが、図２に示した処理を実施できれば図１に示した構成以外の構成の復号回路により、処理が実現されてもよい。また、図２に示した処理手順は復号回路１における処理手順の一例であり、同等の結果を得られる処理手順であれば、復号回路１における処理手順は図２に示した例に限定されない。
【００３３】
まず、復号回路１に入力信号が入力されると、硬判定復号部１０の非逐次復号部１００が非逐次復号を実施する（ステップＳ１０１）。上述したように、非逐次復号部１００は、復号結果を第１誤り検出部１０１へ出力し、第１誤り検出部１０１が誤り検出処理を実施し、誤り検出結果をデータ選択部１３および制御部１２へ出力する。データ選択部１３は、誤り検出結果に基づいて、誤りが検出されたか否かを判断する（ステップＳ１０２）。誤りが検出されなかった場合（ステップＳ１０２  Ｎｏ）、データ選択部１３は、非逐次復号部１００から入力された復号結果である非逐次復号の復号結果を最終復号結果として選択する（ステップＳ１１３）。そして、データ選択部１３は、最終復号結果を出力する。データ選択部１３は、復号結果を決定したすなわち最終復号結果を出力した場合には、復号結果を決定したことを示す情報を制御情報として制御部１２へ通知する。制御部１２は、この通知を受けると軟判定復号部１１を停止させる。
【００３４】
第１誤り検出部１０１から入力された誤り検出結果が、誤りが検出されたことを示す場合（ステップＳ１０２  Ｙｅｓ）、逐次復号部１１０によって逐次復号が行われる（ステップＳ１０３）。具体的には、データ選択部１３が、誤りが検出されたことを制御部１２へ制御情報として通知し、制御部１２が通知を受けて軟判定復号部１１の逐次復号部１１０へ処理の開始を指示してもよいし、制御部１２が第１誤り検出部１０１から入力された誤り検出結果に基づいて判断して逐次復号部１１０へ処理の開始を指示してもよい。なお、ここでは、第１誤り検出部１０１による誤り検出結果が誤りを検出したことを示す場合に軟判定復号部１１を動作させる例を説明するが、硬判定復号部１０と軟判定復号部１１を同時に動作させて並列に処理を行ってもよい。この場合、硬判定復号部１０の処理は軟判定復号部１１の処理より早く終了するため、第１誤り検出部１０１による誤り検出で誤りが検出されなかった場合には、軟判定復号部１１を停止させればよい。
【００３５】
逐次復号部１１０は、逐次復号によりリストの数分の復号結果を生成するとともに、リストの数分の尤も確からしい候補を選択するための情報を生成する。逐次復号部１１０は、リストの数分の復号結果を対応するデータ更新部１１１−１〜１１１−ｎに出力し、リストの数分の尤も確からしい候補を選択するための情報をデータ選択部１３へ出力する。
【００３６】
逐次復号部１１０は、復号が完了したか、すなわち符号長分の復号を実行したか否かを判断する（ステップＳ１０４）。復号が完了した場合（ステップＳ１０４  Ｙｅｓ）、逐次復号部１１０は、データ更新部１１１−１〜１１１−ｎへ復号結果の更新を指示し、データ更新部１１１−１〜１１１−ｎにより復号結果の更新が行われる（ステップＳ１０５）。具体的には、データ更新部１１１−１〜１１１−ｎは、保持している復号結果を、逐次復号部１１０から入力された復号結果で上書きすることにより、復号結果を更新する。データ更新部１１１−１〜１１１−ｎは、更新した復号結果を対応する第２誤り検出部１１２−１〜１１２−ｎへそれぞれ出力する。第２誤り検出部１１２−１〜１１２−ｎは、入力された復号結果に対して誤り検出処理を実施し、誤り検出結果をデータ選択部１３へ出力する。
【００３７】
データ選択部１３は、第２誤り検出部１１２−１〜１１２−ｎから入力された誤り検出結果に基づいて、逐次復号部１１０の復号結果で非逐次復号部１００の復号結果を更新したもののうち誤りの無い復号結果が有るか否かを判断する（ステップＳ１０６）。誤りの無い復号結果が有る場合（ステップＳ１０６  Ｙｅｓ）、データ選択部１３は、誤りの無い候補、すなわちデータ更新部１１１−１〜１１１−ｎから入力された復号結果のうち誤り検出結果で誤りの無いと判定された復号結果を最終復号結果として選択し（ステップＳ１０７）、最終復号結果を出力する。すなわち、軟判定復号部１１が行う逐次復号がリスト型逐次除去復号である場合、軟判定復号部１１は、リストごとの第２復号結果で第１復号結果を更新した復号結果および第２誤り検出結果を生成し、データ選択部１３は、リストごとの第２復号結果で第１復号結果を更新した復号結果のなかから、第２誤り検出結果に基づいて、１つの第２復号結果で第１復号結果を更新した復号結果を選択して出力する。
【００３８】
誤りの無い復号結果が無い場合（ステップＳ１０６  Ｎｏ）、データ選択部１３は、逐次復号部１１０から入力される尤も確からしい候補を選択するための情報に基づいて、尤もらしい候補を最終復号結果として選択し（ステップＳ１０８）、最終復号結果として出力する。尤もらしい候補は、上述したとおり、例えば尤も確からしい候補を選択するための情報がパスメトリックである場合には、パスメトリックが最も小さい復号結果である。すなわち、データ選択部１３は、第２誤り検出結果のうち誤りの無いことを示す結果が無い場合、リストごとの第２復号結果で第１復号結果を更新した復号結果のなかから、尤もらしさを示す情報に基づいて１つの第２復号結果で第１復号結果を更新した復号結果を選択して出力する。
【００３９】
ステップＳ１０４で復号が完了していない場合（ステップＳ１０４  Ｎｏ）、逐次復号部１１０は、ｘ回復号を実行したか否かを判断する（ステップＳ１０９）。このｘ回復号を実行したか否かの判断以降の処理が本実施の形態の特徴のうちの１つである。ｘは予め設定された自然数であり、符号長未満の任意の値である。また、逐次復号部１１０の逐次復号において、ビット単位の逐次復号処理ではなく、シンボル単位の逐次復号、またはnonbinary  polar復号などのように複数ビットを一括でpolar復号する復号処理を行う場合、符号長をＮとし、一括で処理するビット数をｓとするとき、ｘはＮ／ｓ未満の任意の値とすることができる。逐次復号部１１０は、１つの符号語すなわち１つの入力信号ごとに、逐次復号部１１０における復号の実行の回数を計数している。そして、逐次復号部１１０における復号の回数がｘ回未満の場合、つまりｘ回復号を実行していない場合（ステップＳ１０９  Ｎｏ）は、逐次復号部１１０は、ステップＳ１０３からの処理を再度実施する。
【００４０】
一方、ｘ回復号を実行した場合（ステップＳ１０９  Ｙｅｓ）、逐次復号部１１０は、データ更新部１１１−１〜１１１−ｎへ復号結果の更新を指示し、データ更新部１１１−１〜１１１−ｎにより非逐次復号結果の更新が行われる（ステップＳ１１０）。データ更新部１１１−１〜１１１−ｎは、更新した復号結果を対応する第２誤り検出部１１２−１〜１１２−ｎへそれぞれ出力する。第２誤り検出部１１２−１〜１１２−ｎは、入力された復号結果に対して誤り検出処理を実施し、誤り検出結果をデータ選択部１３へ出力する。
【００４１】
データ選択部１３は、第２誤り検出部１１２−１〜１１２−ｎから入力された誤り検出結果に基づいて、逐次復号部１１０の復号結果のうち誤りの無い復号結果が有るか否かを判断する（ステップＳ１１１）。誤りの無い復号結果が有る場合（ステップＳ１１１  Ｙｅｓ）、データ選択部１３は、誤りの無い候補、すなわちデータ更新部１１１−１〜１１１−ｎから入力された復号結果のうち誤り検出結果で誤りの無いと判定された復号結果を最終復号結果として選択し（ステップＳ１１２）、最終復号結果を出力する。
【００４２】
誤りの無い復号結果が無い場合（ステップＳ１１１  Ｎｏ）、逐次復号部１１０は、逐次復号回数を示すカウンタをリセットし、ステップＳ１０３からの処理を再度実施する。
【００４３】
このように、本実施の形態では、符号長分の逐次復号が終了する前に、逐次復号のｘ回区切りで、復号結果の更新（Ｓ１１０）および誤りの無い復号結果の有無の判定（Ｓ１１１）を行い、誤りの無い復号結果が得られた場合には、復号処理を終了するようにした。これにより、復号処理の演算量を抑制することができ、復号回路１の動作率を低下させることができる。復号回路１の動作率を低下させることにより消費電力を抑制することができる。
【００４４】
なお、本実施の形態では、軟判定復号部１１が、逐次復号における復号の回数を計数し、計数した回数がｘ区切りで、軟判定復号部１１が第２誤り検出部１１２−１〜１１２−ｎによる第２誤り検出処理を実行するようにした。しかしながら、ｘ回復号を実行したことは判断基準の一例であり、符号長分の逐次復号が終了するより前の途中の段階であれば、第２誤り検出処理はどのようなタイミングで行ってもよい。つまり、軟判定復号部１１は、逐次復号が符号長分行われる前に、第２誤り検出処理を実施し、データ選択部１３が、第２誤り検出結果が、誤りが無いことを示す結果であるか否かを判断し、第２誤り検出結果が、誤りが無いことを示す結果である場合に、該第２誤り検出結果に対応する第２復号結果で第１復号結果を更新した復号結果を選択して出力すればよい。そして、制御部１２は、データ選択部１３が第２復号結果で第１復号結果を更新した復号結果を選択して出力すると、データ選択部１３から復号結果を決定したことを示す制御情報を受け取ることにより、軟判定復号部１１を停止させる。このように、逐次復号の途中で、第２誤り検出結果に基づいて、軟判定復号部１１を停止させることができればよい。例えば、上述したとおり、polar符号の符号化前の情報にはフローズンビット、凍結ビットなどと呼ばれる固定値が付加されている。polar符号の符号化前の誤り検出符号化処理において、情報ビットに対して冗長ビットが付加されている場合には、固定値を復号したとしても、誤り検出による検出結果が変わることがない。したがって、この場合には、ｘ回のカウントを、固定値に対応する分の復号回数を省いてカウントしてもよい。また、伝送状態に応じて、ｘを固定値ではなく、可変の値に変更できるようにしてもよい。この例に限定されず、符号長分の逐次復号が終了するより前の途中の段階として、回路の構成に合わせて、任意の基準を設けることができる。なお、情報ビットと固定値を合わせたものに誤り検出の冗長ビットが付加されている場合や、固定値に対して誤り検出のための冗長ビットが付加されている場合においても、図２に示した処理手順を適用可能である。
【００４５】
なお、ステップＳ１０１の非逐次復号では、硬判定値を用いた復号を行うため、軟判定の逐次復号に比べ低訂正性能ではあるが、硬判定値に応じた１対１の演算で実現できるため、逐次復号より簡易的な処理で実現できる。例えば、逐次的に復号する必要ない程度の良好な通信状態の場合には、復号回路１は、ステップＳ１０１、ステップＳ１０２およびステップＳ１１３の処理で最終復号結果を出力することができるため、復号回路１の動作率を抑制することができる。また、ステップＳ１０２の判定で、誤りが有る場合には、硬判定の復号処理に比べ、訂正性能の高い軟判定の逐次復号を適用することで、通信状態の良好でない環境にも対応できる。
【００４６】
一般的なpolar符号の復号方法では、符号長分の逐次復号を完了させるまで処理を継続する必要があり、復号回路の動作率を低下させることができなかった。本実施の形態では、低訂正性能ではあるものの処理負荷の低い非逐次復号をまず実施することで、逐次復号の必要のない場合には、簡易的な処理で復号を終了させることができる。また、データ更新部１１１−１〜１１１−ｎが、逐次復号の途中結果も含む復号結果を保持している復号結果に上書きして第２誤り検出部１１２−１〜１１２−ｎへ出力することで、逐次復号の途中でも誤り検出処理を実行することができる。また、上述したように、ステップＳ１１１で誤りが無いと判断した場合には逐次復号を打ち切ることで、復号回路１の動作率を低下させることができる。
【００４７】
なお、本実施の形態は、polar符号の特徴を利用することで、効果的に演算量を抑制する。ここで、polar符号の符号化および復号の一部で用いられる２ビットの排他的論理和（ＸＯＲ：eXclusive  OR）について説明する。図３は、本実施の形態の排他的論理和演算の概念を示す図である。polar符号の符号化において符号化される前のビットである符号化前ビット４１，４４が排他的論理和演算回路４２の入力となり、符号化後ビット４３，４５が排他的論理和演算の出力である。ここで、符号化前ビット４１は符号化後ビット４３および符号化後ビット４５の位置に対応するＬＬＲ、尤度、確率などを用いて、符号化前ビット４１を復号することになる。その後、符号化前ビット４１の復号結果と、符号化後ビット４３および符号化後ビット４５の位置に対応するＬＬＲ、尤度、確率などを用いて、符号化前ビット４４を復号する。このため、逐次的に復号する順番の遅い方が、この例においては符号化前ビット４４の方が、ＬＬＲ、尤度、確率などが高くなる傾向がある。
【００４８】
また、フローズンビット、凍結ビットなどと呼ばれる固定値は、上述した通り、一般に、符号化前の通信路容量の小さい位置から順に配置される。この固定値は、順不同ではあるが、復号過程の早い順番に固まる傾向にある。これらは、誤りがランダムに発生する他の誤り訂正技術とは異なり、polar符号は、復号順が早い方が誤りやすい性質があることを示している。本性質は、上述した逐次復号の復号途中において、誤り訂正が完了しきる傾向があることを示す原理的な裏付けとなる。本実施の形態はこのようなpolar符号の性質を利用して、演算量の抑制を図っている。
【００４９】
なお、ステップＳ１０４でＹｅｓと判定された場合のステップＳ１０５〜Ｓ１０８の処理は一般的なリスト型逐次除去復号法と同様である。したがって、本質的には、本実施の形態は、一般的なリスト型逐次除去復号法に対して復号性能に関する劣化はない。また、リスト型逐次除去復号法のリストの数を１と設定した場合には、逐次除去復号法と等価となるので、図２の処理手順は逐次除去復号法を用いる場合にも適用できる。また、リスト数を１とする場合には、図２のステップＳ１０５〜Ｓ１０８，Ｓ１１２の処理を省略してもよい。
【００５０】
次に、本実施の形態の復号回路１を実現するためのハードウェアについて説明する。復号回路１の硬判定復号部１０および軟判定復号部１１の各々を構成する各部、制御部１２およびデータ選択部１３は、専用のハードウェアである処理回路で実現することが可能である。図４は、本実施の形態の専用のハードウェアである処理回路を示す図である。復号回路１の硬判定復号部１０および軟判定復号部１１の各々を構成する各部、制御部１２およびデータ選択部１３は、例えば、図４に示す処理回路５により実現される。
【００５１】
処理回路５は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）またはこれらを組み合わせたものが該当する。復号回路１の硬判定復号部１０および軟判定復号部１１の各々を構成する各部、制御部１２およびデータ選択部１３の各部の機能は、それぞれ異なる処理回路で実現されても良いし、これらの各部の機能の全てまたは一部がまとめて１つまたは複数の処理回路で実現されてもよい。
【００５２】
復号回路１の硬判定復号部１０および軟判定復号部１１の各々を構成する各部、制御部１２およびデータ選択部１３を実現する処理回路はプロセッサを備える制御回路であってもよい。図５は、本実施の形態の制御回路の一例を示す図である。図５に示すように、制御回路はプロセッサ６１およびメモリ６２を備える。復号回路１の硬判定復号部１０および軟判定復号部１１の各々を構成する各部、制御部１２およびデータ選択部１３の各部の機能が図５に示した制御回路で実現される場合、これらの機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせにより実現できる。ソフトウェアおよびファームウェアはプログラムとして記述され、メモリ６２に記憶される。プロセッサ６１がメモリ６２からプログラムを読み出して実行することにより、復号回路１の硬判定復号部１０および軟判定復号部１１の各々を構成する各部、制御部１２およびデータ選択部１３の各部の機能が実現される。これらのプログラムは、復号回路１の硬判定復号部１０および軟判定復号部１１の各々を構成する各部、制御部１２およびデータ選択部１３が実行する手順および方法をコンピュータに実行させるものであるともいえる。このプログラムは、記録媒体または通信媒体により提供されてもよい。
【００５３】
ここで、メモリ６２とは、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、ＥＥＰＲＯＭ（登録商標）（Electrically  Erasable  Programmable  Read  Only  Memory）といった不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Digital  Versatile  Disk）等が該当する。
【００５４】
復号回路１の硬判定復号部１０および軟判定復号部１１の各々を構成する各部、制御部１２およびデータ選択部１３の各部の機能が制御回路により実現される場合、メモリ６２に格納されるプログラムは、以下の第１〜第４ステップを含む復号方法が結果的に実行されることになるプログラムである。第１ステップは、入力信号を用いてpolar符号の硬判定復号を行うことにより第１復号結果を生成し、前記第１復号結果に対して誤り検出処理を行うことにより第１誤り検出結果を生成する第１処理を行うステップである。第２ステップは、入力信号に対してpolar符号の逐次復号を行うことにより、逐次復号における復号ごとに得られる第２復号結果を生成し、第２復号結果で第１復号結果を更新した復号結果を用いて誤り検出処理を行うことにより第２誤り検出結果を生成する第２処理を行うステップである。第３ステップは、第１復号結果、または、第２復号結果で第１復号結果を更新した復号結果、を選択して最終復号結果として出力するステップである。第４ステップは、第３ステップで最終復号結果が出力されると、第２処理を停止させるステップである。
【００５５】
なお、復号回路１の硬判定復号部１０および軟判定復号部１１の各々を構成する各部、制御部１２およびデータ選択部１３の各機能を、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしても良い。例えば、硬判定復号部１０、逐次復号部１１０、第２誤り検出部１１２−１〜１１２−ｎおよび制御部１２については図４に示した専用のハードウェアである処理回路５でその機能を実現し、データ更新部１１１−１〜１１１−ｎおよびデータ選択部１３については、図５に示した制御回路で実現するといったことも可能である。このように復号回路１は専用のハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって実現することができる。
【００５６】
実施の形態２．
図６は、本発明の実施の形態２にかかる復号回路の構成例を示す図である。図６に示すように復号回路２は、本発明にかかる復号装置の一例である。復号回路２は、実施の形態１の復号回路１と同様に、入力される信号を復号し、復号により得られた結果を図示しない後段の回路へ出力する。なお、本実施の形態においても、後段の回路へ出力する復号結果を、最終復号結果と呼ぶ。以下、実施の形態１と同一の部分は重複する説明を省略し、実施の形態１と異なる部分を主に説明する。
【００５７】
本実施の形態では、送信装置において誤り検出を実行する冗長ビットを付加されたsystematic  polar符号の符号化が施されている。systematic  polar符号は、情報ビットとpolar符号化による冗長ビットとが分離できるpolar符号である。実施の形態１と同様に、systematic  polar符号の符号化の前に、送信装置は、フローズンビット、凍結ビットなどと呼ばれる固定値であって送受信装置の間で既知となる固定値を、情報ビットに付加する。復号回路２に入力される入力信号は、送信装置から送信されて受信装置が受信した受信信号の軟判定値であってもよいし、受信信号から生成したＬＬＲであってもよい。
【００５８】
図６に示すように、復号回路２は、硬判定復号部２０、軟判定復号部２１、制御部２２およびデータ選択部２３を備える。硬判定復号部２０は、第１非逐次復号部２００、置換部２０１、第２非逐次復号部２０２および第１誤り検出部２０３を備える。また、軟判定復号部２１は、逐次復号部２１０、データ更新部２１１−１〜２１１−ｎ、第３非逐次復号部２１２−１〜２１２−ｎおよび第２誤り検出部２１３−１〜２１３−ｎを備える。ｎはデータ更新部、第３非逐次復号部および第２誤り検出部の個数を示す整数であり、後述するように、例えば、リスト型逐次除去復号法におけるリストの数である。図６では、ｎが３以上であることを想定しているが、この例に限定されずｎは１以上であればよい。
【００５９】
ここで、硬判定復号部２０の第１非逐次復号部２００は、入力信号に対応する方法で硬判定値を生成した後に、硬判定値に対して実施の形態１のようなpolar符号の非逐次復号を実施し、復号結果を置換部２０１へ出力する。置換部２０１は、第１非逐次復号部２００から出力された復号結果のうち、固定値に該当するビット位置を、固定値に置換し、置換した後の復号結果を第２非逐次復号部２０２へ出力する。第２非逐次復号部２０２は、置換部２０１から出力された復号結果に対してpolar符号の非逐次復号を実施し、復号結果をデータ選択部２３および第１誤り検出部２０３へ出力する。
【００６０】
つまり、本実施の形態では、硬判定復号部２０は、入力信号に対してpolar符号の硬判定復号を行うことにより第３復号結果を生成し、第３復号結果の固定値に対応するビット位置を固定値で置き換え、固定値で置き換えた復号結果に対してpolar符号の硬判定復号を行うことにより第１復号結果を生成する。第１の復号結果は実施の形態１と同様にデータ選択部２３へ入力される。
【００６１】
第１誤り検出部２０３は、第２非逐次復号部２０２から出力された復号結果に対して、誤り検出処理を実施し、誤り検出結果を制御部２２およびデータ選択部２３へ出力する。第１誤り検出部２０３の処理は実施の形態１の第１誤り検出部１０１と同様である。
【００６２】
軟判定復号部２１は、復号回路２に入力される入力信号に対して、逐次的にsystematic  polar符号の復号をする。軟判定復号部２１の逐次復号部２１０は、入力信号および逐次復号部２１０の復号過程で得られた復号結果を用いて、逐次的に復号を行う。逐次復号部２１０における復号方法は、実施の形態１と同様であり、逐次除去復号法、リスト型逐次除去復号法などを用いることができるがこれらに限定されない。逐次復号部２１０は、復号過程で逐次的に復号した結果を、復号したタイミングで、データ更新部２１１−１〜２１１−ｎに出力する。また、逐次復号部２１０は、実施の形態１の逐次復号部１１０と同様に、尤も確からしい候補を示す情報をデータ選択部２３へ出力する。なお、図６は一例として、リスト型逐次除去復号法を用いる例を示しているが、実施の形態１で述べたとおり、リスト数を１とした場合の構成は逐次除去復号法を用いる例と同様となり、図６に示した構成は逐次除去復号法を用いる場合にも適用できる。
【００６３】
データ更新部２１１−１〜２１１−ｎは、硬判定復号部２０の置換部２０１から入力される復号結果を保持し、逐次復号部２１０から入力される復号の途中で結果である復号結果で、保持している復号結果を上書きすることにより復号結果を更新する。データ更新部２１１−１〜２１１−ｎは、更新した復号結果をそれぞれ対応する第３非逐次復号部２１２−１〜２１２−ｎへ出力する。
【００６４】
第３非逐次復号部２１２−１〜２１２−ｎは、データ更新部２１１−１〜２１１−ｎから入力された復号結果に対して、非逐次復号を実施し、復号結果を対応する第２誤り検出部２１３−１〜２１３−ｎへそれぞれ出力する。また、第３非逐次復号部２１２−１〜２１２−ｎは、復号結果をデータ選択部２３へ出力する。第２誤り検出部２１３−１〜２１３−ｎは、第３非逐次復号部２１２−１〜２１２−ｎから入力される復号結果に対して、第１誤り検出部２０３と同様に誤り検出処理を実施し、誤り検出結果をデータ選択部２３へ出力する。
【００６５】
つまり、本実施の形態では、軟判定復号部２１は、第２復号結果で置換部２０１の復号結果を更新した復号結果に対して、polar符号の硬判定復号を行うことにより第４復号結果を生成し、第４復号結果に対して第２誤り検出部２１３−１〜２１３−ｎによって誤り検出処理を行うことにより第２誤り検出結果を生成する。
【００６６】
制御部２２は、硬判定復号部２０の第１誤り検出部２０３から入力される誤り検出結果およびデータ選択部２３から入力される制御情報に基づいて、軟判定復号部２１を制御する。具体的には、第１誤り検出部２０３から入力される誤り検出結果が、誤りが発生したことを示す結果である場合には、制御部２２は、軟判定復号部２１を起動させる。また、データ選択部２３から、制御情報として復号結果を決定したことを示す情報が入力されると、軟判定復号部２１を停止させる。なお、実施の形態１でも述べたように、硬判定復号部２０と軟判定復号部２１を同時に動作させて並列に処理を行ってもよい。この場合、硬判定復号部２０の処理は軟判定復号部２１の処理より早く終了するため、第１誤り検出部２０３による誤り検出で誤りが検出されなかった場合には、軟判定復号部２１を停止させればよい。
【００６７】
データ選択部２３は、硬判定復号部２０から入力される各情報、および軟判定復号部２１から入力される各情報に基づいて制御情報を生成して制御部２２へ出力する。また、データ選択部２３は、硬判定復号部２０から入力される各情報、および軟判定復号部２１から入力される各情報に基づいて、最終復号結果とする復号結果を選択し、最終復号結果を復号回路２の後段の図示しない回路へ出力する。
【００６８】
詳細には、データ選択部２３は、第１誤り検出部２０３から入力される誤り検出結果が、誤りが無いことを示す結果である場合には、硬判定復号部２０の第２非逐次復号部２０２から出力される復号結果を選択して最終復号結果として出力する。データ選択部２３は、第１誤り検出部２０３から入力される誤り検出結果が、誤りが発生したことを示す結果である場合には、軟判定復号部２１から入力された情報を用いて、最終復号結果とする復号結果を選択し、最終復号結果を出力する。具体的には、データ選択部２３は、第３非逐次復号部２１２−１〜２１２−ｎから入力される復号結果のうち、第２誤り検出部２１３−１〜２１３−ｎから入力される誤り検出結果が誤りの無いことを示すものを選択する。
【００６９】
一方、第２誤り検出部２１３−１〜２１３−ｎから入力される誤り検出結果の全てが、誤りがあることを示していた場合、データ選択部２３は、第３非逐次復号部２１２−１〜２１２−ｎから入力された復号結果のなかから、逐次復号部２１０から入力された尤も確からしい候補を選択するための情報を用いて尤も確からしい復号結果を選択して最終復号結果として出力する。
【００７０】
次に、本実施の形態の復号回路２の動作を、フローチャートを用いて説明する。図７は、本実施の形態の復号回路２における処理手順の一例を示すフローチャートである。実施の形態１と重複する部分の説明は省略する。ここでは、逐次復号方法としてリスト型逐次除去復号法を用いる場合を例に挙げて説明する。
【００７１】
まず、復号回路２に入力信号が入力されると、硬判定復号部２０の第１非逐次復号部２００が非逐次復号を実施する（ステップＳ２０１）。上述したように、第１非逐次復号部２００は、復号結果を置換部２０１へ出力する。置換部２０１は、第１非逐次復号部２００から入力された復号結果のうち固定値に対応するビット位置を固定値で置換する（ステップＳ２０２）。置換部２０１は、固定値で置換した後の復号結果を第２非逐次復号部２０２へ出力する。第２非逐次復号部２０２は、置換部２０１から入力された復号結果に対して非逐次復号を実施する（ステップＳ２０３）。第２非逐次復号部２０２は、復号結果をデータ選択部２３および第１誤り検出部２０３へ出力する。第１誤り検出部２０３は、誤り検出処理を実施し、誤り検出結果をデータ選択部２３および制御部２２へ出力する。
【００７２】
データ選択部２３は、誤り検出結果に基づいて、誤りが検出されたか否かを判断する（ステップＳ２０４）。誤りが検出されなかった場合（ステップＳ２０４  Ｎｏ）、データ選択部２３は、第２非逐次復号部２０２から入力された復号結果を最終復号結果として選択する（ステップＳ２１７）。そして、データ選択部２３は、最終復号結果を出力する。データ選択部２３は、復号結果を決定したすなわち最終復号結果を出力した場合には、復号結果を決定したことを示す情報を制御情報として制御部２２へ通知する。制御部２２は、この通知を受けると軟判定復号部２１を停止させる。
【００７３】
第１誤り検出部２０３から入力された誤り検出結果が、誤りが検出されたことを示す場合（ステップＳ２０４  Ｙｅｓ）、逐次復号部２１０によって逐次復号が行われる（ステップＳ２０５）。逐次復号部２１０は、逐次復号によりリストの数分の復号結果を生成するとともに、リストの数分の尤も確からしい候補を選択するための情報を生成する。逐次復号部２１０は、リストの数分の復号結果を対応するデータ更新部２１１−１〜２１１−ｎに出力し、リストの数分の尤も確からしい候補を選択するための情報をデータ選択部２３へ出力する。
【００７４】
逐次復号部２１０は、復号が完了したか、すなわち符号長分の復号を実行したか否かを判断する（ステップＳ２０６）。復号が完了した場合（ステップＳ２０６  Ｙｅｓ）、逐次復号部２１０は、データ更新部２１１−１〜２１１−ｎへ復号結果の更新を指示し、データ更新部２１１−１〜２１１−ｎは、復号結果を更新する（ステップＳ２０７）。具体的には、データ更新部２１１−１〜２１１−ｎは、保持している復号結果を、逐次復号部２１０から入力された復号結果で上書きすることにより、復号結果を更新する。データ更新部２１１−１〜２１１−ｎは、更新した復号結果を第３非逐次復号部２１２−１〜２１２−ｎへ出力する。
【００７５】
第３非逐次復号部２１２−１〜２１２−ｎは、データ更新部２１１−１〜２１１−ｎから入力された復号結果に対して非逐次復号を行う（ステップＳ２０８）。第３非逐次復号部２１２−１〜２１２−ｎは、非逐次復号の復号結果を、対応する第２誤り検出部２１３−１〜２１３−ｎと、データ選択部２３とに出力する。
【００７６】
データ選択部２３は、第２誤り検出部２１３−１〜２１３−ｎから入力された誤り検出結果に基づいて、第３非逐次復号部２１２−１〜２１２−ｎから入力された復号結果のうち誤りの無い復号結果が有るか否かを判断する（ステップＳ２０９）。誤りの無い復号結果が有る場合（ステップＳ２０９  Ｙｅｓ）、データ選択部２３は、誤りの無い候補、すなわち第３非逐次復号部２１２−１〜２１２−ｎから入力された復号結果のうち誤り検出結果で誤りの無いと判定された復号結果を最終復号結果として選択し（ステップＳ２１０）、最終復号結果を出力する。
【００７７】
誤りの無い復号結果が無い場合（ステップＳ２０９  Ｎｏ）、データ選択部２３は、逐次復号部２１０から入力される尤も確からしい候補を選択するための情報に基づいて、尤もらしい候補を最終復号結果として選択し（ステップＳ２１１）、最終復号結果として出力する。
【００７８】
ステップＳ２０６で復号が完了していない場合（ステップＳ２０６  Ｎｏ）、逐次復号部２１０は、ｘ回復号を実行したか否かを判断する（ステップＳ２１２）。このｘは実施の形態１と同様である。逐次復号部２１０における復号の回数がｘ回未満の場合、つまりｘ回復号を実行していない場合（ステップＳ２１２  Ｎｏ）は、逐次復号部２１０はステップＳ２０５からの処理を再度実施する。
【００７９】
一方、ｘ回復号を実行した場合（ステップＳ２１２  Ｙｅｓ）、逐次復号部２１０は、データ更新部２１１−１〜２１１−ｎへ復号結果の更新を指示し、ステップＳ２０７，Ｓ２０８，Ｓ２０９と同様にステップＳ２１３，Ｓ２１４，Ｓ２１５が実施される。
【００８０】
誤りの無い復号結果が有る場合（ステップＳ２１５  Ｙｅｓ）、データ選択部２３は、誤りの無い候補、すなわち第３非逐次復号部２１２−１〜２１２−ｎから入力された復号結果のうち誤り検出結果で誤りの無いと判定された復号結果を最終復号結果として選択し（ステップＳ２１６）、最終復号結果を出力する。誤りの無い復号結果が無い場合（ステップＳ２１５  Ｎｏ）、逐次復号部２１０は、ステップＳ２０５からの処理を再度実施する。
【００８１】
実施の形態１と同様に、リスト型逐次除去復号法のリストの数を１と設定した場合には、逐次除去復号法と等価となるので、図７の処理手順は逐次除去復号法を用いる場合にも適用できる。また、リスト数を１とする場合には、図７のステップＳ２０９，Ｓ２１０，Ｓ２１１，Ｓ２１６の処理を省略してもよい。
【００８２】
本実施の形態の復号方法では、第１ステップでは、入力信号に対してpolar符号の硬判定復号を行うことにより第３復号結果を生成し、第３復号結果の符号化において固定値が配置されたビット位置を固定値で置き換え、固定値で置き換えた復号結果に対してpolar符号の硬判定復号を行うことにより第１復号結果を生成する。また、第２ステップでは、第２復号結果を用いて第３復号結果の固定値を置き換えた復号結果を更新した結果に対してpolar符号の硬判定復号を行うことにより第４復号結果を生成し、第４復号結果に対して誤り検出処理を行うことにより第２誤り検出結果を生成する。
【００８３】
次に、本実施の形態の復号回路２を実現するためのハードウェアについて説明する。復号回路２の硬判定復号部２０および軟判定復号部２１の各々を構成する各部、制御部２２およびデータ選択部２３は、実施の形態１の復号回路１の各部と同様に、専用のハードウェアである図４に示した処理回路で実現することが可能である。また、復号回路２の硬判定復号部２０および軟判定復号部２１の各々を構成する各部、制御部２２およびデータ選択部２３は、実施の形態１の復号回路１の各部と同様に、図５に示した制御回路により実現されてもよい。図５に示した制御回路により復号回路２の硬判定復号部２０および軟判定復号部２１の各々を構成する各部、制御部２２およびデータ選択部２３が実現される場合には、実施の形態１と同様にソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせにより実現できる。各機能の具体的実現方法は、実施の形態１と同様である。実施の形態１と同様に、復号回路２は専用のハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって実現することができる。
【００８４】
以上述べたように、本実施の形態では、実施の形態１と同様に、符号長分の復号が完了していない途中までの段階で誤りが無くなった場合には速やかに復号処理を終了することができる。このため、冗長な動作を抑制することができ、復号回路２の動作率の低下が実現できる。
【００８５】
実施の形態３．
図８は、本発明の実施の形態３にかかる復号回路の構成例を示す図である。本実施の形態は、送信信号において誤り検出を実行する冗長ビットを付加されたsystematic  polar符号の符号化が施されている。図８に示すように復号回路３は、本発明にかかる復号装置の一例である。復号回路３は、実施の形態１，２の復号回路１，２と同様に、入力される信号を復号し、復号により得られた結果を図示しない後段の回路へ出力する。なお、本実施の形態においても、後段の回路へ出力する復号結果を、最終復号結果と呼ぶ。本実施の形態の入力信号は、実施の形態２と同様である。以下、実施の形態２と同一の部分は重複する説明を省略し、実施の形態２と異なる部分を主に説明する。
【００８６】
図８に示すように、復号回路３は、硬判定復号部２０、軟判定復号部２１、第３誤り検出部３１、制御部３２およびデータ選択部３３を備える。硬判定復号部２０および軟判定復号部２１は実施の形態２と同様であるため説明を省略する。
【００８７】
第３誤り検出部３１は、入力信号を硬判定し、硬判定結果に対して誤り検出処理を行うことにより第３誤り検出結果である誤り検出結果を制御部３２およびデータ選択部３３へ出力する。制御部３２は、実施の形態２の制御部２２と同様の機能を有するとともに、第３誤り検出部３１から入力される誤り検出結果に応じた処理等を実施する。データ選択部３３は、実施の形態２のデータ選択部２３と同様の機能を有するとともに、第３誤り検出部３１から入力される誤り検出結果に応じた処理等を実施する。
【００８８】
制御部３２は、第３誤り検出部３１から入力された誤り検出結果に基づいて、誤りが有ると判断した場合に硬判定復号部２０を起動させる。また、制御部３２は、データ選択部３３からの制御情報がデータ選択部３３で復号結果を決定したことを示す場合、硬判定復号部２０および軟判定復号部２１を停止させる。これら以外の制御部３２の動作は、実施の形態２の制御部２２と同様である。
【００８９】
データ選択部３３は、第３誤り検出部３１から入力された誤り検出結果に基づいて、誤りが無いと判断した場合に、復号回路３への入力信号を硬判定した結果を最終復号結果として選択して、出力する。データ選択部３３は、誤りが有ると判断した場合に、誤りが有ることを示す制御情報を制御部３２へ出力する。また、データ選択部３３は、最終復号結果を選択して出力すると、実施の形態１，２と同様に、復号結果を決定したことを示す制御情報を制御部３２へ出力する。これら以外のデータ選択部３３の動作は、実施の形態２のデータ選択部２３と同様である。
【００９０】
次に、本実施の形態の復号回路３の動作を、フローチャートを用いて説明する。図９は、本実施の形態の復号回路３における処理手順の一例を示すフローチャートである。実施の形態２と重複する部分の説明は省略する。ここでは、逐次復号方法としてリスト型逐次除去復号法を用いる場合を例に挙げて説明する。
【００９１】
まず、復号回路３に入力信号が入力されると、第３誤り検出部３１が、入力信号を硬判定し、硬判定した結果に対して、誤り検出処理を実施する。第３誤り検出部３１は、誤り検出結果を制御部３２およびデータ選択部３３へ出力する。データ選択部３３は、第３誤り検出部３１から入力された誤り検出結果に基づいて、誤りが有るか否かを判断する（ステップＳ３０１）。誤りが無い場合（ステップＳ３０１  Ｎｏ）、データ選択部３３は、復号回路３へ入力された受信信号の軟判定値もしくはＬＬＲの硬判定結果を最終復号結果として選択し（ステップＳ３１９）、最終復号結果を出力する。データ選択部３３は、復号結果を決定したすなわち最終復号結果を出力した場合には、実施の形態２と同様に、復号結果を決定したことを示す情報を制御情報として制御部３２へ通知する。制御部３２は、この通知を受けると硬判定復号部２０および軟判定復号部２１を停止させる。
【００９２】
誤りが有る場合（ステップＳ３０１  Ｙｅｓ）、実施の形態２と同様に硬判定復号が行われ、その結果に応じて軟判定復号が行われる。図９に示したステップＳ３０２〜Ｓ３１８は、実施の形態２のステップＳ２０１〜Ｓ２１７と同様であるため、説明を省略する。
【００９３】
以上のように、本実施の形態の復号回路３は、第３誤り検出部３１が、入力信号を硬判定し、硬判定した結果に対して、誤り検出処理を実施する。そして、本実施の形態の復号回路３は、第３誤り検出部３１により実施された誤り検出処理の誤り検出結果が、誤りが無いことを示す場合には、硬判定復号部２０および軟判定復号部２１を起動させずに、硬判定結果を最終復号結果として出力するようにした。このため、本実施の形態では、実施の形態２と同様の効果が得られるとともに、実施の形態２に比べてさらに復号回路３の演算量を抑制して、復号回路３の動作率を低下させることができる。
【００９４】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００９５】
１，２，３  復号回路、１０，２０  硬判定復号部、１１，２１  軟判定復号部、１２，２２，３２  制御部、１３，２３，３３  データ選択部、３１  第３誤り検出部、１００  非逐次復号部、１０１，２０３  第１誤り検出部、１１０，２１０  逐次復号部、１１１−１〜１１１−ｎ，２１１−１〜２１１−ｎ  データ更新部、１１２−１〜１１２−ｎ，２１３−１〜２１３−ｎ  第２誤り検出部、２００  第１非逐次復号部、２０１  置換部、２０２  第２非逐次復号部、２１２−１〜２１２−ｎ  第３非逐次復号部。
【図１】
0006972424.tif 000002
【図２】
0006972424.tif 000003
【図３】
0006972424.tif 000004
【図４】
0006972424.tif 000005
【図５】
0006972424.tif 000006
【図６】
0006972424.tif 000007
【図７】
0006972424.tif 000008
【図８】
0006972424.tif 000009
【図９】
0006972424.tif 000010