遅延スプレッドとコヒーレンス帯域幅 — 周波数選択性フェージングの尺度

同じ Wi-Fi ルータでも、部屋を数十センチ動かすだけで速度が跳ね上がることがあります。電波が弱くなったわけではありません。むしろ受信電力の合計はほとんど変わっていないのに、「特定の周波数だけがごっそり抜け落ちる」現象が起きているのです。スペクトラムアナライザで 20 MHz 幅を眺めると、なだらかであってほしいスペクトルに数 MHz 幅の深い谷がいくつも開いています。この谷が乗ったサブキャリアだけが復調できず、リンク速度が落ちる — これが周波数選択性フェージングです。

マルチパス伝搬・電力遅延プロファイル・伝達関数の谷を結ぶ概念模式図

本記事全体の見取り図がこの 1 枚です。左は「電波が直接波・反射波として時間差をつけて届く」という物理、中央はその到着時刻を電力の分布として描いた電力遅延プロファイル、右はその結果として周波数軸に開くを示しています。中央の分布の横幅(=RMS 遅延スプレッド $\sigma_\tau$)が広いほど、右の凸凹(=コヒーレンス帯域幅 $B_c$)が細かくなる、という反比例の対応が本記事の全内容です。以下ではこの対応を、直感 → 定義 → 導出 → 数値の順で厳密にしていきます。

なぜ谷が開くのか。答えは「電波が複数の経路を通って、少しずつ違う時刻に届くから」です。壁や建物で反射した波は直接波より遠回りするぶん遅れて到着し、遅れた波と直接波が周波数ごとに強め合ったり打ち消し合ったりします。つまり時間領域での「到着時刻のばらつき」が、周波数領域での「凸凹の細かさ」に化けるわけです。このばらつきの大きさを一つの数値に凝縮したものが RMS 遅延スプレッド $\sigma_\tau$ であり、凸凹の細かさを表すのが コヒーレンス帯域幅 $B_c$ です。そして両者はおよそ $B_c \propto 1/\sigma_\tau$ という反比例で結ばれます。

この関係を押さえておくと、無線設計の現場でつまずきやすい判断がまとめて片づきます。

  • OFDM のパラメータ設計: サブキャリア間隔をいくつにすれば「各サブキャリアはフラットフェージングとみなせる」のか、ガードインターバル(サイクリックプレフィクス)を何マイクロ秒にすれば符号間干渉が消えるのか。どちらも $\sigma_\tau$ と $B_c$ から直接見積もれます。5G NR の numerology(15/30/60/120 kHz)の選択も、突き詰めればこの判断です
  • 等化器の設計: 時間領域等化器のタップ数は「遅延スプレッドが何シンボル分に相当するか」で決まります。$\sigma_\tau \ll T$(シンボル長)なら等化器は不要、$\sigma_\tau \sim T$ なら数タップ、$\sigma_\tau \gg T$ なら OFDM か周波数領域等化に切り替える、という設計判断の分岐点になります
  • ダイバーシティの効き方: 周波数ダイバーシティは「$B_c$ より離れた 2 つの周波数は独立にフェージングする」という性質を使います。$B_c$ を知らなければ、どれだけ周波数を離せばよいかが決まりません
  • チャネルモデルの選定: 3GPP の EPA / EVA / ETU といった標準チャネルモデルは、まさに $\sigma_\tau$ の大小(約 43 ns / 357 ns / 991 ns)でグレード分けされています

本記事の内容

  • マルチパスが周波数の谷を作る仕組みを 2 波モデルで直感的に理解する
  • 電力遅延プロファイル $P(\tau)$ の定義と、WSSUS 仮定の意味
  • 一次モーメント(平均遅延)と二次モーメント(RMS 遅延スプレッド)の定義と導出
  • 周波数相関関数 $R_H(\Delta f)$ が $P(\tau)$ のフーリエ変換になることの導出(遅延領域のウィーナー・ヒンチン定理)
  • コヒーレンス帯域幅 $B_c$ の定義と、$B_c \propto 1/\sigma_\tau$ の導出
  • 相関 0.9 基準で $1/(50\sigma_\tau)$、0.5 基準で $1/(5\sigma_\tau)$ と定数が変わる理由を、テイラー展開と具体的な PDP 形状から説明する
  • 周波数選択性フェージングとフラットフェージングの判定条件、および符号間干渉電力の見積もり
  • Python 実装: 指数減衰プロファイルからタップ付き遅延線チャネルを生成し、$|H(f)|$ の谷を可視化し、周波数相関関数から $B_c$ を実測し、OFDM のサブキャリア間隔とガードインターバル長を設計する

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

マルチパスはなぜ周波数の谷を作るのか

2 本の経路だけで考える

いきなり統計量を持ち出す前に、経路が 2 本しかない極端に単純な状況を想像してみましょう。送信機から受信機へ、まっすぐ届く直接波と、壁で 1 回反射して届く反射波の 2 本だけがあるとします。反射波は遠回りをするので、直接波より $\Delta\tau$ だけ遅れて到着します。たとえば経路差が 30 m なら、光速 $c = 3 \times 10^8$ m/s で割って $\Delta\tau = 100$ ns です。

さて、送信機が周波数 $f$ の正弦波を出し続けているとします。受信端で 2 つの波が重なるとき、遅れて到着した波は位相が $2\pi f \Delta\tau$ だけ回っています。位相回転量が周波数 $f$ に比例していることが決定的に重要です。

  • $f \Delta\tau$ がちょうど整数のとき、位相回転は $2\pi$ の整数倍。2 つの波は同相で足し合わさり、振幅は 2 倍(電力は 4 倍)になります
  • $f \Delta\tau$ が半整数のとき、位相回転は $\pi$ の奇数倍。2 つの波は逆相で完全に打ち消し合い、振幅はゼロになります

等電力2波モデルの合成利得スペクトルと、同相・逆相での受信波形

左図は、遅延差 $\Delta\tau$ を 50 / 100 / 200 ns と変えたときの 2 波の合成利得です。谷(ヌル)の間隔がそれぞれ 20 / 10 / 5 MHz と、$1/\Delta\tau$ にきれいに一致しています。遅延差を 4 倍にすると凸凹は 4 倍細かくなる — これが $B_c \propto 1/\sigma_\tau$ の最も単純な形です。右図は同じことを時間波形で見たもので、上段(同相)では合成波の振幅が 2 倍に、下段(逆相)では完全にゼロになっています。同じ 2 本の波が、周波数を変えるだけでこの 2 つの状態を行き来する点が本質です。

周波数を連続的に上げていくと、この「強め合い」と「打ち消し合い」が $1/\Delta\tau$ の周期で交互に現れます。$\Delta\tau = 100$ ns なら周期は 10 MHz です。つまり、遅延差が大きいほど周波数方向の凸凹は細かくなり、遅延差が小さいほど凸凹はゆるやかになる。この一文が本記事の核心であり、以降の数式はすべてこれを一般化したものにすぎません。

経路が増えるとどうなるか

現実の市街地や屋内では、経路は 2 本ではなく数十本から無数にあります。それぞれの経路が固有の遅延と固有の振幅・位相を持ち、受信端でごちゃまぜに足し合わされます。2 波のときのようなきれいな周期構造は消え、代わりに「ランダムに見える凸凹」が現れます。

しかし、凸凹の平均的な細かさは依然として遅延の広がりで決まります。到着時刻が 0〜100 ns の狭い範囲に集中していれば凸凹はゆるやか、0〜5 µs にばらけていれば凸凹は極端に細かくなります。ここで「到着時刻の広がり」を一つの数値にまとめる必要が出てきます。それが RMS 遅延スプレッドです。

もう一つ押さえておきたいのは、この現象が受信電力の総和とは無関係だという点です。マルチパスは電力を奪いません。単に電力を周波数軸上で不均一に配り直すだけです。狭帯域の信号を使っていれば「たまたま谷に落ちた」ときだけ致命的になり(フラットフェージング)、広帯域の信号を使っていれば「一部の周波数は谷、一部は山」という状態が常に起きます(周波数選択性フェージング)。どちらの世界に自分がいるのかを判定する物差しが、これから定義する $\sigma_\tau$ と $B_c$ です。

ここまでで「遅延の広がり」と「周波数の凸凹」が表裏一体であることを直感的に掴みました。次は、この直感を数学的に扱えるようにするため、チャネルを記述する基本量である電力遅延プロファイルを定義します。

電力遅延プロファイルの定義

インパルス応答から出発する

マルチパスチャネルの最も自然な記述は、時変インパルス応答 $h(\tau, t)$ です。第 2 引数の $t$ は「いつ測ったか」(受信機や散乱体が動くのでチャネル自体が時間変化する)、第 1 引数の $\tau$ は「送信からどれだけ遅れて届いたか」を表します。経路が離散的な $L$ 本なら、

$$ h(\tau, t) = \sum_{l=0}^{L-1} a_l(t)\, \delta(\tau – \tau_l) $$

と書けます。$a_l(t)$ は $l$ 番目の経路の複素振幅(減衰と位相を含む)、$\tau_l$ はその経路の遅延です。デルタ関数が並んだこの形は「タップ付き遅延線(tapped delay line)」モデルと呼ばれ、シミュレータの実装そのものになります。

現実のチャネルでは $a_l(t)$ はランダムに揺らぎます。散乱体や受信機がわずか半波長動くだけで位相が $\pi$ 回るからです。したがって $h$ そのものを追いかけるのは無理があり、統計量を扱うのが定石です。

WSSUS 仮定

