変調・符号化#16
スクランブリング — 遷移密度を人工的に作り出す
衛星が休止状態のとき、テレメトリには0や1が延々と続く区間が現れる。シンボル同期ループはそれだけでロックを失いかねない。データにPN系列をXORして遷移密度とDCフリー性を人工的に作り出す、LFSRベースのスクランブリングを数式で理解する。
前提知識: pcm-psk-pm
この回で学ぶこと
第1回でNRZ-LやBi-φ-Lといったベースバンド符号化を扱ったとき、Bi-φ-L(Manchester符号)には「ビット周期ごとに必ず遷移(トランジション)が起きるため、地上局側でのビット同期が格段に容易になる」という利点があると述べました。裏を返せば、これは遷移が保証されていない符号は、ビット同期が困難になりうるということでもあります。
実際のミッションデータで何が起きるかを考えてみましょう。探査機がセーフモードに入っている、あるいはテレメトリのある1チャンネルがしばらく変化のない一定値を送り続けている、といった状況では、送信ビット列 の中に0または1が数百ビットにもわたって連続する区間が現れることがあります。NRZ-L符号ではこれは電圧レベルが一定のまま続くことを意味し、信号 には遷移がまったく現れません。
この回では、「なぜ遷移がないと困るのか」という問題提起から出発し、LFSR(線形フィードバックシフトレジスタ)によって疑似ランダムな系列を生成し、それを実データとXORするだけで遷移密度とDCフリー性を人工的に作り出せるスクランブリングという技術を、 上の多項式演算を使って定式化します。
直感的な導入: 遷移がないと何が壊れるか
デジタル通信の受信機は、単に「ビットの値」を判定できればよいわけではありません。その前段階として、いつが1ビットの境目なのか(ビットタイミング、シンボルタイミング)を、受信信号そのものから推定し続ける必要があります。これを行う回路を**シンボル同期ループ(タイミング再生回路)**と呼びます。
シンボル同期ループの多くは、PLLと同様のフィードバック構造を持ち、信号の遷移(ゼロ交差、あるいは電圧の変化点)を検出してタイミング誤差の情報を作り出します。典型的な早遅ゲート(early-late gate)方式やGardnerのタイミング検出器は、いずれも「信号が変化している瞬間」を手がかりにタイミングを推定する仕組みです。ところが、送信データが長時間0か1のまま連続すると、信号は一定値を保ち続け、遷移が一切発生しません。遷移という手がかりを失ったタイミング再生回路は、次第に自分自身の内部クロックの誤差(ドリフト)だけを頼りに動くことになり、時間とともに真のシンボルタイミングからずれていきます。これがサイクルスリップやタイミングジッタの増大、最悪の場合は同期喪失(unlock)につながります。
もう一つの問題がDC(直流)成分です。NRZ-Lで長い1の連続が続くと、信号 の時間平均(DC成分)がゼロから大きくずれます。これは2つの点で悪影響を及ぼします。
- 多くの受信機フロントエンドはAC結合(直流成分をカットするコンデンサやトランス)を使っており、長時間DCに偏った信号を通すとベースラインが揺れるベースラインワンダーという現象が起きて、判定電圧の基準がずれます。
- PLLで搬送波を追尾する構成では、データ自体のスペクトルがDC付近(あるいは搬送波周波数の直近)に集中すると、残留搬送波の検出・追尾に干渉しうるという問題も生じます。
つまり実データの統計的な偏り(0や1の連続、DCオフセット)は、変調方式や符号化方式そのものとは独立に、受信機の同期性能を静かに劣化させる厄介な要因です。この問題への対処法は「実データがどんな中身であっても、送信直前に統計的に真っ白(遷移密度が高く、DC成分がゼロに近い)なビット列に変換してしまう」というものです。これがスクランブリングの狙いです。
LFSR: 疑似ランダム系列を生成する
スクランブリングの核心は、送信側と受信側があらかじめ合意した、一見ランダムに見える既知の系列(PN系列、Pseudo-Noise sequence)を用意することです。この系列を生成する最も基本的な回路が**LFSR(Linear Feedback Shift Register、線形フィードバックシフトレジスタ)**です。
LFSRは 個のメモリ素子(フリップフロップ)をシフトレジスタとして並べ、その一部の出力を(位数2のガロア体、つまり0と1に対して排他的論理和XORを加算、論理積ANDを乗算とする体)上でXOR演算し、レジスタの先頭に帰還させる回路です。時刻 でのレジスタの状態を とすると、次の状態は
という漸化式で決まります( は 上の加算、すなわちXORです)。この漸化式は、生成多項式(generator polynomial)
によってコンパクトに記述されます。多項式の各項 は「 段目のレジスタをタップ(帰還に使う)するかどうか」に対応し、係数が1であればそのタップを使う、0であれば使わないことを意味します。
生成多項式が**原始多項式(primitive polynomial)であるとき、LFSRは全ゼロ状態を除く 個すべての状態を、初期状態(シード)に応じて一巡し、周期 の系列を出力します。これを最大長系列(m系列, maximum-length sequence)**と呼びます。 段のLFSRから得られるm系列は、統計的に白色雑音に近い自己相関特性を持つことが知られており、
( はPN系列を双極性表現したもの)という、理想的な白色雑音の自己相関(デルタ関数状)に近い性質を持ちます。つまりLFSRの出力は、決定論的なアルゴリズムで生成されているにもかかわらず、統計的には「遷移密度が高く、周波数成分が広く分散した」ランダム系列とほとんど見分けがつかないという性質を持っています。これがスクランブリングに利用される理由です。
スクランブリング: データとPN系列のXOR
スクランブリングの操作そのものは驚くほど単純です。送信したい実データのビット列を 、LFSRが生成するPN系列を とすると、送信側では単にビットごとにXORを取ります。
受信側は、送信側とまったく同じ生成多項式・同じ初期状態から出発した、同期したLFSRを走らせて同じPN系列 を再現し、受信した に対して再びXORを取ります。
上でXORは自分自身と結合すると必ずゼロになる()という性質を持つため、同じ系列を2回XORすれば元に戻ります。これがXORが可逆演算であることの数学的な中身であり、スクランブリング/デスクランブリングの仕組み全体を支えている唯一の事実です。特別な逆変換の回路を用意する必要がなく、送信側と受信側でまったく同じLFSR(同じ生成多項式・同じ初期状態)を走らせるだけで、暗号化のような複雑な鍵管理なしに符号化・復号ができるのがスクランブリングの実装上の利点です。
なぜこれで遷移密度が改善するのかを、確率的に見てみましょう。実データ がどのような統計的な偏りを持っていたとしても(たとえ全ビットが0の連続であっても)、PN系列 が理想的にランダム(0と1をそれぞれ確率 で取る)であれば、
が の確率で0または1を取るなら、 がどんな値であっても
となり、スクランブリング後のビット列は元データの偏りによらず、常に0と1がほぼ等確率で現れる系列に変換されます。これにより連続する同符号ビットの期待長は幾何分布に従う短いものに揃い、平均遷移密度(隣接ビットが異なる確率)も理想的な に近づきます。同時に、時間平均としてのDC成分もゼロに近づき、AC結合回路やベースラインワンダーの問題も緩和されます。
CCSDS標準スクランブラ
実運用では、送信側と受信側が使うLFSRの生成多項式・初期状態(シード)を厳密に規格として固定しておく必要があります。少しでもずれれば の系列が一致せず、デスクランブルは完全に失敗するからです。CCSDSは**CCSDS 131.0-B (TM Synchronization and Channel Coding)**において、テレメトリ用の標準スクランブラを次の生成多項式で規定しています。
これは8段のLFSR(m = 8)で構成され、周期は ビットです。初期状態(シードレジスタの値)もCCSDS勧告書中に16進数で固定値として定義されており、地上局・探査機の双方があらかじめこの初期状態からLFSRを走らせることで、系列の同期を確立します(実運用ではフレーム先頭で毎回LFSRをこの既知の初期状態にリセットするため、フレーム内のどこからでもデスクランブルの基準が明確になります)。
この生成多項式の各項(、そして定数項1)は、8段シフトレジスタのうち5段目・7段目・8段目(および出力へのフィードバック)からタップを取ることに対応しています。周期255ビットは、典型的なCCSDSテレメトリフレーム(数百〜数千ビット)の長さと比べると必ずしも十分長いとは限りませんが、フレーム同期パターン(次々回)などと組み合わせることで、実用上十分な遷移密度・DCフリー性能が確保されるように設計されています。
実務での使われ方
スクランブリングは秘匿性(セキュリティ)のための技術ではありません。 ここが暗号化との決定的な違いです。CCSDSの標準スクランブラの生成多項式・初期状態は勧告書として公開されており、誰でも同じLFSRを実装してデスクランブルできます。目的はあくまで信号処理上の性質(遷移密度・DCフリー性・スペクトルの均一化)を改善することであり、通信内容を第三者から隠すことではありません。実際のミッションでデータの秘匿性が必要な場合は、AESなどの暗号アルゴリズムを、スクランブリングとは別レイヤーで、鍵管理を伴う形で適用します。両者を混同しないことが重要です。
- NASA/JPLおよびESAの深宇宙・地球観測ミッションの多くは、CCSDS 131.0-Bで規定されたこの のスクランブラをテレメトリのダウンリンクに標準的に適用しています。
- スクランブリングは畳み込み符号やLDPC符号などの誤り訂正符号と組み合わせて使われることが多く、多くの場合符号化の前段(情報ビット段階)でスクランブルをかけるか、符号化の後段(符号語段階)でかけるかは規格・ミッションによって選択が異なります。誤り訂正符号自体もビットパターンの偏りに対して性能が変化しうるため、この順序はリンク設計上の検討事項の一つです。
- スクランブリングとフレーム同期(次々回のテーマ)は密接に関係しています。フレーム同期パターン(アタッチド同期マーカー、ASM)は受信機がフレームの先頭を見つけるための既知のビットパターンですが、このマーカー自体は意図的にスクランブルの対象外とすることが一般的です。マーカーが常に固定パターンで送られることで、受信機はスクランブルされたペイロードの手前で確実にフレーム境界を検出でき、そこでLFSRを既知の初期状態にリセットしてデスクランブルを開始できます。
- 深宇宙ミッションに限らず、地上の光ファイバー通信やイーサネットなど、幅広いデジタル通信システムでも同種のスクランブラ(自己同期型スクランブラなど、LFSRの構成が異なるものも含む)が、同じ「遷移密度とDCフリー性の確保」という理由で使われています。
演習問題
- CCSDS標準スクランブラの生成多項式 について、8段のLFSRのどの段(タップ)から帰還を取るか、多項式の各項と段数の対応を示してください。また、このLFSRの周期(最大長系列であるとして)を求めてください。
- 実データが「0が200ビット連続する」区間を含んでいたとします。理想的なPN系列( が独立に確率で0/1を取るとみなせる)とXORした場合、スクランブル後のこの200ビット区間で1ビットあたりが1になる確率、およびその区間の期待遷移回数(隣接ビットが異なる回数の期待値)を求めてください。
- なぜ送信側と受信側のLFSRの初期状態(シード)が1ビットでもずれると、デスクランブルが完全に失敗してしまうのか、 ( はずれた系列)の関係式を使って説明してください。
- スクランブリングと暗号化はどちらも入力ビット列に何らかの系列をXORするという点で似た操作に見えます。両者の目的・鍵管理・公開性の違いを、この回の内容をもとに整理してください。
まとめと次回予告
スクランブリングは、実データの中に潜む「長い0/1の連続」や「DCの偏り」が、シンボル同期ループやAC結合回路にとって深刻な問題になりうるという現実的な課題への対処法です。LFSRが生成する疑似ランダムなPN系列を実データとXORするだけで、上のXORの可逆性を利用して送受信間で完全に元に戻しつつ、統計的には遷移密度の高い「真っ白な」ビット列に変換できます。CCSDS 131.0-Bが規定する という生成多項式は、この仕組みを深宇宙通信の実運用に落とし込んだ具体例です。そして、スクランブリングはあくまで信号処理上の性質改善が目的であり、秘匿性のための暗号化とは目的も鍵管理の考え方もまったく異なるという点が、実務上重要な区別でした。
次回以降では、この回で少し触れたフレーム同期(受信機がスクランブルされたビットストリームの中から、フレームの先頭をどうやって正確に見つけ出すか)を扱っていきます。
参考文献
- CCSDS 131.0-B, TM Synchronization and Channel Coding
- CCSDS 130.0-G, Overview of Space Communications Protocols (Green Book)
- J. H. Yuen (ed.), Deep Space Telecommunications Systems Engineering, JPL Publication 82-76
- B. Sklar, Digital Communications: Fundamentals and Applications, 2nd ed., Prentice Hall
- DSN Telecommunications Link Design Handbook, DSN No. 810-005