2 ポイント 投稿者 GN⁺ 2024-04-05 | 2件のコメント | WhatsAppで共有
  • 既存の自作 FMCWレーダー の経験をもとに、低価格な部品と高速デジタル信号処理だけで 6 GHz帯の パルス圧縮レーダー を実装した製作記
  • Zynq 7020 FPGA、250 MHz 12-bit ADC、500 MHz 14-bit DAC、zero-IF IQ送受信構成を組み合わせ、任意波形送信とパルス圧縮処理をサポート
  • 実装の難所は、ADC/DACフィルタ、DDR3配線、LVDSインターフェース、1 Gbps Ethernet、クロック同期、電源フィルタリング、送受信切り替え、LO漏洩補正といった 高速デジタル・RF制約 に集中
  • 実測では 150 MHz帯域幅で約 1 mの距離分解能 を得て、道路脇の車両を約 400〜450 m まで検知し、計算上はレーダー断面積 1 m² の目標の最大検知距離は約 1 km水準
  • PCB製造・実装 2枚で 330 USD、自身ではんだ付けした Digikey 部品 225 EUR で完成しており、同価格帯の商用パルス圧縮レーダーや同等RF帯域幅の SDR を見つけるのは難しいとしている

FMCW ではなくパルス圧縮レーダーを作った理由

  • FMCWレーダーは送信・受信アンテナを分離すれば切り替えが不要で、受信信号を送信信号と混合して低い周波数に落とせるため、低速ADC でも実装しやすい
  • 大型レーダーは主にパルスレーダーを使用する
    • 1本のアンテナを送受信で共用できる
    • 大きな送信電力を使う場合、受信機の飽和問題を FMCW よりも気にせずに済む
    • パルスをより高頻度で送れるため、高速目標の速度測定で最大非曖昧 Doppler shift が大きくなる
  • その代わり、パルスレーダーは実装上の制約がはるかに大きい
    • 送受信切り替えに 1 µs かかると、150 m 距離の目標からの反射を取り逃がす
    • 1本のアンテナを共用すると、最小検知距離が数百 m になることがある
    • 送信パルスの RF 帯域幅全体をサンプリングする必要があるため、数百 MHz あるいは 1 GHz 以上の ADC が必要になりうる
  • 目標は、線形周波数スイープにとどまらず任意波形をサポートする パルス圧縮レーダー
    • このために十分なサンプルレートの DAC と ADC が必要になる

全体アーキテクチャと信号処理

  • レーダーは SDR に似た構造で、時間多重化された受信アンテナ 2本と送信部を持つ
    • 送信部は受信アンテナのうち 1本と共用される
    • 2つ目の受信チャネルは、スイッチ、LNA、SMAコネクタを追加するだけで安価に実現でき、FMCWモード利用の可能性も残した
  • TX と RX は zero-IF 構成
    • 性能面で最善ではないが、最も安価な選択
    • ミキサー出力には所望信号だけでなく LO 漏洩やイメージ信号も含まれる
    • zero-IF では不要成分が信号と重なり、固定フィルタで除去しにくい
  • 一部の非理想性はデジタル補正で低減できる
    • DAC出力の事前歪み補償によってミキサーの非理想性を補正し、送信信号をクリーンにできる
    • 受信機出力も十分な精度で特性評価できれば、デジタル補正が可能
  • DAC は complex IQ信号 を出力し、IQミキサーがこれを LO 周波数へ変調してアンテナから送信する
    • complex IQ はベースバンドで正負両方の周波数を表現できる
    • 送信後に T/R スイッチを受信側へ切り替え、受信機が反射信号をサンプリングする
  • 目標位置は送信信号と受信信号の 相関計算 によって求める
    • 実装では時間領域の直接コンボリューションではなく FFT を使用する
    • 目標がある時間では受信・送信信号の相関が大きくなり、目標がなければ小さくなる
  • サイドローブはウィンドウ関数で制御する
    • 参照パルスにウィンドウ関数を掛けると、コンボリューション出力のサイドローブを調整できる
    • 送信パルスにもウィンドウを適用すると、サイドローブをさらに下げられる
    • 欠点はメインローブが広がり、距離分解能がやや悪化すること
  • 速度は、複数パルスにわたる受信信号の位相変化を利用して測定する
    • パルスバーストを送り、パルス次元で FFT を計算すると、range-Doppler map で距離と速度を分離できる
    • 同じ距離にある複数の物体でも、速度が異なれば区別できる
    • 単一アンテナだけでは角度情報は得られない

