気象レーダーで弱い降水エコーを観測しているとき、真横にある高層ビルからの強い反射がサイドローブ経由で受信機に入り込み、存在しない降水として画面に現れる — これは「サイドローブクラッタ」と呼ばれる、レーダー技術者を長年悩ませてきた現象です。同じことは衛星通信でも起きます。静止衛星に向けた地球局アンテナのサイドローブが隣接軌道の別衛星を向いていると、送信電力の一部が他事業者の衛星に漏れ込み、干渉として国際規則に抵触します。
やっかいなのは、素子を等振幅で並べた「一様励振アレー」では、素子数をいくら増やしてもサイドローブが約 -13.3 dB から下がらないことです。主ビームは素子数に反比例して鋭くなるのに、隣のサイドローブだけは頑固に居座り続けます。この壁を破るには、素子ごとの励振振幅に「中央を強く、端を弱く」という重み付け — 励振テーパ — をかける必要があります。
では、どんなテーパが「最良」なのでしょうか。1946年に C. L. Dolph が出した答えが、本記事の主役である ドルフ・チェビシェフ分布(Dolph-Chebyshev distribution)です。これは「サイドローブを指定した値 SLL 以下に抑える」という制約のもとで「主ビーム幅を最小化する」という最適化問題の厳密解であり、その解が第一種チェビシェフ多項式の等リプル性そのものだった、という美しい結果です。

まず全体像を絵で掴んでおきましょう。左が素子を等振幅で励振したアレー、右が振幅に重み(テーパ)を付けたアレーの指向性です。どちらも主ビームは正面の弱い目標に向いていますが、横 $42^\circ$ にある強い反射体の方向を見ると、左(一様励振)はそこに $-23$ dB のサイドローブが立っているのに対し、右(テーパあり)は設計値どおりの $-30$ dB に抑え込まれています。差は $7$ dB、電力では $5$ 倍で、しかも左は角度によっては $-13$ dB のサイドローブに当たる危険があるのに対し、右はどの方向でも $-30$ dB を超えません。本記事が扱うのは「この右の絵をどう作るか、しかも最も少ない代償で作るか」という問題です。
この分布を理解すると、次のような場面で設計の勘所が一気に見通せるようになります。
- フェーズドアレイレーダー: クラッタ抑圧やジャミング耐性を確保するために必要な SLL と、分解能(ビーム幅)のどちらを取るか、定量的に判断できます
- 衛星通信の地球局アンテナ: ITU-R が定める off-axis EIRP マスクを満たすための開口分布設計に、そのまま使えます
- 医用・車載の超音波/ミリ波イメージング: 強い反射体の裾に弱い目標が埋もれるのを防ぐ、いわゆる「ダイナミックレンジ」の設計に直結します
- スペクトル解析の窓関数: 実はチェビシェフ窓(
scipy.signal.windows.chebwin)は、このアレー設計と数学的に同じものです
本記事の内容
- 一様励振アレーのサイドローブが -13.3 dB に固定される理由
- 「SLL を保証しつつビーム幅を最小化する」最適化問題の定式化
- チェビシェフ多項式の等リプル性と、Dolph の写像 $x = x_0\cos(\psi/2)$ の導出
- $x_0 = \cosh\!\left(\frac{1}{N-1}\mathrm{arccosh}\,R\right)$ の決定と、励振係数を多項式係数として取り出す手順
- $N=5$ の手計算による完全な具体例
- ビーム幅の厳密公式とビーム広がりファクタ(SLL を下げるほど主ビームが太る)
- 指向性・テーパ効率の劣化と、二項分布・テイラー分布との比較
- 走査時のサイドローブ劣化と、大型アレーで現れる「エッジブライトニング」
- Python 実装: 指向性パターンの重ね描き、トレードオフ曲線、走査劣化、振幅誤差モンテカルロ
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
- アレイアンテナとビームフォーミングの理論を解説
- アレイファクタの理論 — アレイアンテナの指向性パターンを数式から導出する
- グレーティングローブと素子間隔 — なぜアレイは半波長で並べるのか
- フェーズドアレイレーダーの原理と理論を解説
一様励振アレーの限界 — なぜ -13.3 dB から下がらないのか
配列因子のおさらい
まず出発点を確認します。素子を直線上に等間隔 $d$ で $N$ 個並べ、$n$ 番目の素子に複素励振 $a_n$ を与えたとき、遠方界の配列因子(array factor)は次の形をとります。
$$ \begin{equation} \mathrm{AF}(\psi) = \sum_{n=0}^{N-1} a_n e^{jn\psi}, \qquad \psi = kd\sin\theta + \beta \end{equation} $$
ここで $k = 2\pi/\lambda$、$\theta$ は正面(ブロードサイド)からの角度、$\beta$ は素子間の進行位相差です。$\psi$ は「隣り合う素子間の位相差」を表す変数で、これを一つの独立変数と見なせるところが解析の要になります。$\theta$ が $-90^\circ$ から $+90^\circ$ まで動くと $\psi$ は $[-kd+\beta,\ kd+\beta]$ の区間(可視領域)を走ります。$d = \lambda/2$、ブロードサイド($\beta=0$)なら、可視領域はちょうど $\psi \in [-\pi, \pi]$ です。
素子をすべて同じ振幅で励振する($a_n = 1$)と、これは等比級数の和になります。
$$ \mathrm{AF}(\psi) = \sum_{n=0}^{N-1} e^{jn\psi} = \frac{e^{jN\psi}-1}{e^{j\psi}-1} $$
分子分母をそれぞれ半角でくくり出すと、指数因子が相殺して見慣れた形になります。
$$ \frac{e^{jN\psi}-1}{e^{j\psi}-1} = \frac{e^{jN\psi/2}\left(e^{jN\psi/2}-e^{-jN\psi/2}\right)}{e^{j\psi/2}\left(e^{j\psi/2}-e^{-j\psi/2}\right)} = e^{j(N-1)\psi/2}\,\frac{\sin(N\psi/2)}{\sin(\psi/2)} $$
絶対値を取り、最大値 $N$ で正規化すると次を得ます。
$$ \begin{equation} |\mathrm{AF}_{\mathrm{norm}}(\psi)| = \left|\frac{\sin(N\psi/2)}{N\sin(\psi/2)}\right| \end{equation} $$
サイドローブが -13.3 dB に張り付く理由
この関数の分子 $\sin(N\psi/2)$ は $\psi$ に対して速く振動し、分母 $N\sin(\psi/2)$ はゆっくり増加します。サイドローブのピークは、おおよそ分子が $\pm 1$ になるところ、つまり $N\psi/2 \approx (2m+1)\pi/2$ に現れます。第1サイドローブは $N\psi/2 \approx 3\pi/2$ なので、そのときの値は
$$ |\mathrm{AF}_{\mathrm{norm}}| \approx \frac{1}{N\sin\!\left(\frac{3\pi}{2N}\right)} \xrightarrow[N \to \infty]{} \frac{1}{3\pi/2} = \frac{2}{3\pi} = 0.2122 $$
となり、$20\log_{10}0.2122 = -13.46$ dB です。もう少し正確に、$N\to\infty$ では $|\sin u / u|$ の第1極大($u = 4.49341$ で $0.21723$)が効くので、真の漸近値は
$$ \mathrm{SLL}_{\infty} = 20\log_{10}(0.21723) = -13.26\ \mathrm{dB} $$
です。ここで決定的に重要なのは、この値に $N$ が入っていないことです。素子数を増やすと主ビーム幅は $\propto 1/N$ で細くなりますが、サイドローブ比は $N$ が大きくなるほど $-13.26$ dB に収束していくだけで、決して下がりません。実際に数値で確かめると次のようになります。
| 素子数 $N$ | 第1サイドローブ比 |
|---|---|
| 4 | $-11.30$ dB |
| 8 | $-12.80$ dB |
| 16 | $-13.15$ dB |
| 32 | $-13.23$ dB |
| 64 | $-13.25$ dB |
| $\infty$ | $-13.26$ dB |

