61193


spresenseのMultiCore
MPライブラリ内のサンプルスケッチ「AudioFFT」についてですがピーク周波数とは具体的にどういったものでしょうか。またシリアルプロッタに表示される線が基準の青線+4本の計５本なのはなぜでしょうか。初歩的な質問で申し訳ありませんがよろしくお願いします。


CC BY-SA 4.0
2019-12-07T01:35:26.817
61189
2019-12-07T03:42:11.013
36963
question
spresense
spresenseのFFTスケッチについて


マイクから入力された音をFFTで周波数成分に分解したときにパワーが最大となる周波数のことですね。

参考) 例えば10kHzのsin波+ランダムノイズのデータにFFTをかけて周波数成分でみると10kHzのところにピークが現れます  
<https://www.keil.com/pack/doc/CMSIS/DSP/html/group__FrequencyBin.html>

プロットが5本あるのは[マニュアル](https://developer.sony.com/develop/spresense/docs/arduino_developer_guide_ja.html#_mp_sample)に「MainCore
で Audio ライブラリを使ってPCM 4chデータをキャプチャし SubCore
へ渡します。」とあるので、マイクから4チャンネル分を入力しているからだと思います。SubFFT.inoのコードもそうなっています。

[code]

          printf("24000 %8.3f %8.3f %8.3f %8.3f\n",
             peakFs[0], peakFs[1], peakFs[2], peakFs[3]);
    
[/code]

一つは24000を固定で表示されていますが、48kHzサンプリングのPCMデータを入力しているのでナイキスト周波数の24kHz(上限)を表示しているのでしょう。

【追記】

MainAudio.inoを書き換えることで1chの表示(他のchは0固定表示)もできました。

[code]

        /* Select mic channel number */
        const int mic_channel_num = 1;
        //const int mic_channel_num = 2;
        //const int mic_channel_num = 4;
    
[/code]


CC BY-SA 4.0
2019-12-07T03:33:49.117
61193
2019-12-07T03:42:11.013
2019-12-07T03:42:11.013
31378
31378
61189
answer