• 本当は、田舎に庵を建てて隠遁生活したいけど、先立つものも無いので自宅で..。

簡易スペクトラムアナライザ(2)

前回は、ブログに数式を記入するだけで力尽き、本文まで書けなかったので、今回はその続きです。

実際にC#でプログラムしてみました。 普通は、フーリエ変換というとFFTだと思うのですが、データ数が少なく、リアルタイムで処理するわけでもないので、式通りの離散的フーリエ変換を行いました。 こっちの方が断然簡単です。

いきなり、FPGAの信号を処理してもいいのですが、うまくいかなかった時にデバッグを簡単にするために、とりあえずダミーのサイン波を入力して、表示させてみました。

DFTの結果は、複素数になるので中央より左側が負の周波数領域になります。中央が40MHzで、左端、右端とも0MHzになります。 少し見辛いですが、5MHzのところに赤い線で表示した信号が出ています。

  

ソースです。

ところどころにコメントをいれましたが、最後のDftExecuteがフーリエ変換の部分です。 前回記載した数式の通りに計算しています。

波形表示のクラスです。

スペクトル表示用のクラスです。 縦軸はdB表示にしていますが、入力信号がダミーなので適当です。

DFTのプログラムが正常に動作していることが確認できたので、次回は実際のFPGAから入力した信号でやってみたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA