Chapter 09
FMCW 信号処理 — 2 次元 FFT で距離-速度マップを作る
この章のゴール.
「チャープの中を FFT すると距離、チャープをまたいで FFT すると速度」—— この 2 段構えを、データの並び(フレーム)から分解能の式まで一気通貫で説明できること。 ここが分かれば、ミリ波レーダーのデータシートの数字は全部読める。
この章で使う既出の用語(定義は各リンク先). 信号処理(01 章 2 節)、波長・位相(02 章 1〜2 節)、SN 比・コヒーレント積分(03 章 3 節, 5 節)、歩行者(04 章 2 節)、PRF(05 章 1 節)、サイドローブ・窓関数(06 章 5 節)、ドップラー周波数 \(f_d\)・フェーザ・FFT(07 章 2 節, 6 節)、チャープの諸元 \(B, T_c, S\)・ビート(08 章 2〜3 節)、IF 帯域・ADC・リーク(08 章 6 節)
1. フレーム — データの器
08 章の高速チャープ方式を、実際のデータの形で見る。
- チャープ 1 本(\(T_c\))の間に、ビート信号を \(M\) 点サンプルする(例: \(M = 256\))
- チャープを \(N\) 本連続で打つ。この束をフレームと呼ぶ(例: \(N=128\) 本。\(T_c = 50\) µs なら送信は 6.4 ms で終わり、残りを処理と休止に充てて 10〜30 ms ごとにフレームを繰り返す)
フレーム 1 枚ぶんのデータは、\(M \times N\) の行列に並ぶ。 行方向(チャープ内のサンプル)を高速時間、列方向(チャープ番号)を低速時間と呼び分ける。 同じ「時間」でも刻みが 2〜3 桁違う(上の例ではサンプル間隔 \(T_c/M = 0.2\) µs に対しチャープ間隔 50 µs)——この 2 つの時間軸を持つことが FMCW 処理の要である。
2. 1 段目 — 距離 FFT(高速時間方向)
各チャープのビート信号は「目標ごとの周波数 \(f_b = 2RS/c\) の正弦波の混合」だった(08 章)。 行ごとに FFT(07 章 6 節。サンプル列を周波数成分に分解する計算)すれば周波数——すなわち距離——ごとに分解できる。これを距離 FFTと呼ぶ。
FFT の各出力点(ビン)は距離の升目に対応する。ビンの間隔は観測時間の逆数(08 章 4 節)なので:
\(M\) 点サンプルの FFT は \(M\) 個のビンを出すが、サンプルが実数(実サンプリング)なら正の周波数と負の周波数の成分が鏡像で同じ情報になるため、使えるビンは \(M/2\) 個。 ミキサを 2 系統使って複素数(振幅と位相)としてサンプルする複素サンプリング(IQ サンプリング、12 章)なら \(M\) 個全部が使える。 升目の数 × 升目の幅が最大距離を決める (ADC レートと IF 帯域の制約——08 章 6 節——と同じことの言い換えである)。
3. 2 段目 — ドップラー FFT(低速時間方向)
距離 FFT を \(N\) 本のチャープ全部に施すと、行列は「距離ビン × チャープ番号」になった。 ある距離ビンに目標がいれば、その列には同じ目標の複素値が \(N\) 個並んでいる。 07 章で導いた通り、目標が速度 \(v\) を持てばこの \(N\) 個は 1 チャープごとに
ずつ回転する等速フェーザ——つまり周波数 \(f_d\) の正弦波を、チャープ 1 本をパルス 1 発とみなしたときの PRF \(=1/T_c\) でサンプルしたものである。 列ごとに FFT すれば速度ごとに分解できる。これをドップラー FFTと呼ぶ。
2 段の FFT を終えた \(M/2 \times N\) の行列が 距離-ドップラーマップ(Range-Doppler map、RD マップ)—— 行を縦方向、列を横方向に描くと、横軸速度・縦軸距離の平面に目標が輝点として浮かぶ「レーダーの視界」である。
静止物は「v = 0 の縦線」に整列する.
ガードレール・建物・路面——世界の大半は止まっている。 RD マップではそれらが全部 \(v=0\) の列に集まり、動く目標だけが横へ飛び出す。 速度軸は最強のフィルタである。時速 5 km で歩く人が、巨大な壁の反射と別の場所に写る—— カメラには決してできない分離が、FFT 1 回で手に入る(クラッタの話は 14 章)。
距離-速度マップを動かす
Web 版のこの見出しの下には、目標の距離と速度をスライダーで動かし、RD マップ上の輝点が動く様子を見られる動く図がある。 速度を上げて折り返す瞬間、2 目標が同じ距離で速度違いに分かれる様子が見どころである。
4. 分解能と範囲 — 4 つの式で全部決まる
導出済みの部品を並べると、FMCW レーダーの性能表が完成する。
| 量 | 式 | 何で決まるか |
|---|---|---|
| 距離分解能 | \(\Delta R = \dfrac{c}{2B}\) | 掃引幅 \(B\) |
| 最大距離 | \(R_{\max} = \dfrac{c \, f_{IF,\max}}{2S}\) | IF 帯域(ADC レート)とスロープ |
| 速度分解能 | \(\Delta v = \dfrac{\lambda}{2 N T_c}\) | フレーム全体の観測時間 \(N T_c\) |
| 最大速度 | \(v_{\max} = \dfrac{\lambda}{4 T_c}\) | チャープ周期 \(T_c\) |
速度分解能だけ導出がまだなので埋める。 ドップラー FFT の観測時間はフレーム全体の \(N T_c\) なので、周波数分解能はその逆数 \(1/(N T_c)\)(08 章 4 節の理屈)。 速度に換算(\(v = \lambda f_d / 2\))して
数値例(77 GHz・現実的な車載設定). \(B = 1\) GHz → \(\Delta R = 15\) cm。 \(T_c = 50\) µs → \(v_{\max} = 19.5\) m/s(±70 km/h)。 \(N = 128\) → 観測 6.4 ms、\(\Delta v = 0.30\) m/s。 \(S = 20\) MHz/µs・IF 帯域 20 MHz(2 節 のとおり、複素サンプリングなら ADC 20 MSa/s、実サンプリングなら鏡像ぶんを含めて 2 倍の 40 MSa/s) → \(R_{\max} = 150\) m。 データシートの数字は全部この 4 式から逆算できる。
トレードオフの三角関係
| 欲しいもの | 動かすつまみ | 押し出される代償 |
|---|---|---|
| 細かい距離 | \(B\) を広く | 同じ ADC なら \(R_{\max}\) が縮む(\(S\) が立つため) |
| 速い目標 | \(T_c\) を短く | 同じ \(N\) なら \(\Delta v\) が粗くなる |
| 細かい速度 | \(N T_c\) を長く | フレームレート低下・データ量増 |
すべてを同時に良くするつまみは存在しない。 用途ごとの落とし所の付け方は 18 章で実演する。
5. FFT は積分器 — SN 比の帳尻合わせ
03 章 5 節で「1 回の観測では SN 比が足りない、位相を揃えて(コヒーレントに)\(M\) 回足せば SN 比が \(M\) 倍」と言った。その正体がこの 2 段 FFT である。 FFT の各ビンは「サンプルにそのビンの周波数で逆回転する位相を掛けてから全部足したもの」(07 章 6 節)で、目標の周波数に合ったビンでは信号が全サンプルで同じ向きに揃って足される。これはコヒーレント積分そのものである。
- 距離 FFT: \(M\) 点の同じ正弦波をコヒーレントに足す → SN 比 \(M\) 倍(03 章の数値例 \(M = 256\) → +24 dB はこの段に当たる。03 章の「1 回の観測」の SN 比は、雑音帯域 \(B\) での 1 サンプルあたりの SN 比である)
- ドップラー FFT: \(N\) 本のチャープを足す → さらに \(N\) 倍
\(M=256, N=128\) なら \(24 + 21 = \) +45 dB。 1 チャープでは雑音の海の底にいた歩行者のエコーが、フレーム全体では海面から頭を出す。 「FMCW レーダーが 10 mW で 100 m 先を見る」収支は、この処理利得込みで初めて合う。
6. 処理チェーンの全体像
RD マップはゴールではなく中間生成物である。フルパイプラインを見取り図にしておく。
| 段 | 処理 | 章 |
|---|---|---|
| 1 | ADC → 距離 FFT(チャープごと) | 本章 |
| 2 | ドップラー FFT(距離ビンごと) → RD マップ | 本章 |
| 3 | 検出(CFAR)——輝点を「目標候補」に変える | 13 |
| 4 | 角度推定——複数 RX の位相差から方位 | 10 |
| 5 | クラスタリング・追尾——点を物体・軌跡へ | 15 |
7. 実装の細部 — つまずきポイントだけ
| 項目 | 要点 |
|---|---|
| 窓関数 | FFT 前に必ず掛ける(ハン窓=ハニング窓、ハミング窓など)。強い目標のサイドローブが弱い目標を埋めるのを防ぐ。サイドローブを下げると分解能と SN 比を少し失う、06 章 5 節と同じトレードオフ |
| ゼロ埋め | ビンを細かく補間できるが分解能は増えない(見た目が滑らかになるだけ) |
| 直流とリーク | 送信リーク(08 章)は距離ゼロ付近の巨大な直流・低周波成分。ハイパスで削ってから FFT する |
| データ量 | \(M \times N \times\) RX 数 × 2 バイト級が毎フレーム。メモリ配置と FFT 順序が組み込み実装の腕の見せ所 |
8. この章のまとめ
| ポイント | 内容 |
|---|---|
| フレーム | \(M\) サンプル × \(N\) チャープの行列。高速時間と低速時間 |
| 2 段 FFT | 行方向=距離、列方向=速度。出力が RD マップ |
| 4 つの式 | \(\Delta R = c/2B\)、\(R_{\max} = c f_{IF}/2S\)、\(\Delta v = \lambda/2NT_c\)、\(v_{\max} = \lambda/4T_c\) |
| 処理利得 | FFT はコヒーレント積分。\(10\log MN\) dB で方程式の帳尻が合う |
| 全体像 | RD マップ → CFAR → 角度 → 追尾。以降の章で 1 段ずつ |