携帯電話の基地局から1km先のスマートフォンに電波が届くとき、送信された電力のうち実際に受信される電力はどのくらいでしょうか?直感的には「距離が遠いほど弱くなる」とわかりますが、具体的にどれだけ弱くなるのでしょうか?
この問いに明快な答えを与えるのがフリスの伝達公式(Friis Transmission Equation)です。1946年にハラルド・フリスが発表したこの公式は、送信電力、アンテナの利得、周波数、距離の4つの基本量から受信電力を計算する極めて実用的な式です。
フリスの伝達公式を理解することで、以下のような幅広い応用が可能になります。
- 衛星通信のリンクバジェット設計: 静止軌道衛星(約36,000 km先)との通信で必要な送信電力やアンテナサイズを見積もることができます
- 携帯電話ネットワーク設計: 基地局の配置間隔やセルサイズの決定に不可欠です
- レーダー方程式の基礎: レーダーの探知距離を計算するレーダー方程式は、フリスの伝達公式を拡張したものです
本記事の内容
- 電波がどれくらい届くか — 素朴な問いから出発
- アンテナ利得と有効面積の関係
- フリスの伝達公式の導出
- 自由空間損失(FSPL)の意味
- デシベル表記と実用計算
- Pythonで距離・周波数に対する受信電力を計算・可視化
- 衛星通信のリンクバジェット例
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
電波はどのように広がるか — 等方性放射
点光源のアナロジー
フリスの伝達公式を導く出発点として、最も単純な状況 — 全方向に均等に電磁波を放射する等方性アンテナ(isotropic antenna)を考えましょう。
暗闇の中で裸電球を灯すことをイメージしてください。光は全方向に均等に広がり、遠くなるほど暗くなります。これは光(電磁波)のエネルギーが球面状に広がっていくためです。距離 $R$ の球面の表面積は $4\pi R^2$ ですから、単位面積あたりのエネルギー密度は $1/R^2$ に比例して減少します。
電力密度の計算
送信電力 $P_t$ の等方性アンテナから距離 $R$ の地点における電力密度(ポインティングベクトルの時間平均)$S$ は次のようになります。
$$ S_{\text{iso}} = \frac{P_t}{4\pi R^2} $$
この式は非常に直感的です。送信電力 $P_t$ が半径 $R$ の球面上に均等に分配されるので、単位面積あたりの電力は球面の面積 $4\pi R^2$ で割ったものになります。
例えば、1 Wを送信して100 m先の電力密度を求めると、
$$ S = \frac{1}{4\pi \times (100)^2} \approx 7.96 \times 10^{-6} \; \text{W/m}^2 $$
非常に小さな値ですが、これは全方向に均等に放射した場合の話です。実際のアンテナは特定の方向に電波を集中させることで、この値を大幅に改善できます。
ここまでで、電力密度が距離の2乗に反比例することがわかりました。次に、アンテナが電波をどれだけ集中させるかを定量化する「利得」について復習しましょう。
アンテナ利得と有効面積の復習
アンテナ利得
アンテナ利得 $G$ は、等方性アンテナと比べて、最大放射方向にどれだけ電力を集中させるかを表す指標です。利得 $G_t$ の送信アンテナが最大放射方向に向けて電波を放射する場合、距離 $R$ における電力密度は次のようになります。
$$ S = \frac{P_t G_t}{4\pi R^2} $$
利得はいわば「アンテナの電力集中度」です。懐中電灯のように光を一方向に集めれば、その方向の明るさは裸電球よりもはるかに強くなります。しかし、全体のエネルギーは増えていません — 他の方向に行くはずだったエネルギーを集めているだけです。
例えば、パラボラアンテナの利得は1,000倍(30 dBi)を超えることもあり、特定の方向の電力密度を等方性アンテナの1,000倍にまで高めることができます。
有効面積(実効面積)
受信アンテナの「電磁波を捕捉する能力」を定量化するのが有効面積(effective area, effective aperture) $A_e$ です。
イメージとしては、降り注ぐ雨を集めるバケツの口の面積です。バケツの口が大きいほど多くの雨水を集められるように、有効面積が大きいアンテナほど多くの電磁波エネルギーを捕捉できます。
受信電力 $P_r$ は、入射する電力密度 $S$ と受信アンテナの有効面積 $A_{e,r}$ の積で与えられます。
$$ P_r = S \cdot A_{e,r} $$
利得と有効面積の関係
アンテナ理論における重要な関係式として、利得 $G$ と有効面積 $A_e$ の間には次の関係が成り立ちます。
$$ A_e = \frac{\lambda^2}{4\pi} G $$
ここで $\lambda$ は波長です。この関係は一見すると意外です — なぜ物理的に大きなアンテナでなくても、高い利得を持てば大きな有効面積が得られるのでしょうか?
これは、アンテナが電磁波と相互作用する範囲が物理的なサイズだけで決まるわけではないことを示しています。波の干渉効果により、アンテナは自身の物理的サイズよりも広い範囲から電磁波エネルギーを「引き寄せる」ことができるのです。特に波長が長い(周波数が低い)場合、この効果が顕著になります。
逆に見れば、同じ利得のアンテナでも周波数が高い(波長が短い)ほど有効面積は小さくなります。これはフリスの伝達公式において重要な意味を持ちます。
ここまでで、送信側の利得と受信側の有効面積という2つの概念を確認しました。次に、これらを組み合わせてフリスの伝達公式を導出しましょう。
フリスの伝達公式の導出
導出の準備
以下の状況を設定します。
- 送信アンテナ: 送信電力 $P_t$、利得 $G_t$
- 受信アンテナ: 利得 $G_r$、有効面積 $A_{e,r}$
- 送受信アンテナ間の距離: $R$
- 自由空間(反射や障害物なし)を仮定
- 送信アンテナの最大放射方向に受信アンテナが位置する
- 偏波は完全に一致していると仮定
ステップ1: 受信点での電力密度
送信アンテナから距離 $R$ の受信点における電力密度は、
$$ S = \frac{P_t G_t}{4\pi R^2} $$
ステップ2: 受信電力
受信アンテナが捕捉する電力は、電力密度と有効面積の積です。
$$ P_r = S \cdot A_{e,r} = \frac{P_t G_t}{4\pi R^2} \cdot A_{e,r} $$
ステップ3: 有効面積を利得で置き換え
利得と有効面積の関係 $A_{e,r} = \frac{\lambda^2}{4\pi} G_r$ を代入します。
$$ P_r = \frac{P_t G_t}{4\pi R^2} \cdot \frac{\lambda^2}{4\pi} G_r $$
整理すると、フリスの伝達公式が得られます。
$$ \boxed{P_r = P_t G_t G_r \left(\frac{\lambda}{4\pi R}\right)^2} $$
フリスの伝達公式の各因子の意味
得られた公式の各因子を物理的に解釈しましょう。
- $P_t$: 送信電力。大きいほど受信電力も大きくなります(線形関係)
- $G_t$: 送信アンテナ利得。送信アンテナの電波集中度。高利得アンテナを使えば特定方向への電力密度が増します
- $G_r$: 受信アンテナ利得。受信アンテナの電波捕捉能力。高利得アンテナは有効面積が大きい
- $\left(\frac{\lambda}{4\pi R}\right)^2$: 自由空間損失(の逆数)。電波が距離 $R$ を伝播する間に幾何学的に拡散することによる減衰
特に重要なのは、受信電力が距離の2乗に反比例し、周波数の2乗にも反比例(波長の2乗に比例)することです。
周波数依存性の解釈
フリスの伝達公式には $\lambda^2$ の項が含まれており、周波数が高いほど受信電力が小さくなるように見えます。「高い周波数ほど伝搬損失が大きい」という表現をよく目にしますが、これは少し注意が必要です。
実は、$\lambda^2$ の因子は受信アンテナの有効面積 $A_{e,r} = G_r \lambda^2 / (4\pi)$ から来ています。つまり、同じ利得のアンテナを使い続ける限り、周波数が高くなると有効面積が小さくなるため、受信電力が減少するのです。
もし受信アンテナの物理的な面積 $A$ を一定に保つなら、利得は $G_r = 4\pi A / \lambda^2$ のように周波数の2乗に比例して増加するため、$\lambda^2$ の効果は相殺されます。つまり、自由空間自体が周波数に依存した吸収を行っているわけではなく、受信アンテナの有効面積の変化が原因なのです。
ここまでで、フリスの伝達公式の導出とその物理的意味を理解しました。次に、この公式の重要な構成要素である自由空間損失(FSPL)を詳しく見ていきましょう。
自由空間損失(FSPL)
FSPLの定義
自由空間損失(Free Space Path Loss, FSPL)は、フリスの伝達公式における $(\lambda / 4\pi R)^2$ の逆数として定義されます。
$$ \text{FSPL} = \left(\frac{4\pi R}{\lambda}\right)^2 $$
FSPLは無次元量で、送受信アンテナがともに等方性アンテナ($G_t = G_r = 1$)であるときの電力損失比 $P_t / P_r$ に相当します。
周波数 $f$ で書き直すと($\lambda = c/f$ を代入)、
$$ \text{FSPL} = \left(\frac{4\pi R f}{c}\right)^2 $$
FSPLの数値例
具体的な数値で感覚を掴みましょう。
例1: Wi-Fi(2.4 GHz、距離10 m)
$$ \text{FSPL} = \left(\frac{4\pi \times 10 \times 2.4 \times 10^9}{3 \times 10^8}\right)^2 \approx 4.02 \times 10^4 $$
デシベルに変換すると約 46 dB。送信電力の約4万分の1しか受信アンテナに届きません。
例2: 衛星通信(12 GHz、距離36,000 km)
$$ \text{FSPL} = \left(\frac{4\pi \times 3.6 \times 10^7 \times 12 \times 10^9}{3 \times 10^8}\right)^2 \approx 8.2 \times 10^{20} $$
デシベルに変換すると約 209 dB。途方もない損失です。この損失を補うために、衛星通信では高利得のパラボラアンテナ(典型的に40 dBi以上)が必要になることが直感的にわかります。
ここまでで、FSPLの定義と数値的な感覚を得ました。実際の通信システム設計ではデシベル表記を使って計算するのが一般的ですので、次にデシベル表記での扱い方を見ていきましょう。
デシベル表記
なぜデシベルを使うのか
通信工学では、信号の電力比をデシベル(dB)で表すのが標準的です。その理由は主に2つあります。
- 桁数の圧縮: 通信システムでは $10^{-15}$ W のような微小な電力から $10^3$ W のような大電力まで扱います。デシベルを使えば、これらを -150 dBW から 30 dBW のような扱いやすい数値範囲に収められます
- 乗除算が加減算に: 電力の乗除算はdB表記では加減算になります。複数の損失や利得を持つシステムの総合特性を暗算で見積もることができます
デシベル表記の定義
電力比のデシベル表記:
$$ X \; [\text{dB}] = 10 \log_{10} X $$
絶対電力のデシベル表記(基準: 1 W):
$$ P \; [\text{dBW}] = 10 \log_{10} \frac{P}{1 \; \text{W}} $$
絶対電力のデシベル表記(基準: 1 mW):
$$ P \; [\text{dBm}] = 10 \log_{10} \frac{P}{1 \; \text{mW}} $$
フリスの伝達公式のdB表記
フリスの伝達公式の両辺に $10\log_{10}$ を取ります。
$$ P_r \; [\text{dBW}] = P_t \; [\text{dBW}] + G_t \; [\text{dBi}] + G_r \; [\text{dBi}] – \text{FSPL} \; [\text{dB}] $$
ここで、FSPLのdB表記は次のように展開できます。
$$ \text{FSPL} \; [\text{dB}] = 20 \log_{10}\left(\frac{4\pi R}{\lambda}\right) $$
$\lambda = c/f$ を代入し、距離をkm、周波数をGHzで表すと、便利な近似式が得られます。
$$ \text{FSPL} \; [\text{dB}] = 20 \log_{10}(R_{\text{km}}) + 20 \log_{10}(f_{\text{GHz}}) + 92.45 $$
この式を使えば、距離と周波数を入れるだけでFSPLを素早く計算できます。
dB表記でのリンク計算例
Wi-Fi通信(2.4 GHz、距離100 m、送信電力20 dBm = 100 mW)を例に計算しましょう。
送信アンテナ利得を $G_t = 3$ dBi(小型パッチアンテナ)、受信アンテナ利得を $G_r = 2$ dBi とします。
$$ \text{FSPL} = 20 \log_{10}(0.1) + 20 \log_{10}(2.4) + 92.45 = -20 + 7.6 + 92.45 = 80.05 \; \text{dB} $$
受信電力は、
$$ P_r = 20 + 3 + 2 – 80.05 = -55.05 \; \text{dBm} $$
Wi-Fiの受信感度は典型的に $-65$ dBm から $-80$ dBm 程度ですので、100 m先でも十分な受信電力が確保できることがわかります。
このように、dB表記では足し算と引き算だけでリンクバジェットを計算でき、非常に実用的です。
ここまでで、フリスの伝達公式の理論的な基盤とdB表記での実用計算を学びました。次に、Pythonを使って距離や周波数に対する受信電力の変化を視覚的に確認しましょう。
Pythonによる受信電力の計算と可視化
距離に対する受信電力の変化
まず、距離が変化したときに受信電力がどのように減衰するかを可視化します。
import numpy as np
import matplotlib.pyplot as plt
# 物理定数
c = 3e8 # 光速 [m/s]
# フリスの伝達公式(dB表記)
def friis_db(pt_dbm, gt_dbi, gr_dbi, f_hz, r_m):
"""フリスの伝達公式でdBm単位の受信電力を計算"""
lam = c / f_hz
fspl_db = 20 * np.log10(4 * np.pi * r_m / lam)
pr_dbm = pt_dbm + gt_dbi + gr_dbi - fspl_db
return pr_dbm
# パラメータ設定
pt_dbm = 20 # 送信電力 [dBm] = 100 mW
gt_dbi = 0 # 送信アンテナ利得(等方性)
gr_dbi = 0 # 受信アンテナ利得(等方性)
# 距離の配列
r = np.logspace(0, 5, 500) # 1 m 〜 100 km
# 3つの周波数で計算
frequencies = {
"900 MHz (LTE)": 900e6,
"2.4 GHz (Wi-Fi)": 2.4e9,
"28 GHz (5G mmWave)": 28e9,
}
fig, ax = plt.subplots(figsize=(10, 7))
colors = ["#00e5ff", "#e040fb", "#ffca28"]
for (label, f), color in zip(frequencies.items(), colors):
pr = friis_db(pt_dbm, gt_dbi, gr_dbi, f, r)
ax.plot(r / 1000, pr, color=color, linewidth=2, label=label)
# 受信感度の参考線
ax.axhline(y=-80, color="white", linestyle="--", alpha=0.4, linewidth=1)
ax.text(0.002, -78, "Typical Wi-Fi sensitivity (-80 dBm)", fontsize=10, color="white", alpha=0.6)
ax.axhline(y=-120, color="white", linestyle="--", alpha=0.4, linewidth=1)
ax.text(0.002, -118, "Typical LTE sensitivity (-120 dBm)", fontsize=10, color="white", alpha=0.6)
ax.set_xscale("log")
ax.set_xlabel("Distance [km]", fontsize=13)
ax.set_ylabel("Received Power [dBm]", fontsize=13)
ax.set_title("Received Power vs Distance (Friis Equation, Isotropic Antennas)", fontsize=14)
ax.legend(fontsize=11, loc="upper right")
ax.grid(True, alpha=0.3, which="both")
ax.set_xlim([1e-3, 100])
ax.set_ylim([-180, 30])
plt.tight_layout()
plt.savefig("friis_distance.png", dpi=150, bbox_inches="tight")
plt.show()
このグラフから、電波伝搬に関する重要な知見が読み取れます。
-
距離に対する直線的な減衰: 対数スケールで見ると、受信電力は距離に対して直線的に減少しています。傾きは -20 dB/decade(距離が10倍になると受信電力は20 dB減少)です。これは $P_r \propto 1/R^2$ という逆2乗則の帰結です。
-
周波数による差: 900 MHz、2.4 GHz、28 GHz の3つの周波数を比較すると、高い周波数ほど受信電力が小さくなります。28 GHz(5G ミリ波)は900 MHz(LTE)に比べて約30 dB(1,000倍)低い受信電力を示しています。5Gのミリ波が小セル化(基地局の密配置)を必要とする理由がよくわかります。
-
通信限界距離: 受信感度の参考線と各曲線の交点から、通信可能な最大距離を見積もれます。等方性アンテナ同士での比較なので、実際の通信ではアンテナ利得により大幅に改善されます。
周波数に対するFSPLの変化
次に、周波数に対するFSPLの変化を可視化します。
import numpy as np
import matplotlib.pyplot as plt
c = 3e8
# 周波数の配列(100 MHz 〜 100 GHz)
f = np.logspace(8, 11, 500)
# 複数の距離でFSPLを計算
distances = {
"10 m": 10,
"100 m": 100,
"1 km": 1000,
"10 km": 10000,
"100 km": 100000,
}
fig, ax = plt.subplots(figsize=(10, 7))
colors = ["#00e5ff", "#e040fb", "#ffca28", "#76ff03", "#ff6e40"]
for (label, r), color in zip(distances.items(), colors):
lam = c / f
fspl_db = 20 * np.log10(4 * np.pi * r / lam)
ax.plot(f / 1e9, fspl_db, color=color, linewidth=2, label=f"R = {label}")
# 主要な周波数帯の注釈
bands = {"FM": 0.1, "LTE": 0.9, "Wi-Fi": 2.4, "5G FR2": 28, "E-band": 71}
for name, freq in bands.items():
ax.axvline(x=freq, color="white", linestyle=":", alpha=0.2, linewidth=1)
ax.text(freq, 35, name, fontsize=9, color="white", alpha=0.5,
ha="center", rotation=90)
ax.set_xscale("log")
ax.set_xlabel("Frequency [GHz]", fontsize=13)
ax.set_ylabel("FSPL [dB]", fontsize=13)
ax.set_title("Free Space Path Loss vs Frequency", fontsize=14)
ax.legend(fontsize=11, loc="lower right")
ax.grid(True, alpha=0.3, which="both")
ax.set_xlim([0.1, 100])
ax.set_ylim([20, 200])
plt.tight_layout()
plt.savefig("fspl_frequency.png", dpi=150, bbox_inches="tight")
plt.show()
このグラフからは、通信システム設計に直結する重要な特徴が読み取れます。
-
周波数に対する線形増加: 対数スケールで見ると、FSPLは周波数に対して傾き 20 dB/decade で直線的に増加します。周波数が10倍になるとFSPLは20 dB増加します。
-
距離による平行シフト: 異なる距離のFSPL曲線は互いに平行です。距離が10倍になるとFSPLは20 dB増加するため、距離が1桁変わるごとに曲線が20 dB上方にシフトします。
-
5G ミリ波の課題: 5G FR2帯(28 GHz)では、100 m先でもFSPLが約100 dBに達します。これはサブ6 GHz帯と比べて20〜30 dBも大きく、ミリ波通信がカバレッジの観点で困難であることを定量的に裏付けています。ビームフォーミングやMIMO技術による利得の向上が不可欠です。
送受信利得を含むリンクマージンの可視化
実際の通信設計では、アンテナ利得を考慮したリンクマージン(受信電力 − 受信感度)が重要です。
import numpy as np
import matplotlib.pyplot as plt
c = 3e8
def friis_db(pt_dbm, gt_dbi, gr_dbi, f_hz, r_m):
lam = c / f_hz
fspl_db = 20 * np.log10(4 * np.pi * r_m / lam)
return pt_dbm + gt_dbi + gr_dbi - fspl_db
r = np.logspace(1, 5, 500) # 10 m 〜 100 km
# 3つのシナリオ
scenarios = [
{"label": "Isotropic (Gt=0, Gr=0 dBi)", "pt": 30, "gt": 0, "gr": 0,
"f": 2.4e9, "sens": -80, "color": "#00e5ff"},
{"label": "Directional (Gt=15, Gr=15 dBi)", "pt": 30, "gt": 15, "gr": 15,
"f": 2.4e9, "sens": -80, "color": "#e040fb"},
{"label": "High-gain (Gt=30, Gr=30 dBi)", "pt": 30, "gt": 30, "gr": 30,
"f": 2.4e9, "sens": -80, "color": "#ffca28"},
]
fig, ax = plt.subplots(figsize=(10, 7))
for s in scenarios:
pr = friis_db(s["pt"], s["gt"], s["gr"], s["f"], r)
margin = pr - s["sens"]
ax.plot(r / 1000, margin, color=s["color"], linewidth=2, label=s["label"])
ax.axhline(y=0, color="red", linestyle="--", linewidth=1.5, alpha=0.7)
ax.text(0.015, 2, "Link Margin = 0 (Communication Limit)", fontsize=10, color="red")
ax.set_xscale("log")
ax.set_xlabel("Distance [km]", fontsize=13)
ax.set_ylabel("Link Margin [dB]", fontsize=13)
ax.set_title("Link Margin vs Distance (f=2.4 GHz, Pt=30 dBm, Sens=-80 dBm)", fontsize=13)
ax.legend(fontsize=11, loc="upper right")
ax.grid(True, alpha=0.3, which="both")
ax.set_xlim([0.01, 100])
ax.set_ylim([-40, 120])
plt.tight_layout()
plt.savefig("link_margin.png", dpi=150, bbox_inches="tight")
plt.show()
リンクマージンのグラフから、アンテナ利得が通信距離に与える影響が明確にわかります。
-
利得による通信距離の延伸: 等方性アンテナ(0 dBi)では約0.3 km程度でリンクマージンがゼロになりますが、指向性アンテナ(15 dBi×2 = 30 dB利得向上)を使うと約10 km、高利得アンテナ(30 dBi×2 = 60 dB利得向上)では約300 kmまで通信可能です。
-
30 dBの利得差 = 距離が約31.6倍: 利得が30 dB増えると、通信距離は $10^{30/20} \approx 31.6$ 倍に延びます。これはFSPLが距離の2乗に比例し、利得が線形に加算されることの帰結です。
-
リンクマージンの確保: 実際の通信設計では、フェージングやケーブル損失などを考慮して10〜20 dB程度のリンクマージンを確保するのが一般的です。リンクマージンがゼロのギリギリの設計では、わずかな環境変化で通信が途切れてしまいます。
ここまでで、フリスの伝達公式の数値計算と可視化を行い、距離・周波数・アンテナ利得が受信電力に与える影響を定量的に確認しました。次に、実際の通信システムでどのように活用されるかを、衛星通信のリンクバジェットを例に見ていきましょう。
衛星通信のリンクバジェット例
問題設定
静止軌道(GEO)の通信衛星とのリンクバジェットを計算してみましょう。以下のパラメータを設定します。
| パラメータ | 値 |
|---|---|
| 周波数(ダウンリンク) | 12 GHz(Kuバンド) |
| 衛星 EIRP | 52 dBW |
| 距離 | 36,000 km |
| 地上局アンテナ直径 | 0.6 m(家庭用パラボラ) |
| 地上局アンテナ効率 | 60% |
| システム雑音温度 | 150 K |
| 必要 $C/N$ | 10 dB |
| 帯域幅 | 36 MHz |
ステップ1: 地上局アンテナ利得
パラボラアンテナの利得は、物理的な開口面積と波長から計算できます。
$$ G_r = \eta \frac{4\pi A}{\lambda^2} = \eta \frac{4\pi \cdot \pi (D/2)^2}{\lambda^2} = \eta \left(\frac{\pi D}{\lambda}\right)^2 $$
$D = 0.6$ m、$\lambda = c/f = 0.025$ m、$\eta = 0.6$ を代入します。
$$ G_r = 0.6 \times \left(\frac{\pi \times 0.6}{0.025}\right)^2 = 0.6 \times (75.4)^2 = 0.6 \times 5685 = 3411 $$
dB表記では $G_r = 10\log_{10}(3411) = 35.3$ dBi です。
ステップ2: 自由空間損失
$$ \text{FSPL} = 20\log_{10}(R_{\text{km}}) + 20\log_{10}(f_{\text{GHz}}) + 92.45 $$
$R = 36000$ km、$f = 12$ GHz を代入します。
$$ \text{FSPL} = 20\log_{10}(36000) + 20\log_{10}(12) + 92.45 = 91.13 + 21.58 + 92.45 = 205.16 \; \text{dB} $$
ステップ3: 受信電力
衛星のEIRP(Equivalent Isotropically Radiated Power)は $P_t G_t$ のdB表記です。
$$ C = \text{EIRP} + G_r – \text{FSPL} = 52 + 35.3 – 205.16 = -117.86 \; \text{dBW} $$
ステップ4: 雑音電力
$$ N = kT_s B $$
ここで $k = 1.38 \times 10^{-23}$ J/K(ボルツマン定数)、$T_s = 150$ K、$B = 36 \times 10^6$ Hz です。
$$ N = 1.38 \times 10^{-23} \times 150 \times 36 \times 10^6 = 7.45 \times 10^{-14} \; \text{W} $$
dB表記では $N = 10\log_{10}(7.45 \times 10^{-14}) = -131.28$ dBW です。
ステップ5: C/N比
$$ C/N = C – N = -117.86 – (-131.28) = 13.42 \; \text{dB} $$
必要C/Nが10 dBなので、リンクマージンは $13.42 – 10 = 3.42$ dB です。降雨減衰などを考慮しても、晴天時は十分な余裕があることがわかります。
Pythonでの計算実装
上記のリンクバジェット計算をPythonで実装しましょう。
import numpy as np
# 物理定数
c = 3e8 # 光速 [m/s]
k_B = 1.38e-23 # ボルツマン定数 [J/K]
# --- パラメータ設定 ---
f = 12e9 # 周波数 [Hz]
R = 36000e3 # 距離 [m]
eirp_dbw = 52 # 衛星 EIRP [dBW]
D_ant = 0.6 # 地上局アンテナ直径 [m]
eta_ant = 0.6 # アンテナ効率
T_sys = 150 # システム雑音温度 [K]
B = 36e6 # 帯域幅 [Hz]
cn_required_db = 10 # 必要 C/N [dB]
# --- 計算 ---
lam = c / f
# 地上局アンテナ利得
Gr = eta_ant * (np.pi * D_ant / lam) ** 2
Gr_dbi = 10 * np.log10(Gr)
# FSPL
fspl = (4 * np.pi * R / lam) ** 2
fspl_db = 10 * np.log10(fspl)
# 受信電力
C_dbw = eirp_dbw + Gr_dbi - fspl_db
# 雑音電力
N = k_B * T_sys * B
N_dbw = 10 * np.log10(N)
# C/N比
cn_db = C_dbw - N_dbw
# リンクマージン
margin_db = cn_db - cn_required_db
# --- 結果表示 ---
print("=" * 50)
print("衛星通信リンクバジェット計算結果")
print("=" * 50)
print(f"周波数: {f/1e9:.1f} GHz (λ = {lam*100:.2f} cm)")
print(f"距離: {R/1e3:.0f} km")
print(f"地上局アンテナ利得: {Gr_dbi:.2f} dBi")
print(f"FSPL: {fspl_db:.2f} dB")
print(f"受信電力 (C): {C_dbw:.2f} dBW")
print(f"雑音電力 (N): {N_dbw:.2f} dBW")
print(f"C/N: {cn_db:.2f} dB")
print(f"必要 C/N: {cn_required_db:.1f} dB")
print(f"リンクマージン: {margin_db:.2f} dB")
print("=" * 50)
if margin_db > 0:
print(f"→ リンク成立(マージン {margin_db:.1f} dB)")
else:
print(f"→ リンク不成立(不足 {abs(margin_db):.1f} dB)")
この計算結果は、前節で手計算した値と一致します。プログラムで実装することで、パラメータを変更した場合の影響を素早く評価できます。
例えば、降雨減衰が3 dBの場合にリンクが成立するかどうか、アンテナ直径を0.45 mに変更した場合にどうなるか、といった設計検討が容易になります。
衛星通信のリンクバジェット計算では、フリスの伝達公式がまさにその基盤となっています。EIRP(送信電力×送信利得)、FSPL、受信利得のバランスを定量的に評価できることが、この公式の真価です。
フリスの伝達公式の適用範囲と限界
フリスの伝達公式は強力なツールですが、いくつかの前提条件があることを理解しておく必要があります。
自由空間の仮定
フリスの伝達公式は自由空間(障害物や反射体がない理想的な環境)を仮定しています。実際の地上通信では、建物による反射・回折・散乱、地面の反射(マルチパス)、大気による減衰などが加わるため、受信電力はフリスの予測値からずれます。
都市環境では、マルチパスフェージングにより受信電力が数十dBも変動することがあります。このような環境での電波伝搬を記述するには、奥村-秦モデルやCOSTモデルなどの経験的伝搬モデルが使われます。
遠方界の仮定
フリスの伝達公式は、送受信アンテナが互いの遠方界に位置していることを仮定しています。遠方界の条件は、
$$ R > \frac{2D^2}{\lambda} $$
ここで $D$ はアンテナの最大寸法です。大口径アンテナ間の近距離通信では、この条件が満たされない場合があります。
偏波の不一致
送信アンテナと受信アンテナの偏波が一致していない場合、偏波損失 $\eta_{\text{pol}}$ が生じます。直交する偏波では理論上は完全なアイソレーション(受信電力ゼロ)となります。偏波不一致損失を含めたフリスの公式は次のようになります。
$$ P_r = P_t G_t G_r \left(\frac{\lambda}{4\pi R}\right)^2 \eta_{\text{pol}} $$
インピーダンス不整合
アンテナと給電線のインピーダンスが不整合の場合、反射損失が生じます。この効果は反射係数 $\Gamma$ を使って $(1-|\Gamma|^2)$ の因子として取り込みます。
これらの制約は、フリスの伝達公式が「理想的な状況の基準値」を与えるものであることを意味しています。実際のシステムでは、ここに各種の損失を加えてリンクバジェットを構成します。
まとめ
本記事では、フリスの伝達公式について、その物理的な意味から導出、実用的な計算方法まで一貫した流れで解説しました。
- フリスの伝達公式: $P_r = P_t G_t G_r (\lambda / 4\pi R)^2$ — 自由空間における送受信電力の関係を与える基本式
- 自由空間損失(FSPL): 電波が球面状に拡散することによる幾何学的な損失。距離の2乗と周波数の2乗に比例する
- dB表記: 乗除算を加減算に変換し、リンクバジェットの計算を容易にする。FSPL[dB] = 20log(R) + 20log(f) + 92.45 の近似式が実用的
- 衛星通信への応用: EIRP、FSPL、受信利得、雑音電力からC/N比を計算し、リンクの成立可否を判定できる
- 適用範囲と限界: 自由空間・遠方界・偏波一致が前提。実環境では経験的伝搬モデルとの併用が必要
フリスの伝達公式は、無線通信のあらゆる設計の出発点です。この公式を基礎として、レーダー方程式、衛星通信のリンク設計、セルラーネットワークの容量計算など、多くの応用分野に展開していくことができます。
次のステップとして、以下の記事も参考にしてください。