左図では、素子数を $4 \to 32$ と 8 倍にすると主ビームは目に見えて細くなるのに、第1サイドローブの頂点だけは $-13.26$ dB の破線に張り付いたまま動きません。右図はその様子を $N$ の関数として直接プロットしたもので、$N=4$ の $-11.30$ dB から急速に漸近線へ近づき、$N=16$ の $-13.15$ dB 以降はほぼ横ばいです。素子数を増やして得られる改善は高々 2 dB 程度で、しかも $-13.26$ dB という壁の手前で完全に止まる — レーダーが要求する $-30$ dB に対して、素子数という「量」では 17 dB も足りないことが視覚的に確定します。
レーダーで $-30$ dB、衛星地球局で $-25$ dB といった要求が普通に出てくることを思うと、一様励振では全く歯が立たないことがわかります。素子数を 10 倍にしても 100 倍にしても解決しないのですから、これは「量」ではなく「質」の問題です。
一様励振がダメなら、振幅に重みを付ければよい — ここまでは誰でも思いつきます。問題は「どう重み付けるのが最良か」です。次節では、この漠然とした要求を、数学的にきちんと解ける最適化問題として書き下しましょう。
最適化問題としての定式化
二つの相反する要求
アレー設計者が欲しいものは、突き詰めると二つだけです。
- 主ビームは細く(角度分解能・利得が欲しい)
- サイドローブは低く(干渉・クラッタを避けたい)
この二つは真っ向から対立します。極端な例として、パスカルの三角形の係数を励振に使う 二項分布(binomial distribution、$a_n = \binom{N-1}{n}$)を考えると、$d=\lambda/2$ では配列因子が $|\cos(\psi/2)|^{N-1}$ の形になり、サイドローブが完全にゼロになります。しかしその代償として主ビームが極端に太り、$N=8$ では一様励振の $12.80^\circ$ に対して $22.92^\circ$ と、実に 1.8 倍にまで広がってしまいます。実用上ほとんど使えません。
つまり「サイドローブをゼロにする」のは行き過ぎで、「必要なだけ下げる」のが正解です。そこで問題を次のように定式化します。
問題(Dolph 1946): 素子数 $N$ を固定する。可視領域のサイドローブ領域すべてで $|\mathrm{AF}| \le 1$ という制約のもとで、主ビームのピーク値 $R$(すなわちサイドローブ比 $1/R$)を達成しつつ、主ビームの幅を最小にする励振 $\{a_n\}$ を求めよ。
同値な言い換えとして「主ビーム幅を固定したときにサイドローブを最小にせよ」でも構いません。どちらも同じ解に行き着きます。
配列因子は $\cos(\psi/2)$ の多項式である
この問題を解ける形にする鍵は、対称励振の配列因子が $\cos(\psi/2)$ の $(N-1)$ 次多項式として書けるという事実です。ここが Dolph の議論の出発点なので、丁寧に確認します。
まず位相基準を配列の中心に取り直します。励振が中心対称($a_n = a_{N-1-n}$)で、かつすべて同相(実数)だとします。
偶数素子の場合 $N = 2M$: 素子は中心から $\pm(2m-1)d/2$($m = 1,\dots,M$)の位置にあります。各対の寄与は複素共役の和なので実数の余弦になり、
$$ \mathrm{AF}(\psi) = 2\sum_{m=1}^{M} a_m \cos\!\left(\frac{(2m-1)\psi}{2}\right) $$
ここで $u \equiv \psi/2$ と置くと $\mathrm{AF} = 2\sum_m a_m \cos((2m-1)u)$ です。第一種チェビシェフ多項式の定義 $T_p(\cos u) = \cos(pu)$ を使うと、
$$ \mathrm{AF} = 2\sum_{m=1}^{M} a_m\, T_{2m-1}(\cos u) $$
となり、$\cos u$ の $2M-1 = N-1$ 次の奇多項式であることがわかります。
奇数素子の場合 $N = 2M+1$: 中心素子(振幅 $a_0$)と $\pm md$ にある対から、
$$ \mathrm{AF}(\psi) = a_0 + 2\sum_{m=1}^{M} a_m \cos(m\psi) = a_0 + 2\sum_{m=1}^{M} a_m\, T_{2m}(\cos u) $$
こちらは $\cos u$ の $2M = N-1$ 次の偶多項式です。
いずれの場合も次の要点が成立します。
$$ \begin{equation} \mathrm{AF}(\psi) = P_{N-1}(\cos u), \quad u = \frac{\psi}{2} \end{equation} $$
ここで $P_{N-1}$ は $N-1$ 次多項式で、そのパリティ(偶奇)は $N-1$ のパリティと一致します。そして重要なのは逆も成り立つことです。正しいパリティを持つ任意の $N-1$ 次多項式を持ってくれば、それを $T_p$ の線形結合に分解し、係数から励振 $\{a_m\}$ を読み取れます。つまり「励振を設計する」ことと「多項式を設計する」ことは完全に等価なのです。