チャネルの統計を扱いやすくする標準的な仮定が WSSUS(Wide-Sense Stationary Uncorrelated Scattering、広義定常無相関散乱) です。名前は物々しいですが、中身は 2 つの素朴な主張です。

  1. WSS(広義定常): チャネルの統計的性質は、短い観測時間の間は変わらない。相関は時刻の差 $\Delta t$ にしか依存する
  2. US(無相関散乱): 異なる遅延で到着する成分どうしは無相関である

2 番目の US 仮定が特に効きます。遅延 $\tau_1$ で届く波と遅延 $\tau_2$ で届く波は、そもそも物理的に別の散乱体で反射してきたものです。散乱体どうしが独立にランダムな位相を与えるなら、両者が相関を持つ理由はありません。これを数式にすると、

$$ \begin{equation} \mathbb{E}\left[h(\tau_1, t)\, h^*(\tau_2, t)\right] = P(\tau_1)\, \delta(\tau_1 – \tau_2) \end{equation} $$

となります。右辺にデルタ関数が立っているのが US 仮定の表現で、$\tau_1 \neq \tau_2$ なら相関がゼロ、$\tau_1 = \tau_2$ のときだけ $P(\tau_1)$ という強さが残る、という意味です。

US仮定のもとで遅延相関行列が対角のみになる様子と、仮定が破れた場合の比較

左図は US 仮定が成り立つ場合の相関行列 $\mathbb{E}[h(\tau_1)h^*(\tau_2)]$ で、対角線上にしか値がありません。しかもその対角成分の高さこそが電力遅延プロファイル $P(\tau)$ です。つまり US 仮定は「2 変数関数だった相関を、1 変数関数 $P(\tau)$ に圧縮してよい」という主張にほかなりません。右図のように非対角成分が残ると $P(\tau)$ だけではチャネルを記述できず、以降のフーリエ変換の議論も成り立たなくなります。この 1 枚の対角性が、記事全体を支える土台です。

電力遅延プロファイル

この $P(\tau)$ こそが 電力遅延プロファイル(Power Delay Profile, PDP) です。日本語では「遅延電力分布」とも呼ばれます。意味は明快で、

$$ P(\tau) = \mathbb{E}\left[|h(\tau, t)|^2\right] $$

すなわち「遅延 $\tau$ の位置に、平均してどれだけの電力が届いているか」を表す関数です。横軸に遅延、縦軸に受信電力を取ったグラフを思い浮かべてください。直接波が届く $\tau = 0$ 付近が最も高く、遠回りした波ほど減衰して右に尾を引きます。

離散タップモデルなら、PDP は $L$ 本の棒グラフになります。

$$ P(\tau) = \sum_{l=0}^{L-1} P_l\, \delta(\tau – \tau_l), \qquad P_l = \mathbb{E}\left[|a_l|^2\right] $$

以降の議論では、PDP を全電力で正規化した確率密度のような量として扱うと見通しがよくなります。

$$ p(\tau) = \frac{P(\tau)}{\displaystyle\int_0^\infty P(\tau’)\, d\tau’} $$

こうすると $\int p(\tau)\, d\tau = 1$ となり、$p(\tau)$ は「受信電力 1 W のうち、どの遅延にどれだけ配分されているか」を表す確率密度関数と同じ形になります。この見方をすると、次に定義する平均遅延と遅延スプレッドが、確率変数の期待値と標準偏差そのものだと理解できます。

PDP という「電力の分布」が手に入りました。次は、この分布を 2 つの数値(中心と広がり)に要約します。

平均遅延と RMS 遅延スプレッド

なぜモーメントで要約するのか

PDP は関数なので、そのままでは設計に使いにくい形です。統計学で確率分布を平均と標準偏差に要約するのと同じ発想で、PDP も一次モーメントと二次モーメントで要約します。しかも、後で見るようにコヒーレンス帯域幅を決めるのは二次モーメントまでの情報がほとんどなので、この要約は単なる便宜ではなく理論的にも正当化されます。

平均遅延(一次モーメント)

平均超過遅延 $\bar{\tau}$ は、正規化 PDP の期待値です。

$$ \begin{equation} \bar{\tau} = \int_0^\infty \tau\, p(\tau)\, d\tau = \frac{\displaystyle\int_0^\infty \tau P(\tau)\, d\tau}{\displaystyle\int_0^\infty P(\tau)\, d\tau} \end{equation} $$

離散タップなら積分が和に変わるだけです。

$$ \bar{\tau} = \frac{\displaystyle\sum_l P_l \tau_l}{\displaystyle\sum_l P_l} $$

これは「電力で重み付けした遅延の重心」です。物理的には、受信機が同期を取るべき基準時刻の目安になります。ただし $\bar{\tau}$ 自体は伝送品質にほとんど影響しません。全経路が一律に 1 µs 遅れて届いても、受信機がタイミングを 1 µs ずらせば済むからです。効くのは「ばらつき」のほうです。

二次モーメントと RMS 遅延スプレッド

二次モーメントは同様に、

$$ \overline{\tau^2} = \int_0^\infty \tau^2\, p(\tau)\, d\tau = \frac{\displaystyle\int_0^\infty \tau^2 P(\tau)\, d\tau}{\displaystyle\int_0^\infty P(\tau)\, d\tau} $$

で定義されます。ここから、確率分布の分散と全く同じ形で RMS 遅延スプレッド $\sigma_\tau$ が定義されます。

$$ \begin{equation} \sigma_\tau = \sqrt{\overline{\tau^2} – \bar{\tau}^2} \end{equation} $$

分散の定義 $\mathrm{Var}[X] = \mathbb{E}[X^2] – (\mathbb{E}[X])^2$ をそのまま遅延に適用したものです。標準偏差なので単位は時間(ns や µs)になります。

$\bar{\tau}$ を引く操作には明確な意味があります。前述のとおり、全経路が一律にずれても伝送品質は変わりません。品質を悪くするのは「ある経路とある経路の相対的な遅れ」です。$\bar{\tau}$ を差し引くことで、この「一律のずれ」を取り除き、純粋な広がりだけを取り出しているのです。

最大超過遅延との違い

$\sigma_\tau$ と混同されやすい量に 最大超過遅延(maximum excess delay) $\tau_{\max}$ があります。これは「ピークから X dB 以内に収まる最も遅い経路の遅延」で、通常は $X = 10$ や $20$ dB を閾値に取ります。

両者は役割が違います。

何を表すか 主な用途
$\sigma_\tau$ 遅延分布の広がり(標準偏差) コヒーレンス帯域幅の推定、フラット/選択性の判定
$\tau_{\max}$ 最も遅い有意な経路の遅延 OFDM のガードインターバル長、等化器のタップ数

同一のPDPから読み取る平均超過遅延・RMS遅延スプレッド・最大超過遅延の位置関係

同じ 1 つの PDP から、性格の違う 3 つの数値が読み取れることを示した図です。赤い縦線が重心 $\bar\tau = 87$ ns、オレンジの矢印が広がり $\pm\sigma_\tau = \pm 91$ ns、緑の矢印が尾の長さ $\tau_{\max} = 460$ ns です。オレンジと緑の長さが 5 倍も違うことに注目してください。$\sigma_\tau$ だけを見て「マルチパスは 100 ns 程度の現象」と早合点すると、CP 長を短く設計して符号間干渉を残してしまいます。

$\sigma_\tau$ は「典型的な」広がりを表すので、細かい凸凹のスケールを決めます。一方 $\tau_{\max}$ は「最悪でどこまで尾が伸びるか」なので、サイクリックプレフィクスのように「全部を覆いきる」必要がある設計に使います。経験的には $\tau_{\max}$ は $\sigma_\tau$ の 3〜6 倍程度になることが多く、後で示す指数減衰プロファイルの例でも $\sigma_\tau \approx 91$ ns に対して(ピーク比 $-20$ dB 基準で)$\tau_{\max} = 460$ ns、比にして約 5.1 倍でした。

典型的な値の感覚

数値の相場観を持っておくと設計判断が速くなります。

環境 $\sigma_\tau$ の目安 対応する $B_c$(0.5 基準の目安)
屋内(オフィス・住宅) 10〜50 ns 4〜20 MHz
屋内(大規模ホール・工場) 50〜200 ns 1〜4 MHz
市街地マイクロセル 0.1〜0.5 µs 0.4〜2 MHz
市街地マクロセル 0.5〜3 µs 70〜400 kHz
山間部・丘陵地 3〜20 µs 10〜70 kHz

3GPP が LTE / NR の性能試験用に定めた標準チャネルモデルも、この軸で並んでいます。実際にタップ表(遅延と電力の一覧)から定義どおり $\sigma_\tau$ を計算すると、EPA(Extended Pedestrian A)が 43.1 ns、EVA(Extended Vehicular A)が 356.7 ns、ETU(Extended Typical Urban)が 990.9 ns となり、それぞれ「約 45 ns / 357 ns / 991 ns」という公称値をきれいに再現します。

3GPP EPA・EVA・ETUの電力遅延プロファイルとそれぞれのRMS遅延スプレッド

3 つの標準モデルのタップ表をそのまま描き、紫の破線で $\sigma_\tau$ の位置を示しました(横軸は対数目盛)。EPA は 410 ns までに 7 タップが収まるのに対し、ETU は 5 µs まで 9 タップが伸びており、$\sigma_\tau$ が 43.1 ns → 990.9 ns と 23 倍も違います。同時に、ETU では $\sigma_\tau$ の位置より右にまだ 3 本もタップが残っている点にも注目してください。この「遅くて弱い尾」が後で $B_c$ の定数を大きく狂わせる犯人になります。