ADC、DAC、FPGA の選定

  • ADCサンプルレートは、受信可能な最大 RF 帯域幅を決める中核パラメータ
    • RF側や DAC の帯域幅を広げることより、ADC帯域幅の確保のほうが難しい
    • IQサンプリングのため、最低でも 2チャネル ADC が必要
  • JESD204B インターフェースの ADC は、高級 FPGA の高速シリアルトランシーバーが必要で予算に合わず、一般的な FPGA I/O に接続可能な最速の選択肢として LVDS を採用
  • 選定した ADC は ADS4229
    • 2チャネル、LVDS、250 MHz サンプルレート
    • 単価 58 EUR
    • 500 MHz 8-bit ADC という選択肢もあったが、12-bit ADC より SNR が 20 dB 低く、サンプルレート 2倍の増加で取り戻せる SNR は 3 dB にすぎないため除外
  • 選定した DAC は DAC3174
    • 2チャネル、14-bit、500 MHz
    • 単価 33 EUR
    • システム帯域幅は ADC によって制限されるが、DAC帯域幅に余裕があることでフィルタリングが容易になる
  • マイクロコントローラだけでは、パルス生成タイミング、ADC/DACデータ管理、送受信切り替え制御を処理しにくいため、FPGA が必要
  • 選定した FPGA は Zynq 7020
    • dual-core ARM-A9 CPU と FPGA fabric を同一パッケージに搭載
    • 中国では $17 で入手でき、Digikey 価格は $173 だった
    • CPU は PC 通信と制御を担える
    • Linux 実行のため SD カードも追加したが、初期ソフトウェアは OS なしで動作させた

ADC/DAC フィルタと帯域幅の制約

  • ADC の前段には anti-aliasing 低域通過フィルタが必要
    • サンプルレート 250 MHz の Nyquist 周波数は 125 MHz
    • 利用可能帯域幅を広げるにはカットオフを Nyquist に近づける必要があるが、急峻なカットオフが必要となりフィルタ設計が難しくなる
  • ADCフィルタは通過帯域で振幅と群遅延が均一である必要がある
    • 周波数ごとの減衰が異なると受信パルスが歪む
    • 群遅延差が大きいと参照パルスとの相関が低下し、サイドローブが増加する
  • ADCフィルタの設計値は、カットオフ 100 MHz、Nyquist 125 MHz で -20 dB 減衰
    • 約 60 MHz までは振幅と群遅延の特性が良好
    • それ以上では制約のため改善が難しい
    • 必要であればフィルタ応答をデジタルで補正できる
  • DAC もサンプリングシステムなので、出力 alias をフィルタリングする必要がある
    • DACサンプルレートは 500 MHz、必要な信号帯域幅は 100 MHz で、ADCよりフィルタ設計は容易
    • 0〜100 MHz 信号の alias は 400〜500 MHz 範囲にある
    • シミュレーション上、alias は信号より少なくとも 65 dB 減衰する
  • 30 dBm の信号電力では、イメージ信号は約 -35 dBm になる可能性がある
    • 動作上は十分と見ているが、適切なレーダーであれば割り当て周波数外への放射を避けるため、さらに大きな減衰が必要になる可能性がある

デジタル設計とデータフロー

  • Zynq SoC は processing system(PS) と programmable logic(PL) で構成される
    • PS は dual-core ARM A9 CPU
    • PL は FPGA fabric
    • 両者は 64-bit AXI バスで接続される
  • AXI クロックは 130 MHz に設定
    • ADC DMA 用 AXI バス 1 本
    • DAC DMA 用 AXI バス 1 本
    • PL レジスタ設定用の低速 AXI バスが別にある
  • PC との高速接続には 1 Gbps Ethernet を選択
    • USB 3 は 5 Gbps を提供できるが、外部 USB 3 トランシーバと追加の実装作業が必要
    • 初期のデジタル処理は PC 側で行うため、キャプチャした ADC サンプルの転送速度が重要
  • DDR3 DRAM は PS 側に単一チップで接続
    • メモリコントローラの制限により 1066 MHz 動作
    • バス幅は 16-bit
    • 32-bit 構成のために 2 個目の DDR3 チップを追加することもできるが、不要だった
  • DDR3 帯域幅は DAC と ADC の帯域幅の合計より小さい
    • DRAM から DAC サンプルをストリーミングしながら同時に ADC サンプルを保存する方式は不可能
    • PL 側に 1 MB のメモリを置いて DAC サンプルを保存
    • PC から Ethernet 経由で DRAM にパルスサンプルを送り、DMA がそれを PL メモリへ移した後、各パルスごとに DAC へ送信する
  • 1 MB の DAC メモリはパルス長を 130 µs に制限する
    • 130 µs のパルスは最小探知距離 20 km に相当
    • 一般的なパルス長は約 1 µs なので十分
    • LUT 方式により、ウィンドウ関数、事前歪み補償、さまざまなパルス波形の実験が容易になる

