20
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

レーダの中身について実践編~距離、速度測定~

Last updated at Posted at 2020-01-11

前回から時間が空いてしまいました。

前回はレーダの距離、速度推定について基礎の概念を説明しました。

今回はSimulinkを使って、実際にFCM方式で速度、距離を推定してみます。
使うツールボックスは以下のとおり

  1. Phased Array Toolbox
  2. DSP Toolbox

もちろんプレーンのSimulinkでも作れますが、色々と便利なのでツールボックスを使います。
今日はメモ書きみたいな絵が多くて、全体的に視覚情報はうんちです。
そのせいで今日は難解かも。。。

#電磁波の伝搬
前回は信号処理に絡む話ばかりでしたが、最低限レーダにおける電磁波の振る舞いも解説します。直感的にわかる話ばかりだと思いますので、頭に入れておきましょう。

まず、レーダの電波は、放射されてから帰ってくるまで、この図のような旅路を歩みます。

スクリーンショット 2020-01-11 15.14.45.png
  1. 波形を生成(熱雑音混入)し、放射アンテナ(Tx)から空間全体に放射。
  2. 電波は球面上に拡散していくので、ターゲットまでの距離$R$を往復する間に、電力は$1/16\pi R^2$に減少。($4\pi R^2$は半径$R$の球の表面積)
  3. ターゲットに電波が衝突。一部の電波が反射される。
  4. ターゲット間を往復する間に環境ノイズが混入。
  5. 受信した電力は、LNA(ローノイズアンプ)で増幅。(熱雑音混入)
  6. 信号処理

2は非常に重要な基本現象で、1Wの電力を放射した場合、どんなアンテナを用いても距離の2乗に比例して受信電力は減少します。皆さんの使っている携帯電話、パソコン、イヤホンなどなど、全ての無線機器はこの影響を免れられません。レーダや携帯電話の場合、時には送受間で数百メートル離れていることもあり、そういった機器の性能は常にSNとの戦いになります。

合わせて、レーダに受信されるノイズ源も示しました。距離によってSが下がるのに、さらにNが入ってきます。外部環境からは環境ノイズ(ありとあらゆるものから電磁波は放射されています。)を受信し、アンプなどの熱雑音も信号に入ってきます。一応LNAとか使って対策しますが、入ってくるものはしょうがないです。

#システムの概要
次にシステムモデルの概略を説明します。

処理のフローとしては

  1. 信号を生成する
  2. アンプで増幅して放射
  3. ターゲットの距離、速度に応じて周波数と時間シフトを加え、伝搬距離に応じて信号を小さくする。
  4. ターゲットは全部の電力を跳ね返すわけではないので、一部電力をレーダに跳ね返す。
  5. 受信信号を増幅させる
  6. 受信信号と送信信号をミキサで合成し、ビート信号を生成
  7. 2重FFTにより距離と速度を推定

上で説明した外部環境部分もSimulinkブロックで模擬します。

2重FFTについてもう少し詳しく解説します。
前回の記事で、ビート周波数の初期位相が速度によって回転すると説明しました。

FCMの周期を何回も取得し、その初期位相差をFFTすることで、初期位相の回転を周波数として観測できます。
距離推定のFFTは1周期の変調分を時間方向にFFTします。速度推定は、そのFFTの結果を取得サンプル方向にFFTします。図にするとこんな感じ。

スクリーンショット 2020-01-11 15.14.54.png

位相情報を取らないといけないので、FFTは複素数で行い複素数を吐き出させます。

#モデル作成
いよいよモデルを作成します。
動作を確認するだけなので、ツールボックスをゴリゴリに使います。全体像はこんな感じです。
スクリーンショット 2020-01-11 15.07.38.png

もう少し見やすくしろよと言うツッコミは受け付けません。Simulink初学者を許してください。

##波形生成&放射
まず放射系です。放射するには変調信号とアンプが必要です。
信号生成にはPhased Array ToolboxのFMCW waveformを使います。(一般的にFCMはFMCWの種類の一つに分類されます)

スクリーンショット 2020-01-11 14.24.28.png

FMCWブロックの諸元は

  • サンプル周波数: 信号処理にはビート周波数しか使わないので、とりあえずビート周波数に合わせた周波数でいいです。
  • スウィープ時間: 変調の時間です。
  • スウィープ帯域: 変調の帯域幅です。
  • スウィープ方向: 変調の際に周波数を増加させる信号か、減少する信号か、増加減少を交互にするか選べます。
  • スウィープインターバル: ビート周波数生成において中心周波数は関係ないので、高速化のためにFMCW waveformは0-BW間でスウィープするか、-BW/2-BW/2間でスウィープするかします。