$\sigma_\tau$ という一つの数値が手に入りました。しかしまだ「周波数の凸凹」とは結びついていません。次のセクションで、その橋渡しをするフーリエ変換の関係を導出します。

周波数相関関数は遅延プロファイルのフーリエ変換である

何を示したいのか

これから示すのは、次の一文です。

チャネル伝達関数 $H(f)$ の周波数方向の自己相関関数 $R_H(\Delta f)$ は、電力遅延プロファイル $P(\tau)$ のフーリエ変換に等しい。

信号処理をかじった人なら、通常のウィーナー・ヒンチンの定理「自己相関関数のフーリエ変換がパワースペクトル密度」を思い出すはずです。今から導くのは、その時間と周波数の役割を入れ替えた版です。通常のウィーナー・ヒンチンでは「時間差 $\Rightarrow$ 周波数」でしたが、ここでは「周波数差 $\Rightarrow$ 遅延」になります。遅延は時間の次元、周波数差は周波数の次元なので、フーリエ変換対として整合しています。

伝達関数の定義

時変インパルス応答 $h(\tau, t)$ を遅延 $\tau$ についてフーリエ変換したものが、チャネル伝達関数です。

$$ H(f, t) = \int_{-\infty}^{\infty} h(\tau, t)\, e^{-j 2\pi f \tau}\, d\tau $$

離散タップモデルを代入すると、デルタ関数の性質でただちに積分が実行できます。

$$ H(f, t) = \sum_{l=0}^{L-1} a_l(t)\, e^{-j 2\pi f \tau_l} $$

この式は、冒頭の 2 波モデルの一般化そのものです。各経路が $e^{-j2\pi f \tau_l}$ という周波数に比例して回る位相を持ち、それらのベクトル和が $H(f)$ になる。遅延 $\tau_l$ が大きい経路ほど、周波数を少し変えただけで位相が大きく回ります。

導出

2 つの周波数 $f_1, f_2$ における伝達関数の相関を計算します。以下、時刻 $t$ は固定して引数から省きます。

$$ R_H(f_1, f_2) = \mathbb{E}\left[H(f_1) H^*(f_2)\right] $$

定義式を代入すると、二重積分になります。

$$ R_H(f_1, f_2) = \mathbb{E}\left[\int h(\tau_1) e^{-j2\pi f_1 \tau_1} d\tau_1 \int h^*(\tau_2) e^{+j2\pi f_2 \tau_2} d\tau_2\right] $$

期待値と積分の順序を交換し、確定的な指数関数を外に出すと、期待値の中身は $h$ どうしの相関だけになります。

$$ R_H(f_1, f_2) = \int\!\!\int \mathbb{E}\left[h(\tau_1) h^*(\tau_2)\right] e^{-j2\pi f_1 \tau_1} e^{+j2\pi f_2 \tau_2}\, d\tau_1 d\tau_2 $$

ここで US 仮定の式 $(1)$、すなわち $\mathbb{E}[h(\tau_1)h^*(\tau_2)] = P(\tau_1)\delta(\tau_1 – \tau_2)$ を代入します。デルタ関数があるので $\tau_2$ についての積分がただちに実行でき、$\tau_2 \to \tau_1$ と置き換わります。

$$ R_H(f_1, f_2) = \int P(\tau_1) e^{-j2\pi f_1 \tau_1} e^{+j2\pi f_2 \tau_1}\, d\tau_1 $$

指数関数をまとめると、$f_1$ と $f_2$ は差の形でしか現れないことがわかります。

$$ R_H(f_1, f_2) = \int P(\tau) e^{-j2\pi (f_1 – f_2) \tau}\, d\tau $$

そこで周波数差を $\Delta f = f_1 – f_2$ と置けば、相関は差だけの関数になります。これは「チャネルが周波数方向に広義定常である」ことを意味しており、US 仮定から自動的に出てきた結論です。最終的に、

$$ \begin{equation} R_H(\Delta f) = \int_0^\infty P(\tau)\, e^{-j2\pi \Delta f \tau}\, d\tau \end{equation} $$

を得ます。まさに $P(\tau)$ のフーリエ変換です。以降は $R_H(0)$ で割って正規化した

$$ \rho(\Delta f) = \frac{R_H(\Delta f)}{R_H(0)} = \int_0^\infty p(\tau)\, e^{-j2\pi \Delta f \tau}\, d\tau $$

周波数相関関数 と呼ぶことにします。$\rho(0) = 1$ で、$|\rho(\Delta f)| \le 1$ です。

この式が語っていること

式 $(4)$ は「遅延の広がり」と「周波数の凸凹」を厳密に結びつけました。フーリエ変換の一般的性質として、元の関数が広がっているほど変換後は狭くなり、元が狭いほど変換後は広がります(不確定性関係)。$P(\tau)$ が幅 $\sigma_\tau$ で広がっているなら、$\rho(\Delta f)$ は幅 $\sim 1/\sigma_\tau$ で減衰する。これが $B_c \propto 1/\sigma_\tau$ の正体です。

PDPと周波数相関関数がフーリエ変換対をなし、幅が互いに逆数になることを示す図

左が遅延領域の $p(\tau)$、右がそのフーリエ変換である $|\rho(\Delta f)|$ です。$\sigma_\tau$ を 23 ns → 91 ns → 364 ns と 16 倍に広げると、右の相関曲線は逆に 16 倍すばやく落ち、$B_c(0.5)$ は 11.29 → 2.82 → 0.71 MHz と正確に 1/16 になります。左で横に伸ばした分だけ、右では横に縮む — フーリエ変換の不確定性関係そのものです。この 1 対 1 の対応があるからこそ、遅延の統計量から周波数の凸凹を予言できるわけです。

さらに $p(\tau)$ が確率密度関数の形をしていることに注目すると、$\rho(\Delta f)$ は確率変数 $\tau$ の特性関数(の符号を反転した引数版)そのものです。確率論で特性関数のテイラー展開の係数がモーメントになったのと同じ構造が、そのまま使えます。この視点が、次のセクションで「なぜ二次モーメントだけで $B_c$ がほぼ決まるのか」を説明する鍵になります。

理論的な橋が架かりました。次はこの橋を渡って、コヒーレンス帯域幅を定量的に定義します。

コヒーレンス帯域幅の定義と導出

直感的な定義

コヒーレンス帯域幅 $B_c$ を一言で言えば、「この幅までなら、チャネルはほぼ平坦だとみなしてよい周波数幅」です。$|\rho(\Delta f)|$ は $\Delta f = 0$ で 1 から始まり、$\Delta f$ が増えるにつれて減衰します。ある閾値 $\rho_{\text{th}}$ を下回るまでの幅を $B_c$ と定義します。

$$ B_c = \min\left\{ \Delta f > 0 \;\middle|\; |\rho(\Delta f)| = \rho_{\text{th}} \right\} $$

ここで 閾値 $\rho_{\text{th}}$ の取り方は約束事であり、絶対的な定義はありません。慣習的に 0.9 と 0.5 がよく使われ、それぞれ「厳しい基準」「ゆるい基準」に対応します。教科書に載る有名な経験則は次の 2 つです。

$$ B_c \approx \frac{1}{50\,\sigma_\tau} \quad (\rho_{\text{th}} = 0.9), \qquad B_c \approx \frac{1}{5\,\sigma_\tau} \quad (\rho_{\text{th}} = 0.5) $$

閾値が変わると定数が 10 倍も変わるのは、初見だと不気味に見えます。しかし、以下で見るようにこれは自然なことです。順を追って導きましょう。

厳しい基準側の導出 — テイラー展開

まず $\rho_{\text{th}}$ が 1 に近い(=$\Delta f$ が小さい)領域を解析します。この領域では $\rho(\Delta f)$ をテイラー展開できます。ただし素朴に展開すると一次項に $\bar{\tau}$ が残り、「一律の遅延は品質に効かない」という物理と食い違います。そこで、あらかじめ平均遅延ぶんの位相を取り除いた

$$ \tilde{\rho}(\Delta f) = e^{j2\pi \Delta f \bar{\tau}}\, \rho(\Delta f) = \int p(\tau)\, e^{-j2\pi \Delta f (\tau – \bar{\tau})}\, d\tau $$

を考えます。$|\tilde{\rho}| = |\rho|$ なので、絶対値を議論する分にはこれで一般性を失いません。指数関数を $u = 2\pi\Delta f (\tau – \bar{\tau})$ について 2 次まで展開すると、

$$ e^{-ju} \approx 1 – ju – \frac{u^2}{2} $$

これを積分の中に入れます。$p(\tau)$ で積分するとき、第 1 項は 1、第 2 項は $\int p(\tau)(\tau – \bar{\tau})d\tau = 0$(平均まわりの一次モーメントはゼロ)、第 3 項は $\int p(\tau)(\tau-\bar{\tau})^2 d\tau = \sigma_\tau^2$ になります。

$$ \tilde{\rho}(\Delta f) \approx 1 – j \cdot 2\pi\Delta f \cdot 0 – \frac{(2\pi \Delta f)^2}{2}\sigma_\tau^2 $$

一次項が消えたので、結果は実数で、

$$ \begin{equation} |\rho(\Delta f)| \approx 1 – 2\pi^2 \sigma_\tau^2 \, \Delta f^2 \end{equation} $$

ここが本記事で最も重要な式です。 PDP の形状がどうであれ、$\Delta f$ が小さい領域では相関の落ち方は $\sigma_\tau$ だけで決まります。三つ目以降のモーメント(歪度・尖度に相当するもの)は四次以上の項にしか現れません。つまり $\sigma_\tau$ は、$B_c$ を厳しい基準で測る限り十分統計量に近い役割を果たします。

