変調・符号化#70
極符号(Polar Codes) — チャネル分極でシャノン限界に理論的に到達する
LDPC・ターボ符号とはまったく異なる原理で、シャノン限界に理論的に到達できることが数学的に証明された唯一の明示的符号構成、極符号(Arikan, 2009)。チャネル分極という現象をN=2の基本変換から再帰的に導き、逐次除去復号(SC)の尤度比再帰式まで数式で追う。
前提知識: シャノンの通信路容量定理 — どれだけ送れるかを決める絶対的な壁
この回で学ぶこと
シャノン限界の回、そしてターボ符号・LDPC符号の回で、私たちは「シャノン限界 dBに、どこまで近づけるか」という符号化理論の大きな挑戦の歴史を見てきました。ターボ符号もLDPC符号も、反復復号によってシャノン限界からわずか1dB程度まで肉薄する、驚異的な実用上の性能を示します。しかし、ここで立ち止まって考えると、一つの物足りなさが残ります。ターボ符号やLDPC符号がシャノン限界に迫れることは、大規模なシミュレーションと反復復号の収束挙動の経験的な観察によって確かめられてきたものであり、「どんな二元対称通信路に対しても、明示的な符号構成で、原理的に通信路容量ちょうどに到達できる」という数学的な証明を伴うものではありませんでした。
2008年、当時ビルケント大学(トルコ)の Erdal Arıkan が発表し、2009年に IEEE Transactions on Information Theory に掲載された論文 “Channel Polarization” は、この状況を一変させました。Arıkanが提案した**極符号(Polar Codes)**は、任意の二元入力対称無記憶通信路(BMS通信路)に対して、符号長 の極限で通信路容量(対称容量)にちょうど到達することが厳密に証明された、初めての明示的(explicit)かつ低計算量()な符号構成です。ターボ符号・LDPC符号とは根本的に異なる原理——**チャネル分極(channel polarization)**という現象——に基づいており、反復復号もメッセージパッシングも一切使いません。
この回では、まずチャネル分極とは何かを、2つの同一通信路を組み合わせる最も単純な変換()から出発して導きます。次に、この変換を再帰的に繰り返すことで、合成された仮想的な通信路群が「ほぼ完全に良い通信路」と「ほぼ完全に悪い通信路」の二極へと分かれていく様子を、消失通信路(BEC)という扱いやすい具体例で数値的に確かめます。そして、この分極を利用した符号化戦略(良い通信路にだけ情報を乗せ、悪い通信路には既知の固定値を入れる)と、その復号アルゴリズムである**逐次除去復号(Successive Cancellation, SC)**を数式で追います。最後に、この符号が2016年の5G標準でどう採用されたか、そして深宇宙・近地球通信の世界でどう研究されているかを見ていきます。
直感的導入 — 「混ぜる」と通信路が両極端に分かれる
まず言葉で全体像を掴みましょう。通信路の「良さ」を測る自然な指標は、シャノン限界の回で扱った通信路容量です。二元入力通信路 に一様分布の入力を与えたときの相互情報量を対称容量 (単位: bit/使用)と呼ぶことにします。 なら通信路は完全にきれい(誤りなく1ビットを伝えられる)、 なら通信路は完全に役立たず(出力が入力について何の情報も持たない)です。実際の通信路の対称容量は、この両極端の間のどこか中途半端な値()を取るのが普通です。
Arıkanの洞察は次のようなものでした。同一の通信路 を2つ用意し、送信する前にビットを「混ぜて」から通すという単純な操作をすると、受信側から見た2つの合成仮想通信路のうち、一方は元の より確実に悪くなり、もう一方は元の より確実に良くなる——しかも、この操作を再帰的に(2個から4個、4個から8個、…と)繰り返していくと、合成通信路の対称容量は、中途半端な値のまま留まることができず、ほとんど1(ほぼ完全に良い)か、ほとんど0(ほぼ完全に悪い)かのどちらかに分かれていくという現象が起きます。これがチャネル分極です。
分極が完了すれば、話は単純です。ほぼ完全に良い通信路には情報ビットをそのまま乗せ、ほぼ完全に悪い通信路には(送受信機の双方があらかじめ知っている)固定値——フローズンビット(frozen bits)——を入れておけばよい。良い通信路の割合は(後で見るように)ちょうど元の通信路の対称容量 に収束するため、この戦略は自動的に通信路容量ちょうどのレートを達成することになります。以下ではこの直感を、実際に数式と数値で裏付けていきます。
の基本変換 — 2つの通信路を「混ぜる」
出発点は、独立な二元入力通信路 の2つの独立な使用です。2ビットの情報 を、次の単純な線形変換(mod 2)を経てから通信路に送ります。
を に、 を(独立なもう一つの) に通し、受信信号 を得ます。この 全体を、 を入力とする一つの合成通信路 とみなすことができます。
ここからが本題です。この合成通信路 を、 用の仮想通信路 と、 用の仮想通信路 の2つに分解します。
は「 がまだ分かっていない状態で から を推定する」通信路、 は「 が(すでに正しく分かっている前提で)既知の状態で から を推定する」通信路です。 の情報が の復号を助けるという非対称性がここに現れています。
尤度比による表現とSC復号の基本式
各通信路の尤度比を と定義し、、 と略記します。 が一様分布であると仮定して周辺化すると、 についての尤度比は
となり、分母分子を で割って で書き直すと、
という驚くほど簡潔な式が得られます。一方、 の値が(復号によって)確定した後で を推定する尤度比は、同様の計算により
となります。この2つの式 が、後述する**逐次除去復号(SC)**の心臓部になります。直感的には、 は「 という未知の攪乱変数のせいで手がかりが薄まる」演算、 は「 が既知になったことで の情報がそのまま の追加証拠として使える」演算です。
具体例で確かめる分極 — 消失通信路(BEC)
が実際に「一方は悪化・一方は改善」を引き起こすことを、計算が厳密に閉じる二元消失通信路(Binary Erasure Channel, BEC)で確かめましょう。BEC() は、送ったビットが確率 でそのまま届き、確率 で「消失(erasure, 記号 )」という第三の記号に化けて届く通信路です。BECの対称容量は で、消失確率 自体が通信路の「悪さ」の指標(これをバタチャリヤパラメータ と呼び、BECでは に一致します)になります。
(すなわち 用の合成通信路)が消失するのは、「 の両方から を確定できない」場合です。場合分けすると、
- ともに消失: は完全に不明 → 消失。確率
- のみ消失: が不明なので も不明 → 消失。確率
- のみ消失: が不明なので も不明 → 消失。確率
- どちらも届く: が両方確定するので も確定 → 消失しない
これらを足し合わせると、
一方、( が既知という前提での 用の合成通信路)が消失するのは、「 から直接 が読めず、かつ と既知の から を逆算することもできない」場合、すなわち両方とも消失したときだけです。
のとき、 が常に成り立ちます(前半は 、後半は から直ちに従います)。つまり は元の より確実に悪く()、 は元の より確実に良い() ことが厳密に示されました。さらに対称容量 に換算すると、
という容量保存則も確認できます(分極変換は情報を作り出しも壊しもせず、ただ2つの通信路の間で「良さ」を偏らせて再配分するだけだということです)。
2段階の再帰でさらに分極が進む
この変換を、 と という2つの新しい消失確率にもう一度適用してみましょう。(まったく使い物にならないコイン投げに近いBEC)から出発すると、
さらにもう1段、 と のそれぞれに を適用すると( の4つの合成通信路が得られます)、
つまり の4つの仮想通信路の消失確率は となり、最初の (ちょうど中間)から、すでに1つはほぼ役立たず()、1つはかなり良い()という方向へ広がり始めているのが見て取れます。これをさらに何段も繰り返す()と、この「広がり」は加速度的に進行し、大多数の合成通信路が か のごく近傍に押しやられていきます。これがチャネル分極という現象の、具体的な数値としての姿です。
再帰構造 — への拡張と分極定理
の基本変換は、 個の通信路に対して再帰的に適用できます。 段の再帰を経て 個の合成仮想通信路 が得られ、符号化全体は行列の形で
と書けます(すべて 上の演算、 は の 重クロネッカー積、 はビット順序を並べ替える置換行列)。この再帰構造は、 の基本変換を土台とする深さ の「バタフライ演算網」として実装でき、符号化・復号ともに計算量は にとどまります。
そして、Arıkanが証明したチャネル分極定理は次のように述べられます。任意の二元対称無記憶通信路 と任意の に対して、
すなわち、「ほぼ完全に良い」通信路の割合は に、「ほぼ完全に悪い」通信路の割合は に、それぞれ収束し、その中間(どちらでもない)通信路の割合はゼロに収束するというのがこの定理の主張です(証明は が確率過程として鞅(マルチンゲール)をなすことを利用した測度論的な議論によるもので、詳細は原論文に譲ります)。この定理があるからこそ、「良い通信路にだけ情報を乗せる」という次節の符号化戦略が、 の極限で通信路容量 ちょうどのレートを達成することが保証されるのです。
符号化 — 情報ビットとフローズンビットの選択
分極が与えてくれるのは、 個の仮想通信路 のそれぞれの「良さ」(、あるいはその代理指標であるバタチャリヤパラメータ )です。極符号の符号化戦略は単純明快です。
- 目標の符号化率 に対し、 個の情報ビットを送りたいとする。
- 個の仮想通信路を良い順(バタチャリヤパラメータ が小さい順)に並べ、上位 個のインデックス集合を (情報集合)とする。
- に対応する ()には実際に送りたい情報ビットを入れる。
- 残り (フローズン集合)に対応する には、送受信機があらかじめ合意しておいた既知の固定値(通常は全部 )——フローズンビット——を入れる。
分極定理が保証する通り、 の極限では が任意の で達成可能であり、これが「極符号は通信路容量ちょうどに到達できることが証明された」という主張の中身です。
実務上の課題は、有限の で「どの仮想通信路が本当に良いか」をどう計算するかです。BECでは前節のように厳密な再帰式が閉じますが、AWGN通信路など一般の通信路ではこの計算は解析的に閉じません。実務では、LLR領域の確率密度をガウス分布で近似するガウス近似法や、Tal–Vardyのアルゴリズムのような数値的な密度発展計算によって を精度よく見積もり、情報集合 (符号構成, code construction)を決定します。この構成計算はオフラインで一度だけ行えばよく、実際の符号化・復号には影響しません。
逐次除去復号(SC) — 尤度比を再帰的に伝えながら1ビットずつ確定する
復号側は、符号化の再帰構造をそのままなぞる形で設計されます。逐次除去復号(Successive Cancellation, SC)は、 を添字の順に1つずつ確定させていくアルゴリズムです。
基本アイデアは、先に導いた の再帰を、 の基本ブロックから 全体まで分割統治(divide and conquer)的に組み上げることです。
- フローズンビット に対しては、尤度比を計算するまでもなく (あらかじめ合意した既知値)と即座に確定させる。
- 情報ビット に対しては、受信語 と、すでに確定済みの (自分より前のビットの復号結果)を使って、対応する尤度比 を、 の再帰を通じて計算し、
と硬判定する。
ポイントは、 の場合に見た通り、 を復号する の計算には (前のビットの確定値)が必要だということです。一般の でも同じ構造が再帰的に現れ、「奇数番目寄りのビット」の尤度比計算には 型の再帰(まだ確定していない後続ビットの不確かさを畳み込む演算)が、「偶数番目寄りのビット」の尤度比計算には 型の再帰(すでに確定した前のビットの情報を使う演算)が使われます。この依存関係のため、SC復号は添字の昇順に完全に逐次的に進む必要があり、LDPC符号のSum-Product復号のようにすべてのノードを同時並行で更新することはできません。その代わり、分割統治構造により、1ビットあたりの計算は 、全体で という低い計算量に収まります。
漸近的には()、SC復号は達成可能レート を厳密に達成することが証明されています。しかし、実務で使われる有限の符号長( 数百〜数千)では、SC復号単体の性能はターボ符号やLDPC符号の反復復号に見劣りすることが知られています。これは、一度どこかのビットで誤った判定をしてしまうと、その誤りが後続のすべてのビットの尤度比計算に(訂正されないまま)伝播してしまうという、SC復号特有の誤り伝播の弱さによるものです。この弱点を補うために実務で標準的に使われるのが、**逐次除去リスト復号(Successive Cancellation List, SCL)です。SCLは各ステップで硬判定を1つに絞らず、上位 個(リストサイズ、たとえば や)の候補パスを並行して保持しながら復号を進め、最後に巡回冗長検査(CRC)**を使って最も尤もらしい候補を選び出します。このCRC支援SCL復号(CA-SCL)によって、極符号は有限長でもターボ符号・LDPC符号に匹敵する、あるいは短いブロック長ではそれを上回る性能を発揮することが実証されています。
実務での使われ方
極符号の最も大きな実装上のマイルストーンは、5G(第5世代移動通信システム)での採用です。2016年、3GPPの標準化会合(RAN1)は、5G NR(New Radio)の制御チャネル(下り制御チャネルPDCCH、報知チャネルPBCHなど)の誤り訂正符号として極符号(CRC支援SCL復号)を採用することを決定し、その仕様は 3GPP TS 38.212 に規定されています。一方、5Gのデータチャネル(PDSCH/PUSCH)にはLDPC符号が採用されました。この使い分けには明確な理由があります。制御チャネルが運ぶ情報は数十〜数百ビット程度と非常に短いブロック長であり、CA-SCL復号の極符号はこの短ブロック長領域でLDPC符号を上回る性能を示す一方、データチャネルが運ぶ数千〜数万ビットの長いブロック長では、LDPC符号の完全並列なメッセージパッシング復号がスループット面で優位に立つためです。つまり5Gの符号選定は、まさにこの回とLDPC符号の回で見た「短ブロック長での性能」対「長ブロック長での並列復号スループット」というトレードオフを、実際のシステム設計として体現したものになっています。
深宇宙・近地球通信の分野では、極符号はCCSDS標準のターボ符号・LDPC符号のように広く運用実績のある標準にはまだなっていませんが、研究・検討の対象として近年注目が高まっています。理由は5Gの場合とよく似ています。テレコマンド(TC)アップリンクや近接リンク(Proximity-1)のようにもともと短いフレーム長で運用される宇宙通信リンクでは、極符号(特にCA-SCL復号)がターボ符号・LDPC符号よりも有利になりうる領域と重なるため、ESAやJPL、各国の宇宙機関に関連する研究グループによって、短フレーム宇宙リンクへの極符号適用可能性を評価する研究が継続的に発表されています。また、極符号は分極という単一の原理から体系的に符号構成が導出できるため、レート適応(送信条件に応じて符号化率を柔軟に変える)のしやすさという観点でも研究対象になっています。ただし、深宇宙リンクで主流を占める非常に長いブロック長・非常に低い符号化率(1/6など)の領域では、いまなおLDPC符号(AR4JA符号族など)が実装のしやすさと実績の面で優位にあり、極符号がこの領域でCCSDS標準の主流を置き換えるところまでは至っていない、というのが現状です。
演習問題
-
BEC()から出発し、 の基本変換を2回(合計 )適用したときの、4つの合成仮想通信路の消失確率をすべて計算してください。、 を使うこと。また、得られた4つの対称容量 の合計が に一致すること(容量保存則)を確認してください。
-
符号長 、符号化率 (情報ビット数 )の極符号を、問1で求めた4つの合成仮想通信路のバタチャリヤパラメータ(消失確率)を基準に構成するとします。どの2つのインデックスを情報集合 に選ぶべきか、理由とともに答えてください。
-
の基本ブロックにおいて、受信された尤度比が 、 であったとします。 を使って の尤度比 を計算し、 を硬判定してください。次に、 を使って の尤度比 を計算し、 を硬判定してください。
-
なぜSC復号単体では、極符号の有限長性能がターボ符号・LDPC符号に見劣りすることがあるのか、「誤り伝播」という観点から説明してください。またCRC支援SCL復号(CA-SCL)がこの問題をどう緩和しているか、そして5Gが制御チャネルに極符号、データチャネルにLDPC符号を使い分けている理由を、この回で学んだ内容にもとづいて自分の言葉で説明してください。
まとめと次回予告
この回では、ターボ符号・LDPC符号とはまったく異なる原理——チャネル分極——に基づく極符号を扱いました。2つの同一通信路を という単純な線形変換で組み合わせるだけで、一方の仮想通信路は確実に悪化し、もう一方は確実に改善するという現象を、の基本変換とBECの具体例で確かめました。この変換を再帰的に繰り返すと、の極限で合成通信路の対称容量がほぼ0かほぼ1かに分極していくというチャネル分極定理により、良い通信路にだけ情報ビットを、悪い通信路にはフローズンビットを割り当てるという単純な戦略が、通信路容量ちょうどのレートを達成することが数学的に保証されます。復号側では、この構造をなぞる形で尤度比 を再帰的に計算する逐次除去復号(SC)が、という低い計算量で動作し、実務ではCRC支援リスト復号(CA-SCL)によって有限長性能を大きく改善します。5G制御チャネルでの採用は、この理論が実システムに組み込まれた最初の大規模な実例であり、深宇宙・近地球通信でも短フレームリンクへの応用研究が進んでいます。
次回は、変調と符号化をこれまでのように別々の段階として扱うのではなく、両者を一体として最適設計する**TCM(トレリス符号化変調, Trellis-Coded Modulation)**に軽く触れます。符号化利得を得るために伝送レートを犠牲にする(冗長ビットを追加する)のではなく、信号点配置そのものと畳み込み符号を組み合わせることで、帯域幅を増やさずに符号化利得だけを得るという、この回までとは異なる発想の設計思想を概観します。
参考文献
- E. Arıkan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels,” IEEE Transactions on Information Theory, vol. 55, no. 7, 2009.
- I. Tal, A. Vardy, “List Decoding of Polar Codes,” IEEE Transactions on Information Theory, vol. 61, no. 5, 2015.
- 3GPP TS 38.212, NR; Multiplexing and Channel Coding
- E. Arıkan, “A Performance Comparison of Polar Codes and Reed-Muller Codes,” IEEE Communications Letters, vol. 12, no. 6, 2008.
- CCSDS 131.0-B, TM Synchronization and Channel Coding
- J. H. Yuen (ed.), Deep Space Telecommunications Systems Engineering, JPL Publication 82-76