です。理想的にはここは連続信号で処理して、後段の信号処理で離散化するのが望ましいです。もしくはここでは高いサンプリング周波数にしておいて、信号処理でダウンサンプリングすると良いです。のちの距離推定の精度に関わります。

スウィープ時間は数十usくらいで処理します。他の諸元ですが、弊社の思想が意図せず反映されると嫌なので伏せます。

Transmitterはゲインと温度を入力します。

##レーダ-ターゲット間のモデル化
レーダ-ターゲット間では、上記のとおりノイズが入ったり、時間がシフトしたり色々します。
これを模擬してくれるのがFree Space ChannelとTargetです。

スクリーンショット 2020-01-11 14.32.19.png

主な諸元は以下のとおり

【Free Space Channel】

  • 入力信号
  • レーダの位置座標
  • レーダの絶対速度
  • ターゲットの初期位置座標
  • ターゲットの絶対速度
  • 搬送周波数: 搬送周波数は放射電波の中心周波数とほぼ同義です。

【Target】

  • RCS: 物体が何割の電力を跳ね返すかと言う定数です。反射/入射の比と考えて問題ありません。
  • 搬送周波数

Free Space Channelの入力にPlatformなどを使うと便利です。Platformは位置や速度を設定するだけのブロックです。

##ビート信号生成
受信してからビート信号を生成するまでです。
スクリーンショット 2020-01-11 14.40.41.png

Receiver Preampは、受信電力を増加させるアンプで、熱雑音が混入します。諸元はTransmitterと同じ。

Dechirpは、送信信号と受信信号を掛けて、ビート信号を生成するブロックです。処理としては、送信と受信のドット積をとっているだけです。Dechirpブロックはそれを配列状態で処理できます。

##距離速度推定
いよいよ本丸。距離速度推定を行います。

スクリーンショット 2020-01-11 14.44.46.png
  1. 上からビート信号が入ってきます。
  2. まずはBufferを使って、1変調周期分のビート信号(複素数)を行方向にキープし、1周期分たまったらNx1配列として後段に流します。
  3. Nx1のビート信号を複素FFTします。これで距離推定が終わりです。(はやっ)
  4. 距離FFT後のNx1配列を転置してBufferに入力します。速度FFTをするためにMサンプル分を行方向にキープします。MxN配列が出力されます。
  5. 速度FFTをします。
  6. 位相情報を含んだ出力がされるので、absブロックで大きさを求めます。
  7. Matlab Functionのブロックで距離がマイナスの部分を切り落とします。
  8. 転置して、NxMの配列に戻します。
  9. $20\log_{10}$をとっていますが、これはdB表記するための処理です。
  10. Matrix Viewerで可視化します。(simoutはワークスペースにデータを保存するブロックです)

これで1ターゲットのFCMレーダモデル(距離、速度推定)は完成です。試しに距離60m、速度40km/sのターゲットを置いてみます。

スクリーンショット 2020-01-11 14.56.50.png

縦軸が距離、横軸が速度です。見事に推定できています!!

電波も波の重ね合わせが成り立つので、2ターゲットにするには、Free Spaceブロックを2つつくり、出力を合成すればできます。

スクリーンショット 2020-01-11 15.02.00.png

同じ距離にターゲットがいても平気です。

スクリーンショット 2020-01-11 15.03.59.png

当然距離が近いほど大きいピークが出るので、普通はローカットフィルタなどで近距離の電力を下げるなどします。

アニメーションにするとこんな感じ。等速運動のターゲットと、等加速度運動のターゲットがいます。
testAnimated.gif

#まとめ
今回はSimulinkとツールボックスを使ってFCMレーダの処理をしました。実際に用いられるレーダよりも簡単な構成にしていますが、その動作が目で見てわかるって嬉しいですね。

この記事では、FFTの折り返しなどの説明を省略していますが、原理理解を優先してそのようにしています。実際にレーダを作りたい方は、個人で調べてみてください。チップメーカのページなどに詳しく書いてありますよ。

次回は方位推定ですが、少し時間がかかりそうです。。。少しお待ちください。

20
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?