この式を $|\rho| = \rho_{\text{th}}$ と置いて解きましょう。$2\pi^2\sigma_\tau^2 \Delta f^2 = 1 – \rho_{\text{th}}$ より、

$$ \begin{equation} B_c = \frac{1}{\pi \sigma_\tau}\sqrt{\frac{1 – \rho_{\text{th}}}{2}} \end{equation} $$

$\rho_{\text{th}} = 0.9$ を代入すると $\sqrt{0.05}/\pi = 0.0712$、すなわち

$$ B_c \approx \frac{0.0712}{\sigma_\tau} = \frac{1}{14.05\, \sigma_\tau} $$

となります。定数は 50 ではなく約 14 です。この食い違いは後で正面から扱います。

厳密な周波数相関曲線と2次テイラー近似の比較、および0.9と0.5の閾値位置

青が厳密な $|\rho(\Delta f)|$、赤破線が式 $(5)$ の 2 次テイラー近似です。緑で示した薄い領域($\Delta f \lesssim 1$ MHz、相関 0.9 以上)では両者がぴたりと重なっており、この範囲なら $\sigma_\tau$ ひとつで挙動が完全に決まることが読み取れます。一方 0.5 の交点(オレンジ、2.82 MHz)はすでに近似曲線が負に振り切れた先にあり、テイラー展開が破綻した領域です。0.9 基準が「$\sigma_\tau$ の理論」、0.5 基準が「PDP 形状の理論」という性格の違いが、この 1 枚で見て取れます。

具体的な PDP での厳密計算

テイラー展開に頼らず、代表的な PDP で $\rho(\Delta f)$ を厳密に計算してみましょう。

(a) 指数減衰プロファイル。市街地や屋内で最もよく使われるモデルです。

$$ p(\tau) = \frac{1}{\tau_0} e^{-\tau/\tau_0}, \quad \tau \ge 0 $$

モーメントは指数分布そのものなので $\bar{\tau} = \tau_0$、$\overline{\tau^2} = 2\tau_0^2$ です。したがって

$$ \sigma_\tau = \sqrt{2\tau_0^2 – \tau_0^2} = \tau_0 $$

つまり 指数プロファイルでは減衰時定数がそのまま RMS 遅延スプレッドになります。周波数相関関数は指数分布の特性関数なので、

$$ \rho(\Delta f) = \int_0^\infty \frac{1}{\tau_0}e^{-\tau/\tau_0} e^{-j2\pi\Delta f \tau} d\tau = \frac{1}{1 + j 2\pi \Delta f \tau_0} $$

絶対値を取ると、きれいな一次ローパス型になります。

$$ |\rho(\Delta f)| = \frac{1}{\sqrt{1 + (2\pi \Delta f \sigma_\tau)^2}} $$

$|\rho| = \rho_{\text{th}}$ を解くと $2\pi B_c \sigma_\tau = \sqrt{\rho_{\text{th}}^{-2} – 1}$ なので、

$$ B_c = \frac{1}{2\pi\sigma_\tau}\sqrt{\frac{1}{\rho_{\text{th}}^2} – 1} $$

数値を入れると、$\rho_{\text{th}} = 0.9$ で $B_c = 0.0771/\sigma_\tau = 1/(12.97\sigma_\tau)$、$\rho_{\text{th}} = 0.5$ で $B_c = 0.2757/\sigma_\tau = 1/(3.63\sigma_\tau)$ です。

(b) 等電力 2 波モデル。遅延差 $\Delta\tau$ の 2 波が同じ電力で届くとき、$\bar\tau = \Delta\tau/2$、$\overline{\tau^2} = \Delta\tau^2/2$ なので $\sigma_\tau = \Delta\tau/2$ です。周波数相関関数は

$$ \rho(\Delta f) = \frac{1}{2}\left(1 + e^{-j2\pi \Delta f \Delta\tau}\right) $$

絶対値は加法定理でまとまり、$|\rho(\Delta f)| = |\cos(\pi \Delta f \Delta\tau)|$ となります。$\rho_{\text{th}} = 0.5$ なら $\pi B_c \Delta\tau = \pi/3$ より $B_c = 1/(3\Delta\tau) = 1/(6\sigma_\tau)$、$\rho_{\text{th}} = 0.9$ なら $B_c = 1/(13.93\sigma_\tau)$ です。

定数が閾値で変わる理由、そして PDP 形状で変わる理由

以上の計算結果を並べてみましょう。

モデル $\rho_{\text{th}} = 0.9$ $\rho_{\text{th}} = 0.5$
二次テイラー展開(形状によらない) $1/(14.05\sigma_\tau)$ $1/(6.28\sigma_\tau)$
指数減衰 $1/(12.97\sigma_\tau)$ $1/(3.63\sigma_\tau)$
等電力 2 波 $1/(13.93\sigma_\tau)$ $1/(6.00\sigma_\tau)$
3GPP EPA(実タップ表) $1/(12.6\sigma_\tau)$ $1/(5.0\sigma_\tau)$
3GPP EVA(実タップ表) $1/(12.1\sigma_\tau)$ $1/(2.6\sigma_\tau)$
3GPP ETU(実タップ表) $1/(12.1\sigma_\tau)$ $1/(1.1\sigma_\tau)$

正規化周波数差の軸で各PDPの相関曲線を重ねた図。0.9付近は一致し0.5付近で散らばる

横軸を $\Delta f \cdot \sigma_\tau$ に取れば、表の 6 行がすべて 1 枚に重ねられます。左(0.9 付近の拡大)では 6 本の曲線が肉眼ではほぼ区別できないほど重なっており、$k$ が 12〜14 の狭い範囲に収まる理由が視覚的にわかります。ところが右(0.5 まで)を見ると、等電力 2 波は $\Delta f\sigma_\tau = 0.25$ で 0 まで落ちるのに、ETU は 0.5 まで来てもまだ 0.7 を保っています。同じ $\sigma_\tau$ でも、裾の形が違えば $B_c(0.5)$ は 5 倍以上変わるわけです。

この表から 2 つの事実が読み取れます。

第一に、閾値が高いほど定数は大きくなります。 これは当たり前です。$|\rho(\Delta f)|$ は $\Delta f$ の増加とともに単調に(少なくとも初めのうちは)減衰する連続関数なので、「0.9 を下回る周波数差」は「0.5 を下回る周波数差」より必ず小さくなります。したがって $B_c(0.9) < B_c(0.5)$ であり、$1/(k\sigma_\tau)$ と書いたときの $k$ は必ず大きくなります。閾値を厳しくするほど「フラットとみなせる幅」が狭くなる、という素直な話です。

第二に、0.9 基準では PDP 形状によらず $k \approx 12$〜$14$ にほぼ収束するのに対し、0.5 基準では $k = 1.1$ から $6.3$ まで大きくばらつきます。 これこそが式 $(5)$ の帰結です。0.9 基準は $|\rho|$ が 1 のごく近傍だけを見るので、二次のテイラー係数(=$\sigma_\tau^2$)しか効きません。だからどんな PDP でもほぼ同じ定数になります。一方 0.5 基準は $|\rho|$ が半分になるまで遠くを見るので、テイラー展開が破綻し、PDP の裾の形(歪度や、細く長い尾があるか)がもろに効いてきます。

ETU が極端な例です。ETU は 5 µs に $-7$ dB という弱いけれども非常に遅いタップを持っており、これが $\sigma_\tau$ を大きく押し上げます。しかし電力の大半は 0〜500 ns に集中しているため、相関は最初のうち急には落ちません。結果として「$\sigma_\tau$ の割に $B_c(0.5)$ が広い」という状態になり、$k = 1.1$ という小さな値が出るわけです。逆に言えば、弱くて遅いタップは $\sigma_\tau$ を水増ししやすいので、$\sigma_\tau$ 一つだけでチャネルを語ると誤解を招くことがあります。

では $1/(50\sigma_\tau)$ はどこから来たのか

理論値が $1/(13\sigma_\tau)$ 前後なのに、教科書には $1/(50\sigma_\tau)$ と書いてあります。この差は何でしょうか。

$1/(50\sigma_\tau)$ は理論式ではなく、実測データに基づく保守的な経験則です。設計値として使うことを前提に、以下のような要因ぶんの安全率が上乗せされています。

  • 実測 PDP はノイズフロアの影響で裾が切れており、$\sigma_\tau$ が過小評価されがち。$\sigma_\tau$ を小さめに見積もると $B_c$ を大きく見積もってしまうので、定数側で埋め合わせる
  • 相関の判定を複素相関 $|\rho|$ ではなく包絡線相関($\approx |\rho|^2$)で行う流儀があり、そちらだと同じ 0.9 でも約 1.4 倍狭い $B_c$ になる
  • チャネルは時変なので、ある瞬間の $B_c$ は平均値より狭いことがある。最悪ケースを踏まえたマージン

要するに、$1/(50\sigma_\tau)$ は「これ以下の帯域なら安心して平坦と扱ってよい」という設計ガイドライン、$1/(13\sigma_\tau)$ は「WSSUS モデルの上で 0.9 相関を満たす境界」という理論値です。両者を混同せず、目的に応じて使い分けるのが正しい態度です。ちなみに 0.5 基準の $1/(5\sigma_\tau)$ のほうは、上の表を見てわかるとおり典型的な PDP での理論値($3.6$〜$6.3$)にかなり近く、経験則としてよく機能します。

