Realtime spectrum analyzer. Using FFT, linear prediction, or cepstrum smoothing. Version using MEMS microphone and CODEC, named "F746_RealtimeSpectrumAnalyzer_MEMS_Mic" is registered. リアルタイム スペクトル解析器.解析の手法:FFT,線形予測法,ケプストラムによる平滑化の3種類.このプログラムの説明は,CQ出版社のインターフェース誌,2016年4月号に掲載.外付けのマイクまたは他の信号源等を A0 に接続する.線形予測法,ケプストラムは,スペクトル解析の対象を音声信号に想定してパラメータを設定している.MEMS マイクと CODEC を使ったバージョンを "F746_RealtimeSpectrumAnalyzer_MEMS_Mic" として登録.

Dependencies:   BSP_DISCO_F746NG BUTTON_GROUP LCD_DISCO_F746NG TS_DISCO_F746NG UIT_FFT_Real mbed

Revision:
5:98ec9dd54144
Parent:
4:99d4d5ea06a2
Child:
6:b27ef8d98edc
--- a/main.cpp	Tue Dec 15 02:39:31 2015 +0000
+++ b/main.cpp	Tue Dec 15 13:27:07 2015 +0000
@@ -74,12 +74,12 @@
     while (!runStop.Touched(0)) {}
 
     // Start spectrum analyzing
-    int inv = 0;        // 0: "NORM", 1: "INV"
+    int inv = 0;    // 0: "NORM", 1: "INV"
     int select = -1;
+    // pointer of data to be analyzed
+    const int16_t *const sn = input.Get();
     while (true)
-    {
-        int16_t* sn;    // pointer of data to be analyzed
-        
+    {     
         if (runStop.GetCurrentColor(0) != TOUCHED_COLOR)
         {
             if (runStop.Touched(0, TOUCHED_COLOR))
@@ -100,7 +100,6 @@
 
             if (input.Filled())
             {
-                sn = input.Get();
                 waveDisp.Execute(sn);
   
                 // spectrum analysis and display
@@ -123,4 +122,3 @@
         }
     }
 }
-