RF フロントエンドと送受信スイッチング

  • 動作周波数は既存の自作レーダーと同様、およそ 6 GHz
    • コンシューマー向けアプリケーションのおかげで、安価な既製部品が多い最も高い周波数帯だと判断
  • RF 部は IQ modulator、IQ demodulator、LO 用 PLL、power amplifier、LNA、スイッチで構成される
  • 電力増幅器には Skyworks SE5004L を選択
    • 代表的な出力 1 dB compression point は 2 W
    • 利得は 32 dB
    • データシートの記載は不十分で外付け部品の値もなかったが、評価ボード資料で回路図を確認した
  • T/R スイッチには MASW-007588 を選択
    • スイッチング速度は 55 ns
    • 1 dB compression point は 37 dBm
    • 55 ns の間に光は 16.5 m 移動する
    • より優れた専用スイッチもあるが、予算に合わなかった
  • circulator も代替案ではあるが使用しない
    • 高出力レーダーでは一般的で、数百 W を扱え、スイッチング速度の問題もない
    • この周波数帯の製品は大きく、単純なスイッチよりはるかに高価
  • 受信機では RF ノイズフロアが ADC の量子化雑音より十分高い必要がある
    • 計算上、RF ノイズフロアは ADC 入力で約 -155 dBV/Hz
    • ADC ノイズフロアは約 -156 dBV/Hz
    • 一般には RF ノイズフロアが ADC より約 10 dB 高いべきだが、実際の設計では数 dB 高い程度で妥協した

最大探知距離の計算

  • レーダー方程式で最大探知距離を計算
    • 送信電力、アンテナ利得、波長、目標レーダー断面積、受信機温度、パルス長、パルス数、雑音指数、検出しきい値を使用
  • 使用した推定パラメータは以下のとおり
    • 送信電力: 30 dBm
    • アンテナ利得: 14 dBi
    • 波長: 5.2 cm
    • 目標レーダー断面積: 1 m²
    • 受信機温度: 290 K
    • パルス長: 1 µs
    • バースト内パルス数: 1024
    • 受信機雑音指数: 5 dB
    • 検出しきい値: 15 dB
  • 計算結果では、レーダー断面積 1 m² の目標に対する最大探知距離は 1200 m
  • この値はやや楽観的かもしれない
    • アンテナケーブル損失
    • アンテナ効率損失
    • インピーダンス不整合損失
    • 大気減衰が含まれていない
  • それでも最大探知距離は約 1 km 程度であるはずと見ている
    • 最大距離では平均受信電力が最小検出しきい値に等しい
    • 平均的には、この距離の目標は 50% の確率で検出される
    • 受信電力は距離の 4 乗に反比例するため、それより遠距離では検出確率が急速に低下する

PCB、DDR3、伝送線路、電源設計

  • PCB は RF と高速デジタル回路の両方を含むため、配線には注意が必要
    • 6 層 PCB を使用
    • 標準 FR-4 材は RF に理想的ではないが、RF trace を非常に短く保っているため大きな問題ではないと考えた
  • DDR3L メモリは 533 MHz クロック、クロック当たり 2 回転送で動作
    • 1.35 V 低電圧 DDR3L 規格
    • trace 長マッチング、特性インピーダンス、終端が必要
  • DDR3 アドレスバスの終端抵抗を省略できるかシミュレーションした
    • 終端抵抗なしでも、しきい値ベースでは動作しそうだった
    • しかし約 0.7 V の overshoot が発生し、メモリデータシートの最大 0.4 V overshoot 条件に違反した
    • 最終的にアドレス線へ終端抵抗を追加した
  • DDR3 配線では 60 ohm trace と 50 ohm 終端抵抗を使用
    • 40 ohm trace は幅 0.24 mm
    • 60 ohm trace は幅 0.10 mm で、より高密度な配置が可能
    • 50 ohm 抵抗は PCB の他の場所でも必要なため、BOM を減らせる
  • T/R スイッチと IQ modulator の enable ピンは非常に高速に切り替える必要がある
    • FPGA の最大 drive strength では、スイッチ入力の rise time はシミュレーション上約 400 ps
    • 数 cm の PCB trace が伝送線路のように振る舞い、反射が発生する
    • 50 ohm 抵抗と小容量コンデンサを直列に入れた AC 終端で、DC レベルの問題なく反射を低減した
  • 電源はスイッチングレギュレータ、LDO、ferrite bead フィルタを組み合わせた
    • スイッチングノイズは受信機の熱雑音フロアよりはるかに大きいため、強力なフィルタリングが必要
    • 計算上、最悪条件では 100 dB 級の電源フィルタリング要求となった
    • ferrite bead 2 段フィルタは 1 MHz で 100 dB の減衰を達成
  • PCB には合計 9 本の電源 rail がある
    • デジタル・FPGA 用の 1.0 V、1.8 V、2.5 V、3.3 V、DDR3 用の 1.35 V と 0.675 V
    • アナログ用の低ノイズ 1.8 V、3.3 V、5.0 V には LDO と ferrite bead フィルタを使用