コヒーレンス帯域幅の定義と、その定数の素性がはっきりしました。次は、これを使って「自分の信号は周波数選択性フェージングを受けるのか、フラットフェージングで済むのか」を判定します。

周波数選択性かフラットか

帯域で比べる判定

判定基準はきわめて単純です。信号帯域幅を $B_s$ として、

$$ B_s \ll B_c \;\Rightarrow\; \text{フラットフェージング}, \qquad B_s \gtrsim B_c \;\Rightarrow\; \text{周波数選択性フェージング} $$

前者では、信号が占める帯域全体にわたってチャネルがほぼ一定の複素利得を持ちます。受信信号は「振幅と位相が丸ごと変わっただけ」で波形の形は保たれます。後者では、帯域内でチャネル利得が場所ごとに違うため波形が歪み、時間領域では符号間干渉(ISI)として現れます。

時間で比べる判定

同じことを時間領域で言い換えることもできます。シンボル長を $T$(シンボルレート $R_s = 1/T$)とすると、

$$ \sigma_\tau \ll T \;\Rightarrow\; \text{フラット}, \qquad \sigma_\tau \gtrsim T \;\Rightarrow\; \text{選択性} $$

「1 シンボル送る間にマルチパスの広がりが収まるなら、隣のシンボルに漏れ込まない」という素朴な理屈です。

実務でよく使われる目安は $\sigma_\tau \le 0.1\,T$ ですが、この $0.1$ という数字にはきちんとした根拠があります。信号帯域はおおむね $B_s \approx 1/T$ なので、「$B_s$ が $B_c(0.9)$ 以内に収まる」という条件は

$$ \frac{1}{T} \le B_c(0.9) = \frac{0.0712}{\sigma_\tau} \quad\Longleftrightarrow\quad \sigma_\tau \le 0.0712\, T $$

となります。$0.0712 \approx 0.1$。「$\sigma_\tau < 0.1T$ ならフラット」という経験則は、0.9 相関基準を信号帯域全体に適用したものにほかならないわけです。二つの流儀が同じことを言っていたと分かると、暗記していた数字が腑に落ちます。

符号間干渉の電力を見積もる

「フラットとみなせる」の定量的な意味も押さえておきましょう。理想ナイキストパルス(sinc パルス)を使い、シンボル速度でサンプリングする受信機を考えます。マルチパスによって、本来 1 本であるべき等価離散チャネル $g_k$ が複数タップに広がります。

$$ g_k = \int p(\tau)\, \mathrm{sinc}^2\!\left(\frac{kT + \bar\tau – \tau}{T}\right) d\tau $$

(電力ベースで書いています。)sinc$^2$ には $\sum_k \mathrm{sinc}^2(k + u) = 1$ という性質があるので、$\sum_k g_k = 1$、つまり全電力は保存されます。したがって、望ましい主タップ $g_0$ から漏れたぶんがそのまま干渉です。

$\Delta f$ が小さいときと同じ発想で、$\mathrm{sinc}^2(u) \approx 1 – \pi^2 u^2/3$ と展開して積分すると、

$$ g_0 \approx 1 – \frac{\pi^2}{3}\left(\frac{\sigma_\tau}{T}\right)^2 $$

となり、干渉対信号比は

$$ \begin{equation} \frac{P_{\text{ISI}}}{P_{\text{signal}}} = \frac{1 – g_0}{g_0} \approx \frac{\pi^2}{3}\left(\frac{\sigma_\tau}{T}\right)^2 \approx 3.3 \left(\frac{\sigma_\tau}{T}\right)^2 \end{equation} $$

と見積もれます。指数プロファイルで数値積分すると、$\sigma_\tau/T = 0.05$ で $-20.9$ dB、$0.1$ で $-15.1$ dB、$0.2$ で $-9.7$ dB、$0.3$ で $-6.7$ dB でした。近似式 $3.3(\sigma_\tau/T)^2$ は $\sigma_\tau/T = 0.1$ に対して $0.0329$($-14.8$ dB)を与えるので、数値積分の $0.0306$($-15.1$ dB)と 0.4 dB 以内で一致しています。二乗則も数値でよく成り立っており、$\sigma_\tau/T$ を 2 倍にすると干渉電力はおよそ 5〜6 dB 増えます。

干渉対信号比とσ_τ/Tの関係を両対数で描き、数値積分と2乗近似式を比較した図

両対数プロットで、数値積分(青)と近似式 $3.3(\sigma_\tau/T)^2$(赤破線)が $\sigma_\tau/T \lesssim 0.15$ の範囲でほぼ重なり、傾きが 2(=2 乗則)であることが確認できます。緑の縦線が $\sigma_\tau = 0.0712T$ というフラット判定の境界で、その位置での干渉比はちょうど $-18$ dB 付近です。灰色の点線(64QAM に必要な SIR の目安 $-20$ dB)を上回っているのは、「フラットとみなせる」ぎりぎりの環境でも 64QAM には足りないことを意味します。高次変調を使いたければ、判定条件よりさらに 1 桁厳しい遅延スプレッドが要るわけです。

この数値は重い意味を持ちます。ISI は熱雑音と違って送信電力を上げても消えません(信号と一緒に増えるため)。$\sigma_\tau/T = 0.1$ なら信号対干渉比は約 15 dB で頭打ちになり、QPSK ならまだしも 64QAM(所要 SNR が 20 dB 超)は原理的に成立しません。これが「エラーフロア(irreducible error floor)」の正体であり、等化器や OFDM が必要になる根本理由です。

判定条件と代償が定量化できました。ここからは Python で実際にチャネルを作り、いま導いた関係が数値として現れることを確かめていきます。

Python 実装 1: 指数減衰プロファイルとタップ付き遅延線

まずは指数減衰 PDP を離散化し、モーメントから $\bar\tau$ と $\sigma_\tau$ を計算します。連続モデルでは $\sigma_\tau = \tau_0$ ちょうどですが、サンプリング間隔での離散化と有限長での打ち切りによって値がわずかにずれます。そのずれも確認しましょう。

import numpy as np
import matplotlib, matplotlib.pyplot as plt

for cand in ["Hiragino Sans", "Yu Gothic", "Noto Sans CJK JP", "IPAexGothic", "Meiryo"]:
    if any(cand == f.name for f in matplotlib.font_manager.fontManager.ttflist):
        plt.rcParams["font.family"] = cand
        break
plt.rcParams["axes.unicode_minus"] = False

# --- 指数減衰PDP(離散タップ) ---
tau0 = 100e-9      # 減衰時定数 100 ns
Ts   = 20e-9       # タップ間隔(サンプリング周期)20 ns
L    = 25          # タップ数(0〜480 ns)

tau = np.arange(L) * Ts                 # 各タップの遅延
P    = np.exp(-tau / tau0)              # 電力プロファイル
P   /= P.sum()                          # 全電力を1に正規化

# 一次・二次モーメントから平均遅延とRMS遅延スプレッドを計算
mean_tau  = np.sum(P * tau)
mean_tau2 = np.sum(P * tau**2)
sigma_tau = np.sqrt(mean_tau2 - mean_tau**2)

print(f"平均超過遅延  τ̄     = {mean_tau*1e9:.2f} ns")
print(f"RMS遅延スプレッド σ_τ = {sigma_tau*1e9:.2f} ns")

# 最大超過遅延(ピークから-20 dB以内)
tau_max = tau[P / P.max() >= 10**(-20/10)].max()
print(f"最大超過遅延(-20dB)   = {tau_max*1e9:.0f} ns  (σ_τ の {tau_max/sigma_tau:.1f} 倍)")

実行すると $\bar\tau = 86.94$ ns、$\sigma_\tau = 90.88$ ns、$\tau_{\max} = 460$ ns($\sigma_\tau$ の 5.1 倍)と表示されます。連続モデルの理論値 $\sigma_\tau = \tau_0 = 100$ ns より約 9 % 小さいのは、480 ns で裾を打ち切っているためです。遠い裾ほど $\tau^2$ の重みが大きいので、打ち切りは $\sigma_\tau$ を必ず過小評価させます。また $\tau_{\max}/\sigma_\tau \approx 5$ という比は、前に述べた「3〜6 倍」の相場に収まっています。

続いて PDP そのものを描き、平均遅延と $\pm\sigma_\tau$ の位置を重ねて可視化します。

fig, ax = plt.subplots(1, 2, figsize=(12, 4.2))

# 線形スケール
ax[0].stem(tau*1e9, P, basefmt=" ")
ax[0].axvline(mean_tau*1e9, color="crimson", lw=2, label=f"平均遅延 $\\bar{{\\tau}}$={mean_tau*1e9:.0f} ns")
ax[0].axvspan((mean_tau-sigma_tau)*1e9, (mean_tau+sigma_tau)*1e9,
              color="orange", alpha=0.2, label=f"$\\bar{{\\tau}}\\pm\\sigma_\\tau$ ({sigma_tau*1e9:.0f} ns)")
ax[0].set_xlabel("遅延 τ [ns]"); ax[0].set_ylabel("正規化電力")
ax[0].set_title("電力遅延プロファイル(線形)"); ax[0].legend(fontsize=9)

# dBスケール
ax[1].stem(tau*1e9, 10*np.log10(P/P.max()), basefmt=" ")
ax[1].axhline(-20, color="gray", ls="--", label="ピーク比 -20 dB")
ax[1].axvline(tau_max*1e9, color="seagreen", lw=2, label=f"最大超過遅延 {tau_max*1e9:.0f} ns")
ax[1].set_xlabel("遅延 τ [ns]"); ax[1].set_ylabel("正規化電力 [dB]")
ax[1].set_title("電力遅延プロファイル(dB)"); ax[1].legend(fontsize=9)

