(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-08
(45)【発行日】2024-08-19
(54)【発明の名称】無線通信装置、および復号方法
(51)【国際特許分類】
H03M 13/19 20060101AFI20240809BHJP
【FI】
H03M13/19
(21)【出願番号】P 2020218962
(22)【出願日】2020-12-28
【審査請求日】2023-02-24
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(74)【代理人】
【識別番号】100076428
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100115071
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100112508
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100116894
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【氏名又は名称】永川 行光
(74)【代理人】
【識別番号】100131886
【氏名又は名称】坂本 隆志
(74)【代理人】
【識別番号】100170667
【氏名又は名称】前田 浩次
(72)【発明者】
【氏名】渡辺 大詩
【審査官】阿部 弘
(56)【参考文献】
【文献】米国特許出願公開第2017/0149445(US,A1)
【文献】特開2018-182735(JP,A)
【文献】特開2013-120617(JP,A)
【文献】米国特許出願公開第2017/0093428(US,A1)
【文献】特表2017-533639(JP,A)
【文献】国際公開第2020/166230(WO,A1)
【文献】Ting Liu et al.,Deep Learning-Based Belief Propagation Algorithm over Non-Binary Finite Fields,2020 International Conference on Wireless Communications and Signal Processing (WCSP),IEEE,2020年10月23日,pp. 164-169,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9299875,DOI: 10.1109/WCSP49889.2020.9299875
(58)【調査した分野】(Int.Cl.,DB名)
H03M 13/19
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
無線通信装置であって、
多元低密度パリティ検査符号で符号化された信号を受信する通信部と、
前記通信部で受信した前記信号を復号する制御部と、
記憶部と、
を備え、
前記制御部は、
タナーグラフに含まれる複数のチェックノードから、前記チェックノードとエッジによって接続される複数の変数ノードへ、シンボルの信頼性の値に重みの値をかけて出力する第1工程と、
第1工程の後に、前記変数ノードから前記チェックノードへ、前記信頼性の値に基づいて決定した外部値を出力する第2工程と、
前記シンボルの信頼性に基づいて前記タナーグラフの出力値を決定する第3工程と、
前記タナーグラフの前記出力値が符号語であるか否かを判定する第4工程と、
を含む復号方法を実行して前記信号を復号し、
前記制御部は、前記タナーグラフの前記出力値が符号語ではないと判定した場合に、前記第1工程から前記第4工程を繰り返し、
前記重みの値は、前記第1工程の繰り返し回数と、前記エッジとに応じて予め定められた値であ
り、
前記記憶部は、前記繰り返し回数と前記エッジとに対応付けられた異なる重みの値の複数のセットを格納し、
前記制御部は、前記第1工程の前に、前記複数のセットのうちのいずれを前記第1工程において使用するかを判定する、
ことを特徴とする無線通信装置。
【請求項2】
前記重みの値のセットは前記無線通信装置の製造時に前記記憶部に格納されることを特徴とする
請求項1に記載の無線通信装置。
【請求項3】
前記通信部は、他の無線通信装置から、前記複数のセットのうちのいずれを前記第1工程において使用するかの指示を受信し、
前記制御部は、前記通信部で受信した前記指示に基づいて、前記第1工程において使用する前記重みの値のセットを選択することを特徴とする
請求項1または2に記載の無線通信装置。
【請求項4】
無線通信装置であって、
多元低密度パリティ検査符号で符号化された信号を受信する通信部と、
前記通信部で受信した前記信号を復号する制御部と、
を備え、
前記制御部は、
タナーグラフに含まれる複数のチェックノードから、前記チェックノードとエッジによって接続される複数の変数ノードへ、シンボルの信頼性の値に重みの値をかけて出力する第1工程と、
第1工程の後に、前記変数ノードから前記チェックノードへ、前記信頼性の値に基づいて決定した外部値を出力する第2工程と、
前記シンボルの信頼性に基づいて前記タナーグラフの出力値を決定する第3工程と、
前記タナーグラフの前記出力値が符号語であるか否かを判定する第4工程と、
を含む復号方法を実行して前記信号を復号し、
前記制御部は、前記タナーグラフの前記出力値が符号語ではないと判定した場合に、前記第1工程から前記第4工程を繰り返し、
前記重みの値は、前記第1工程の繰り返し回数と、前記エッジとに応じて予め定められた値であり、
前記通信部は、前記第1工程の前に前記重みの値を他の無線通信装置から受信することを特徴とす
る無線通信装置。
【請求項5】
繰り返しにおける前記第1工程において、前記制御部は、前記変数ノードからの前記外部値に基づいて前記信頼性の値を決定することを特徴とする
請求項1から4のいずれか1項に記載の無線通信装置。
【請求項6】
前記第4工程において、前記無線通信装置は、前記出力と多元低密度パリティ検査のための検査行列とをガロアフィールド上で乗算した値がゼロ行列になった場合に前記タナーグラフの前記出力値が符号語であると判定することを特徴とする
請求項1から5のいずれか1項に記載の無線通信装置。
【請求項7】
前記重みの値は、機械学習モデルによって決定された値であることを特徴とする
請求項1から6のいずれか1項に記載の無線通信装置。
【請求項8】
記憶部を備え、多元低密度パリティ検査符号で符号化された信号を復号する無線通信装置が実行する復号方法であって、
タナーグラフに含まれる複数のチェックノードから、前記チェックノードとエッジによって接続される複数の変数ノードへ、シンボルの信頼性の値に重みをつけて出力する第1工程と、
第1工程の後に、前記変数ノードから前記チェックノードへ、前記信頼性の値に基づいて決定した外部値を出力する第2工程と、
前記シンボルの信頼性に基づいて前記タナーグラフの出力値を決定する第3工程と、
前記タナーグラフの前記出力値が符号語であるか否かを判定する第4工程と、
前記タナーグラフの前記出力値が符号語ではないと判定した場合に、前記第1工程から前記第4工程を繰り返すことと、
を含み、
前記重みは、前記第1工程の繰り返し回数と、前記エッジとに応じて予め定められた値であ
り、
前記記憶部は、前記繰り返し回数と前記エッジとに対応付けられた異なる重みの値の複数のセットを格納し、
前記第1工程の前に、前記複数のセットのうちのいずれを前記第1工程において使用するかを判定することをさらに含む、ことを特徴とする復号方法。
【請求項9】
他の無線通信装置から、前記複数のセットのうちのいずれを前記第1工程において使用するかの指示を受信することと、
受信した前記指示に基づいて、前記第1工程において使用する前記重みの値のセットを選択することと、
をさらに含むことを特徴とする請求項8に記載の復号方法。
【請求項10】
多元低密度パリティ検査符号で符号化された信号を復号する無線通信装置が実行する復号方法であって、
タナーグラフに含まれる複数のチェックノードから、前記チェックノードとエッジによって接続される複数の変数ノードへ、シンボルの信頼性の値に重みをつけて出力する第1工程と、
第1工程の後に、前記変数ノードから前記チェックノードへ、前記信頼性の値に基づいて決定した外部値を出力する第2工程と、
前記シンボルの信頼性に基づいて前記タナーグラフの出力値を決定する第3工程と、
前記タナーグラフの前記出力値が符号語であるか否かを判定する第4工程と、
前記タナーグラフの前記出力値が符号語ではないと判定した場合に、前記第1工程から前記第4工程を繰り返すことと、
前記第1工程の前に前記重みの値を他の無線通信装置から受信することと、
を含み、
前記重みは、前記第1工程の繰り返し回数と、前記エッジとに応じて予め定められた値であることを特徴とする復号方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多元低密度パリティ検査符号(多元LDPC符号)を復号するための無線通信装置、および復号方法に関する。
【背景技術】
【0002】
無線通信において低いビット誤り率(BER)を実現するために、受信信号の誤りを検出し、訂正する誤り訂正符号が用いられている。高い誤り訂正能力を実現できる誤り訂正符号として、低密度パリティ検査(LDPC:Low Density Parity Check)符号が注目され、第5世代通信システムのデータチャネルなどへの利用が検討されている。LDPC符号が高い誤り検出性能を発揮するには長い符号長を用いる必要であり、低遅延の通信には適していない。そこで近年注目されているのが、短~中程度の符号長においても高い誤り検出性能を発揮することができる多元LDPC符号である。
【0003】
多元LDPC符号は、LDPC符号をガロア体で定義する。多元LDPC符号の復号には2元LDPC符号の復号に用いられるSum-Product Algorithmを拡大体に拡張したQ-ary Sum-Product Algorithm(QSPA)と呼ばれる復号アルゴリズムが一般的に用いられる(特許文献1)。しかし、QSPAは復号の計算をガロア体要素ごとに行う必要があり、計算の複雑度が高く、ハードウェアへの実装が困難である。
【0004】
このため、ハードウェア実装に適したBit Reliability Based (BRB)アルゴリズムを復号アルゴリズムとして用いることが提案されている(非特許文献1)。BRBアルゴリズムでは、ガロア体要素の信頼性をシンボルではなくビットで更新することで復号を行う。また、BRBアルゴリズムの信頼性の更新時にハミング距離に応じてした係数を用いる重みづけWeighted BRB(wBRB)アルゴリズムも検討されている。BRBおよびwBRBでは、タナーグラフと呼ばれる2部グラフを使用してLDPC符号の構成および復号が検討される。タナーグラフでは、検査ノード及び変数ノードと、検査ノード及び変数ノード間を接続するエッジによってLDPC符号が表現される。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【文献】Waheed Ullah 他、"Low Complexity Bit Reliability and Predication Based Symbol Value Selection Decoding Algorithms for Non-Binary LDPC Codes"、2020年8月3日
【発明の概要】
【発明が解決しようとする課題】
【0007】
ここで、BRBおよびwBRBでは、2つの検査ノード間を結ぶ変数ノードとエッジの数が少ない、すなわちタナーグラフ内でのループ(サイクル)の長さが短いと、エッジを介して検査ノードごとに渡される情報の独立性が低下して復号性能が劣化するという問題がある。このため、サイクルの長さによってはタナーグラフによって十分な復号性能が得られないという問題があった。
【0008】
本発明は上述の問題に鑑みてなされたものであり、高い復号性能を有する多元LDPC符号の復号器を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために本発明の一態様に係る無線通信装置は、
多元低密度パリティ検査符号で符号化された信号を受信する通信部と、
前記通信部で受信した前記信号を復号する制御部と、
記憶部と、
を備え、
前記制御部は、
タナーグラフに含まれる複数のチェックノードから、前記チェックノードとエッジによって接続される複数の変数ノードへ、シンボルの信頼性の値に重みの値をかけて出力する第1工程と、
前記第1工程の後に、前記変数ノードから前記チェックノードへ、前記信頼性の値に基づいて決定した外部値を出力する第2工程と、
前記シンボルの信頼性に基づいて前記タナーグラフの出力値を決定する第3工程と、
前記タナーグラフの前記出力値が符号語であるか否かを判定する第4工程と、
を含む復号方法を実行して前記信号を復号し、
前記制御部は、前記タナーグラフの前記出力値が符号語ではないと判定した場合に、前記第1工程から前記第4工程を繰り返し、
前記重みの値は、前記第1工程の繰り返し回数と、前記エッジとに応じて予め定められた値であり、
前記記憶部は、前記繰り返し回数と前記エッジとに対応付けられた異なる重みの値の複数のセットを格納し、
前記制御部は、前記第1工程の前に、前記複数のセットのうちのいずれを前記第1工程において使用するかを判定する、
ことを特徴とする。
また、上記目的を達成するために本発明の一態様に係る無線通信装置は、
多元低密度パリティ検査符号で符号化された信号を受信する通信部と、
前記通信部で受信した前記信号を復号する制御部と、
を備え、
前記制御部は、
タナーグラフに含まれる複数のチェックノードから、前記チェックノードとエッジによって接続される複数の変数ノードへ、シンボルの信頼性の値に重みの値をかけて出力する第1工程と、
前記第1工程の後に、前記変数ノードから前記チェックノードへ、前記信頼性の値に基づいて決定した外部値を出力する第2工程と、
前記シンボルの信頼性に基づいて前記タナーグラフの出力値を決定する第3工程と、
前記タナーグラフの前記出力値が符号語であるか否かを判定する第4工程と、
を含む復号方法を実行して前記信号を復号し、
前記制御部は、前記タナーグラフの前記出力値が符号語ではないと判定した場合に、前記第1工程から前記第4工程を繰り返し、
前記重みの値は、前記第1工程の繰り返し回数と、前記エッジとに応じて予め定められた値であり、
前記通信部は、前記第1工程の前に前記重みの値を他の無線通信装置から受信することを特徴とする。
【発明の効果】
【0010】
本発明によれば、高い復号性能を有する多元LDPC符号の復号器を提供することが可能になる。
【図面の簡単な説明】
【0011】
【
図1】第一の実施形態に係る無線通信装置を含む通信システムを示す図。
【
図2】第一の実施形態に係る無線通信装置のブロック図。
【
図3】第一の実施形態に係る復号器が有するタナーグラフの一例を示す図。
【
図4】第一の実施形態に係る復号処理の計算ステップを示す図。
【
図5】第一の実施形態に係る復号器が実行する復号処理の一例を示すフローチャート。
【
図6】第一の実施形態に係るROMに格納されたエッジ重みの値のセットの一例を示す図。
【
図7】第一の実施形態に係る復号器のエッジ重みの値のセットを決定する学習モデルを示す図。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0013】
図1は、本実施形態に係る無線通信機を含む通信システムを示す。
図1の無線通信システム1は、受信機10および送信機20を含む。送信機20は、多元LDPC符号を用いた符号化能力を有し、誤り訂正符号化器21、変調部22、アンテナ23を備える。受信機10は、多元LDPC符号を用いて符号化された信号の復号能力を有し、誤り訂正復号器11、復調器12、およびアンテナ13を備える。一例では、受信機10および送信機20は、セルラネットワークの基地局装置と端末装置であってもよい。このような場合、上りトラフィックにおいては基地局装置が受信機10として動作し、端末装置が送信機20として動作する一方、下りトラフィックにおいては基地局装置が送信機20として、端末装置が受信機10として動作してもよい。
【0014】
図2は、本実施形態に係る受信機10のブロック図を示す。受信機10の誤り訂正復号器11は制御部100およびROM101を備え、制御部100は変数ノード処理部102、チェックノード処理部103、およびパリティ検査処理部104を備える。
【0015】
アンテナ13は、送信機20からの無線信号を電気信号に変換する。復調器12は、アンテナ23からの電気信号をアナログ-デジタル変換(ADC)して復調処理を行い、デジタル信号を出力する通信部である。本実施形態では、アンテナ13および復調器12はそれぞれ1つであるものとして説明を行うが、複数のアンテナ13および複数の復調器12を用いて、1つの送信アンテナからの無線信号を復調する受信ダイバーシチや、複数の送信アンテナからの無線信号を復調するMIMO(Multiple-Input Multiple-Output)に対応してもよい。
【0016】
誤り訂正復号器11は、復調器12から受信したデジタル信号に基づいて、本実施形態に係るLDPC符号を用いて符号化された信号の復号を行う。制御部100は、誤り訂正復号器11の動作を制御する。ROM101は、制御部100が実行するプログラムに加え、後述する変数ノードとチェックノードとを接続するエッジの重みの初期値を記憶する読み出し専用メモリである。変数ノード処理部102、チェックノード処理部103、パリティ検査処理部104は、後述するLDPC符号の復号処理を行うための処理を行う。
【0017】
<多元LDPC符号の復号処理>
次に、
図3に示すタナーグラフを参照して、本実施形態に係る多元LDPC符号の復号処理の一例を説明する。
【0018】
タナーグラフ300は、変数ノード301a~301d、チェックノード302a~302c、およびノード間を接続するエッジ303a~303gからなる。変数ノード301a~301dを総称して変数ノード301、チェックノード302a~302cを総称してチェックノード302、そしてエッジ303a~303gを総称してエッジ303とする。なお、変数ノード301の数、チェックノード302の数、およびエッジ303の本数はシステムごと、装置ごとに任意に設計されてよい。
【0019】
図3の例では、変数ノード301が保持する値は
(kは繰り返し回数、jは変数ノード301のインデックス、tは時刻)であり、チェックノード302が保持する値は
(iはチェックノード302のインデックス)である。また例えば、時刻tにおける繰り返し回数kの時点において、変数ノード301から、エッジによって接続されるチェックノード302への出力は
と表現される。例えば、変数ノード301dから、エッジ303eによって接続されたチェックノード302cへの出力は
として表現されるまた、チェックノード302から、エッジ303によって接続される変数ノード301への出力は
と表現される。例えば、チェックノード302bから、エッジ303eによって接続された変数ノード301cへの出力は
として表現される。
【0020】
ここで、チェックノード302と、変数ノード301とを接続するエッジ303を
とすると、タナーグラフ内のエッジ303を示す行列
は以下のように表現することができる。
を設定して送信側でパリティ符号化することで、受信側が
を使用して復号した信号が符号語であるか、すなわちパリティ検査の結果が正常であるか否かを判定することができる。このため、行列
は検査行列と呼ばれる。
【0021】
【0022】
ここで、
図4を参照して、1回の繰り返し処理で行われる処理について説明する。
図4(A)では、制御部100は、変数ノードが保持する値(シンボルの値)
および
に基づいて、変数ノード301からチェックノード302への外部値
の出力を行う。続いて
図4(B)で、制御部100は、変数ノード301からの出力
とチェックノード302が保持する値
および検査行列
に基づいて、チェックノード302の保持する値
を決定するとともに、変数ノード301へのシンボルの信頼値
の出力を行う。制御部100は、検査行列
、シンボルの信頼値
およびシンボルの値
に基づいて変数ノード301の保持するシンボル値
を決定するとともに、タナーグラフの出力値
を生成し、タナーグラフの出力値
のパリティ検査を行う。制御部100は、パリティ検査の結果、タナーグラフの出力値
が符号語であると判定した場合にはタナーグラフの出力値
を復号結果として判定して処理を終了する。一方、タナーグラフの出力値
が符号語ではないと判定された場合は、制御部100は、変数ノード301からチェックノード302への出力、チェックノード302から変数ノード301への次の繰り返し処理の出力を行う。パリティ検査については後述する。
【0023】
図4(C)に示すように、タナーグラフ300の中で1つの変数ノード301が出力した値が、1つ以上の他の変数ノード301と1つ以上のチェックノード302とを介して戻るエッジ303のパターンをサイクルといい、サイクルを形成するエッジ303の本数をサイクルの長さとする。ここで、タナーグラフ300内のサイクルの長さが短い場合、ノード間で渡される外部情報の独立性が低下してしまい、復号性能が劣化する。本実施形態に係る多元LDPC符号の復号手法によれば、このようなサイクルによる復号性能が劣化を低減することができる。
【0024】
次に、
図5を参照して、上述した本実施形態に係る多元LDPC符号の復号を行うための処理を説明する。
図5に示す処理は、受信機10の起動時に
図2の制御部100がROM101に格納されたプログラムを実行することで実現される。
【0025】
まずS501で、制御部100は変数ノード処理部102、チェックノード処理部103、パリティ検査処理部104の初期化を行い、変数ノードとチェックノードとを接続するエッジを設定する。
【0026】
例えば、受信機10のアンテナ13に入力された受信信号のバイナリ表現を
(tは時刻、jはサンプルのインデックス)とすると、復調器12は、以下のように受信信号
を量子化し、以下の数式(2)に示すように判定されるデジタル信号
を出力する。
【0027】
【0028】
この場合、制御部100は、デジタル信号
を用いて、j番目のシンボル値
(kは反復回数)の初期値を以下の数式(3)に示すように設定する。シンボル値
は、後述する変数ノード処理部102での計算に使用される。
【0029】
【0030】
また、制御部100は、変数ノード301からチェックノード302への出力である外部値
(iはチェックノード302のインデックス)の初期値を以下の数式(4)に示すように設定する。外部値
は、後述するチェックノード処理部103での計算に使用される。
【0031】
【0032】
続いて、S502で、制御部100はチェックノード処理部103の処理を行う。チェックノード処理部103では、以下の数式(5)に従って外部値
のバイナリ表現
を判定する。
【0033】
【0034】
続いて、制御部100は外部値
のバイナリ表現
を用いて以下の数式(6)に従って外部値の合計値
を決定する。
【0035】
【0036】
続いて、以下の数式(7)に従って、外部値の軟信頼性
を決定する。
【0037】
【0038】
続いて、制御部100は、変数ノード301への出力値を決定する。例えば、BRB(Bit Reliability Based)アルゴリズムでは、以下の数式(8)に従って外部値の軟信頼性
を外部値の合計値
のすべてのビットにエッジ303のビット信頼性の値として割り当てる。
【0039】
【0040】
また、例えばwBRB(weighted BRB)アルゴリズムでは、以下の数式(9)に従って変数ノード301への出力値を決定する。
【0041】
【数9】
ここで、それぞれの外部値の軟信頼性
に与えられる重みθは、外部値の合計値
と直前のタナーグラフ300の出力値
とのハミング距離に応じて、例えばθ=[1.6、 1.2、 0.2]のように、事前に定められた値から選択される。例えば、ハミング距離が0であればθ=1.6を、ハミング距離が1であればθ=1.2を選択して数式(9)で選択した重みθを使用する。
【0042】
なお、本実施形態では、制御部100は数式(8)に従って変数ノード301への出力値を決定する。
【0043】
続いて、制御部100は処理をS503に進め、変数ノード処理部102の処理を行う。変数ノード処理部102では、以下の数式(10)に従ってシンボルの信頼性の値
を決定する。ここで、
はi番目のチェックノード302からj番目の変数ノード301へのエッジ303のそれぞれに割り当てられた重みの値である。本実施形態に係る重みの値
は、深層学習を用いて事前に計算され、製造時にROM101に格納された値を使用する。重みの値の計算方法については
図7を参照して後述する。
【0044】
【0045】
ここで、
図6を参照して、ROM101に格納されるエッジ303の重みの値のセットの一例について説明する。
図6の例では、重みデータ600は、エッジ303のインデックスと、繰り返し回数とに対応付けられ、2次元配列のテーブルとして重みの値のセットを格納している。このため、制御部100は、
図5のS501において、ROM101から重みデータ600を取得する。そして、S503の変数ノード処理において、制御部100は繰り返し回数及びエッジ303のインデックスに基づいてエッジ303の重みの値を選択してシンボルの信頼性の値
を決定する。なお、重みの値のセットは、受信機10の製造時にROM101に格納される。
【0046】
続いて、制御部100は以下の数式(11)に従って外部値
を決定する。
【0047】
【0048】
次に、制御部100は処理をS504に進め、以下の数式(12)に従ってタナーグラフ300の出力値
を決定する。ここで、kは現在の繰り返し回数である。
【0049】
【0050】
続いて、制御部100は処理をS505に進め、タナーグラフ300の出力値
を用いてパリティ検査処理部104によるパリティ検査を行う。
【0051】
パリティ検査では、ガロアフィールド上で以下の数式(13)に従って検査値
を計算する。
【0052】
【0053】
例えば、ガロアフィールド(0、α
0、α
1、α
2)が2進数表記で(00、01、10、11)で、タナーグラフの出力値
が[α
0、α
1、α
2、α
0、0、α
1]、検査行列
が以下の数式(14)であるとする。
【0054】
【数14】
この場合、数式(13)に従って計算される検査値がすべて0、すなわち出力値行列と検査行列とのガロアフィールド上での乗算がゼロ行列になった場合にはタナーグラフの出力値
が符号語であると判断され、そうでない場合には出力値
が符号語ではないと判断される。上記例では、以下の数式(15)~数式(17)に従って検査値が出力される。ここで、ガロアフィールド上での加算は、ビットの排他的論理和(XOR)であり、乗算はガロア係数(α
iのi)の和の剰余(modulo)を示す。
【0055】
【0056】
【0057】
【0058】
この場合、i=2、3において、検査値が0とならない、すなわちタナーグラフの出力値
が符号語とみなせないため、タナーグラフで繰り返し処理を行う。すなわち、k=2の処理を実行する。パリティ検査の結果、検査値が0となる、すなわちタナーグラフの出力値
が符号語とみなせる場合(S506でYes)は、タナーグラフの出力値
が正常に復号できたと判定して
図5に示す処理を終了する。一例では、タナーグラフの出力値
が符号語とみなせると判定した場合には、受信機10は送信機20に肯定応答(ACK)を送信してもよい。一方、タナーグラフの出力値
が符号語とみなせない場合(S506でNo)、制御部121は処理をS507に進め、繰り返し回数kが所定の閾値より大きいか否かを判定する。繰り返し回数kが所定の閾値より大きい場合(S507でYes)、制御部100は多元LDPC符号の復号に失敗したと判定し、
図5に示す処理を終了する。一例では、多元LPDC符号の復号に失敗したと判定した場合には、受信機10は送信機20に否定応答(NACK)を送信してもよい。繰り返し回数kが所定の閾値以下である場合(S507でNo)、制御部100は処理をS502に戻す。S507で判定に使用される閾値は、受信機10ごとに、または通信システム1ごとに設定される最大繰り返し回数である。本実施形態では、所定の閾値の情報はROM101に格納され、S501において読み出される。
【0059】
<重みの値のセットの決定処理>
続いて、
図7を参照してタナーグラフのエッジの重みを決定する処理について説明する。
図7に示す学習モデルは、繰り返し回数kごとにタナーグラフが接続されている。
図7の例では、k=0のタナーグラフ701、k=1のタナーグラフ702、およびk=K(最大繰り返し回数)のタナーグラフ703が示されている。なお、タナーグラフ内のエッジと、タナーグラフ間のエッジは対称になるように設定される。
図7では、信号y
iに送信機20と受信機10との間のチャネルを想定して周波数次元および時間次元の少なくともいずれかで変化させた信号x
iを入力として使用する。
【0060】
変数ノード処理においては、数式(10)および(11)に従って変数ノードが処理される。そして、以下の数式(18)に従って学習モデルの出力値を計算する。ここでKは最大繰り返し回数である。
【0061】
【0062】
そして、学習モデルの入力値と出力値とに基づいて、以下の数式(19)の損失関数
を計算する。
【0063】
【数19】
この損失関数
に基づいて、勾配降下法などの任意のパラメータ探索アルゴリズムを使用してエッジの重み
を調整する。これによって、変化後の信号x
iを入力した際に、変化前の信号y
iを推定するよう重みの値
を調整することができる。
【0064】
以上説明したように、本実施形態に係る受信機は、多元LDPC符号の復号において、復号処理の繰り返し回数と、エッジインデックスとに対応し、予め設定された重みの値を使用する。これによって、タナーグラフ内のサイクルの影響を抑えた重みの値を使用することで、多元低密度パリティ検査符号の復号性能が劣化することを防ぐことができる。また、wBRBのように復号しながら重みの値を調整する必要がないため、受信機10の計算負荷を抑えながら高い復号性能を得ることができる。
【0065】
また、本実施形態に係る受信機は、多元LDPC符号の復号において、機械学習モデルによって定められた重みの値を使用する。これによって、受信機10がサイクルの影響を抑えた重みの値を用いて高い復号性能を得ることができる。
【0066】
また、本実施形態に係る受信機は、製造時にROM101に重みの値のテーブルを格納する。これによって、受信機が重みの値を計算する必要がないため、高い復号性能を有する重みの値を使用しながら、受信機の計算負荷を抑えることができる。
【0067】
<その他の実施形態>
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
【0068】
例えば、本実施形態では、ROM101に重みのセットを格納しているものとして説明を行った。しかしながら、一例では他の無線通信装置から重みのセットを示す情報を取得してもよい。例えば、送信機20が基地局であり、受信機10が携帯端末であり、携帯端末は、基地局に接続する際に、重みの値のセットを示す情報を受信し、以降の基地局から信号を受信する際に受信した重みのセットを用いて多元LDPC符号の復号を行ってもよい。これによって、受信機10が多元LDPC符号の復号に用いる重みの値のセットを変更することが容易になる。
【0069】
また、本実施形態では、ROM101には重みのセットが1つだけ含まれるものとして説明を行った。しかしながら、受信機10はROM101に複数の重みの値のセットを格納してもよい。そして、所定の条件に応じて受信機10が多元LDPC符号の復号に用いる重みの値のセットを決定してもよい。例えば、受信機10が備える加速度センサ(不図示)やグローバルポジショニング(GPS)センサ(不図示)の出力に基づいて特定した、受信機10の移動速度に基づいて使用する重みの値のセットを決定してもよい。あるいは、送信機20から送信される参照信号の受信強度や周波数軸での時間変化など、任意のチャネルに基づいて使用する重みの値のセットを決定してもよい。これによって、受信機10が位置するチャネルに応じて、適した重みの値のセットを使用してLDPC符号の復号を行うことができる。また、ROM101に複数の重みのテーブルが格納される場合、他の無線通信装置から、いずれの重みの値のセットを使用するかを指示する情報を受信してもよい。
【0070】
また、本実施形態に係る多元LDPC符号の復号方法は、他のLDPC符号の復号アルゴリズムと適宜組み合わせることができる。例えば、ROM101に格納された多元LDPC符号の復号に用いる重みの値のセットを取得し、取得した重みの値に加えて、wBRBアルゴリズムに従って決定した重みの値に基づいて、エッジの重みを調整してもよい。
【0071】
なお、これにより、例えば高い復号性能を有する多元LDPC符号の復号器を提供することができるから、国連が主導する持続可能な開発目標(SDGs)の目標9「手ごろで信頼でき、持続可能かつ近代的なエネルギーへのアクセスを確保する」に貢献することが可能となる。
【符号の説明】
【0072】
1:無線通信システム、10:受信機、11:誤り訂正復号器、100:制御部、101:ROM、300:タナーグラフ