高速インターフェースとクロック

  • ADC は FPGA と 12-bit LVDS バスで接続されている
    • ADC のサンプルレートは 250 MHz
    • 2 チャンネルのデータがクロックの立ち上がり・立ち下がりエッジに載る
    • FPGA は adjustable delay line を使って動的にキャプチャタイミングを補正する
  • DAC は 500 MHz、14-bit LVDS インターフェースを使用する
    • この FPGA には出力遅延線の調整機能がないため、PCB trace の長さ合わせが重要になる
    • 合成ツール基準で ±25 ps の trace delay、約 ±4 mm の長さ差でタイミングを合わせられる
  • Ethernet PHY は Realtek RTL8211F を使用する
    • 中国で単品 1 ドルで入手できた
    • 公式データシートは NDA 対象だが、中国のリセラーから "Confidential" 表記のある文書を入手できた
    • Zynq FPGA の RGMII インターフェースは 3.3 V では仕様を満たさないため、PS 側の電源を 1.8 V に設定する
    • SD カードと UART には level shifter が必要になる
  • JTAG と debug UART は FTDI FT2232H で実装する
    • 公式 Xilinx JTAG debugger の定価は 270 ドルなので使用しない
    • Xilinx の program_ftdi ツールで EEPROM を設定すると Vivado が認識する
  • クロック同期はレーダー性能に重要である
    • ADC は 250 MHz
    • DAC は 500 MHz
    • FPGA ロジックはより低いクロックが必要
    • FPGA 内部 PLL の 100 MHz クロック jitter はツール予測で 130 ps peak-to-peak である一方、外部クロック生成器は約 4 ps peak-to-peak である
  • PL 側は CDCM6208 クロック生成器で 25 MHz crystal から複数の 250 MHz と 500 MHz クロックを生成する
    • これらのクロックは互いに phase synchronized な状態である
    • PS 側は独自の 33 MHz crystal を使用し、電源投入後のクロック生成器プログラミングに必要である
    • PS と PL の独立したクロックドメインは適切な clock domain crossing で処理する

製造とボード bring-up

  • PCB は中国メーカーに実装込みで発注した
    • 実装済みボード 2 枚と空の PCB 3 枚を受け取った
    • 一部の珍しい部品は実装サービスで提供されなかったため、自分で注文してはんだ付けした
    • ADC、DAC、PLL のような高価な部品がこれに含まれる
    • FPGA は実装可能だったため、484-pin BGA の手はんだを避けられた
  • PCB 品質は価格に対して良好だったが、実装済み 2 枚のうち 1 枚ははんだ付け不良ですぐには動作しなかった
  • 安価な 15 ドルの FPGA は日付と lot code が隠されていた
    • 同系列の開発ボードのチップマーキングとは異なっていた
    • 最終的には動作したが、出所には疑問が残った
  • 残りの部品は solder paste と hot air tool で自分ではんだ付けした
    • すでに部品が実装されたボードで QFN パッケージをはんだ付けするには hot air tool が必要である
  • 両面実装コストを減らすため、すべての部品を top side に配置した
    • bottom side には必要に応じて追加の decoupling capacitor を載せるスペースだけを設けたが、実際には不要だった
  • FT2232H EEPROM をプログラミングした後、Vivado hardware manager で Zynq 7020 を認識し、FPGA のプログラミングとデバッグが可能になった

FPGA ファームウェアとタイミング

  • FPGA ロジックは主にデータを移動させる役割を担う
    • ADC/DAC LVDS インターフェース
    • スイッチ、PA、LNA などを適切なタイミングでオン・オフするパルスタイミング
    • PS から PL を設定するための AXI レジスタ
    • ADC、DAC サンプル用の DMA 2 系統
    • ADC、DAC、PLL、クロック生成器用の SPI インターフェース
  • ほとんどの信号処理は PC 側で行う
    • 将来的に FPGA でデジタルフィルタリングと decimation を行えば、PC に送るデータ量を減らし、フレームレートを上げられる
  • LVDS receiver は Xilinx appnote xapp1017 をベースにしている
    • 各 LVDS lane に delay line と flip-flop を接続する
    • 状態マシンが delay を変更し、データ eye の中央でサンプリングするようにする
    • PCB ルーティングと FPGA 内部遅延の差を動的に補正する
  • パルスタイミング回路は、イベントごとの equality comparison を持つ counter 構造である
    • PS がトリガーすると counter が開始する
    • 各サブシステムと外部チップを正確なクロックサイクルで制御する
    • 繰り返し interval を正確に合わせて複数パルスを送る loop 機能がある
  • 正確なバーストタイミングは速度測定に必須である
    • ADC または DAC トリガーで 125 MHz クロック 1 サイクルの誤差が出ると、測定距離誤差が 1.2 m 発生する