この等価性を $N=5$ の一様励振で実際に確かめたのが上の図です。左は配列因子を $\psi$ の関数として描いたもので、三角関数の和らしく振動しています。ところが右のように横軸を $t=\cos(\psi/2)$ に取り替えると、まったく同じ曲線が滑らかな 4 次多項式 $16t^4-12t^2+1$ にぴたりと重なります(最大残差は $3.6\times10^{-15}$、倍精度の丸め誤差そのもの)。$\psi$ を見ている限り「振動する関数」だったものが、変数を $\cos(\psi/2)$ に取り替えた途端に代数の対象になる — この視点の切り替えが Dolph の議論の全てを可能にしています。
問題が多項式の言葉に翻訳できました。次はいよいよ、「区間 $[-1,1]$ で $1$ 以下に抑えたまま、その外側でできるだけ大きくなる多項式」という古典的な問いに答える番です。
チェビシェフ多項式の等リプル性
定義と二つの顔
第一種チェビシェフ多項式 $T_p(x)$ は、次の二通りの表示を持ちます。これが本記事の魔法の源です。
$$ \begin{equation} T_p(x) = \begin{cases} \cos\!\left(p\arccos x\right), & |x| \le 1 \\[4pt] \cosh\!\left(p\,\mathrm{arccosh}\,x\right), & x \ge 1 \end{cases} \end{equation} $$
$|x|\le 1$ では三角関数、$|x|>1$ では双曲線関数 — 一見すると別物ですが、どちらも漸化式 $T_{p+1}(x) = 2xT_p(x) – T_{p-1}(x)$($T_0=1$, $T_1=x$)から生まれる同一の多項式です。低次のものを書き下すと、
$$ T_2(x) = 2x^2-1,\quad T_3(x) = 4x^3-3x,\quad T_4(x)=8x^4-8x^2+1,\quad T_5(x)=16x^5-20x^3+5x $$
この二面性が意味するところを絵で捉えてください。区間 $[-1,1]$ の内側では、$T_p$ は $\pm 1$ の間を $p$ 回きっちり振動します。しかも極値は必ず $+1$ か $-1$ ちょうどで、その間を等しい振幅で往復します — これが 等リプル性(equiripple property)です。ところが $x$ が $1$ を超えた瞬間、$\cosh$ に切り替わり、爆発的に立ち上がります。
内側では暴れない、外側では急上昇する — これはまさに「サイドローブ領域では設計値を超えず、主ビーム方向では大きな値を取る」というアンテナの要求そのものです。
![左に区間[-1,1]でT_4/T_7/T_15が±1の間を等リプルで振動する様子、右にx>1で対数軸に沿って爆発的に立ち上がりR=10やR=100に達する様子を示した図](https://disassemble-channel.com/wp-content/uploads/2026/08/dolph-chebyshev-array-taper_04_chebyshev_two_faces.png)
左図では $T_4$、$T_7$、$T_{15}$ のいずれもが区間 $[-1,1]$ の中で $\pm1$ の破線にきっちり触れながら往復しており、次数が上がっても振れ幅がまったく増えないことが確認できます。一方の右図(縦軸は対数)では $x=1$ をわずかに超えただけで値が桁で跳ね上がり、しかも次数が高いほど立ち上がりが急です。$R=10$($-20$ dB)に到達する $x_0$ は $T_4$ で $1.293$、$T_{15}$ ではわずか $1.020$ で足り、次数が高いほど「$1$ のすぐ外側」で目的の値が得られることが読み取れます。
「最も速く立ち上がる」多項式であること
さらに強い性質があります。次の定理が Dolph の設計を「最適」たらしめています。
チェビシェフの極値定理: $[-1,1]$ 上で $|P(x)| \le 1$ を満たす $p$ 次多項式のうち、任意の固定点 $x_0 > 1$ における値 $|P(x_0)|$ を最大にするのは $P = T_p$ である。
直感的な理由を述べます。$[-1,1]$ で $1$ 以下という「予算」の中で、$x_0$ での値を大きくしたいなら、多項式は区間内で少しも無駄をしてはいけません。もしどこかの極値が $0.9$ しかなければ、そこに $0.1$ の余裕が残っており、その余裕を $x_0$ での立ち上がりに回せるはずです。すべての極値をぎりぎり $\pm1$ まで使い切る、つまり等リプルであることが、余裕をゼロにする唯一の形なのです。$T_p$ はまさにその形をしています。
厳密な証明は背理法で行います。$|P(x_0)| > |T_p(x_0)|$ となる $P$ があったとすると、$Q = T_p – cP$($c = T_p(x_0)/P(x_0)$、$|c|<1$)を考えます。$Q(x_0)=0$ であり、$T_p$ が $[-1,1]$ 内で $\pm 1$ を交互に $p+1$ 回取る点では $|cP| < 1$ なので $Q$ の符号は $T_p$ の符号に従って $p+1$ 回交替します。よって $Q$ は $[-1,1]$ 内に少なくとも $p$ 個の零点を持ち、$x_0$ の零点と合わせて $p+1$ 個以上。$Q$ は高々 $p$ 次なので $Q \equiv 0$ となり矛盾します。
この定理を「サイドローブ $\le 1$、主ビーム値 $= R$ 最大」という条件に読み替えれば、最適な配列因子は $T_{N-1}$ そのものだという結論に到達します。
等リプルであることの実務上の意味も押さえておきましょう。ドルフ・チェビシェフパターンでは、すべてのサイドローブがまったく同じ高さ(設計値ちょうど)になります。一様励振では第1サイドローブだけが飛び抜けて高く、遠くのサイドローブは小さいので、「一番高いところを抑える」という観点では明らかに無駄が多いのです。Dolph 分布は、その無駄を全部主ビームの細さに変換していると理解できます。
![左に区間[-1,1]で|P|≤1を満たす4次多項式T_4・ルジャンドル・2x^4-1・x^4を重ね描きし、右にx_0=1.2933での値を棒グラフで比較してT_4が最大の10.00に達することを示した図](https://disassemble-channel.com/wp-content/uploads/2026/08/dolph-chebyshev-array-taper_05_equiripple_optimality.png)
上の図は極値定理を数値で確かめたものです。左図の 4 本はいずれも「区間 $[-1,1]$ で $|P|\le1$」という同じ制約を満たす 4 次多項式ですが、区間内での使い方が違います。$T_4$(赤)だけが 5 つの極値をすべて $\pm1$ まで使い切っており、他の 3 本はどこかに余裕を残しています。右図で同じ $x_0 = 1.2933$ における値を比べると、$T_4$ が $10.00$($-20$ dB)に達するのに対し、ルジャンドルは $6.34$($-16.0$ dB)、$x^4$ に至っては $2.80$($-8.9$ dB)にとどまります。区間内で余裕を残すことは、そのまま外側での立ち上がり不足=サイドローブ抑圧の損失になるという関係が定量的に見て取れます。
多項式の形は決まりました。あとは、$\cos u$ の世界とチェビシェフの $x$ の世界をどう結びつけるかです。次節で、その橋渡しをする写像を導きます。
Dolph の写像 $x = x_0\cos(\psi/2)$ の導出
写像の設計
配列因子は $\cos u$ の多項式でした。一方、望ましいのは $T_{N-1}(x)$ の形です。そこで $x$ と $\cos u$ を線形にスケールする写像
$$ \begin{equation} x = x_0 \cos u = x_0 \cos\!\left(\frac{\psi}{2}\right), \qquad x_0 > 1 \end{equation} $$
を導入し、配列因子を
$$ \begin{equation} \mathrm{AF}(\psi) = T_{N-1}\!\left(x_0\cos\frac{\psi}{2}\right) \end{equation} $$
と定めます。この一行が Dolph 設計のすべてです。なぜこれでうまくいくのか、$\psi$ を動かしながら $x$ の挙動を1ステップずつ追いましょう。$d=\lambda/2$ のブロードサイドアレー($\beta=0$)を例に取ります。
ステップ1: 主ビーム方向 $\theta = 0$ では $\psi = 0$、したがって $u = 0$、$\cos u = 1$ なので
$$ x = x_0 \cdot 1 = x_0 > 1 $$
$x_0$ は $1$ より大きいので、$T_{N-1}$ は $\cosh$ の枝にいます。ここで配列因子は大きな値 $T_{N-1}(x_0)$ を取ります。これが主ビームのピークです。
ステップ2: $\theta$ が正面から離れると $\psi = \pi\sin\theta$ が増え、$u = \psi/2$ も増え、$\cos u$ が $1$ から減少します。したがって $x$ は $x_0$ から単調に減少します。$x$ が $1$ を通過した瞬間、$T_{N-1}$ は $\cosh$ の枝から $\cos$ の枝に切り替わります。この切り替わり点が 主ビームの第1ヌルの外縁にあたります。
ステップ3: さらに $\theta$ が大きくなると $x$ は $[-1,1]$ の中を動き回ります。この領域では $|T_{N-1}(x)| \le 1$ が保証され、しかも等リプルなのですべてのサイドローブがぴったり同じ高さ $1$ になります。
ステップ4: $\theta \to \pm 90^\circ$ で $\psi \to \pm\pi$、$u \to \pm\pi/2$、$\cos u \to 0$ なので $x \to 0$ です。つまり $d=\lambda/2$ ブロードサイドでは、可視領域全体が $x \in [0, x_0]$ にきれいに収まります。
以上をまとめると、サイドローブ比は
$$ \begin{equation} \mathrm{SLL} = \frac{1}{T_{N-1}(x_0)} \equiv \frac{1}{R} \end{equation} $$
で与えられ、$x_0$ を選ぶだけでサイドローブ比を自由に決められることがわかります。写像のスケールファクタ $x_0$ が、そのまま設計ノブになっているわけです。

4 枚に分けて写像の働きを追った図です。①では $\psi=0$ で $x=x_0=1.0928$($N=8$)となり、$\psi$ が離れるにつれて $x$ が単調に減って橙色の帯($|x|\le1$ = サイドローブ領域)に入っていく様子が見えます。②はその移した先で $T_7$ を評価した図で、帯の中では $\pm1$ に収まり、$x_0$ でちょうど $R=10$ に達しています。③が両者を合成した実際のパターンで、6 本すべてのサイドローブが $-20$ dB の破線に乗っています。④は設計ノブ $x_0$ の振る舞いで、素子数が増えるほど $1$ に急速に近づき、$N=60$ では $-40$ dB 設計でも $x_0 = 1.004$ で足りることがわかります。
$x_0$ の閉形式
設計仕様が「サイドローブ $-\mathrm{SLL}_{\mathrm{dB}}$ dB」で与えられたとします。まず電圧比 $R$ に直します。
$$ \begin{equation} R = 10^{\,|\mathrm{SLL}_{\mathrm{dB}}|/20} \end{equation} $$
たとえば $-20$ dB なら $R = 10$、$-30$ dB なら $R = 31.623$、$-40$ dB なら $R = 100$ です。求める条件は $T_{N-1}(x_0) = R$ で、$x_0 > 1$ なので $\cosh$ の枝を使います。
$$ \cosh\!\left((N-1)\,\mathrm{arccosh}\,x_0\right) = R $$
両辺に $\mathrm{arccosh}$ を施すと、
$$ (N-1)\,\mathrm{arccosh}\,x_0 = \mathrm{arccosh}\,R $$
両辺を $(N-1)$ で割ってから $\cosh$ を取れば、目的の閉形式が得られます。
$$ \begin{equation} \boxed{\ x_0 = \cosh\!\left(\frac{\mathrm{arccosh}\,R}{N-1}\right)\ } \end{equation} $$
$\mathrm{arccosh}\,R = \ln\!\left(R + \sqrt{R^2-1}\right)$ を使えば電卓でも計算できます。具体値を並べてみましょう。
| $N$ | $-20$ dB ($R=10$) | $-30$ dB ($R=31.62$) | $-40$ dB ($R=100$) |
|---|---|---|---|
| 5 | 1.29329 | — | — |
| 8 | 1.09282 | 1.18066 | 1.30039 |
| 16 | 1.01998 | 1.03846 | 1.06303 |
$N$ が大きいほど $x_0$ は $1$ に近づきます。これは自然な話で、次数が高い多項式ほど $x=1$ の少し外側で急激に立ち上がるため、同じ $R$ を得るのにわずかなはみ出しで足りるからです。
$x_0$ が決まれば配列因子の関数形が完全に確定します。しかし私たちが本当に欲しいのは、給電回路に設定する素子ごとの振幅 $a_n$ です。次節でその取り出し方を見ます。
励振係数の決定
方法1: 多項式を展開して係数を突き合わせる
原理的に最も素直なのは、$T_{N-1}(x_0\cos u)$ を展開して $\cos(mu)$ の線形結合に整理し、前節で見た配列因子の表式と係数比較する方法です。手順は次の3つです。
- $T_{N-1}(x)$ を $x$ のべき級数として書く
- $x = x_0\cos u$ を代入し、$\cos^p u$ のべきの和にする
- 倍角公式で $\cos^p u$ を $\cos(qu)$ の和に直し、$\cos(qu)$ の係数を読む
言葉だけでは分かりにくいので、$N=5$、$\mathrm{SLL} = -20$ dB を完全に手で解いてみます。
具体例: $N=5$、$-20$ dB を手で解く
$N=5$ は奇数素子なので $M=2$、多項式次数は $N-1 = 4$ です。まず $x_0$ を求めます。$R=10$ より $\mathrm{arccosh}\,10 = \ln(10+\sqrt{99}) = 2.99322$ なので、
$$ x_0 = \cosh\!\left(\frac{2.99322}{4}\right) = \cosh(0.748306) = 1.29329 $$
したがって $x_0^2 = 1.672612$、$x_0^4 = 2.797631$ です。次に $T_4(x) = 8x^4 – 8x^2 + 1$ に $x = x_0\cos u$ を代入します。
$$ T_4(x_0\cos u) = 8x_0^4\cos^4 u – 8x_0^2\cos^2 u + 1 $$
ここで倍角公式を使って $\cos$ のべきを展開します。$\cos^2 u = \tfrac{1}{2}(1+\cos 2u)$、$\cos^4 u = \tfrac{1}{8}(3 + 4\cos 2u + \cos 4u)$ を代入すると、
$$ T_4(x_0\cos u) = x_0^4\left(3+4\cos 2u+\cos 4u\right) – 4x_0^2\left(1+\cos 2u\right) + 1 $$
$\cos 2u$、$\cos 4u$、定数項ごとに整理します。
$$ T_4(x_0\cos u) = \underbrace{\left(3x_0^4 – 4x_0^2 + 1\right)}_{\text{定数}} + \underbrace{\left(4x_0^4 – 4x_0^2\right)}_{\cos 2u\text{ の係数}}\cos 2u + \underbrace{x_0^4}_{\cos 4u\text{ の係数}}\cos 4u $$
一方、$N=5$ の対称アレーの配列因子は、$u=\psi/2$ に注意すると
$$ \mathrm{AF} = a_0 + 2a_1\cos\psi + 2a_2\cos 2\psi = a_0 + 2a_1\cos 2u + 2a_2\cos 4u $$
でした。両者の係数を突き合わせれば、励振がそのまま読み取れます。
$$ a_0 = 3x_0^4 – 4x_0^2 + 1, \qquad 2a_1 = 4x_0^4 – 4x_0^2, \qquad 2a_2 = x_0^4 $$
数値を入れると、$a_0 = 3(2.797631) – 4(1.672612) + 1 = 2.70245$、$a_1 = (11.19052 – 6.69045)/2 = 2.25004$、$a_2 = 2.797631/2 = 1.39882$ です。端の素子 $a_2$ を $1$ に正規化すると、
$$ \{a_{-2}, a_{-1}, a_0, a_1, a_2\} = \{1,\ 1.6085,\ 1.9319,\ 1.6085,\ 1\} $$
中央が最も強く、端に向かって滑らかに減っていく、期待どおりのテーパです。実際にこの励振で配列因子を計算すると、すべてのサイドローブが $-20.00$ dB ちょうどに揃います(本記事末尾の Python で確認できます)。手計算とプログラムが一致するのを見ると、導出が正しかったことを実感できるはずです。

左図は、いま手で解いた多項式展開(青)と、次節で述べるフーリエ射影による数値計算(赤)を並べたものです。$\{1,\ 1.6085,\ 1.9319,\ 1.6085,\ 1\}$ の 5 本すべてで両者の差は $4.4\times10^{-16}$ しかなく、まったく異なる二つの経路が同じ答えに行き着いています。右図はその励振で実際にパターンを描いたもので、一様励振(灰)の第1サイドローブが $-12.0$ dB まで持ち上がっているのに対し、ドルフ(赤)は両側 2 本ずつのサイドローブがすべて $-20.00$ dB の破線に乗っています。わずか 5 素子でも設計値どおりの等リプルが実現することが確認できます。
方法2: フーリエ係数として一発で取る
$N$ が大きくなると多項式展開は現実的でなくなります。そこで、$T_{N-1}(x_0\cos u)$ が $u$ の周期関数であることを利用し、フーリエ係数として直接取り出すのが実用的です。偶数素子 $N=2M$ なら
$$ \begin{equation} a_m = \frac{1}{\pi}\int_{-\pi}^{\pi} T_{N-1}\!\left(x_0\cos u\right)\cos\!\left((2m-1)u\right)\,du, \quad m=1,\dots,M \end{equation} $$
奇数素子なら $\cos(2mu)$ との内積を取ります。$T_{N-1}(x_0\cos u)$ は $u$ について三角多項式なので、この積分は数値的にも極めて安定です。実装上は $u$ を等間隔にサンプルして離散フーリエ変換すれば十分で、これが scipy.signal.windows.chebwin の内部でやっていることとほぼ同じです(同関数は周波数側でチェビシェフパターンをサンプルし、逆 DFT で係数を得ています)。
得られる励振テーパの形
代表的な設計の係数を見ておきましょう。$N=8$ で端の素子を $1$ に正規化した値です。
| 設計 SLL | $a_1$(端) | $a_2$ | $a_3$ | $a_4$(中央) | 最大/最小比 |
|---|---|---|---|---|---|
| $-20$ dB | 1.000 | 1.1386 | 1.5091 | 1.7244 | 1.72 |
| $-30$ dB | 1.000 | 1.9783 | 3.0965 | 3.8136 | 3.81 |
| $-40$ dB | 1.000 | 2.8605 | 5.1982 | 6.8448 | 6.84 |
サイドローブを深くするほどテーパが急峻になり、中央素子と端素子の振幅比(ダイナミックレンジ)が拡大します。$-40$ dB では 6.8 倍、電力では 47 倍もの差を素子間に付けなければなりません。これは給電回路(不等分配器や可変減衰器)の実現難易度に直結し、後述する製造誤差の影響も大きくします。設計 SLL を欲張ることには、ハードウェア上のコストがついて回るわけです。
係数が求まったので、次はこのテーパが主ビームにどんな代償を強いるのかを定量化しましょう。
ビーム幅の厳密公式とビーム広がりファクタ
半値幅を閉形式で求める
「サイドローブを下げるとビームが太る」ことは感覚的に明らかですが、ドルフ・チェビシェフでは厳密な閉形式が得られます。しかも導出は驚くほど短いので、順を追って書きます。
半値点(半電力点)は $|\mathrm{AF}| = R/\sqrt{2}$ となる角度です。まだ $x > 1$ の領域にいるので $\cosh$ の枝を使い、
$$ \cosh\!\left((N-1)\,\mathrm{arccosh}\,x_h\right) = \frac{R}{\sqrt{2}} $$
$x_0$ を求めたときと同じ手順(両辺に $\mathrm{arccosh}$、$(N-1)$ で割る、$\cosh$ を取る)で $x_h$ が出ます。
$$ x_h = \cosh\!\left(\frac{1}{N-1}\,\mathrm{arccosh}\frac{R}{\sqrt{2}}\right) $$
写像 $x = x_0\cos u$ を逆に解けば、半値点に対応する $u$ が求まります。
$$ u_h = \arccos\!\left(\frac{x_h}{x_0}\right) $$
$\psi = 2u$ なので $\psi$ 空間での半値半幅は $2u_h$、全幅はその 2 倍です。
$$ \begin{equation} \boxed{\ \Delta\psi_{3\mathrm{dB}} = 4\arccos\!\left(\frac{x_h}{x_0}\right),\qquad x_h = \cosh\!\left(\frac{\mathrm{arccosh}(R/\sqrt2)}{N-1}\right)\ } \end{equation} $$
最後に角度に戻します。ブロードサイド($\beta=0$)では $\psi = kd\sin\theta$ なので、
$$ \mathrm{HPBW} = 2\arcsin\!\left(\frac{\Delta\psi_{3\mathrm{dB}}}{2kd}\right) $$
$d=\lambda/2$ なら $kd = \pi$ です。この式は近似ではなく厳密で、数値計算で求めた半値幅と 6 桁一致することを確認済みです。
ビーム広がりファクタ
一様励振に対してどれだけ太るかを表す比を、ビーム広がりファクタ $f$ と呼びます。
$$ f \equiv \frac{\Delta\psi_{3\mathrm{dB}}^{\mathrm{(Dolph)}}}{\Delta\psi_{3\mathrm{dB}}^{\mathrm{(uniform)}}} $$
$N$ が大きいときの漸近形を導いてみましょう。$A \equiv \mathrm{arccosh}\,R$、$A_h \equiv \mathrm{arccosh}(R/\sqrt2)$ と置き、$M = N-1$ が大きいとして $\cosh$ を 2 次まで展開します。
$$ x_0 \simeq 1 + \frac{A^2}{2M^2}, \qquad x_h \simeq 1 + \frac{A_h^2}{2M^2} $$
比を取ると、$A_h < A$ なので $1$ よりわずかに小さくなります。
$$ \frac{x_h}{x_0} \simeq 1 – \frac{A^2 – A_h^2}{2M^2} $$
$\arccos(1-\varepsilon)\simeq\sqrt{2\varepsilon}$ を使えば、
$$ \Delta\psi_{3\mathrm{dB}} \simeq \frac{4\sqrt{A^2-A_h^2}}{M} $$
一方、一様励振の半値幅は $\Delta\psi = 2\times 2.78311/N \simeq 5.56622/M$ ですから、
$$ \begin{equation} f \simeq \frac{4\sqrt{A^2-A_h^2}}{5.56622} = 0.71862\sqrt{\left(\mathrm{arccosh}\,R\right)^2 – \left(\mathrm{arccosh}\tfrac{R}{\sqrt2}\right)^2} \end{equation} $$
数値を入れると、$-20$ dB で $f = 1.008$、$-30$ dB で $f = 1.193$、$-40$ dB で $f = 1.354$ です。有限素子数では収束が遅く、$N=16$ の実測値は $-20/-30/-40$ dB でそれぞれ $1.066/1.255/1.413$、$N=128$ で $1.016/1.202/1.365$、$N=512$ でようやく $1.010/1.195/1.357$ と漸近値に近づきます。
なお、テイラー線源設計で古くから使われる近似式
$$ f \simeq 1 + 0.636\left\{\frac{2}{R}\cosh\!\left[\sqrt{\left(\mathrm{arccosh}\,R\right)^2 – \pi^2}\right]\right\}^2 $$
は $-20/-30/-40$ dB で $1.009/1.144/1.323$ を与えます($-20$ dB では $\mathrm{arccosh}\,R < \pi$ となり平方根の中身が負になりますが、$\cosh(iy)=\cos y$ を使えば実数として評価できます)。$-20$ dB では上の厳密漸近と完璧に一致しますが、深い SLL では数 % 小さめに出ます。手早い見積もりには便利ですが、$\pm5$ % 程度の誤差を許容できないなら厳密式を使うのが安全です。
$-20$ dB を買うのに、ビーム幅はいくら払うのか
$d=\lambda/2$、等方性素子のブロードサイドアレーで実測した半値幅(度)をまとめます。
| 分布 | $N=8$ | $N=16$ |
|---|---|---|
| 一様励振(SLL $-12.80$/$-13.15$ dB) | $12.80^\circ$ | $6.36^\circ$ |
| Dolph $-20$ dB | $14.23^\circ$ | $6.78^\circ$ |
| Dolph $-30$ dB | $16.44^\circ$ | $7.98^\circ$ |
| Dolph $-40$ dB | $18.12^\circ$ | $8.99^\circ$ |
| 二項分布(サイドローブなし) | $22.92^\circ$ | $15.67^\circ$ |
$N=16$ で読むと示唆的です。一様励振の $-13.15$ dB から $-20$ dB へ、つまり 6.9 dB もサイドローブを下げるのに、ビーム幅の代償はわずか $6.36^\circ \to 6.78^\circ$(+6.6 %)でしかありません。これは驚くほど安い買い物で、実務でほぼ無条件に $-20$ dB 級のテーパをかける理由がここにあります。一方 $-40$ dB まで踏み込むとビーム幅は +41 % になり、さらに二項分布のようにサイドローブを完全に消しにいくと +146 % と、投資対効果が急激に悪化します。
ビーム幅の代償が分かりました。しかしテーパの代償はそれだけではありません。次は「利得」がどれだけ削られるかを見ます。
指向性とテーパ効率
テーパ効率の定義
等間隔 $d = \lambda/2$、等方性素子の直線アレーがブロードサイドを向いているとき、配列因子の指向性は次のシンプルな形になります。
$$ \begin{equation} D = \frac{\left(\sum_{n} a_n\right)^2}{\sum_{n} a_n^2} \end{equation} $$
この式はコーシー・シュワルツの不等式そのもので、等号成立(最大値 $D=N$)は $a_n$ がすべて等しいとき、つまり一様励振のときです。言い換えると、どんなテーパをかけても必ず指向性は下がります。この下がり具合を表す指標が テーパ効率(aperture taper efficiency)です。
$$ \eta_t = \frac{D}{N} = \frac{\left(\sum_n a_n\right)^2}{N\sum_n a_n^2} \le 1 $$
実測値を並べます($d=\lambda/2$、等方性素子)。
| 分布 | $N=8$: $D$ (dBi) / $\eta_t$ | $N=16$: $D$ (dBi) / $\eta_t$ |
|---|---|---|
| 一様励振 | 9.03 / 1.000 | 12.04 / 1.000 |
| Dolph $-20$ dB | 8.84 / 0.956 | 11.87 / 0.961 |
| Dolph $-30$ dB | 8.28 / 0.842 | 11.39 / 0.862 |
| Dolph $-40$ dB | 7.85 / 0.761 | 10.87 / 0.764 |
| 二項分布 | 6.79 / 0.597 | 8.40 / 0.433 |
$-20$ dB 設計の損失はわずか $0.17$〜$0.19$ dB です。レーダー方程式で言えば探知距離が 1 % 縮む程度で、クラッタ抑圧の見返りを考えれば誤差の範囲でしょう。$-30$ dB でも $0.65$ dB、$-40$ dB で $1.17$ dB と、まだ許容範囲です。ところが二項分布は $N=16$ で $3.6$ dB も失い、効率 43 % まで落ちます。素子を 16 個並べたのに、実質 7 個分の利得しか得られていない計算になります。
なぜテーパで利得が落ちるのか
物理的な理解も添えておきます。アレー全体の利得は「開口面をどれだけ有効に使えているか」で決まります。端の素子をほとんど励振しないということは、そこにある物理的な開口面積を捨てているのと同じです。二項分布の $N=16$ では端の素子の振幅が中央の $1/6435$($-76$ dB)になるので、事実上「両端の数素子は無いのと同じ」状態です。開口を狭く使えばビームは太り、利得は落ちる — テーパ効率の低下とビーム広がりは、同じ現象の二つの表れなのです。
ドルフ・チェビシェフはこの意味でも優秀で、$-30$ dB でも効率 86 % を保ちます。同じ SLL を狙う他の分布と比べてみましょう。
テイラー分布との比較
実務でドルフ・チェビシェフと双璧をなすのが テイラー分布(Taylor $\bar{n}$ distribution)です。ドルフ分布には「全サイドローブが同じ高さ」という理論的な美しさがある反面、$N$ が大きいと後述するエッジブライトニングが起きます。テイラーはこれを緩和するために、「最初の $\bar n – 1$ 本のサイドローブだけを設計値に揃え、それより外側は $1/u$ で自然に減衰させる」という妥協を導入した分布です。
$N=16$ で比較した実測値は次のとおりです。
| 設計 SLL | Dolph の $\eta_t$ | Taylor ($\bar n=5$) の $\eta_t$ |
|---|---|---|
| $-20$ dB | 0.961 | 0.965 |
| $-30$ dB | 0.862 | 0.855 |
| $-40$ dB | 0.764 | 0.769 |
$N=16$ 程度の小規模アレーでは両者はほぼ互角で、$-30$ dB ではむしろ Dolph が上回ります。差が出るのは大型アレーです。$N=128$、$-30$ dB では Dolph の効率が 0.857 まで落ちるのに対しテイラーは 0.855 を保ち、しかも後述の端部の跳ね上がりがありません。素子数が数十までなら Dolph、数百規模の大型開口ならテイラー、というのが実務上の使い分けの目安です。
利得とビーム幅の代償が定量化できました。ここまでは「設計どおりに作れた場合」の話です。次は、現実の装置で必ず起きる二つの劣化 — 走査と誤差 — を見ていきます。
走査時のサイドローブ劣化
$\psi$ 空間では何も起きない、という落とし穴
フェーズドアレイでは進行位相 $\beta = -kd\sin\theta_0$ を与えてビームを $\theta_0$ 方向に振ります。このとき $\psi = kd(\sin\theta – \sin\theta_0)$ となり、パターン $T_{N-1}(x_0\cos(\psi/2))$ そのものは $\psi$ 空間で全く変わりません。ただ平行移動するだけです。
このことから「Dolph 設計なら走査してもサイドローブは設計値のまま」と早合点しがちですが、現実には三つの経路で劣化します。
(1) 可視領域の移動とグレーティングローブの侵入。$\theta$ が $[-90^\circ, 90^\circ]$ を動くとき、$\psi$ は $kd(-1-\sin\theta_0)$ から $kd(1-\sin\theta_0)$ までを走ります。$d=\lambda/2$、$\theta_0 = 60^\circ$ なら $\psi \in [-1.866\pi,\ 0.134\pi]$ です。ところが $\cos(\psi/2)$ は $\psi = \pm2\pi$ で再び $\mp1$ となり、$|x| = x_0$ に戻ります。つまり $\psi = -2\pi$ にもう一つの主ビーム(グレーティングローブ)が潜んでいるのです。$\theta_0=60^\circ$ では可視領域の端 $\psi = -1.866\pi$ がその肩に食い込みます。実測すると、$N=8$、$-20$ dB 設計のアレーを $60^\circ$ に走査した場合、$\theta=-90^\circ$ 付近のレベルは $-3.56$ dB に跳ね上がります。$-20$ dB のはずが、実質的にほぼ主ビーム並みの応答が反対側に立つわけです。
(2) 素子パターンによる非対称化。実素子の指向性 $\cos\theta$ を掛けると、上の跳ね上がりは端で抑え込まれますが、代わりに走査側と反対側でサイドローブの高さが非対称になります。$N=16$、$-30$ dB 設計で $\cos\theta$ 素子パターンを含めた最大サイドローブは、$\theta_0 = 0^\circ$ で $-30.2$ dB、$30^\circ$ で $-28.8$ dB、$45^\circ$ で $-27.1$ dB、$60^\circ$ で $-24.3$ dB と、走査角とともに単調に悪化します。
(3) ビーム幅の $1/\cos\theta_0$ 広がり。$\psi$ 空間の幅が一定でも、$\psi = kd\sin\theta$ の写像が端で潰れるため、角度空間のビーム幅は $1/\cos\theta_0$ で広がります。同じ $N=16$、$-30$ dB で $\theta_0 = 0/30/45/60^\circ$ の半値幅は $7.98^\circ / 9.23^\circ / 11.35^\circ / 16.53^\circ$ です。$16.53/7.98 = 2.07$ で、$1/\cos60^\circ = 2$ とよく一致します。
素子間隔を欲張るとどうなるか
素子数を節約したくて $d = 0.7\lambda$ にした場合を見てみましょう。$N=16$、$-30$ dB 設計です。ブロードサイドでは $-30.0$ dB を保ち、ビーム幅も $5.70^\circ$ と $d=\lambda/2$ より細くなり、一見お得に見えます。しかし $\theta_0 = 20^\circ$ に振っただけで最大サイドローブは $-10.18$ dB、$30^\circ$ では $0$ dB — グレーティングローブが完全に可視領域に入り、主ビームと同じ高さの偽のビームが立ちます。
丁寧に設計したドルフ・チェビシェフのテーパも、グレーティングローブの前では無力です。テーパは $\psi$ 空間の一周期の中の形を整えるだけで、周期そのものは素子間隔が決めているからです。走査するアレーでは $d \le \lambda/(1+|\sin\theta_{0,\max}|)$ という素子間隔の条件を先に満たすことが、テーパ設計より優先されます。
走査の劣化は設計段階で予測できるものでした。次に見る誤差の影響は確率的で、より厄介です。
振幅誤差がサイドローブに与える影響
なぜ深い設計ほど脆いのか
$-40$ dB のドルフ分布を紙の上で設計しても、実際に $-40$ dB が出ることはまずありません。理由は単純で、$-40$ dB のサイドローブは電圧比で $1/100$ という極めて小さな量であり、素子ごとの振幅がほんの少しずれるだけで、その「ずれ」が作る寄生パターンに埋もれてしまうからです。
定量的に考えます。設計励振 $a_n$ に乗算的な誤差が加わり $a_n(1+\delta_n)$ になったとします。$\delta_n$ は平均 $0$、標準偏差 $\sigma$ の独立な確率変数です。パターンは設計どおりの項と誤差項に分解できます。
$$ \mathrm{AF}(\psi) = \underbrace{\sum_n a_n e^{jn\psi}}_{\text{設計パターン}} + \underbrace{\sum_n a_n\delta_n e^{jn\psi}}_{\text{誤差パターン}} $$
誤差項の期待電力は、$\delta_n$ が独立なのでクロス項が消えて $\sigma^2\sum_n a_n^2$ です。これは $\psi$ にほとんど依存しない、パターン全体に一様に広がる「床」になります。主ビークのピーク電力 $\left(\sum_n a_n\right)^2$ で割ると、
$$ \begin{equation} \overline{P_{\mathrm{SL}}} = \frac{\sigma^2 \sum_n a_n^2}{\left(\sum_n a_n\right)^2} = \frac{\sigma^2}{N\eta_t} \end{equation} $$
という、驚くほど簡潔な結果になります。平均サイドローブレベルは誤差分散に比例し、素子数とテーパ効率の積に反比例する — 誤差の影響を減らしたければ素子数を増やすしかない、という設計指針がここから読み取れます。
$\pm0.5$ dB の一様分布の振幅誤差を例に $\sigma$ を求めましょう。振幅倍率は $10^{e/20}$($e \sim U(-0.5, 0.5)$ dB)ですが、小さい $e$ では $10^{e/20} \simeq 1 + \frac{\ln 10}{20}e = 1 + 0.11513e$ と線形化できます。$e$ の標準偏差は $1/\sqrt{12} = 0.28868$ なので、
$$ \sigma = 0.11513 \times 0.28868 = 0.033235, \qquad \sigma^2 = 1.1046\times10^{-3} $$
$N=16$、$-30$ dB 設計($\eta_t = 0.8616$)に代入すると、
$$ \overline{P_{\mathrm{SL}}} = \frac{1.1046\times10^{-3}}{16 \times 0.8616} = 8.012\times10^{-5} = -40.96\ \mathrm{dB} $$
この理論値を、$\pm0.5$ dB の一様振幅誤差を実際に与えたモンテカルロ(2000 試行 × 乱数シード 4 通り)と突き合わせると、$7.90\times10^{-5}$ 〜 $8.04\times10^{-5}$($-41.02$ 〜 $-40.95$ dB)に散らばり、理論値 $8.012\times10^{-5}$($-40.96$ dB)を中心に $\pm1.5$ % 以内で一致します。線形化($10^{e/20}\simeq1+0.11513e$)による近似誤差はこの散らばりよりはるかに小さいので、理論式がそのまま使えることが確認できます。
設計値との競合
平均サイドローブが $-41$ dB なら、$-30$ dB 設計(電力比 $10^{-3}$)には影響がなさそうに見えます。しかし実際には、設計サイドローブの山と誤差パターンが電圧で同相加算する箇所が必ず生じます。電圧で $\sqrt{10^{-3}} = 0.0316$ と $\sqrt{8\times10^{-5}} = 0.0089$ が足されると $0.0405$、電力で $-27.8$ dB です。$-30$ dB 設計が $-27.8$ dB になるという予測になります。
実際に $N=16$、$\pm0.5$ dB の一様振幅誤差を 4000 試行与えたモンテカルロの結果は次のとおりです。
| 設計 SLL | 最悪サイドローブの中央値 | 90 パーセンタイル | 最悪値 | 劣化量(中央値) |
|---|---|---|---|---|
| $-20$ dB | $-19.33$ dB | $-18.93$ dB | $-18.19$ dB | $0.67$ dB |
| $-30$ dB | $-27.81$ dB | $-26.87$ dB | $-25.38$ dB | $2.19$ dB |
| $-40$ dB | $-33.56$ dB | $-31.82$ dB | $-28.96$ dB | $6.44$ dB |
$-30$ dB 設計の中央値 $-27.81$ dB は、上の手計算 $-27.8$ dB とぴたりと一致しました。そして最も重要なメッセージが最終列に現れています。わずか $\pm0.5$ dB の振幅誤差で、$-40$ dB 設計は $-33.6$ dB にまで崩れるのです(劣化 $6.44$ dB)。しかも最悪ケースでは $-29$ dB、つまり $-30$ dB 設計と区別がつきません。
ここから得られる実務的な結論は明快です。「深いサイドローブが欲しいなら、テーパの数値を深くするより先に、その数値を実現できる振幅精度を確保せよ」。$-40$ dB を実際に達成するには $\pm0.2$ dB 以下の振幅確度と、それに見合う位相確度、そして相互結合の補正が必要になります。振幅精度への投資なしに設計値だけ深くしても、単にテーパ効率と主ビーム幅を無駄に犠牲にするだけで終わります。
誤差の影響を押さえたところで、大型アレーで顔を出すもう一つの落とし穴を見ておきましょう。
大型アレーのエッジブライトニング
$N$ が数十を超えると、ドルフ・チェビシェフ分布には特徴的な形状が現れます。$N=64$、$-30$ dB の励振(中央を $1$ に正規化)を端から並べると次のようになります。
$$ \{0.7815,\ 0.2127,\ 0.2403,\ 0.2692,\ 0.2993,\ 0.3306,\ \dots\} $$
端の素子だけが $0.78$ と突出し、その隣が $0.21$ と急落しています。比にして 3.67 倍、内側に向かって滑らかに増えていく本来のテーパから完全に浮いた「棘」です。これを エッジブライトニング(edge brightening)と呼びます。
原因は、遠方のサイドローブまで律儀に $-30$ dB に持ち上げようとすることにあります。パターンの端($\theta \to \pm90^\circ$ 側)のサイドローブを設計値まで押し上げるには、開口の端に高い空間周波数成分 — つまり急峻な不連続 — が必要になるのです。$N=16$ の同じ設計では端が $0.291$、その隣が $0.317$ とほぼ連続で、棘は現れません。エッジブライトニングは大型アレー特有の症状です。
実装上、この棘は次のような問題を招きます。
- 相互結合の悪化: 端の素子だけ強く励振されるため、隣接素子との結合による誤差が相対的に大きくなります
- 製造誤差への感度: 前節の議論のとおり、少数の素子が全体のパターンを支配する状況は誤差に脆弱です
- 給電回路の難しさ: 「端だけ強い」という不連続な分配比は、テーパ型の分配回路では素直に実現できません
このためレーダーや大型地球局では、$N$ が大きい場合にテイラー分布や、Villeneuve が提案した離散アレー版の $\bar n$ 分布が選ばれるのが一般的です。ドルフ・チェビシェフは「理論的に最適だが、その最適性は端の素子を犠牲的に使うことで買っている」と理解しておくと、実務での判断を誤りません。
理論の全体像が揃いました。ここからは Python で数値的に確かめていきます。
Python による実装と可視化
準備 — 励振係数の計算とパターン関数
まず、ドルフ・チェビシェフの係数をフーリエ係数として計算する関数と、配列因子を評価する関数を用意します。scipy の chebwin に頼らず、本記事で導出した式をそのまま実装します。
import numpy as np
import matplotlib
import 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
def cheb_T(M, x):
"""第一種チェビシェフ多項式 T_M(x) を |x|<=1 と |x|>1 の両方で評価"""
x = np.asarray(x, dtype=float)
out = np.empty_like(x)
inr = np.abs(x) <= 1.0
out[inr] = np.cos(M * np.arccos(x[inr]))
hi = x > 1.0
out[hi] = np.cosh(M * np.arccosh(x[hi]))
lo = x < -1.0
out[lo] = ((-1) ** M) * np.cosh(M * np.arccosh(-x[lo]))
return out
def dolph_weights(N, sll_db):
"""ドルフ・チェビシェフ励振係数をフーリエ係数として計算(中央=1に正規化)"""
M = N - 1
R = 10.0 ** (abs(sll_db) / 20.0) # 電圧比 R
x0 = np.cosh(np.arccosh(R) / M) # 写像のスケール
K = 8192
u = (np.arange(K) + 0.5) * 2 * np.pi / K # u = psi/2 のサンプル点
F = cheb_T(M, x0 * np.cos(u)) # 目標パターン T_{N-1}(x0 cos u)
if N % 2 == 0: # 偶数素子: cos((2m-1)u) と内積
half = np.array([2 * np.mean(F * np.cos((2 * m - 1) * u))
for m in range(1, N // 2 + 1)])
w = np.concatenate([half[::-1], half])
else: # 奇数素子: 定数項 + cos(2mu) と内積
a0 = np.mean(F)
half = np.array([np.mean(F * np.cos(2 * m * u))
for m in range(1, N // 2 + 1)])
w = np.concatenate([half[::-1], [a0], half])
return w / w.max()
この関数の中身は、記事で導いた式をそのまま並べただけです。$R = 10^{|\mathrm{SLL}|/20}$、$x_0 = \cosh(\mathrm{arccosh}\,R/(N-1))$、そして $T_{N-1}(x_0\cos u)$ を $\cos((2m-1)u)$ あるいは $\cos(2mu)$ に射影して係数を取り出しています。導出と実装が一対一に対応していることを確認してください。
導出の検算 — $N=5$ の手計算と一致するか
まず、手で解いた $N=5$、$-20$ dB の結果と突き合わせます。
import numpy as np
# 手計算の結果(記事の具体例より)
x0 = np.cosh(np.arccosh(10.0) / 4)
a0 = 3 * x0**4 - 4 * x0**2 + 1
a1 = (4 * x0**4 - 4 * x0**2) / 2
a2 = x0**4 / 2
hand = np.array([a2, a1, a0, a1, a2]) / a0
print("x0 =", round(float(x0), 5))
print("手計算 (中央=1):", np.round(hand, 4))
print("関数の出力 :", np.round(dolph_weights(5, -20), 4))
出力は x0 = 1.29329、手計算・関数ともに [0.5176 0.8326 1. 0.8326 0.5176] となり、完全に一致します。端を 1 に正規化し直せば $\{1,\ 1.6085,\ 1.9319,\ 1.6085,\ 1\}$ で、本文の具体例そのものです。多項式展開による手計算とフーリエ射影という全く異なる二つの経路が同じ答えに行き着いたので、導出に誤りがないと確信できます。
一様・二項・ドルフの指向性パターン比較
いよいよ本題です。$N=8$ と $N=16$ について、一様励振・二項分布・ドルフ ($-20$/$-30$/$-40$ dB) の 5 種類のパターンを重ね描きします。
import numpy as np
import matplotlib.pyplot as plt
from math import comb
def array_factor_db(w, theta_deg, d_lam=0.5, theta0_deg=0.0):
"""励振 w の配列因子を dB で返す(ブロードサイド基準、d は波長単位)"""
n = np.arange(len(w))
s = np.sin(np.radians(theta_deg))
psi = 2 * np.pi * d_lam * (s - np.sin(np.radians(theta0_deg)))
A = np.abs(np.exp(1j * np.outer(psi, n)) @ w)
return 20 * np.log10(A / A.max() + 1e-300)
theta = np.linspace(-90, 90, 4001)
fig, axes = plt.subplots(1, 2, figsize=(14, 5.5))
for ax, N in zip(axes, [8, 16]):
ax.plot(theta, array_factor_db(np.ones(N), theta), lw=1.6,
label="一様励振(サイドローブ約 -13 dB)")
binom = np.array([comb(N - 1, k) for k in range(N)], dtype=float)
ax.plot(theta, array_factor_db(binom, theta), lw=1.6,
label="二項分布(サイドローブなし・ビーム最太)")
for sll, c in zip([-20, -30, -40], ["tab:green", "tab:red", "tab:purple"]):
ax.plot(theta, array_factor_db(dolph_weights(N, sll), theta),
lw=1.6, color=c, label=f"ドルフ {sll} dB")
ax.axhline(sll, color=c, ls=":", lw=0.8)
ax.set_xlim(-90, 90); ax.set_ylim(-60, 2)
ax.set_xlabel("角度 θ [度]"); ax.set_ylabel("正規化パターン [dB]")
ax.set_title(f"素子数 N={N}, 素子間隔 d=λ/2 の指向性パターン")
ax.grid(alpha=0.3); ax.legend(fontsize=8, loc="lower center")
plt.tight_layout(); plt.show()

この図から三つのことが読み取れます。第一に、ドルフ分布のサイドローブがすべて設計値の水平線にぴったり乗っていること — これが等リプル性の目に見える証拠です。一様励振では第1サイドローブだけが $-13$ dB で外側が下がっていくのとは対照的で、「一番高いところを最小化する」というミニマックス的な最適化がなされていることがわかります。第二に、設計 SLL を深くするほど主ビームの裾が横に広がっていく様子が確認でき、ビーム広がりファクタの表と整合します。第三に、二項分布はサイドローブが一本も無い代わりに主ビームが極端に太く、$N=16$ でも $N=8$ のドルフ $-20$ dB より広いことがわかります。
励振テーパの形
次に、係数そのものを見ます。パターンの違いがどんな振幅分布から生まれているのかを確認します。
import numpy as np
import matplotlib.pyplot as plt
from math import comb
N = 16
fig, axes = plt.subplots(1, 2, figsize=(13, 4.8))
idx = np.arange(N)
axes[0].plot(idx, np.ones(N), "o-", label="一様励振")
for sll in [-20, -30, -40]:
axes[0].plot(idx, dolph_weights(N, sll), "o-", label=f"ドルフ {sll} dB")
binom = np.array([comb(N - 1, k) for k in range(N)], dtype=float)
axes[0].plot(idx, binom / binom.max(), "s--", label="二項分布")
axes[0].set_xlabel("素子番号"); axes[0].set_ylabel("励振振幅(中央=1)")
axes[0].set_title(f"N={N} の励振テーパ(線形スケール)")
axes[0].grid(alpha=0.3); axes[0].legend(fontsize=9)
# 大型アレーのエッジブライトニング
N2 = 64
w64 = dolph_weights(N2, -30)
axes[1].plot(np.arange(N2), w64, "o-", ms=3.5, color="tab:red")
axes[1].annotate("端だけ跳ね上がる\n(エッジブライトニング)",
xy=(0, w64[0]), xytext=(8, 0.85),
arrowprops=dict(arrowstyle="->", color="k"), fontsize=10)
axes[1].set_xlabel("素子番号"); axes[1].set_ylabel("励振振幅(中央=1)")
axes[1].set_title(f"N={N2}, -30 dB 設計に現れるエッジブライトニング")
axes[1].grid(alpha=0.3)
plt.tight_layout(); plt.show()

左図では、設計 SLL が深いほどテーパが急峻になり、端の素子の振幅が下がっていく様子が確認できます。$N=16$ の $-40$ dB では端が中央の $0.114$ しかなく、給電回路に約 8.8 倍の分配比が必要になることが視覚的にわかります。二項分布に至っては端がグラフ上でほぼゼロに見え、開口の両端を捨てていることが一目瞭然です。右図が大型アレー特有の症状で、$N=64$ では端の素子だけが $0.78$ と突出し、その隣が $0.21$ まで落ち込みます。この不連続が相互結合と製造誤差の観点で厄介であり、大型アレーでテイラー分布が好まれる理由になっています。
SLL とビーム幅・指向性のトレードオフ曲線
設計 SLL を連続的に変えたときに、ビーム幅と指向性がどう動くかを描きます。ビーム幅は本記事で導いた厳密公式と数値探索の両方で求め、一致を確認します。
import numpy as np
import matplotlib.pyplot as plt
def hpbw_deg_exact(N, sll_db, d_lam=0.5):
"""厳密公式によるドルフ・チェビシェフの半値幅(度、ブロードサイド)"""
M = N - 1
R = 10.0 ** (abs(sll_db) / 20.0)
x0 = np.cosh(np.arccosh(R) / M)
xh = np.cosh(np.arccosh(R / np.sqrt(2)) / M)
dpsi = 4 * np.arccos(xh / x0) # psi 空間の半値全幅
return 2 * np.degrees(np.arcsin(dpsi / (2 * 2 * np.pi * d_lam)))
def directivity(w):
w = np.asarray(w, dtype=float)
return w.sum() ** 2 / (w ** 2).sum()
def hpbw_deg_uniform(N, d_lam=0.5):
"""一様励振の半値幅を数値探索で求める(度)"""
th = np.linspace(-90, 90, 400001)
P = array_factor_db(np.ones(N), th, d_lam)
ok = th[P > 10 * np.log10(0.5)]
return ok.max() - ok.min()
slls = np.linspace(-45, -13.5, 80)
fig, axes = plt.subplots(1, 2, figsize=(13, 4.8))
for N, c in zip([8, 16, 32], ["tab:blue", "tab:red", "tab:green"]):
bwu = hpbw_deg_uniform(N)
bw = np.array([hpbw_deg_exact(N, s) for s in slls])
dd = np.array([10 * np.log10(directivity(dolph_weights(N, s))) for s in slls])
axes[0].plot(-slls, bw / bwu, color=c, lw=1.9, label=f"N={N}")
axes[1].plot(-slls, dd - 10 * np.log10(N), color=c, lw=1.9, label=f"N={N}")
axes[0].axhline(1.0, color="k", ls=":", lw=1.1)
axes[0].text(15.5, 1.02, "一様励振と同じビーム幅", fontsize=9)
axes[0].set_ylim(0.95, 1.65)
axes[0].set_xlabel("設計サイドローブ抑圧量 [dB]")
axes[0].set_ylabel("ビーム広がりファクタ(一様励振 = 1)")
axes[0].set_title("サイドローブを下げると主ビームが太る")
axes[1].set_xlabel("設計サイドローブ抑圧量 [dB]")
axes[1].set_ylabel("一様励振からの利得低下 [dB]")
axes[1].set_title("テーパ効率の低下による利得損失")
for ax in axes:
ax.grid(alpha=0.3); ax.legend(fontsize=9)
plt.tight_layout(); plt.show()

左図の曲線は $-14$ dB 付近から立ち上がり、最初は非常に緩やか、$-30$ dB を超えたあたりから明確に傾きを増します。これが「$-20$ dB は安い買い物、$-40$ dB は高い買い物」という先の議論の視覚化です。また、どの $N$ でも曲線が点線(一様励振の値)から出発することから、$\mathrm{SLL} \to -13$ dB でドルフ分布が一様励振に連続的に帰着することも読み取れます。右図の利得損失も同様の形をしており、$-20$ dB では 0.2 dB 弱、$-30$ dB で 0.7 dB 前後、$-40$ dB で 1.2 dB 前後です。$N$ による差が小さいことも重要な観察で、テーパによる効率低下は素子数にほとんど依存しません。
走査時のサイドローブ劣化
ビームを振ったときに何が起きるかを、等方性素子と $\cos\theta$ 素子パターンの両方で確認します。
import numpy as np
import matplotlib.pyplot as plt
N, SLL = 16, -30
w = dolph_weights(N, SLL)
theta = np.linspace(-90, 90, 8001)
fig, axes = plt.subplots(1, 3, figsize=(17, 5))
# (a) 等方性素子: 配列因子だけを見る
for th0, c in zip([0, 30, 45, 60], ["tab:blue", "tab:green", "tab:orange", "tab:red"]):
axes[0].plot(theta, array_factor_db(w, theta, 0.5, th0),
color=c, lw=1.4, label=f"走査角 {th0}°")
axes[0].set_title("(a) 等方性素子(配列因子のみ)\nψ空間では不変でも可視領域が動く")
# (b) 素子パターン cosθ を掛けた実効パターン
for th0, c in zip([0, 30, 45, 60], ["tab:blue", "tab:green", "tab:orange", "tab:red"]):
A = 10 ** (array_factor_db(w, theta, 0.5, th0) / 20) * np.cos(np.radians(theta))
axes[1].plot(theta, 20 * np.log10(A / A.max() + 1e-300),
color=c, lw=1.4, label=f"走査角 {th0}°")
axes[1].set_title("(b) 素子パターン cosθ を含む実効パターン\n走査角とともに最大サイドローブが悪化")
# (c) 素子間隔を 0.7λ に欲張った場合
for th0, c in zip([0, 20, 30], ["tab:blue", "tab:orange", "tab:red"]):
axes[2].plot(theta, array_factor_db(w, theta, 0.7, th0),
color=c, lw=1.4, label=f"走査角 {th0}°")
axes[2].set_title("(c) 素子間隔 d=0.7λ にした場合\nテーパはグレーティングローブに無力")
for ax in axes:
ax.axhline(SLL, color="k", ls=":", lw=1.0)
ax.set_xlim(-90, 90); ax.set_ylim(-55, 2)
ax.set_xlabel("角度 θ [度]"); ax.set_ylabel("正規化パターン [dB]")
ax.grid(alpha=0.3); ax.legend(fontsize=9, loc="lower left")
plt.tight_layout(); plt.show()

(a) の等方性素子では、$\theta_0 = 0/30/45^\circ$ のサイドローブが設計値の点線にきれいに乗っている一方、$\theta_0 = 60^\circ$ だけは $\theta = -90^\circ$ 側でパターンが $-13.0$ dB まで急上昇しています。これが $\psi = -2\pi$ に潜むグレーティングローブの肩です。(b) で $\cos\theta$ の素子パターンを掛けると、端の跳ね上がりは素子指向性のヌルで抑え込まれますが、代わりに走査側と反対側でサイドローブが非対称になり、最大サイドローブは $-30.2 \to -28.8 \to -27.1 \to -24.3$ dB と走査角とともに単調に悪化します。(c) の $d=0.7\lambda$ に至っては、$\theta_0=30^\circ$ で主ビームと同じ高さの偽ビームが $\theta = -68.2^\circ$($\sin\theta = \sin30^\circ – \lambda/d$)に立ち、テーパ設計が完全に無意味になっています。走査アレーの SLL 仕様は、必ず最大走査角での値で規定しなければならないことがこの図から明確に読み取れます。
振幅誤差 $\pm0.5$ dB のモンテカルロ
最後に、製造誤差の影響を統計的に評価します。
import numpy as np
import matplotlib.pyplot as plt
def peak_sidelobe_db(w, K=20001):
"""主ビーム以外の最大値を dB で返す(可視領域の端も含めて評価)"""
psi = np.linspace(-np.pi, np.pi, K)
n = np.arange(len(w))
A = np.abs(np.exp(1j * np.outer(psi, n)) @ w)
P = 20 * np.log10(A / A.max() + 1e-300)
i = np.argmax(P)
l, r = i, i
while l > 0 and P[l] > P[l - 1]:
l -= 1
while r < K - 1 and P[r] > P[r + 1]:
r += 1
return np.concatenate([P[:l], P[r:]]).max()
rng = np.random.default_rng(0)
N, TRIALS = 16, 4000
fig, ax = plt.subplots(figsize=(9, 5))
for sll, c in zip([-20, -30, -40], ["tab:green", "tab:red", "tab:purple"]):
w0 = dolph_weights(N, sll)
res = np.array([peak_sidelobe_db(w0 * 10 ** (rng.uniform(-0.5, 0.5, N) / 20))
for _ in range(TRIALS)])
ax.hist(res, bins=60, alpha=0.55, color=c,
label=f"設計 {sll} dB → 中央値 {np.median(res):.2f} dB")
ax.axvline(sll, color=c, ls=":", lw=1.4)
ax.set_xlabel("実現された最大サイドローブ [dB]")
ax.set_ylabel("試行数")
ax.set_title(f"素子振幅誤差 ±0.5 dB による SLL 劣化(N={N}, {TRIALS}試行)")
ax.grid(alpha=0.3); ax.legend(fontsize=9)
plt.tight_layout(); plt.show()

ヒストグラムの位置が、設計値(点線)からどれだけ右にずれているかを見てください。$-20$ dB 設計はほとんど動かず中央値 $-19.33$ dB(劣化 $0.67$ dB)にとどまるのに対し、$-30$ dB 設計は $-27.81$ dB($2.19$ dB 劣化)、$-40$ dB 設計に至っては $-33.56$ dB と $6.44$ dB も浅くなります。さらに $-40$ dB 設計は分布の幅も広く、最悪ケースでは $-28.96$ dB まで悪化しました。同じ $\pm0.5$ dB という誤差なのに、深い設計ほど劣化が激しい — これは誤差パターンの床($\sigma^2/(N\eta_t) \approx -41$ dB)が設計サイドローブに近づくためで、本文の理論式が予測したとおりの振る舞いです。
このヒストグラムは、設計者に冷徹な事実を突きつけます。$\pm0.5$ dB の振幅精度しか確保できない装置で $-40$ dB を設計するのは無意味です。得られるのは $-33$ dB 前後のサイドローブと、$1.2$ dB の利得損失と、$41$ % 太った主ビームだけです。同じ $-33$ dB を狙うなら、素直に $-33$ dB で設計したほうがテーパ効率もビーム幅も良好になります。設計 SLL は、実現可能な誤差レベルとセットで決めるべきものなのです。
まとめ
本記事では、ドルフ・チェビシェフアレーの理論を、最適化問題の定式化から実装・誤差解析まで通して解説しました。要点を整理します。
- 一様励振の壁: 等振幅アレーのサイドローブは $N\to\infty$ で $-13.26$ dB に収束し、素子数をいくら増やしても下がらない。突破するには励振テーパが必須
- 問題の翻訳: 対称アレーの配列因子は $\cos(\psi/2)$ の $N-1$ 次多項式として書ける。よって「励振を設計する」ことは「多項式を設計する」ことに等価
- チェビシェフの等リプル性: $[-1,1]$ で $|P|\le1$ を保ちつつ $x_0>1$ で最大値を取る多項式は $T_{N-1}$ に限る。すべての極値を $\pm1$ まで使い切ることが最適性の本質
- Dolph の写像: $x = x_0\cos(\psi/2)$ により、主ビームを $\cosh$ の枝に、サイドローブを $\cos$ の枝に割り当てる。設計ノブは $x_0 = \cosh\!\left(\mathrm{arccosh}\,R/(N-1)\right)$ ただ一つ
- 励振係数: 多項式展開の係数比較、または $T_{N-1}(x_0\cos u)$ のフーリエ係数として求まる。$N=5$、$-20$ dB では $\{1, 1.6085, 1.9319, 1.6085, 1\}$
- ビーム幅の厳密式: $\Delta\psi_{3\mathrm{dB}} = 4\arccos(x_h/x_0)$。広がりファクタは $-20/-30/-40$ dB で漸近的に $1.008/1.193/1.354$
- トレードオフの実像: $N=16$ で $-20$ dB を得る代償はビーム幅 +6.6 %、利得 $-0.17$ dB と極めて安価。一方 $-40$ dB では +41 %、$-1.17$ dB と急激に高価になる
- 走査劣化: $\psi$ 空間ではパターン不変でも、可視領域の移動によるグレーティングローブの侵入、素子パターンによる非対称化、$1/\cos\theta_0$ のビーム広がりで実効 SLL は必ず悪化する
- 誤差感度: 平均サイドローブは $\sigma^2/(N\eta_t)$。$\pm0.5$ dB の振幅誤差で $-40$ dB 設計は $-33.56$ dB(劣化 $6.44$ dB)に崩れる。設計 SLL は実現可能な精度とセットで決める
- 大型アレーの注意: $N$ が数十を超えるとエッジブライトニングが現れる。数百素子規模ではテイラー分布などが実務的
ドルフ・チェビシェフ分布は、アンテナ設計における「制約付き最適化の厳密解」という珍しい例であり、しかもその解が 19 世紀の古典的な多項式論に直結しているという点で、工学と数学の橋渡しとして繰り返し味わう価値があります。一方で、その最適性は「理想的に励振できる」という前提の上に成り立っており、現実の装置では誤差・相互結合・走査が容赦なくその前提を壊しにきます。理論の美しさと実装の泥臭さの両方を知っておくことが、良いアレー設計者の条件と言えるでしょう。
次のステップとして、以下の記事も参考にしてください。