plt.tight_layout(); plt.show()

指数減衰PDPを線形スケールとdBスケールで描き平均遅延と最大超過遅延を示した図

左の線形プロットでは、電力の大半が最初の数タップに集中して見えます。ところが右の dB プロットに切り替えると、$-20$ dB という「弱いけれど無視できない」レベルの成分が 460 ns まで伸びていることがはっきりします。$\sigma_\tau$(91 ns)が左図の見た目より大きめに出るのは、この dB スケールでしか見えない裾が $\tau^2$ の重みで効いているからです。PDP は必ず dB スケールでも確認する — これは実測データを扱うときの鉄則です。

PDP が用意できたので、次はここからランダムなチャネル実現を生成し、伝達関数を眺めてみます。

Python 実装 2: 伝達関数 |H(f)| に開く谷

各タップの複素振幅 $a_l$ を、平均電力 $P_l$ の複素ガウス分布から引きます(レイリーフェージング)。伝達関数は $H(f) = \sum_l a_l e^{-j2\pi f \tau_l}$ ですが、タップが等間隔なら FFT で一気に計算できます。

import numpy as np
import matplotlib.pyplot as plt

rng = np.random.default_rng(7)
Nfft = 4096

def generate_channel(P, L, Nfft, rng):
    """PDP に従う複素ガウス係数のタップ付き遅延線 → 伝達関数"""
    a = (rng.normal(size=L) + 1j*rng.normal(size=L)) * np.sqrt(P/2)  # レイリー各タップ
    h = np.zeros(Nfft, dtype=complex)
    h[:L] = a
    return h, np.fft.fft(h)

h1, H1 = generate_channel(P, L, Nfft, rng)
freq = np.fft.fftfreq(Nfft, d=Ts)
order = np.argsort(freq)
f_axis, H_sorted = freq[order], H1[order]

# RMS利得で正規化してdB表示
H_dB = 20*np.log10(np.abs(H_sorted) / np.sqrt(np.mean(np.abs(H_sorted)**2)))
print(f"|H(f)| の変動: 最大 {H_dB.max():+.2f} dB, 最小 {H_dB.min():+.2f} dB, "
      f"レンジ {H_dB.max()-H_dB.min():.1f} dB")

出力は「最大 $+5.94$ dB、最小 $-26.66$ dB、レンジ 32.6 dB」となります。平均受信電力は一定なのに、周波数を選ぶだけで利得が 32 dB も違う — マルチパスが電力を奪うのではなく周波数軸上で配り直していることが、この 1 行の数値に凝縮されています。深い谷(ノッチ)は複数の経路が偶然ほぼ逆相で重なった周波数に現れます。

この様子をグラフにしてみましょう。

plt.figure(figsize=(11, 4.5))
plt.plot(f_axis/1e6, H_dB, lw=1.0, color="steelblue")
plt.axhline(0, color="gray", ls="--", lw=1, label="平均利得")
plt.axhline(-10, color="crimson", ls=":", lw=1.2, label="平均比 -10 dB")

# 20 MHz幅の信号帯域を重ねる
plt.axvspan(-10, 10, color="orange", alpha=0.15, label="信号帯域 20 MHz の例")
plt.xlabel("周波数 [MHz]"); plt.ylabel("チャネル利得 |H(f)| [dB]")
plt.title("周波数選択性フェージング:1 実現の伝達関数(σ_τ = 91 ns)")
plt.xlim(-25, 25); plt.ylim(-35, 12); plt.legend(fontsize=9)
plt.tight_layout(); plt.show()

σ_τ=91nsのチャネル1実現の伝達関数。利得の谷が数MHzおきに現れる

グラフを見ると、利得の谷が数 MHz おきに繰り返し現れているのがわかります。実際に極小点を数えると 50 MHz の全表示範囲に 15 個あり、平均間隔は 3.33 MHz でした。これが偶然でないことは、後で実測するコヒーレンス帯域幅 $B_c(0.5) = 2.82$ MHz とほぼ一致することからわかります。凸凹の目に見える細かさが、そのままコヒーレンス帯域幅であるわけです。オレンジで示した 20 MHz の信号帯域を見ると、帯域内で利得が $+5.9$ dB から $-26.7$ dB まで振れており、帯域の 9.4 % が平均比 $-10$ dB 以下に沈んでいます。この帯域を単一キャリアで送れば激しい ISI を受けることが視覚的に理解できます。逆に、この帯域を細かいサブキャリアに分割すれば(=OFDM)、谷に落ちたサブキャリアだけを諦めて残りを活かせます。

1 実現だけでは「たまたま」の可能性が残ります。次は多数の実現で平均を取り、統計量としての周波数相関関数を求めましょう。

Python 実装 3: 周波数相関関数から B_c を実測する

式 $(4)$ の主張、すなわち「周波数相関関数は PDP のフーリエ変換」をモンテカルロで確認します。多数のチャネル実現について $\mathbb{E}[H(f)H^*(f + \Delta f)]$ を計算し、PDP の DFT と比較します。

import numpy as np

Nreal, Nfft = 4000, 512
rng = np.random.default_rng(0)

# Nreal 個のチャネル実現を一括生成
a = (rng.normal(size=(Nreal, L)) + 1j*rng.normal(size=(Nreal, L))) * np.sqrt(P/2)
h = np.zeros((Nreal, Nfft), dtype=complex)
h[:, :L] = a
H = np.fft.fft(h, axis=1)

# 相関定理: Σ_f H[f]H*[f+k] = N^2 · IDFT{|h|^2}[k](周波数方向の循環自己相関)
c = np.fft.ifft(np.abs(h)**2, axis=1) * Nfft**2
R_emp = c.mean(axis=0)
R_emp = R_emp / R_emp[0].real          # ρ(0)=1 に正規化
rho_emp = np.abs(R_emp)

df_axis = np.arange(Nfft) / (Nfft * Ts)   # 周波数差の軸

# 理論値: PDP のフーリエ変換
rho_th = np.abs([np.sum(P * np.exp(-2j*np.pi*f*tau)) for f in df_axis])
print(f"理論と実測の最大差: {np.max(np.abs(rho_th - rho_emp)):.5f}")

最大差は $0.00688$ にとどまりました。4000 実現の平均で理論曲線と 0.7 % 以内で一致しており、式 $(4)$ の導出が正しいことが数値的に裏づけられます。「$H$ をランダムに生成して相関を取る」という手続きと「PDP をフーリエ変換する」という手続きが同じ答えを出す、という事実そのものが遅延領域のウィーナー・ヒンチン定理の内容です。

次に、閾値ごとのコヒーレンス帯域幅を読み取ります。

import numpy as np

def coherence_bw(rho, df_axis, thresh):
    """|ρ(Δf)| が閾値を最初に下回る周波数差を線形補間で求める"""
    idx = np.argmax(rho < thresh)
    x0, x1 = df_axis[idx-1], df_axis[idx]
    y0, y1 = rho[idx-1], rho[idx]
    return x0 + (y0 - thresh) * (x1 - x0) / (y0 - y1)

for th in [0.9, 0.5]:
    Bc_e = coherence_bw(rho_emp, df_axis, th)
    Bc_t = coherence_bw(rho_th,  df_axis, th)
    print(f"閾値 {th}: 実測 Bc = {Bc_e/1e6:.3f} MHz  →  1/({1/(Bc_e*sigma_tau):.2f}·σ_τ)")
    print(f"          理論 Bc = {Bc_t/1e6:.3f} MHz  →  1/({1/(Bc_t*sigma_tau):.2f}·σ_τ)")

結果は、閾値 0.9 で $B_c = 0.821$ MHz($1/(13.4\sigma_\tau)$)、閾値 0.5 で $B_c = 2.80$ MHz($1/(3.93\sigma_\tau)$)です。理論セクションで手計算した「連続指数プロファイルなら 0.9 で $1/(12.97\sigma_\tau)$、0.5 で $1/(3.63\sigma_\tau)$」に近い値が、離散タップのシミュレーションから出てきました。わずかなずれは、有限長で打ち切ったことによる PDP 形状の違いによるものです。$1/(50\sigma_\tau)$ という教科書の経験則は、この理論値に約 4 倍の安全率を乗せたものだと改めて確認できます。

相関曲線そのものを描いておきましょう。