受信機ノイズと送信電力の測定

  • アンテナコネクタに matched load を接続し、送信機をオフにした状態で ADC 出力を記録して受信機ノイズを確認した
    • 33 ms、800 万サンプルを記録
    • 平均ノイズフロアは -139 dBFs で、予想に近かった
  • 複数の干渉信号が見え、最も大きいものは 25 MHz の倍数だった
    • 振幅は約 -100 dBFs
    • ADC 入力では約 15 µV RMS に相当する
    • 原因は PLL fractional spur である
  • PLL 出力周波数を基準クロックの整数倍に設定すると spur が最小化される
    • PLL reference clock は 250 MHz だが、phase detector には 2 分周した 125 MHz が使われる
    • 5.75 GHz 設定では spur がほぼ消えた
    • 5.875 GHz も近い倍数として良好に動作した
  • DC/DC converter のスイッチング周波数は 2.5 MHz で、出力スペクトルには見えなかった
    • 電源フィルタリングが意図どおりに動作している
  • 送信電力は PA 内蔵の power detector で確認した
    • DAC 出力は最大振幅の 85% に設定した
    • IQ modulator 出力は約 +3 dBm と見込まれる
    • PA 利得 32 dB により compression に入るのに十分である
  • 測定された detector peak voltage は 1.72 V だった
    • データシートのグラフを線形外挿すると、出力電力は約 33 dBm、つまり 2 W 程度である
    • PA の -1 dB compression point 34 dBm typical と一致しており、compression 状態と見られる

校正とパルス圧縮品質

  • matched load状態でT/Rスイッチを通した送信漏れ信号を記録した
    • 送信波形は100 MHz帯域幅、1 µs長の線形周波数スイープ
    • DAC最大振幅の0.1を使用した
  • 校正前の受信波形には複数の非理想性が現れる
    • パルス前のADC DCオフセット
    • 送信機オンに伴うスパイク
    • 送信機LO漏れによるパルスDCオフセット
    • 高いベースバンド周波数でのより大きな減衰
    • パルス後のADCオフセットとADCフィルタのハイパス動作によるDCレベル
  • 校正前のpulse compressionではsidelobe levelは-21 dBcだった
    • 最大の原因は送信機LO漏れである
    • 送信機と受信機が同じLOを共有するため、LO漏れは受信機でDCにdown-mixされる
  • ADC DCオフセットは、送信機をオフにした状態で受信機をトリガして測定し、その後の測定から差し引く方式で補正した
  • LO漏れは、DACが0を出力する状態でスイープをトリガして測定した
    • 理想的には送信はないはずだが、LO漏れのためLO周波数信号が送信される
    • 送信信号のDCレベルを調整してADC入力が0になるようにし、LO漏れを打ち消す
  • LO漏れ補正後、sidelobe levelは**-36 dB**に改善した
    • 理想的な-42 dBより数dB高い
    • AC coupling capacitorのハイパス動作のため、長い-60 dBの直線状応答が残る
  • DCオフセット問題を減らす別の方法として、スイープをzero-centeredではなくlow-IFに変調する
    • 50 MHzスイープに25 MHzオフセットを使い、0〜50 MHzでスイープする
    • ハイパスフィルタによるDCオフセット問題がなくなる
    • 欠点は、zero-centered sweepと比べて最大使用可能帯域幅が半分に減ること
  • 送信パルスにTukey windowを適用すると、遠方のsidelobeが大きく減少する
    • α=0.1ではpulse energyと受信機SNRは0.8 dB低下する
    • 500 nsオフセットでsidelobe levelは約20 dB減少する

PA雑音漏れの問題

  • 受信に切り替える際、T/Rスイッチは送信機から受信機へ切り替わるが、PAがオンのままだとPA出力雑音が受信機へ漏れる
  • T/Rスイッチは約50 nsで切り替わるが、PA enable/disableには約10 µsかかる
    • 単一アンテナ使用時は、この長いPA切り替え時間のため受信機雑音が増加する
  • PA入力が50 ohm抵抗の熱雑音なら-174 dBm/Hzであり、PA利得32 dBとPA自身の雑音を経ると出力雑音フロアは約-135 dBm/Hzになる
  • T/Rスイッチのisolationを通すと、LNA入力でのPA雑音は約-165 dBm/Hzと見積もられる
    • 熱雑音フロア-174 dBm/Hzより大きいため、PAをオフにしないと受信機性能を制限する
  • 実測では、PA on状態でT/Rスイッチに接続した受信機のADC雑音フロアは、別ポートに接続したときより2.1 dB高かった
    • 計算値の不確かさを考慮すると理論とよく一致する
  • アンテナを2本使えば、2つ目の受信スイッチをRX2に切り替え、RX1のLNAをオフにできるため、PA漏れが受信機雑音に影響しない程度までisolationを改善できる

検出と追跡ソフトウェア

  • ADCサンプルから目標検出を得るためのパイプラインは次のとおりである
    • 各受信パルスにpulse compressionを実行
    • パルス数次元でFFTを実行
    • 距離とDoppler速度を軸とするrange-Doppler mapを生成
  • range-Doppler mapの各pixel amplitudeは、対応する距離・速度binの受信電力を表す
  • 目標binはCFARアルゴリズムで識別する
    • 固定雑音フロアの代わりに周辺binの平均で局所雑音フロアを推定する
    • テスト中のbin amplitudeがthreshold × 推定雑音フロアより大きければ目標として表示する
    • 雑音フロアは時間、周辺目標のsidelobe、ground reflectionのようなclutterによって変動しうる
  • 大きな目標のsidelobeによるfalse detectionは後処理で除去する
    • 同じ行または列に著しく大きい目標があればsidelobeと判断する
    • 隣接binよりamplitudeが大きい必要があるため、compressed pulseのピーク位置のみが検出される
  • 目標追跡にはStonesoup Python libraryを使用する
    • 各目標の位置と速度、不確実性をKalman filterで追跡する
    • 実装は主にStoneSoup tutorialに基づいている
  • レーダーは距離と速度を測定するが角度情報がないため、1D trackingしかできない
    • transition modelにはconstant accelerationを使う
    • Kalman filterが測定から加速度を推定し、次の位置を予測する

