Spectrum analyzer using DISCO-F746NG. Spectrum is calculated by FFT or linear prediction. The vowel data is in "vowel_data.hpp"

Dependencies:   BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG UIT_FFT_Real mbed BUTTON_GROUP

Committer:
MikamiUitOpen
Date:
Tue Oct 09 10:34:47 2018 +0000
Revision:
6:f385940fbdb1
Parent:
0:c35b8a23a863
7

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:c35b8a23a863 1 //-------------------------------------------------------
MikamiUitOpen 0:c35b8a23a863 2 // Class for display spectrum
MikamiUitOpen 0:c35b8a23a863 3 // Copyright (c) 2015 MIKAMI, Naoki, 2015/10/26
MikamiUitOpen 0:c35b8a23a863 4 //-------------------------------------------------------
MikamiUitOpen 0:c35b8a23a863 5
MikamiUitOpen 0:c35b8a23a863 6 #ifndef SPECTRUM_DISPLAY_HPP
MikamiUitOpen 0:c35b8a23a863 7 #define SPECTRUM_DISPLAY_HPP
MikamiUitOpen 0:c35b8a23a863 8
MikamiUitOpen 0:c35b8a23a863 9 #include "LCD_DISCO_F746NG.h"
MikamiUitOpen 0:c35b8a23a863 10
MikamiUitOpen 0:c35b8a23a863 11 namespace Mikami
MikamiUitOpen 0:c35b8a23a863 12 {
MikamiUitOpen 0:c35b8a23a863 13 class SpectrumDisplay
MikamiUitOpen 0:c35b8a23a863 14 {
MikamiUitOpen 0:c35b8a23a863 15 public:
MikamiUitOpen 0:c35b8a23a863 16 SpectrumDisplay(LCD_DISCO_F746NG &lcd,
MikamiUitOpen 0:c35b8a23a863 17 int nFft, int x0, int y0,
MikamiUitOpen 0:c35b8a23a863 18 float db1, int bin, float maxDb, int fs);
MikamiUitOpen 0:c35b8a23a863 19 void BarChart(float db[], uint32_t backColor);
MikamiUitOpen 0:c35b8a23a863 20 void LineChart(float db[], uint32_t backColor);
MikamiUitOpen 0:c35b8a23a863 21 void Clear(uint32_t backColor);
MikamiUitOpen 0:c35b8a23a863 22
MikamiUitOpen 0:c35b8a23a863 23 private:
MikamiUitOpen 0:c35b8a23a863 24 const int N_FFT_; // number of date for FFT
MikamiUitOpen 0:c35b8a23a863 25 const int X0_; // Origin for x axis
MikamiUitOpen 0:c35b8a23a863 26 const int Y0_; // Origin for y axis
MikamiUitOpen 0:c35b8a23a863 27 const float DB1_; // Pixels for 1 dB
MikamiUitOpen 0:c35b8a23a863 28 const int BIN_; // Pixels per bin
MikamiUitOpen 0:c35b8a23a863 29 const float MAX_DB_; // Maximum dB
MikamiUitOpen 0:c35b8a23a863 30 const int FS_; // Sampling frequency: 10 kHz
MikamiUitOpen 0:c35b8a23a863 31
MikamiUitOpen 0:c35b8a23a863 32 LCD_DISCO_F746NG *const LCD_;
MikamiUitOpen 0:c35b8a23a863 33
MikamiUitOpen 0:c35b8a23a863 34 void AxisX(); // x-axis
MikamiUitOpen 0:c35b8a23a863 35 void AxisY(); // y-axis
MikamiUitOpen 0:c35b8a23a863 36 };
MikamiUitOpen 0:c35b8a23a863 37 }
MikamiUitOpen 0:c35b8a23a863 38 #endif // SPECTRUM_DISPLAY_HPP