2019年9月8日日曜日

メモ:超音波距離計

 試しにPCで信号処理のシミュレーション。

 250kSPS、Fc40kHz, ΔF4kHz、PW4096point、受信サンプリング16384point、IF0Hz、IFsps1/8、といった感じ。



 DCにダウンコンバートすると実数空間だけで処理できる部分があるので計算が楽になる。サンプリングレートもゴッソリ落とせるので相関処理が楽。
 STM32のFFTは4096pointまでだけど、250kSPSだと16msec程度しか処理できない。4分の1にダウンコンバートすれば65msecまで処理できる。8分の1に落として131msecくらい処理してもいいけど、131msecだと音速で20mくらいになるので、そこまでのレンジは不要かな。でもブランクエリアが3m弱になるのでやっぱりレンジは20mくらいほしい気もする。
 IFをDCに持ってくると高周波成分が消えるので、時間空間の波形を見てみると面白い。パルス圧縮で周波数変調してるのでうにょうにょしてる。

 送信波形が16KiB、受信波形が32KiB、相関リファレンスが16KiB、内部処理を受信バッファで共有すれば0-16KiB程度、として、80KiB程度のメモリがあれば処理できそう。STBee F4miniでもなんとか収まりそうな雰囲気。


 メモリ空間に余裕があればもっと色々やりたいんだけど。特にパルスドップラーモードとかやってみたい。パルスドップラー超音波レーダーでドローンとか見ると楽しそう。非友好目標識別とかやりたい。
 F-15の初期のレーダーのCPUはSTBee F4miniと似たようなスペックらしい。メモリは同じオーダー。クロックはSTBee F4miniのほうが遥かに高いはず。それでNCTRとかが処理できてるわけで、本当かよ、と思うけど、多分ハードウェアでゴリゴリやってたんだろうなぁ。

 マイコンは送受信を担当して、送信波形・受信波形ともに5kSPSくらいでPCとやり取りし、送信波形の生成や受信波形の解析はPCでやる、という手もできそう。それならメモリ空間は無限大に近い広さなので好きなように信号処理ができる。たぶんインターフェースはUSB CDCでなくFT232Hとかを使うはずだから、STM32F303とかでも良い。F3ならオペアンプ内臓だから受信ゲインを稼ぎやすい。もっとも303だとUSB DFUが使えないし、基板を仕立てなきゃいけないのが面倒だけど。

 スタンドアロンで使える超音波レーダーは、車輪つけて走らせたりといった使い方ができるけど、信号処理で遊ぶのが目的ならアナログ周りだけマイコンで処理して、信号処理はPCでやるほうが楽だろうなぁ。処理の変更もPC側だけで完結するから楽だし。
 気が向いたら超音波もまたやりたいなぁ。

 昨日は結構暑かった。今日はかなり暑い。溶ける。せっかく最近涼しくなってきていたのに。。。

0 件のコメント:

コメントを投稿