路傍での実測結果

  • 道路脇にレーダーを設置して車両を測定した
    • パルス長: 2 µs
    • 帯域幅: 150 MHz
    • パルス数: 1024
    • RX長: 5 µs
    • 次のパルス前の遅延: 7 µs
    • 独立したTX/RXアンテナ2本を使用
    • アンテナは自作のhorn antennaである
  • 150 MHz帯域幅は1 mの距離分解能に相当する
    • 分解能は2点目標を分離できる最小距離である
    • 単一目標の位置精度はSNRに応じて分解能より良くなりうる
  • パルス間隔12 µsは83 kHzのpulse repetition frequencyに相当する
    • 5.8 GHz RFと12 µs pulse repetition intervalでは、非曖昧速度範囲は-1077 m/s〜+1077 m/sである
    • 音速の3倍以上なので、自動車測定では速度曖昧性の問題はない
  • Doppler速度分解能は2155 m/s ÷ 1024 = 2.1 m/sである
    • 同じ距離で2目標を分離するには、この程度の速度差が必要である
    • 単一目標の速度精度はSNRに応じてさらに良くなる
  • Video 9は携帯電話映像とrange-Doppler mapを同期させた結果である
    • CFAR detectionは赤いplusで表示される
    • Y軸はDoppler velocityで、負はレーダーへ接近する方向である
    • X軸は距離である
    • zero Dopplerの大きな線は静止目標反射である
  • 近くの車両はカメラ映像とレーダーdetectionを容易に対応づけられた
    • 前方の車両がより遠い物体を遮るshadowingがある
    • カメラではよく見えない物体もレーダーはよく検出する
    • 道路が曲がってline of sightが遮られる前まで、約400 m先の車両を検出した
  • DCオフセットの影響で距離方向に大きなsidelobeが見られる
    • 大きな目標の近くにある小さな物体の検出を難しくする
    • 最も遠い車両は重なったsidelobeのためCFARで常に検出されるわけではない
  • Video 10は同じ測定にKalman trackerを適用した結果である
    • trackerはCFAR detectionを固有IDの目標に割り当てる
    • shadowingとsidelobeのため遠方目標のdetectionが不足するとtrackを失い、再び見えると新しいIDが割り当てられる

Low-IFパルスと単一アンテナ実験

  • 2回目の道路実験では、RF帯域幅75 MHz、変調周波数38 MHzを使用
    • 周波数は0.5 MHzから75.5 MHzまでスイープ
    • ほかのパラメータは維持
  • 予想どおり、DC offsetによる非常に広いsidelobeは見られなかった
    • 距離分解能は前回の半分の水準まで悪化したが、車両追跡には問題なかった
    • 車両は大きいため、2 mの距離分解能でも分離可能
  • 当初は通過する車両の2次反射が2倍の距離と2倍の速度で見えていた
    • 信号は車両、近くの標識、車両を経由してレーダーに戻る経路だった
    • 振幅が弱く広がっているため、CFARターゲットとしては検出されない
  • 自転車はターゲットとして検出されなかった
    • 速度が静止ターゲットと十分に分離されていなかった
    • low-speed target周辺の静止ターゲットがCFARノイズフロア計算に含まれる
    • 自転車の小さなレーダー断面積は、上昇したノイズフロアを十分に上回らなかった
  • この用途では、より高いRF周波数が有利
    • RF周波数を2倍にするとDoppler velocity bin separationも2倍になる
    • 最大の非曖昧Doppler velocityは半分に減少
    • 警察の速度測定レーダーは通常10〜35 GHz帯を使用
  • 検出された物体のSNRはこの距離で良好だった
    • 450 mの距離で最大SNRは約35 dB
    • 550 m以降はline of sightがなく、detectionはない
    • 距離が2倍になるとSNRは12 dB低下するはず
  • 単一アンテナ実験では、low-IF測定と同じパラメータを使用しつつ、パルス長を2 µsから1 µsに短縮
    • 1本のアンテナを送受信切り替えで使用
    • 1 µsは光の移動距離で300 mだが、往復信号なのでfull pulse受信の最小距離は150 m
  • 150 mより近いターゲットもpartial pulseで検出可能だった
    • pulse compressionにpartial pulseだけを使うと、距離分解能とSNRが低下する
    • この設定での最小検出距離は約40 mだった

