1つの衛星トランスポンダの帯域は有限です。しかし、その衛星を利用したい地球局は何十、何百と存在します。限られた衛星リソースを複数のユーザが同時に共有するにはどうすればよいでしょうか?
この問いに答えるのが 多元接続(Multiple Access) 技術です。多元接続は衛星通信に限らず、携帯電話やWi-Fiなど、あらゆる無線通信の根幹をなす概念です。しかし衛星通信には、長い伝搬遅延(GEO衛星で片道約250 ms)、限られたトランスポンダ電力、広大なカバレッジエリアといった固有の制約があり、多元接続方式の選択が地上通信以上にシステム性能を左右します。
多元接続を理解すると、以下のような場面で強力な武器になります。
- 衛星回線設計: トランスポンダの帯域と電力を複数ユーザに最適配分する際の理論的基盤
- 通信システムのトレードオフ分析: DVB-S2/DVB-RCS2 などの実規格で、なぜ特定の方式が採用されているかを定量的に理解できる
- 次世代衛星通信(HTS/LEOコンステレーション)の設計思想: 周波数再利用やビームホッピングの背景にある多元接続理論を把握できる
本記事の内容
- 多元接続の基本概念と衛星通信における位置づけ
- FDMA・TDMA・CDMAの原理と数学的モデル
- 各方式の回線容量計算と比較
- DAMA(デマンドアサイン)方式
- 現代の衛星通信規格における使い分け
- Pythonによる周波数-時間図の可視化と容量比較シミュレーション
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
多元接続とは
多重化との違い
まず「多元接続(Multiple Access)」と「多重化(Multiplexing)」の違いを明確にしておきましょう。日常のアナロジーで考えると、違いがはっきりします。
多重化は、1つの送信側が複数の信号をまとめて送る技術です。たとえば、テレビ局が1本の放送電波に複数チャンネルを詰め込むイメージです。送信側が全体を制御しているため、信号の割当てを一元管理できます。
一方、多元接続は、複数の独立した送信局が1つの共有リソースにアクセスする技術です。たとえば、複数の地球局がそれぞれ独自のタイミングで1つの衛星トランスポンダに向けて送信する場面を想像してください。各局は互いの信号を直接制御できないため、衝突を防ぐルール(プロトコル)が必要です。
衛星通信では、アップリンク(地球局 → 衛星)で多元接続が本質的な役割を果たします。複数の地球局がそれぞれ独立に衛星に信号を送り、衛星のトランスポンダで中継されるからです。
衛星トランスポンダと多元接続
衛星のトランスポンダは、アップリンク信号を受信し、周波数を変換して増幅し、ダウンリンクとして再送信する中継器です。典型的なトランスポンダの帯域幅は 36 MHz や 54 MHz、72 MHz などです。
トランスポンダの主な制約は次の2つです。
- 帯域幅制約: トランスポンダが通過させられる周波数範囲には上限がある
- 電力制約: トランスポンダの進行波管増幅器(TWTA)が出力できる電力には上限がある
多元接続方式の選択は、この2つの有限リソースをいかに効率よく複数ユーザに配分するかという最適化問題に帰着します。
リソースの分割軸には主に3つあります。周波数で分けるか、時間で分けるか、符号で分けるか。この3つの軸がそのまま FDMA・TDMA・CDMA の3大方式に対応します。それでは、各方式を順番に見ていきましょう。
FDMA(周波数分割多元接続)
基本原理
FDMA(Frequency Division Multiple Access)は、最も直感的な多元接続方式です。大きなホールを仕切り壁で小部屋に分けるように、トランスポンダの帯域幅を複数の周波数チャネルに分割し、各ユーザに1つのチャネルを割り当てます。
各ユーザは割り当てられた周波数帯で常時送信できます。異なるユーザの信号は異なる周波数帯を使っているため、受信側でバンドパスフィルタを用いて目的の信号だけを取り出せます。
FDMAの特徴は次の通りです。
- 各ユーザは固有の周波数帯を占有する
- 送信は連続的(常時接続)
- 地球局の送信電力は比較的小さくてよい(帯域が狭いため)
- 地球局の装置が比較的シンプル
ガードバンド
隣接するチャネル間で信号が干渉しないよう、チャネルの間にガードバンドと呼ばれる未使用の周波数帯を設ける必要があります。
トランスポンダの総帯域幅を $B_T$、各チャネルの帯域幅を $B_c$、ガードバンドの幅を $B_g$ とすると、収容可能なチャネル数 $N$ は次のようになります。
$$ N = \left\lfloor \frac{B_T}{B_c + B_g} \right\rfloor $$
ガードバンドは帯域幅のオーバーヘッドであり、チャネル数が増えるほどガードバンドの総量が増えて帯域効率が低下します。たとえば $B_T = 36$ MHz、$B_c = 45$ kHz、$B_g = 5$ kHz のとき、チャネル数は $\lfloor 36{,}000 / 50 \rfloor = 720$ チャネルです。ガードバンドにより帯域の 10% が無駄になっています。
相互変調歪み
FDMAでは、複数のキャリアが同時にトランスポンダの増幅器(TWTA)に入力されます。TWTAは完全な線形素子ではないため、複数のキャリアが非線形領域で増幅されると相互変調歪み(Intermodulation Distortion: IMD)が発生します。
2つの周波数 $f_1$ と $f_2$ が非線形増幅器に入力されると、出力には $f_1$ と $f_2$ だけでなく、3次相互変調積 $2f_1 – f_2$ や $2f_2 – f_1$ が生じます。これらの相互変調積が他のチャネルの帯域内に落ちると、干渉雑音として通信品質を劣化させます。
非線形増幅器の入出力特性を3次までの多項式で近似します。入力信号 $x(t)$ に対する出力 $y(t)$ は次のようにモデル化できます。
$$ y(t) = a_1 x(t) + a_2 x^2(t) + a_3 x^3(t) $$
2つの正弦波入力 $x(t) = A_1 \cos(2\pi f_1 t) + A_2 \cos(2\pi f_2 t)$ を代入すると、3次の項 $a_3 x^3(t)$ を展開する過程で $2f_1 – f_2$ や $2f_2 – f_1$ の周波数成分が現れます。
具体的に $x^3(t)$ を展開しましょう。まず三角関数の積和公式を使います。
$$ \cos^3\theta = \frac{3}{4}\cos\theta + \frac{1}{4}\cos 3\theta $$
また、異なる周波数の積については次の関係を用います。
$$ \cos\alpha \cdot \cos^2\beta = \frac{1}{2}\cos\alpha + \frac{1}{4}\cos(\alpha + 2\beta) + \frac{1}{4}\cos(\alpha – 2\beta) $$
この展開の結果、3次相互変調積の振幅は $\frac{3}{4}a_3 A_1^2 A_2$($2f_1 – f_2$ 成分)や $\frac{3}{4}a_3 A_1 A_2^2$($2f_2 – f_1$ 成分)に比例します。
相互変調歪みを軽減するには、TWTAの動作点を飽和点から引き下げる出力バックオフ(OBO)を適用します。バックオフの大きさを $\mathrm{OBO}$(dB)とすると、有効送信電力は次のように低下します。
$$ P_{\text{eff}} = P_{\text{sat}} – \mathrm{OBO} \quad [\text{dBW}] $$
ここで $P_{\text{sat}}$ はTWTAの飽和出力です。
バックオフを大きくとれば相互変調歪みは減りますが、トランスポンダの有効電力が低下するというトレードオフがあります。FDMAでは一般に 3〜6 dB のバックオフが必要とされます。
FDMA の回線容量
FDMAにおけるトランスポンダあたりのユーザ数(容量)は、帯域幅制約と電力制約の両方から制限されます。
帯域幅制約による最大ユーザ数は、先ほど示した式のとおりです。
$$ N_{\text{BW}} = \left\lfloor \frac{B_T}{B_c + B_g} \right\rfloor $$
電力制約による最大ユーザ数を求めるには、まず1チャネルあたりの所要 $C/N_0$(搬送波対雑音電力密度比)を回線設計(リンクバジェット)から算出します。トランスポンダの総電力を $P_T$、バックオフを $\mathrm{OBO}$(真数)とすると、1ユーザあたりに配分できる電力は次のようになります。
$$ P_u = \frac{P_T / \mathrm{OBO}}{N} $$
各ユーザの所要 $C/N_0$ を $[C/N_0]_{\text{req}}$ とすれば、電力制約による最大ユーザ数は次の不等式から求まります。
$$ N_{\text{PW}} = \left\lfloor \frac{P_T / \mathrm{OBO}}{P_{u,\text{min}}} \right\rfloor $$
最終的なFDMA容量は、帯域幅制約と電力制約の小さい方で決まります。
$$ N_{\text{FDMA}} = \min(N_{\text{BW}}, N_{\text{PW}}) $$
FDMAの原理と限界が見えてきました。特に相互変調歪みの問題は、複数キャリアが同時に増幅器を通るFDMA固有の弱点です。この問題を回避する方法はないでしょうか? 1つの解決策は、トランスポンダに入力するキャリアを常に1つだけにすることです。これがTDMAの基本的な考え方です。
TDMA(時分割多元接続)
基本原理
TDMA(Time Division Multiple Access)は、トランスポンダの全帯域幅をすべてのユーザで共有し、時間で利用権を分割する方式です。
レストランのテーブル予約にたとえると、FDMAは「テーブルを小さく仕切って各客に1つずつ割り当てる」のに対し、TDMAは「大きなテーブルはそのまま使い、時間帯を区切って順番に利用する」方式です。各客はテーブルの全面を使えますが、使える時間は限られます。
TDMAでは、時間軸をフレームに分割し、さらにフレームをタイムスロットに分割します。各ユーザは自分に割り当てられたタイムスロットの間だけ、トランスポンダの全帯域幅を使ってバースト送信します。自分のスロット以外の時間は送信を停止します。
フレーム構造
TDMAのフレームは次の要素で構成されます。
- リファレンスバースト: フレームの先頭に配置され、フレーム同期やタイミング情報を提供
- トラフィックバースト: 各ユーザのデータを含むスロット
- ガードタイム: 隣接するバースト間の時間的余裕。伝搬遅延の変動やクロック誤差を吸収する
フレーム長を $T_f$、リファレンスバーストの時間を $T_r$、ガードタイムを $T_g$、ユーザ数を $N$ とすると、1ユーザあたりのトラフィックスロット時間 $T_s$ は次のようになります。
$$ T_s = \frac{T_f – T_r – N \cdot T_g}{N} $$
この式を整理すると、フレーム効率 $\eta_f$ が求まります。フレーム効率とは、フレーム全体の時間のうち実際にデータ伝送に使われる割合です。
$$ \eta_f = \frac{N \cdot T_s}{T_f} = 1 – \frac{T_r + N \cdot T_g}{T_f} $$
ユーザ数 $N$ が増えるほどガードタイムのオーバーヘッドが増加し、フレーム効率が低下することがわかります。これはFDMAにおけるガードバンドと同じ構造の問題です。
バースト送信と所要電力
TDMAの重要な特徴は、各ユーザがバースト的に送信するため、瞬時のビットレートが連続送信時よりも高くなる点です。
あるユーザの情報ビットレートを $R_i$(連続的に送りたいデータ量に対応する値)とします。しかしTDMAではフレームのうち自分のタイムスロットの間だけ送信するので、その短い時間に $T_f$ 全体分のデータを詰め込む必要があります。したがって、バースト時のビットレート $R_b$ は次のように増加します。
$$ R_b = R_i \cdot \frac{T_f}{T_s} = R_i \cdot \frac{N}{\eta_f} $$
バーストビットレートが高いということは、各ビットの持続時間が短くなるため、同じビット誤り率(BER)を維持するには、バースト送信中の瞬時電力を高くする必要があります。ただし、時間平均で見れば、TDMAの送信電力はFDMAとほぼ同等になります。
TDMAの利点
TDMAには、FDMAにはない重要な利点があります。
1. 相互変調歪みが発生しない: 任意の瞬間にトランスポンダを通過するキャリアは原則として1つだけです。そのため、TWTAを飽和点近くで動作させることができ、出力バックオフが不要(または非常に小さい)です。これにより、トランスポンダの電力効率が大幅に向上します。
2. デジタル処理との親和性: TDMAはバースト的なデジタル信号を扱うため、デジタル信号処理技術(符号化、暗号化、圧縮)との統合が容易です。
3. 柔軟な帯域割当て: タイムスロットの長さをユーザごとに変えることで、需要に応じた帯域配分が可能です。
TDMA の回線容量
TDMAの容量計算を行いましょう。トランスポンダの全帯域幅 $B_T$ をTDMAで使用する場合、トランスポンダのシンボルレート $R_s$ はロールオフ率 $\alpha$ を用いて次のようになります。
$$ R_s = \frac{B_T}{1 + \alpha} $$
フレーム効率 $\eta_f$ を考慮した実効ビットレートは、変調方式のビット数を $m$(QPSKなら $m=2$)、符号化率を $r$ とすると次のようになります。
$$ R_{\text{total}} = R_s \cdot m \cdot r \cdot \eta_f $$
1ユーザあたりの所要ビットレートを $R_i$ とすると、収容可能なユーザ数は次のようになります。
$$ N_{\text{TDMA}} = \left\lfloor \frac{R_{\text{total}}}{R_i} \right\rfloor = \left\lfloor \frac{B_T \cdot m \cdot r \cdot \eta_f}{(1+\alpha) \cdot R_i} \right\rfloor $$
TDMAでは出力バックオフがほぼ不要なため、同じトランスポンダ電力でもFDMAより有効に使えます。この電力効率の優位性が、TDMAが衛星通信で広く採用される理由の一つです。
FDMAとTDMAは、いずれもユーザ間の直交性(周波数的な分離または時間的な分離)によって多元接続を実現しています。では、直交性を使わずに全ユーザが同じ周波数・同じ時間で同時に送信する方法はないのでしょうか? 実は、符号という第3の次元を使えばそれが可能です。
CDMA(符号分割多元接続)
基本原理
CDMA(Code Division Multiple Access)は、すべてのユーザが同じ周波数帯域で同時に送信しますが、各ユーザに固有の拡散符号(スプレッディングコード)を割り当てることで信号を区別する方式です。
パーティー会場で多くの人が同時に話している場面を想像してください。FDMAは「各人が異なるピッチ(周波数)の声で話す」方式、TDMAは「順番に1人ずつ話す」方式です。CDMAは「全員が同時に話すが、各人が異なる言語を使っている」方式にたとえられます。目的の言語だけを聞き取れるリスナー(相関器)がいれば、他の言語は雑音として無視できます。
スペクトル拡散と処理利得
CDMAの基盤技術はスペクトル拡散です。各ユーザのデータ信号(ビットレート $R_b$)に、データよりもはるかに高速な拡散符号(チップレート $R_c$)を乗算します。
データビット $d(t) \in \{-1, +1\}$ と拡散符号 $c(t)$(チップ列)の積が送信信号となります。
$$ s(t) = d(t) \cdot c(t) \cdot \cos(2\pi f_c t) $$
ここで $f_c$ はキャリア周波数です。
拡散前の信号帯域幅は約 $R_b$ ですが、拡散後の帯域幅は約 $R_c$ に広がります。$R_c \gg R_b$ であるため、信号は元のデータ帯域幅よりもはるかに広い帯域に「拡散」されます。
この拡散と逆拡散の過程で得られる信号対雑音比の改善量を処理利得(Processing Gain) $G_p$ と呼びます。処理利得はチップレートとビットレートの比で定義されます。
$$ G_p = \frac{R_c}{R_b} = \frac{B_{ss}}{R_b} $$
ここで $B_{ss}$ は拡散後の信号帯域幅です。処理利得をdBで表すと次のようになります。
$$ G_p \,[\text{dB}] = 10 \log_{10}\left(\frac{R_c}{R_b}\right) $$
たとえば $R_c = 1.2288$ Mchip/s、$R_b = 9.6$ kbps の場合、処理利得は次のとおりです。
$$ G_p = \frac{1{,}228{,}800}{9{,}600} = 128 = 21.1 \text{ dB} $$
これは、逆拡散により他のユーザからの干渉が約128分の1に抑圧されることを意味します。
拡散符号の性質
CDMA が正しく動作するには、拡散符号が以下の性質を持つ必要があります。
自己相関特性: 符号 $c_i$ の自己相関関数はゼロシフトで鋭いピークを持ち、それ以外のシフトではほぼゼロになる必要があります。
$$ R_{c_i}(\tau) = \int_{-\infty}^{\infty} c_i(t) c_i(t+\tau) \, dt = \begin{cases} L & (\tau = 0) \\ \approx 0 & (\tau \neq 0) \end{cases} $$
ここで $L$ は符号長(1データビットあたりのチップ数)です。
相互相関特性: 異なるユーザの符号 $c_i$ と $c_j$ の相互相関はできるだけ小さい必要があります。
$$ R_{c_i c_j}(\tau) = \int_{-\infty}^{\infty} c_i(t) c_j(t+\tau) \, dt \approx 0 \quad (i \neq j, \forall \tau) $$
理想的には全ての相互相関がゼロ(完全直交)ですが、実際にはウォルシュ・アダマール符号(同期CDMAで直交)やゴールド符号(非同期CDMAで低相互相関)が使われます。
CDMA の逆拡散と干渉
受信側での逆拡散の過程を数式で追ってみましょう。$K$ 人のユーザがいるとき、受信信号 $r(t)$ は全ユーザの信号の重ね合わせです。
$$ r(t) = \sum_{k=1}^{K} A_k d_k(t) c_k(t) \cos(2\pi f_c t) + n(t) $$
ここで $A_k$ はユーザ $k$ の受信振幅、$n(t)$ は熱雑音です。
ユーザ1の信号を復調するため、受信信号にユーザ1の拡散符号 $c_1(t)$ を乗じて相関をとります。1ビット区間 $T_b$ での相関出力は次のとおりです。
$$ z_1 = \frac{1}{T_b}\int_0^{T_b} r(t) \cdot c_1(t) \cdot \cos(2\pi f_c t) \, dt $$
この積分を展開すると、拡散符号の自己相関と相互相関の性質から、次のように分離されます。
まず、ユーザ1自身の成分(目的信号)は、$c_1(t) \cdot c_1(t) = 1$ の性質を用いて次のようになります。
$$ z_{\text{signal}} = \frac{A_1 d_1}{2} $$
次に、他のユーザ $k \neq 1$ からの干渉成分は、相互相関 $\rho_{1k}$ を用いて次のように表されます。
$$ z_{\text{MAI}} = \sum_{k=2}^{K} \frac{A_k d_k}{2} \rho_{1k} $$
ここで $\rho_{1k} = \frac{1}{L}\sum_{n=0}^{L-1} c_1[n] c_k[n]$ は正規化された相互相関値です。
この $z_{\text{MAI}}$ は多元接続干渉(Multiple Access Interference: MAI)と呼ばれ、CDMAの容量を制限する主要因です。
CDMA の回線容量
CDMAの容量は、MAIによる干渉雑音が許容値以下であるという条件から導かれます。
$K$ ユーザのCDMAシステムで、ユーザ1の信号対干渉・雑音比(SINR)は次のように表されます。
$$ \text{SINR}_1 = \frac{E_b / N_0}{1 + (K-1) \cdot \frac{E_b}{N_0} \cdot \frac{1}{G_p}} $$
ここで $E_b/N_0$ はビットエネルギー対雑音電力密度比です。この式は、ユーザ数 $K$ が増えるほどSINRが低下し、通信品質が劣化することを示しています。
所要BERを達成するために必要な最小SINR を $\gamma_{\text{req}}$ とすると、容量の上限は次の不等式から求まります。
$$ \gamma_{\text{req}} \leq \frac{E_b / N_0}{1 + (K-1) / G_p} $$
この式を $K$ について解きましょう。まず両辺の逆数をとると次のようになります。
$$ \frac{1}{\gamma_{\text{req}}} \geq \frac{1 + (K-1)/G_p}{E_b/N_0} $$
$E_b/N_0$ を掛けて移項すると次のようになります。
$$ \frac{E_b/N_0}{\gamma_{\text{req}}} – 1 \geq \frac{K-1}{G_p} $$
最終的に $K$ について整理すると、CDMAの最大ユーザ数は次のように求まります。
$$ K_{\text{max}} = 1 + G_p \left(\frac{E_b/N_0}{\gamma_{\text{req}}} – 1\right) $$
簡略化のため $E_b/N_0 \gg \gamma_{\text{req}}$ と仮定し、$\gamma_{\text{req}} \approx E_b/N_0 / (1 + (K-1)/G_p)$ の近似を使うと、実用的な容量の近似式が得られます。
$$ K_{\text{CDMA}} \approx 1 + \frac{G_p}{E_b/N_0 |_{\text{req}}} $$
ここで $E_b/N_0|_{\text{req}}$ は所要BERに対応する $E_b/N_0$ です。
さらに、音声通信のようにトラフィックに無音区間がある場合、音声アクティビティファクタ $v$(通常 $v \approx 0.4$)を考慮すると、容量は次のように向上します。
$$ K_{\text{CDMA}} \approx 1 + \frac{G_p}{v \cdot E_b/N_0 |_{\text{req}}} $$
ここまでの3つの方式は、いずれもリソース(周波数・時間・符号)を事前に固定的に割り当てる方式でした。しかし、トラフィックが時間的に変動する現実の通信では、需要に応じて動的にリソースを割り当てる方が効率的です。この考え方がDAMAです。
DAMA(デマンドアサイン多元接続)
基本概念
DAMA(Demand Assignment Multiple Access)は、固定割当て方式(PAMA: Pre-Assignment Multiple Access)の対になる概念です。PAMAでは各ユーザに常時リソースが割り当てられますが、実際のトラフィックには波があります。通話をしていない時間帯もリソースが占有されるため、効率が悪くなります。
DAMAでは、ユーザが通信を開始したいときにリソースを要求し、中央制御局(またはネットワーク管理システム)が空きリソースを動的に割り当てます。通信が終了するとリソースは解放され、他のユーザに再割当てされます。
これは電話交換のモデルそのものです。固定電話の時代、交換手が空き回線を探して接続していたのと同じ原理がDAMAです。
DAMA の方式
DAMAは FDMA、TDMA のいずれとも組み合わせることができます。
FDMA-DAMA(SCPC-DAMA): 周波数チャネルのプールを用意し、通信開始時にプールから空きチャネルを割り当てます。SCPC(Single Channel Per Carrier)方式とも呼ばれます。衛星電話(Inmarsat-B 等)で採用されてきました。
TDMA-DAMA: タイムスロットのプールを用意し、需要に応じてスロットを割り当てます。MF-TDMA(Multi-Frequency TDMA)と組み合わせることで、周波数と時間の両方の次元で動的割当てが可能になります。DVB-RCS2 で採用されています。
DAMA の容量効率
DAMAの容量利得を定量的に評価するために、アーランの損失公式(アーランB式)を用います。$N$ チャネルのシステムにトラフィック強度 $A$(アーラン)が流入するとき、呼損率(ブロッキング確率)$P_B$ は次のとおりです。
$$ P_B = \frac{A^N / N!}{\sum_{k=0}^{N} A^k / k!} $$
ここで $A = \lambda \cdot h$ はトラフィック強度、$\lambda$ は呼の到着率(呼/秒)、$h$ は平均保留時間(秒)です。
固定割当て(PAMA)では、全 $M$ ユーザに常に1チャネルずつ割り当てるため $M = N$ チャネルが必要です。一方DAMAでは、同時通話者数の統計的性質を利用して $N < M$ でサービスを提供できます。
たとえば $M = 100$ ユーザ、ユーザあたり $0.1$ アーラン(平均して時間の 10% を通話に使用)とすると、トラフィック強度は $A = 10$ アーランです。許容呼損率 $P_B = 2\%$ のとき、アーランB式から必要なチャネル数は約 $N = 17$ と求まります。PAMAでは100チャネル必要なところ、DAMAでは17チャネルで足りるのです。この比率をトランキング効率と呼び、ユーザ数が多いほど統計的多重化の効果が大きくなります。
DAMAの仕組みを理解したところで、ここまでに学んだ各方式の容量を定量的に比較してみましょう。
各方式の回線容量比較
統一的な比較条件
公平な比較のために、以下のシステムパラメータを統一します。
| パラメータ | 値 |
|---|---|
| トランスポンダ帯域幅 $B_T$ | 36 MHz |
| トランスポンダ飽和電力 $P_{\text{sat}}$ | 20 W(43 dBm) |
| ユーザあたり情報ビットレート $R_i$ | 64 kbps |
| 変調方式 | QPSK($m = 2$) |
| 符号化率 $r$ | 1/2 |
| ロールオフ率 $\alpha$ | 0.35 |
| 所要 $E_b/N_0$ | 5 dB(BER = $10^{-5}$、符号化後) |
FDMA の容量計算
FDMAでは、1チャネルの所要帯域幅は次のとおりです。
まず、1チャネルのシンボルレート $R_s$ を求めます。情報ビットレート $R_i = 64$ kbps、符号化率 $r = 1/2$ としたとき、符号化後のビットレートは $R_i / r = 128$ kbps です。QPSK($m=2$)では1シンボルで2ビット運ぶので、シンボルレートは次のようになります。
$$ R_s = \frac{R_i}{r \cdot m} = \frac{64{,}000}{0.5 \times 2} = 64{,}000 \text{ symbols/s} = 64 \text{ ksps} $$
ロールオフ率 $\alpha = 0.35$ を考慮した1チャネルの所要帯域幅は次のとおりです。
$$ B_c = R_s(1 + \alpha) = 64{,}000 \times 1.35 = 86.4 \text{ kHz} $$
ガードバンドを $B_g = 10$ kHz とすると、帯域幅制約による最大チャネル数は次のようになります。
$$ N_{\text{FDMA}} = \left\lfloor \frac{36{,}000}{86.4 + 10} \right\rfloor = \left\lfloor \frac{36{,}000}{96.4} \right\rfloor = 373 $$
ただし、FDMAでは出力バックオフ(OBO = 5 dB)が必要なので、有効電力は $20 / 3.16 \approx 6.3$ W に低下します。電力制約がきつい場合は、さらにユーザ数が制限されます。
TDMA の容量計算
TDMAでは、トランスポンダの全帯域幅 $B_T = 36$ MHz を使います。総シンボルレートは次のとおりです。
$$ R_s = \frac{B_T}{1 + \alpha} = \frac{36 \times 10^6}{1.35} \approx 26.67 \text{ Msps} $$
総ビットレートは、変調方式と符号化率を適用すると次のようになります。
$$ R_{\text{total}} = R_s \cdot m \cdot r = 26.67 \times 10^6 \times 2 \times 0.5 = 26.67 \text{ Mbps} $$
フレーム効率 $\eta_f = 0.95$(一般的な値)を考慮すると、実効ビットレートは次のとおりです。
$$ R_{\text{eff}} = R_{\text{total}} \times \eta_f = 26.67 \times 0.95 = 25.33 \text{ Mbps} $$
したがってTDMAの容量は次のようになります。
$$ N_{\text{TDMA}} = \left\lfloor \frac{25.33 \times 10^6}{64{,}000} \right\rfloor = 395 $$
TDMAではOBOが不要なので、トランスポンダ電力をフルに使えます。
CDMA の容量計算
CDMAでは、拡散帯域幅 $B_{ss} = B_T = 36$ MHz とし、処理利得は次のとおりです。
$$ G_p = \frac{B_{ss}}{R_b} = \frac{36 \times 10^6}{64{,}000} = 562.5 \approx 27.5 \text{ dB} $$
所要 $E_b/N_0 = 5$ dB(真数で 3.16)とすると、CDMAの容量近似は次のようになります。
$$ K_{\text{CDMA}} \approx 1 + \frac{G_p}{E_b/N_0|_{\text{req}}} = 1 + \frac{562.5}{3.16} \approx 179 $$
音声アクティビティファクタ $v = 0.4$ を考慮すると次のようになります。
$$ K_{\text{CDMA, voice}} \approx 1 + \frac{562.5}{0.4 \times 3.16} \approx 446 $$
ただし、これは理論上限であり、実際にはパワーコントロールの不完全性やセクタ化の効果などで変動します。データ通信($v = 1.0$)の場合は約179ユーザとなり、FDMAやTDMAより少なくなります。
容量比較のまとめ
| 方式 | 容量(チャネル数) | 主なオーバーヘッド | バックオフ |
|---|---|---|---|
| FDMA | 373 | ガードバンド、相互変調歪み | 5 dB |
| TDMA | 395 | ガードタイム、フレーム同期 | 0〜1 dB |
| CDMA(データ) | 179 | MAI | 不要 |
| CDMA(音声, $v=0.4$) | 446 | MAI | 不要 |
この比較から、以下のことが読み取れます。
- データ通信: TDMAが最も容量効率が高い。CDMAはMAIの影響で容量が制限される
- 音声通信: CDMAが音声アクティビティファクタの恩恵を受けて最大容量を達成する可能性がある
- FDMAとTDMAの差: OBOの有無が決定的。FDMAの相互変調歪み対策としてのOBOが容量を制限する
数値で比較ができたところで、これをPythonで可視化して直感的に理解しましょう。
Pythonによる可視化
周波数-時間図による各方式の比較
まず、FDMA・TDMA・CDMAの動作原理を周波数-時間図(リソースグリッド)で可視化します。各方式がどのようにリソースを分割しているかを一目で理解できる図です。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
fig, axes = plt.subplots(1, 3, figsize=(16, 5))
colors = ['#e74c3c', '#3498db', '#2ecc71', '#f39c12', '#9b59b6']
user_labels = [f'User {i+1}' for i in range(5)]
n_users = 5
# --- FDMA ---
ax = axes[0]
ax.set_title('FDMA', fontsize=14, fontweight='bold')
ax.set_xlabel('Time')
ax.set_ylabel('Frequency')
for i in range(n_users):
# 各ユーザが異なる周波数帯を常時占有
rect = mpatches.FancyBboxPatch(
(0.05, i * 0.18 + 0.05), 0.9, 0.14,
boxstyle="round,pad=0.01", facecolor=colors[i], alpha=0.7,
edgecolor='white', linewidth=1.5
)
ax.add_patch(rect)
ax.text(0.5, i * 0.18 + 0.12, user_labels[i],
ha='center', va='center', fontsize=9, color='white', fontweight='bold')
# ガードバンド(灰色の細い帯)
if i < n_users - 1:
guard = mpatches.Rectangle(
(0.05, (i+1) * 0.18 + 0.02), 0.9, 0.03,
facecolor='gray', alpha=0.3
)
ax.add_patch(guard)
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax.set_xticks([])
ax.set_yticks([])
# --- TDMA ---
ax = axes[1]
ax.set_title('TDMA', fontsize=14, fontweight='bold')
ax.set_xlabel('Time')
ax.set_ylabel('Frequency')
slot_width = 0.16
for i in range(n_users):
# 各ユーザが異なる時間スロットで全帯域を使用
rect = mpatches.FancyBboxPatch(
(i * slot_width + 0.08, 0.05), slot_width - 0.02, 0.85,
boxstyle="round,pad=0.01", facecolor=colors[i], alpha=0.7,
edgecolor='white', linewidth=1.5
)
ax.add_patch(rect)
ax.text(i * slot_width + 0.08 + (slot_width - 0.02)/2, 0.475,
user_labels[i], ha='center', va='center', fontsize=8,
color='white', fontweight='bold', rotation=90)
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax.set_xticks([])
ax.set_yticks([])
# --- CDMA ---
ax = axes[2]
ax.set_title('CDMA', fontsize=14, fontweight='bold')
ax.set_xlabel('Time')
ax.set_ylabel('Frequency')
# 全ユーザが同じ周波数・時間を共有(重ね合わせで表現)
for i in range(n_users):
rect = mpatches.FancyBboxPatch(
(0.05, 0.05), 0.9, 0.85,
boxstyle="round,pad=0.01", facecolor=colors[i],
alpha=0.15, edgecolor=colors[i], linewidth=1.5
)
ax.add_patch(rect)
ax.text(0.5, 0.5, 'All Users\n(different codes)',
ha='center', va='center', fontsize=11, fontweight='bold',
color='#2c3e50',
bbox=dict(boxstyle='round', facecolor='white', alpha=0.8))
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax.set_xticks([])
ax.set_yticks([])
plt.tight_layout()
plt.savefig('multiple_access_resource_grid.png', dpi=150, bbox_inches='tight')
plt.show()
この図から、3つの方式の本質的な違いが一目で理解できます。FDMAは周波数軸方向にリソースを分割し、各ユーザが時間軸全体を使っています。TDMAは時間軸方向にリソースを分割し、各ユーザが周波数軸全体を使っています。CDMAは周波数も時間もすべて共有し、符号(図には直接現れない第3の次元)で分離しています。FDMAとTDMAは「リソースを物理的に仕切る」直交方式であるのに対し、CDMAは「空間全体を共有しつつ符号で区別する」非直交的な方式であることが視覚的にわかります。
リソースの分割方法の違いが明確になったところで、次にこの違いが収容ユーザ数にどう影響するかを定量的にシミュレーションします。
容量比較のシミュレーション
次に、ユーザあたりのビットレートを変化させたときの各方式の収容ユーザ数を比較します。
import numpy as np
import matplotlib.pyplot as plt
# システムパラメータ
B_T = 36e6 # トランスポンダ帯域幅 [Hz]
alpha = 0.35 # ロールオフ率
m = 2 # QPSK: 2 bits/symbol
r_code = 0.5 # 符号化率
EbN0_req_dB = 5.0 # 所要 Eb/N0 [dB]
EbN0_req = 10**(EbN0_req_dB / 10) # 真数
OBO_dB = 5.0 # FDMA用出力バックオフ [dB]
OBO_lin = 10**(OBO_dB / 10)
eta_frame = 0.95 # TDMAフレーム効率
B_guard_ratio = 0.1 # FDMAガードバンド比率(チャネル帯域の10%)
# ユーザあたりビットレートの範囲
R_i = np.linspace(16e3, 512e3, 200) # 16 kbps ~ 512 kbps
# --- FDMA容量 ---
R_s_fdma = R_i / (r_code * m) # 各チャネルのシンボルレート
B_c = R_s_fdma * (1 + alpha) # チャネル帯域幅
B_g = B_c * B_guard_ratio # ガードバンド
N_fdma = np.floor(B_T / (B_c + B_g))
# --- TDMA容量 ---
R_s_total = B_T / (1 + alpha) # 総シンボルレート
R_total = R_s_total * m * r_code * eta_frame # 実効ビットレート
N_tdma = np.floor(R_total / R_i)
# --- CDMA容量(データ通信, v=1.0)---
G_p = B_T / R_i # 処理利得(拡散帯域 = トランスポンダ帯域と仮定)
N_cdma_data = 1 + G_p / EbN0_req
# --- CDMA容量(音声通信, v=0.4)---
v_voice = 0.4
N_cdma_voice = 1 + G_p / (v_voice * EbN0_req)
# プロット
fig, ax = plt.subplots(figsize=(10, 6))
R_i_kbps = R_i / 1e3
ax.plot(R_i_kbps, N_fdma, 'r-', linewidth=2, label='FDMA')
ax.plot(R_i_kbps, N_tdma, 'b-', linewidth=2, label='TDMA')
ax.plot(R_i_kbps, N_cdma_data, 'g--', linewidth=2, label='CDMA (data, v=1.0)')
ax.plot(R_i_kbps, N_cdma_voice, 'g-', linewidth=2, label='CDMA (voice, v=0.4)')
ax.set_xlabel('User Information Rate [kbps]', fontsize=12)
ax.set_ylabel('Number of Users per Transponder', fontsize=12)
ax.set_title('Multiple Access Capacity Comparison\n(36 MHz Transponder, QPSK, r=1/2)', fontsize=13)
ax.legend(fontsize=11, loc='upper right')
ax.grid(True, alpha=0.3)
ax.set_xlim(16, 512)
ax.set_ylim(0, 1200)
ax.set_xscale('log')
# 64 kbps の位置に垂直線
ax.axvline(x=64, color='gray', linestyle=':', alpha=0.5)
ax.text(68, 1100, '64 kbps', fontsize=9, color='gray')
plt.tight_layout()
plt.savefig('capacity_comparison.png', dpi=150, bbox_inches='tight')
plt.show()
このグラフから、いくつかの重要な傾向が読み取れます。
-
低ビットレート領域(16〜64 kbps)ではCDMA(音声)が最大容量を示す: 処理利得 $G_p$ が大きくなるため、音声アクティビティファクタとの相乗効果で多くのユーザを収容できます。これが衛星電話や軍事通信でCDMAが採用される理由の一つです。
-
中〜高ビットレート領域(128 kbps以上)ではTDMAが優位: ビットレートが上がるとCDMAの処理利得が低下し、容量が急減します。一方、TDMAはビットレートに対して線形に容量が減少するだけです。衛星インターネットサービスでTDMA系の方式が主流である理由がここにあります。
-
FDMAはTDMAより常にやや劣る: OBOとガードバンドのオーバーヘッドが効いています。両者の差はOBOの大きさに依存し、OBOが大きいほどFDMAは不利になります。
-
CDMAのデータ通信($v=1.0$)は全域で最も容量が小さい: 音声のような統計的多重化の恩恵がないため、MAIが容量を強く制限します。
ここまでの比較ではフレーム効率やDAMAの効果を固定値として扱いました。次に、これらのパラメータが容量にどれだけ影響するかを詳しく見ていきます。
フレーム効率の影響
TDMAのフレーム効率がユーザ数に依存することを可視化します。
import numpy as np
import matplotlib.pyplot as plt
# TDMAフレームパラメータ
T_f = 2e-3 # フレーム長 [s] = 2 ms
T_r = 50e-6 # リファレンスバースト [s]
T_g_values = [1e-6, 5e-6, 10e-6, 20e-6] # ガードタイム [s]
N_users = np.arange(1, 201)
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))
for T_g in T_g_values:
eta = 1 - (T_r + N_users * T_g) / T_f
eta = np.maximum(eta, 0)
label = f'Guard time = {T_g*1e6:.0f} μs'
ax1.plot(N_users, eta * 100, linewidth=2, label=label)
ax1.set_xlabel('Number of Users', fontsize=12)
ax1.set_ylabel('Frame Efficiency [%]', fontsize=12)
ax1.set_title('TDMA Frame Efficiency vs Number of Users', fontsize=13)
ax1.legend(fontsize=10)
ax1.grid(True, alpha=0.3)
ax1.set_xlim(1, 200)
ax1.set_ylim(0, 100)
# アーランB式によるDAMA効率
from math import factorial
def erlang_b(N_ch, A):
"""アーランB式: N_chチャネル、トラフィック強度Aでのブロッキング確率"""
numerator = (A ** N_ch) / factorial(N_ch)
denominator = sum((A ** k) / factorial(k) for k in range(N_ch + 1))
return numerator / denominator
# 固定ユーザ数100, ユーザあたりトラフィック 0.1 Erlang
M_total = 100
A_per_user = 0.1
A_total = M_total * A_per_user # 10 Erlang
channels = np.arange(5, 40)
blocking = [erlang_b(int(n), A_total) for n in channels]
ax2.semilogy(channels, blocking, 'b-', linewidth=2)
ax2.axhline(y=0.02, color='r', linestyle='--', alpha=0.7, label='Target: 2% blocking')
ax2.axhline(y=0.01, color='orange', linestyle='--', alpha=0.7, label='Target: 1% blocking')
ax2.set_xlabel('Number of Channels (DAMA)', fontsize=12)
ax2.set_ylabel('Blocking Probability', fontsize=12)
ax2.set_title(f'Erlang B: {M_total} Users, {A_per_user} Erl/user', fontsize=13)
ax2.legend(fontsize=10)
ax2.grid(True, alpha=0.3)
ax2.set_xlim(5, 39)
ax2.set_ylim(1e-6, 1)
plt.tight_layout()
plt.savefig('frame_efficiency_and_erlang.png', dpi=150, bbox_inches='tight')
plt.show()
左のグラフから、TDMAのフレーム効率はユーザ数の増加とともに線形に低下することが確認できます。ガードタイムが1 usの場合は200ユーザでも約90%の効率を維持できますが、20 usの場合は200ユーザで約80%まで低下します。ガードタイムの設定は、衛星の高度(伝搬遅延のばらつき)やクロック精度に依存するため、システム設計において重要なトレードオフパラメータです。
右のグラフは、アーランB式によるDAMAの効果を示しています。100ユーザ・0.1 Erl/ユーザの条件で、呼損率2%を目標とすると約17チャネルで十分です。PAMAの100チャネルに比べて約6分の1のリソースで済む計算です。ただし、呼損率をより厳しく(1%以下に)設定すると必要チャネル数は増加します。
続いて、CDMAの容量が処理利得や音声アクティビティファクタにどれだけ敏感に依存するかを、パラメータを変化させながら見ていきます。
CDMA処理利得と容量の関係
CDMAの容量が処理利得にどれだけ敏感に依存するかを可視化します。
import numpy as np
import matplotlib.pyplot as plt
# 処理利得の範囲
G_p_dB = np.linspace(10, 35, 100)
G_p_lin = 10 ** (G_p_dB / 10)
# 異なるEb/N0要求値での容量
EbN0_values_dB = [3, 5, 7, 10]
colors_cdma = ['#e74c3c', '#3498db', '#2ecc71', '#f39c12']
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))
for EbN0_dB, color in zip(EbN0_values_dB, colors_cdma):
EbN0 = 10 ** (EbN0_dB / 10)
K = 1 + G_p_lin / EbN0
ax1.plot(G_p_dB, K, linewidth=2, color=color,
label=f'$E_b/N_0$ req = {EbN0_dB} dB')
ax1.set_xlabel('Processing Gain $G_p$ [dB]', fontsize=12)
ax1.set_ylabel('Maximum Users $K$', fontsize=12)
ax1.set_title('CDMA Capacity vs Processing Gain (v=1.0)', fontsize=13)
ax1.legend(fontsize=10)
ax1.grid(True, alpha=0.3)
ax1.set_yscale('log')
# 音声アクティビティファクタの影響
v_values = [0.3, 0.4, 0.5, 0.7, 1.0]
EbN0_fixed = 10 ** (5 / 10) # 5 dB
for v in v_values:
K = 1 + G_p_lin / (v * EbN0_fixed)
style = '-' if v < 1.0 else '--'
ax2.plot(G_p_dB, K, linewidth=2, linestyle=style,
label=f'v = {v}')
ax2.set_xlabel('Processing Gain $G_p$ [dB]', fontsize=12)
ax2.set_ylabel('Maximum Users $K$', fontsize=12)
ax2.set_title('CDMA Capacity vs Voice Activity Factor\n($E_b/N_0$ = 5 dB)', fontsize=13)
ax2.legend(fontsize=10)
ax2.grid(True, alpha=0.3)
ax2.set_yscale('log')
plt.tight_layout()
plt.savefig('cdma_capacity_analysis.png', dpi=150, bbox_inches='tight')
plt.show()
左のグラフから、CDMAの容量は処理利得 $G_p$ にほぼ線形に比例することがわかります(対数スケールで直線)。つまり、拡散帯域幅を広げるか、ユーザのビットレートを下げれば容量が増加します。また、所要 $E_b/N_0$ が低いほど(=より強力な誤り訂正符号を使うほど)容量が向上します。$E_b/N_0$ を3 dBから10 dBに変えると容量は約5倍も変わるため、符号設計がCDMAの性能に決定的な影響を与えることがわかります。
右のグラフは、音声アクティビティファクタ $v$ の影響を示しています。$v = 0.3$(音声通信、長い無音区間あり)と $v = 1.0$(連続データ通信)では容量に3倍以上の差があります。CDMAの統計的多重化の利点は、トラフィックが間欠的な場合に最大限発揮されることが数値的に確認できます。
ここまで理論的な容量比較を行いました。では、現実の衛星通信システムではどの方式がどのように採用されているのでしょうか。次に、現代の主要な衛星通信規格における使い分けを見ていきます。
現代の衛星通信における使い分け
DVB-S2 / DVB-S2X(ダウンリンク)
DVB-S2(Digital Video Broadcasting – Satellite – Second Generation)は衛星ダウンリンクの国際標準規格です。DVB-S2ではTDM(時分割多重)が採用されています。これは「1つの衛星(送信側)が複数ユーザのデータをまとめて送る」ダウンリンクの特性上、多元接続ではなく多重化が適用されるためです。
DVB-S2の主な特徴は以下のとおりです。
- 適応符号化変調(ACM): 受信状態に応じて変調方式(QPSK〜32APSK)と符号化率を動的に変更
- 汎用ストリームカプセル化(GSE): IPパケットを直接衛星フレームにマッピング
- ロールオフ率: 0.35 / 0.25 / 0.20(DVB-S2X ではさらに 0.15 / 0.10 / 0.05 に対応)
ロールオフ率を小さくすることで帯域効率が向上しますが、フィルタの実装が複雑になるというトレードオフがあります。
では、ダウンリンクに対してアップリンク(リターンリンク)ではどの方式が採用されているのでしょうか。次に、複数端末から衛星へ向かうリターンリンクの標準規格を見ていきます。
DVB-RCS2(アップリンク・リターンリンク)
DVB-RCS2(Return Channel via Satellite – Second Generation)は衛星リターンリンク(ユーザ端末 → 衛星 → ハブ局)の標準規格です。アップリンクは多数の端末が独立に送信するため、まさに多元接続の問題です。
DVB-RCS2ではMF-TDMA(Multi-Frequency TDMA)が採用されています。これはFDMAとTDMAを組み合わせた方式で、周波数軸と時間軸の両方でリソースを分割します。
MF-TDMAの動作を具体的に説明します。トランスポンダの帯域幅を複数のキャリア(サブバンド)に分割し(FDMA的)、各キャリア上で時間スロットを定義します(TDMA的)。端末はネットワーク制御センター(NCC)からスロットの割当てを受けて、指定された周波数・時間のスロットにデータをバースト送信します。
MF-TDMAがDVB-RCS2で採用された理由は次のとおりです。
- 端末コストの低減: 各キャリアの帯域幅が狭いため、端末のバースト送信レートを低く抑えられる。フルバンドTDMA方式に比べて端末の送信機が安価になる
- 柔軟な帯域割当て: DAMAと組み合わせることで、需要の変動に対応しやすい
- 電力効率: キャリアあたりの帯域が狭いため、1キャリアで送信するユーザが1つの場合(これが多い)、TDMAと同様にOBOが小さくて済む
これらの規格は従来型の衛星通信向けですが、近年はさらに大容量化を実現する新しいアーキテクチャが登場しています。次に、マルチスポットビーム技術を活用した高スループット衛星(HTS)について確認しましょう。
HTS(High Throughput Satellite)と周波数再利用
近年の高スループット衛星(HTS)では、マルチスポットビーム技術と周波数再利用により、従来の数十倍のスループットを実現しています。
HTS では、衛星がカバレッジエリアを多数のスポットビームに分割し、離れたビーム間で同じ周波数帯を再利用します。これは携帯電話のセルラー方式と同じ概念です。
周波数再利用ファクタを $N_r$ とすると、システム全体の有効帯域幅は次のように増大します。
$$ B_{\text{system}} = \frac{N_{\text{beams}}}{N_r} \cdot B_T $$
ここで $N_{\text{beams}}$ はスポットビーム数です。4色再利用パターン($N_r = 4$)で200ビームのHTSの場合、$B_{\text{system}} = 50 \times B_T$ となり、単一ビーム衛星の50倍の容量を提供します。
各スポットビーム内の多元接続には、依然としてFDMA/TDMA/MF-TDMAが使用されますが、ビーム間の干渉(Co-Channel Interference)の管理が新たな課題となります。
LEOコンステレーションの動向
Starlink や OneWeb に代表される LEO(低軌道)コンステレーションでは、低遅延と高スループットが求められます。
LEO衛星通信では以下の技術的選択が特徴的です。
- ユーザリンク: DVB-S2Xベースの時間・周波数分割方式が主流
- ゲートウェイリンク: 広帯域で高スループットなTDMA/OFDM方式
- 衛星間リンク: 光通信(レーザーリンク)による大容量通信
- ビームホッピング: 需要の偏在に対応して、スポットビームの照射パターンを時間的に切り替え
ビームホッピングは、時間軸方向でのビーム配分を動的に変えるという意味で、TDMAの考え方を空間次元に拡張したものと見ることができます。
まとめ
本記事では、衛星通信の多元接続方式(FDMA・TDMA・CDMA)について、基本原理から数学的モデル、回線容量計算、そしてPythonによる可視化まで解説しました。
- FDMA は周波数で分離する最も直感的な方式ですが、ガードバンドと相互変調歪み(出力バックオフ)がオーバーヘッドとなります
- TDMA は時間で分離し、トランスポンダの全帯域を使うためバックオフが不要で電力効率が高く、現代の衛星通信で最も広く採用されています
- CDMA は符号で分離し、処理利得と音声アクティビティファクタの恩恵で音声通信では高容量を達成できますが、データ通信ではMAIにより容量が制限されます
- DAMA は固定割当てではなくオンデマンドでリソースを配分する制御方式で、トランキング効率を大幅に向上させます
- 現代の衛星通信 では、DVB-S2/DVB-RCS2 のようにTDMA系の方式が主流であり、HTS のマルチスポットビームや LEO コンステレーションのビームホッピングなど、多元接続の概念がシステム全体に拡張されています
多元接続の理論は、衛星通信のみならず5G/6Gの非地上ネットワーク(NTN)設計においても必須の知識です。本記事で扱った FDMA・TDMA・CDMA の比較フレームワークは、将来の通信システム設計を理解する基礎となるでしょう。
次のステップとして、以下の記事も参考にしてください。
- スペクトル拡散の基礎 — CDMAの基盤技術であるスペクトル拡散をより深く学べます
- OFDMの基礎 — 多元接続と密接に関連する直交周波数分割多重方式について学べます