SSブログ

dsPIC33 FFT変換とデータ表示・保存装置

 「dsPIC33 AD変換データ表示・保存装置」でdsPIC33FJ64G802を使ったAD変換装置を作りましたが、今回はそのハードウェアでAD変換したデータをFFT変換して表示・データ保存をするソフトウェアを作りました。

FFT.jpg

 ADCの変換周波数は 8kHzで 64サンプル(ピンポンバッファの片方分)をバッファ交互にFFT変換します。
バッファの読み取り間隔は 8mS (1/8kHz x 64sample)でFFT変換時間は 0.4mS(実測)以下ですのでFFTデータ表示処理が7.6mS以内であれば連続処理が可能なのですが、MSP2807グラフィックLCDの表示処理が遅いので間に合いませんでした。
そこで128フレーム(8mS x 128 = 約1秒)の連続FFTデータを取得後グラフィックLCDに表示するようにしました。 (グラフ画面128フレームを表示するのに約18秒と少々時間がかかります。)
 dsPIC33FJ自体はFFTのリアルタイム処理ができデータ転送にも時間的余裕があるので、高速表示処理のできる表示デバイス(装置)があれば連続的にリアルタイムでFFT結果を見ることができると思います。

 FFTの周波数分解能を上げる場合はDMAバッファや配列変数のサイズを大きくしたり回転因子リストの変更等が必要になります。
ADCのクロックを変える場合は使用方法を参照してください。

ソフトウェア、使用方法などの資料は以下でダウンロード・参照できます。
ソフトウェア (dsPIC33FJ64G802用、MPLAB X IDE (v5.50) & XC16 (v1.70))
プログラミングノート (プログラム時読んでください)
使用方法
<2023.10.02記>「PICライター(PICerFT)の製作」でPICライターの自作方法を紹介しています。


参考にした記事 「Starter Kit for dsPIC でFFTを作る


===== 関連記事 =====
PICでグラフィックLCDとSDカードを使う
dsPIC33 AD変換データ表示・保存装置
音検知式 TV消音リモコン


>> ブログ記事一覧へ
nice!(0) 
共通テーマ:趣味・カルチャー

nice! 0