コスト、公開資料、最終評価

  • レーダーのSchematicが公開されている
    • 少し修正すればSDRにも有用かもしれない
    • FPGAが必要なほかのアプリケーションの参考資料としても使える
  • ファームウェアとソフトウェアは現在公開されていない
    • 公開するかどうかはまだ決めていない
  • コストは以下のとおり
    • PCB製造と2枚の実装: 330 USD
    • 自分ではんだ付けしたDigikey部品: 225 EUR、約240 USD
    • 価格には24%のVATと送料が含まれる
  • 同価格帯に類似の商用パルス圧縮レーダーはないと考えている
    • 同程度のRF帯域幅を持つSDRもはるかに高価
  • 完成したレーダーは、基本的に現代の大型レーダーと似た構成になっている
    • デジタル信号処理を使用
    • 任意波形をサポート
    • 高いpulse repetition frequencyのおかげで、最大の非曖昧Doppler velocityが大きい
    • 出力電力とアンテナサイズが小さいため、大型レーダーより最大距離は短い

2件のコメント

 
GN⁺ 2024-04-05
Hacker News の意見
  • 同じサイトの以前の記事 https://hforsten.com/heartbeat-detection-with-radar.html を思い出した
    Amazon で安価な 10GHz/24GHz ドップラーレーダーモジュールを買って触ってみたが、スペクトログラムを見るだけでも心拍と呼吸をはっきり捉えられた
    当時のサンプルとしては、天井扇風機に向けた 10GHz の動画 https://www.youtube.com/watch?v=tIiFvByf1CQ、コインを弾いて落とした表面の下から上向きに撮った動画 https://www.youtube.com/watch?v=8riretP8ylE、表面上で回るコインに向けた動画 https://www.youtube.com/watch?v=5lnYvJoxRak がある
    回転する表面で生じる 櫛形フィルタリングが本当にかっこよく、使った 10GHz モジュールは https://www.amazon.com/HiLetgo-Microwave-Detector-Wireless-1... だった

    • 構造物の裏側でも動作するのか気になるし、これを自分の体に向けても安全なのか知りたい
  • すごい。これで郊外向けミサイル誘導システムの最後のピースが埋まった。Jones 家は今年のブロックパーティーを乗り切るのが難しそうだ
    次はフェーズドアレイレーダーも扱ってほしい。犬のフンを片付けない隣人が何人かいるので、もっと高い精度が必要だ

  • すばらしい仕事だ。1人でこれをやり遂げたのは驚きだし、回転台に載せれば平面レーダー検出器になる
    ここに傾きまで加えれば、航空機/気象レーダーと大きく違わないように見える。費用は現地通貨基準では少なくなく、別コメントによれば 570ドルとのことだが、費やした時間を考えれば納得できる
    十分な予算があれば限界はなさそうだ。民間人が作った 6GHz レーダーに軍用機が追跡されたら、どう解釈されるのか気になる。推定最大距離は 1200m らしいが、より大きなアンテナなどで10倍に伸ばしたと仮定したらどうだろう

    • 信号強度の規制は ERP 基準なので、より指向性の高いアンテナを使うと、6GHz 帯の使用はもはや合法ではない可能性がある
    • 方法はいろいろある
      まず航空機レーダーには受信機があり、他のレーダーが送信したパルスも受信する。実際、レーダージャミングも同じ仕組みで動作し、同じ帯域/波長に大出力を注ぎ込んで画面をクラッターで埋める
      レーダーには周波数、パルス繰り返し周波数(PRF)、波形といった特性があるため、比較的識別しやすい。レーダーが動作する帯域は規制されており、軍と民間の複数機関がレーダー送信を捕捉している
      こうした小さな DIY プロジェクトは大きな脅威ではないが、レーダー施設の近く、特に軍事施設の近くで送信すると、かなり早い段階で面倒なことになり得る
      フィンランドは分からないが、私の住んでいるところでは、民間人が軍用レーダーのフィンガープリントを採取したり、フィンガープリントデータベースを作ったりすることは認められていない。実質的に軍にしかできない
      出力を上げた瞬間に、こういうものはすぐ DIY の範囲を超える。この人がフェーズドアレイレーダーを作るところも見てみたい。出典: レーダー関連の仕事をしていた
    • 具体的な知識はないが、深刻な脅威警報まで引き起こすことはなさそうだ
      軍用の脅威警報受信機は、想定される作戦上の脅威環境に合わせて高度にチューニングされたシステムだ
    • 軍用機はレーダー警報レーダーロックオンのような通知、または音声警告を受ける
    • 米国なら、こうした装置については FAA や FCC が管轄権を持つのではないかと思う
  • フィンランド人たちがまたやってくれた。扱っている専門分野の深さと広さが信じがたいほど。
    全体を計画して中国で製造し、基板の半分は実際に動いたらしい。1か月かけてスタートアップでバックエンド+フロントエンドのアプリを作って「頼むから動いてくれ」と祈る感じに似ている

    • それはハードウェア開発ではかなり普通のこと。ソフトウェアの人たちは楽をしすぎている
  • 記事の「怪しいほど安い15ドルのFPGAは、日付とロットコードも怪しく隠されていた」という部分について、以前GoProの運用担当者に、400ドルの本物そっくりな中国製模造品がどうして40ドルで可能なのか聞いたことがある
    答えは文字どおり、スクラップ置き場からチップを調達するというものだった。たとえば、テストに合格しなかったメモリチップの束を買うが、特定の温度範囲でしか動かないかもしれない
    他の部品も、平均6年ではなく6か月ほど動くように選んで仕様を合わせることが多いと言っていた。こうした「ガジェット」製品の大半は週末に少し使われて戸棚にしまわれると分かっているからだ
    こういうR&Dプロジェクトには問題ないだろうが、商用製品を作るときは注意が必要。政治的な側面もあるし、被害妄想が混じっているかもしれないが、特定市場向け製品で中国製シリコン部品の使用を禁じる法案も出てきている

    • 中国のコンシューマーエレクトロニクス企業は、単に製品に大きなマージンを乗せないことも多い
      良い例が45ドルのAlienTek DP100 100W USB-Cマイクロラボ電源: https://www.youtube.com/watch?v=Pd6LG7iP2GQ
      似たようなものにDigilentのロゴが付けば500ドルくらいになるはず
      それに本物のGoProも平均以上に故障率が高く、4K録画時に自ら過熱したり、勝手にシャットダウンしたりする問題がある
  • 本当にすごい
    以前の記事 https://hforsten.com/radar-phase-measurements.htmlhttps://hforsten.com/6-ghz-frequency-modulated-radar.html のおかげで、自分のソナーシステムの作業に大いに助けられた
    今回の記事も複雑なトピックを非常にうまく説明している。関連作業の例は https://twitter.com/alextoussss/status/1756371553460121766 にある

  • 見事な仕事だ。Henrikは、公開資料としてはめったに見られないレベルのレーダーとRFデータ収集プロジェクトを長年手がけてきており、ドキュメントの品質も非常に高い

  • 素晴らしい仕事だ。RF、ハードウェア、ファームウェア、ソフトウェアまで、スタック全体でこれほどの技術的深さを示す例は珍しい
    読み進めるほどにどんどん良くなる

  • なぜグラウンドプレーンを1層と6層ではなく、2層と6層に置いたのか気になる
    高周波PCB設計の経験がない身からすると、グラウンドでシールドを作り、電源プレーンを3層か4層に置きそうに思う。きっと良い理由があるのだろうが、よく分からない

    • 高速PCBでは通常、最上層と最下層をグラウンドプレーンには使わない。そこには部品があるからだ
      すべてのチップ周辺でグラウンドプレーンを切り抜かなければならず、高速信号には連続したグラウンドプレーンが本当に必要になる。特にRF ICはグラウンドへのアクセスが短くなければならない
      ICとグラウンドプレーンの距離を最小化するには、2層目が最も良い層だ
    • 高速信号は、インピーダンス不整合を起こすビアを避けるため、最上層と最下層に配線されることがよくある。バックドリルしてもコストが高い
      特定の特性インピーダンスを維持するには、特定幅の配線から一定距離だけ離れたプレーン(GND)が必要になる。信号の上下にプレーンがなければ、望むインピーダンス値を作れない
      最上層と最下層を追加で塗りつぶすこともできるが、インピーダンスへの影響はわずかだ
    • 記事の説明が正しいのか分からない
      画像では信号が1層目(赤)、3層目(オレンジ)、6層目(青)にあり、グラウンドは2層目(緑)と5層目(ピンク)、電源は4層目(青緑)のように見える
      いくつかのビアを照合すると、2層目と5層目が確かにつながっている
    • 設計者ではないが、上側の蛇行した整合済み高周波信号と下側の塗りつぶしの間で容量性負荷を減らし、塗りつぶしなしでモデリングとIC実装を容易にする意図のように思える
      その周辺にも塗りつぶしがない点が見える。図の順序は確かではないが123/654のように見え、その後、本文が誤っていて123/456で2層目と4層目がGNDなのだろうと思った
      内部の低速デジタル信号がグラウンド/電源、訂正するとグラウンド/グラウンドのプレーンの間に挟まれているように見えるが、別のPCBでは離しておくと通常最大のノイズ源になるので、良い選択かもしれない
      電源/グラウンドプレーンはすぐ近くにあるべきだ。このくらいの周波数では、バイパスコンデンサがほとんど役に立たないからだ
  • レーダーの話が出たついでに言うと、今では使い物になるレーダーが34セントしかしない: https://www.aliexpress.com/item/1005006240906322.html
    そのチップはもともとこの用途向けに設計されたものではなく、PIRセンサーチップを流用したものだ
    レーダーの核心は、PCB左半分の中央にある単一のマルチGHzトランジスタと、誰かが何年もかけて設計し磨き込んだであろう銅パターンで作られた、非常に巧妙なフィードバック回路だけだ

 
illuza 2024-04-06

想像をはるかに超えた狂気のエンジニアリング…

私がぼんやりと思い描いていたエンジニアの姿にあまりにも近い。