Realtime sound spectrogram using FFT or linear prediction. Spectrogram is displayed on the display of PC. リアルタイム・スペクトログラム.解析の手法:FFT,線形予測法.スペクトログラムは PC のディスプレー装置に表示される.PC 側のプログラム:F446_Spectrogram.

Dependencies:   Array_Matrix mbed SerialTxRxIntr F446_AD_DA UIT_FFT_Real

Committer:
MikamiUitOpen
Date:
Sun Nov 24 11:14:01 2019 +0000
Revision:
7:5ba884060d3b
Parent:
0:a539141b9dec
8

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:a539141b9dec 1 //---------------------------------------------------------------
MikamiUitOpen 0:a539141b9dec 2 // Class for spectrum analysis using linear prediction (Header)
MikamiUitOpen 0:a539141b9dec 3 //
MikamiUitOpen 0:a539141b9dec 4 // 2017/02/11, Copyright (c) 2017 MIKAMI, Naoki
MikamiUitOpen 0:a539141b9dec 5 //---------------------------------------------------------------
MikamiUitOpen 0:a539141b9dec 6
MikamiUitOpen 0:a539141b9dec 7 #ifndef LPC_ANALYZER_HPP
MikamiUitOpen 0:a539141b9dec 8 #define LPC_ANALYZER_HPP
MikamiUitOpen 0:a539141b9dec 9
MikamiUitOpen 0:a539141b9dec 10 #include "AnalyzerBase.hpp"
MikamiUitOpen 0:a539141b9dec 11 #include "LinearPrediction.hpp"
MikamiUitOpen 0:a539141b9dec 12
MikamiUitOpen 0:a539141b9dec 13 namespace Mikami
MikamiUitOpen 0:a539141b9dec 14 {
MikamiUitOpen 0:a539141b9dec 15 class LpcAnalyzer : public AnalyzerBase
MikamiUitOpen 0:a539141b9dec 16 {
MikamiUitOpen 0:a539141b9dec 17 public:
MikamiUitOpen 0:a539141b9dec 18 LpcAnalyzer(int nData, int nFft, int order);
MikamiUitOpen 0:a539141b9dec 19 virtual ~LpcAnalyzer() {}
MikamiUitOpen 0:a539141b9dec 20
MikamiUitOpen 0:a539141b9dec 21 private:
MikamiUitOpen 0:a539141b9dec 22 int order_;
MikamiUitOpen 0:a539141b9dec 23 LinearPred lp_;
MikamiUitOpen 0:a539141b9dec 24
MikamiUitOpen 0:a539141b9dec 25 Array<float> an_; // predictor coefficient
MikamiUitOpen 0:a539141b9dec 26 Array<float> xFft_; // input for FFT
MikamiUitOpen 0:a539141b9dec 27 Array<Complex> yFft_; // output of FFT
MikamiUitOpen 0:a539141b9dec 28
MikamiUitOpen 0:a539141b9dec 29 virtual void Analyze(const float xn[], float yn[]);
MikamiUitOpen 0:a539141b9dec 30
MikamiUitOpen 0:a539141b9dec 31 // disallow copy constructor and assignment operator
MikamiUitOpen 0:a539141b9dec 32 LpcAnalyzer(const LpcAnalyzer& );
MikamiUitOpen 0:a539141b9dec 33 LpcAnalyzer& operator=(const LpcAnalyzer& );
MikamiUitOpen 0:a539141b9dec 34 };
MikamiUitOpen 0:a539141b9dec 35 }
MikamiUitOpen 0:a539141b9dec 36 #endif // LPC_ANALYZER_HPP