Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: F746_GUI F746_SAI_IO FrequencyResponseDrawer SD_PlayerSkeleton UIT_FFT_Real
MySpectrogram/FFT_Analysis.cpp@0:224dccbc4edd, 2016-08-15 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon Aug 15 07:18:07 2016 +0000
- Revision:
- 0:224dccbc4edd
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:224dccbc4edd | 1 | //------------------------------------------------------- |
MikamiUitOpen | 0:224dccbc4edd | 2 | // Class for spectrum analysis using FFT |
MikamiUitOpen | 0:224dccbc4edd | 3 | // |
MikamiUitOpen | 0:224dccbc4edd | 4 | // 2016/07/23, Copyright (c) 2015 MIKAMI, Naoki |
MikamiUitOpen | 0:224dccbc4edd | 5 | //------------------------------------------------------- |
MikamiUitOpen | 0:224dccbc4edd | 6 | |
MikamiUitOpen | 0:224dccbc4edd | 7 | #include "FFT_Analysis.hpp" |
MikamiUitOpen | 0:224dccbc4edd | 8 | |
MikamiUitOpen | 0:224dccbc4edd | 9 | namespace Mikami |
MikamiUitOpen | 0:224dccbc4edd | 10 | { |
MikamiUitOpen | 0:224dccbc4edd | 11 | FftAnalyzer::FftAnalyzer(int nData, int nFft) |
MikamiUitOpen | 0:224dccbc4edd | 12 | : AnalyzerBase(nData, nFft, nFft), |
MikamiUitOpen | 0:224dccbc4edd | 13 | yFft_(nFft/2+1) {} |
MikamiUitOpen | 0:224dccbc4edd | 14 | |
MikamiUitOpen | 0:224dccbc4edd | 15 | void FftAnalyzer::Analyze(const float xn[], float yn[]) |
MikamiUitOpen | 0:224dccbc4edd | 16 | { |
MikamiUitOpen | 0:224dccbc4edd | 17 | fft_.Execute(xn, yFft_); // Execute FFT |
MikamiUitOpen | 0:224dccbc4edd | 18 | |
MikamiUitOpen | 0:224dccbc4edd | 19 | // Translate to dB |
MikamiUitOpen | 0:224dccbc4edd | 20 | for (int n=0; n<=N_FFT_/2; n++) |
MikamiUitOpen | 0:224dccbc4edd | 21 | yn[n] = 10.0f*log10f(Norm(yFft_[n])); |
MikamiUitOpen | 0:224dccbc4edd | 22 | } |
MikamiUitOpen | 0:224dccbc4edd | 23 | } |