plt.figure(figsize=(10, 4.8))
plt.plot(df_axis[:Nfft//2]/1e6, rho_th[:Nfft//2], lw=2, label="理論(PDPのフーリエ変換)")
plt.plot(df_axis[:Nfft//2]/1e6, rho_emp[:Nfft//2], "--", lw=1.6, label="実測(4000実現の平均)")

for th, col in [(0.9, "crimson"), (0.5, "seagreen")]:
    Bc = coherence_bw(rho_th, df_axis, th)
    plt.axhline(th, color=col, ls=":", lw=1)
    plt.axvline(Bc/1e6, color=col, lw=1.5,
                label=f"$B_c$({th}) = {Bc/1e6:.2f} MHz = 1/({1/(Bc*sigma_tau):.1f}$\\sigma_\\tau$)")

plt.xlabel("周波数差 Δf [MHz]"); plt.ylabel("|ρ(Δf)|  周波数相関")
plt.title("周波数相関関数とコヒーレンス帯域幅(σ_τ = 91 ns)")
plt.xlim(0, 12); plt.ylim(0, 1.05); plt.legend(fontsize=9); plt.grid(alpha=0.3)
plt.tight_layout(); plt.show()

周波数相関関数の理論値と4000実現の実測値、および0.9・0.5基準のコヒーレンス帯域幅

理論曲線と実測曲線がほぼ重なっていること、そして閾値 0.9 と 0.5 の交点が横軸上で 3.4 倍も離れていることが一目でわかります。「コヒーレンス帯域幅」という言葉を使うときは必ず閾値をセットで述べないと、3 倍以上の食い違いが生じるということです。曲線の立ち上がり($\Delta f \to 0$ 付近)が放物線状になっているのは式 $(5)$ の予測どおりで、この曲率が $\sigma_\tau^2$ に比例します。

続いて、$\sigma_\tau$ を変えたときに $B_c$ が本当に反比例するかを確かめます。

import numpy as np
import matplotlib.pyplot as plt

tau0_list = np.array([25e-9, 50e-9, 100e-9, 200e-9, 400e-9])
sig_list, Bc50_list, Bc90_list = [], [], []

for t0 in tau0_list:
    Ln = 25
    tt = np.arange(Ln) * (t0/5)          # タップ間隔を τ0/5 に固定して形を相似に保つ
    Pp = np.exp(-tt/t0); Pp /= Pp.sum()
    m1 = np.sum(Pp*tt); s = np.sqrt(np.sum(Pp*tt**2) - m1**2)
    dfa = np.linspace(0, 40e6, 200000)
    r = np.abs([np.sum(Pp*np.exp(-2j*np.pi*f*tt)) for f in dfa])
    sig_list.append(s)
    Bc90_list.append(coherence_bw(r, dfa, 0.9))
    Bc50_list.append(coherence_bw(r, dfa, 0.5))

sig_list = np.array(sig_list)
plt.figure(figsize=(9, 4.8))
plt.loglog(np.array(sig_list)*1e9, np.array(Bc90_list)/1e6, "o-", label="$B_c$(相関0.9基準)")
plt.loglog(np.array(sig_list)*1e9, np.array(Bc50_list)/1e6, "s-", label="$B_c$(相関0.5基準)")
plt.loglog(sig_list*1e9, 1/(50*sig_list)/1e6, "k:", label="経験則 $1/(50\\sigma_\\tau)$")
plt.loglog(sig_list*1e9, 1/(5*sig_list)/1e6, "k--", label="経験則 $1/(5\\sigma_\\tau)$")
plt.xlabel("RMS遅延スプレッド $\\sigma_\\tau$ [ns]"); plt.ylabel("コヒーレンス帯域幅 $B_c$ [MHz]")
plt.title("$B_c$ と $\\sigma_\\tau$ の反比例関係"); plt.legend(fontsize=9); plt.grid(alpha=0.3, which="both")
plt.tight_layout(); plt.show()

コヒーレンス帯域幅とRMS遅延スプレッドの反比例関係を示す両対数プロット

両対数プロットで、4 本の線がすべて傾き $-1$ の平行線になります。傾き $-1$ は $B_c \propto \sigma_\tau^{-1}$ の直接的な証拠です。実際、$\tau_0$ を 25 ns から 400 ns まで 16 倍変えても、算出される定数は $k(0.9) = 13.38$、$k(0.5) = 3.90$ と小数点以下まで完全に一定でした。上から順に $1/(3.90\sigma_\tau)$(0.5 基準の理論)、$1/(5\sigma_\tau)$(経験則)、$1/(13.38\sigma_\tau)$(0.9 基準の理論)、$1/(50\sigma_\tau)$(経験則)と並び、経験則の $1/(5\sigma_\tau)$ が 0.5 基準の理論値のすぐ下に寄り添っている一方、$1/(50\sigma_\tau)$ は 0.9 基準の理論値よりさらに 3.7 倍も保守的だと読み取れます。反比例そのものは PDP の形状によらず成り立つ普遍的な関係で、形状で変わるのは比例定数だけです。

反比例関係が数値で確認できました。次は、この $B_c$ を実際の OFDM 設計に落とし込みます。

Python 実装 4: OFDM のサブキャリア間隔とガードインターバル設計

OFDM は「広帯域を、それぞれフラットとみなせる細い帯域に分割する」方式です。設計には 2 つの独立した条件が要ります。

  1. サブキャリア間隔 $\Delta f_{\text{sc}} \ll B_c$: 各サブキャリアの中でチャネルがほぼ一定になり、1 タップの複素係数で等化できるようにする
  2. サイクリックプレフィクス長 $T_{\text{CP}} > \tau_{\max}$: 前のシンボルの尾が今のシンボルの有効部分に食い込まないようにする(これを満たすと、線形畳み込みが循環畳み込みになり FFT による等化が正当化される)

条件 1 は $\sigma_\tau$(凸凹の細かさ)、条件 2 は $\tau_{\max}$(尾の長さ)で決まる、別々の要求である点に注意してください。

import numpy as np

def ofdm_design(name, BW, Nfft_sc, T_cp, sigma_tau, tau_max, Bc90, Bc50):
    df_sc = BW / Nfft_sc            # サブキャリア間隔
    Tu    = 1.0 / df_sc             # 有効シンボル長
    print(f"--- {name} ---")
    print(f"  サブキャリア間隔 Δf_sc = {df_sc/1e3:.1f} kHz")
    print(f"    Δf_sc / Bc(0.9) = {df_sc/Bc90:.3f}   (<< 1 なら各サブキャリアはフラット)")
    print(f"    Δf_sc / Bc(0.5) = {df_sc/Bc50:.3f}")
    print(f"  有効シンボル長 Tu = {Tu*1e6:.2f} us")
    print(f"  CP長 T_cp = {T_cp*1e6:.2f} us = {T_cp/sigma_tau:.1f}·σ_τ")
    print(f"    CP > τ_max({tau_max*1e9:.0f} ns) ?  {'OK' if T_cp > tau_max else 'NG'}")
    print(f"  CPオーバーヘッド = {T_cp/(Tu+T_cp)*100:.1f} %")

Bc90, Bc50 = 0.821e6, 2.822e6      # 実装3で実測した値
ofdm_design("IEEE 802.11a (20 MHz, 64点FFT)", 20e6, 64, 0.8e-6,
            sigma_tau, tau_max, Bc90, Bc50)
ofdm_design("LTE 10 MHz (1024点FFT, normal CP)", 15.36e6, 1024, 4.69e-6,
            sigma_tau, tau_max, Bc90, Bc50)

出力は次のようになります。802.11a はサブキャリア間隔 312.5 kHz で、$\Delta f_{\text{sc}}/B_c(0.9) = 0.381$。「$\ll 1$」というほど小さくはなく、屋内でも遅延スプレッドが大きめの環境では 1 サブキャリア内でわずかにチャネルが傾きます。CP は 0.8 µs で $\sigma_\tau$ の 8.8 倍、$\tau_{\max} = 460$ ns を上回るので条件 2 は満たしますが、余裕は 1.7 倍しかありません。オーバーヘッドは 20 % と重めです。

一方 LTE は 15 kHz 間隔で $\Delta f_{\text{sc}}/B_c(0.9) = 0.018$。各サブキャリアは完璧にフラットです。CP は 4.69 µs($\sigma_\tau$ の 51.6 倍)と大きく取られており、これは屋内 91 ns ではなく市街地マクロセル($\sigma_\tau$ 数 µs)を想定した設計だとわかります。それでいてオーバーヘッドは 6.6 % に抑えられています。有効シンボル長を長くすれば同じ CP 長でもオーバーヘッドが下がる — これが LTE がサブキャリア間隔を狭く取る主要な動機です。

ただしサブキャリア間隔を狭めることには代償があります。有効シンボル長 $T_u = 1/\Delta f_{\text{sc}}$ が長くなるほど、そのシンボルの間にチャネルが時間変化してしまい、サブキャリア間干渉(ICI)が増えるのです。5G NR が 15/30/60/120 kHz という複数の numerology を用意しているのは、この「遅延スプレッド耐性 vs ドップラー耐性」のトレードオフを、運用シナリオごとに選べるようにするためです。

最後に、遅延スプレッドが伸びたときに OFDM 設計がどこで破綻するかを可視化します。

import numpy as np
import matplotlib.pyplot as plt

sig_sweep = np.logspace(np.log10(10e-9), np.log10(5e-6), 200)
Bc90_sweep = 0.0712 / sig_sweep       # 式(6): 0.9基準の理論値

plt.figure(figsize=(10, 5))
plt.loglog(sig_sweep*1e9, Bc90_sweep/1e3, lw=2, color="steelblue",
           label="$B_c$(0.9) = 0.0712/$\\sigma_\\tau$")

for name, dfsc, col in [("802.11a: 312.5 kHz", 312.5e3, "crimson"),
                        ("LTE/NR μ=0: 15 kHz", 15e3, "seagreen"),
                        ("NR μ=2: 60 kHz", 60e3, "darkorange")]:
    plt.axhline(dfsc/1e3, color=col, ls="--", lw=1.4, label=name)
    # 交点 = そのサブキャリア間隔が Bc に並ぶ σ_τ
    sig_cross = 0.0712 / dfsc
    plt.plot(sig_cross*1e9, dfsc/1e3, "o", color=col, ms=8)

plt.xlabel("RMS遅延スプレッド $\\sigma_\\tau$ [ns]")
plt.ylabel("周波数幅 [kHz]")
plt.title("サブキャリア間隔が $B_c$ を上回る限界点")
plt.grid(alpha=0.3, which="both"); plt.legend(fontsize=9)
plt.tight_layout(); plt.show()

各無線方式のサブキャリア間隔とB_c(0.9)曲線の交点から限界の遅延スプレッドを読む図

各方式のサブキャリア間隔(水平線)と $B_c(0.9)$ 曲線の交点が、「1 サブキャリア内でチャネルが平坦とみなせなくなる限界の $\sigma_\tau$」です。802.11a は $\sigma_\tau \approx 228$ ns、NR の 60 kHz は $\approx 1.19$ µs、15 kHz は $\approx 4.75$ µs で交わります。屋内(数十 ns)なら 802.11a で十分、市街地マクロセル(数 µs)では 15 kHz でないと厳しい、という運用実態と数値がきれいに対応しています。図の右側ほど過酷な伝搬環境で、そこでは狭いサブキャリア間隔(=下側の線)を選ぶ必要がある、と読めます。

設計への落とし込みまで終わりました。最後に、実測データを扱うときに必ず引っかかる落とし穴を整理しておきます。

実務での注意点

σ_τ はノイズフロアで簡単に変わる

実測 PDP からモーメントを計算するとき、どこまでを「信号」とみなすかの閾値設定が結果を大きく左右します。前述の指数プロファイル(真値 $\sigma_\tau = 90.88$ ns)に対して、ピークからの閾値を変えて $\sigma_\tau$ を計算し直すと次のようになりました。

閾値 算出される $\sigma_\tau$ 真値からのずれ
$-10$ dB 60.39 ns $-34$ %
$-20$ dB 89.66 ns $-1.3$ %
$-30$ dB 90.88 ns $0$ %

PDPの切り出し閾値を変えたときにσ_τが大きく変わることを示す図

左図の 3 本の水平線が「どこまでを信号とみなすか」の閾値、右図がそれぞれで算出される $\sigma_\tau$ です。$-10$ dB で切ると 240 ns 以降のタップがすべて捨てられ、$\sigma_\tau$ は 60.39 ns($-33.6$ %)まで落ち込みます。$-20$ dB まで拾えば誤差 $-1.3$ %、$-30$ dB でようやく真値に一致します。測定系のダイナミックレンジが 10 dB 変わるだけで $\sigma_\tau$ が 1.5 倍動く — 実測値を引用するときに条件確認が欠かせない理由がここにあります。

$-10$ dB で切ると 3 割以上も過小評価します。$\tau^2$ の重みが効くため、弱くて遅い成分ほど $\sigma_\tau$ への寄与が大きいからです。測定系のダイナミックレンジが足りないと $\sigma_\tau$ は必ず小さめに出て、結果として $B_c$ を過大評価し、「フラットだと思っていたら選択性だった」という設計事故につながります。文献の $\sigma_\tau$ 値を引用するときは、必ず閾値(ダイナミックレンジ)の条件を確認してください。$1/(50\sigma_\tau)$ という保守的な経験則が生まれた背景の一つも、この過小評価バイアスです。

σ_τ 一つでは語りきれない

3GPP ETU の例で見たように、電力が小さくても遅いタップが 1 本あるだけで $\sigma_\tau$ は大きく跳ね上がります。しかしそのタップが $-20$ dB 程度なら、相関はほとんど落ちません。極端な例として、電力比 99:1 の 2 波を遅延差 $\Delta\tau$ で受けるケースを考えましょう。$\sigma_\tau = \sqrt{0.99 \times 0.01}\,\Delta\tau = 0.0995\Delta\tau$ と一見大きいのに、$|\rho|^2 = 1 – 2 \times 0.99 \times 0.01 (1 – \cos\theta) \ge 0.9604$ なので $|\rho|$ は常に 0.98 以上。0.9 基準のコヒーレンス帯域幅は無限大です。

$\sigma_\tau$ が有効なのは「電力がある程度連続的に分布している普通の PDP」であって、飛び地のような弱いタップがある場合は $|\rho(\Delta f)|$ を直接見るべきです。設計の最終判断は、要約統計量ではなく相関曲線そのものに戻って行う — これが安全側の作法です。

時変性とコヒーレンス時間との双対

本記事では時刻 $t$ を固定して周波数方向だけを見てきました。実際のチャネルは移動によって時間変化し、そちらにはドップラースペクトル $S(\nu)$コヒーレンス時間 $T_c$ という、完全に対をなす概念があります。

時間 ↔ 周波数の対 分布 相関関数 広がりの尺度 相関の幅
遅延 ↔ 周波数 電力遅延プロファイル $P(\tau)$ $\rho(\Delta f)$ RMS 遅延スプレッド $\sigma_\tau$ コヒーレンス帯域幅 $B_c \sim 1/\sigma_\tau$
ドップラー ↔ 時間 ドップラースペクトル $S(\nu)$ $\rho(\Delta t)$ ドップラースプレッド $B_D$ コヒーレンス時間 $T_c \sim 1/B_D$

どちらも「分布のフーリエ変換が相関関数」「広がりの逆数が相関の幅」という同じ構造です。片方を理解すればもう片方は写経で済みます。この 2 つを合わせた $(\sigma_\tau, B_D)$ の組が、チャネルを「周波数選択性 / フラット」×「高速フェージング / 低速フェージング」の 4 象限に分類する座標になります。詳しくはマルチパス伝搬の理論を参照してください。

$B_c$ は「周波数ダイバーシティの単位」でもある

最後に、$B_c$ のもう一つの顔を挙げておきます。$B_c$ より離れた 2 つの周波数のチャネル利得はほぼ無相関なので、帯域 $B_s$ の信号は実効的に $\lceil B_s / B_c \rceil$ 個の独立なフェージングを経験します。この数が周波数ダイバーシティ次数です。

$\sigma_\tau = 91$ ns、$B_c(0.5) = 2.82$ MHz、$B_s = 20$ MHz なら、ダイバーシティ次数はおよそ 7 です。誤り訂正符号とインターリーブを組み合わせれば、この 7 重のダイバーシティを引き出して深いフェードを埋め合わせられます。遅延スプレッドは、単一キャリアにとっては敵ですが、符号化 OFDM にとっては味方になる — これがマルチパスに対する現代的な見方です。$\sigma_\tau$ が大きい環境ほど $B_c$ が狭くなり、同じ帯域でより多くのダイバーシティが得られるのですから。

まとめ

本記事では、遅延スプレッドとコヒーレンス帯域幅という、周波数選択性フェージングを測る 2 つの尺度を、定義から導出、設計への適用まで通して見てきました。

  • 電力遅延プロファイル $P(\tau)$ は、WSSUS 仮定のもとで $\mathbb{E}[h(\tau_1)h^*(\tau_2)] = P(\tau_1)\delta(\tau_1-\tau_2)$ として定義される「遅延ごとの平均電力」です。正規化すれば確率密度と同じ形になります
  • 平均遅延 $\bar\tau$ は一次モーメント、RMS 遅延スプレッド $\sigma_\tau = \sqrt{\overline{\tau^2} – \bar\tau^2}$ は二次モーメント(標準偏差)です。伝送品質に効くのは $\bar\tau$ ではなく $\sigma_\tau$ で、最大超過遅延 $\tau_{\max}$ とは役割が違います($\tau_{\max} \approx 3$〜$6\sigma_\tau$)
  • 周波数相関関数は PDP のフーリエ変換 $\rho(\Delta f) = \int p(\tau)e^{-j2\pi\Delta f\tau}d\tau$ です。US 仮定から自動的に「相関は周波数差にしか依存しない」ことが出てきます。これが遅延領域のウィーナー・ヒンチン定理で、$B_c \propto 1/\sigma_\tau$ の根拠になります
  • 相関の小さい $\Delta f$ での挙動は $|\rho| \approx 1 – 2\pi^2\sigma_\tau^2\Delta f^2$ と、$\sigma_\tau$ だけで決まります。だから 0.9 のような高い閾値では、PDP の形によらず $B_c \approx 1/(13\sigma_\tau)$ にほぼ収束します。一方 0.5 のような低い閾値では裾の形が効き、$1/(1.1\sigma_\tau)$ から $1/(6.3\sigma_\tau)$ まで大きくばらつきます
  • 教科書の $1/(50\sigma_\tau)$(0.9 基準)は理論値 $1/(13\sigma_\tau)$ に約 4 倍の安全率を乗せた設計ガイドライン、$1/(5\sigma_\tau)$(0.5 基準)は典型的な PDP の理論値によく合う実用的な経験則です
  • 判定条件は $B_s \ll B_c$(フラット)か $B_s \gtrsim B_c$(選択性)か。時間領域では $\sigma_\tau < 0.1T$。この $0.1$ は 0.9 相関基準を $\Delta f = 1/T$ に適用した $0.0712$ の丸め値です
  • 符号間干渉電力は $P_{\text{ISI}}/P_{\text{signal}} \approx (\pi^2/3)(\sigma_\tau/T)^2$ と見積もれます。$\sigma_\tau/T = 0.1$ で約 $-15$ dB。送信電力では消せないのでエラーフロアになり、等化器や OFDM が必要になります
  • OFDM 設計では、$\Delta f_{\text{sc}} \ll B_c$($\sigma_\tau$ で決まる)と $T_{\text{CP}} > \tau_{\max}$($\tau_{\max}$ で決まる)という 2 つの独立した条件を満たす必要があります。5G NR の numerology 選択は、遅延スプレッド耐性とドップラー耐性のトレードオフです

$\sigma_\tau$ と $B_c$ を握っておけば、「この環境でこの帯域を使うと何が起きるか」を紙の上で見積もれるようになります。次のステップとして、実際にこのチャネルと戦う技術を見ていくとよいでしょう。

次のステップとして、以下の記事も参考にしてください。