The experiment using this program is introduced on "Interface" No.4, CQ publishing Co.,Ltd, 2015. 本プログラムを使った実験は,CQ出版社のインターフェース 2015年4月号で紹介しています.

Dependencies:   DSProcessingIO mbed

Committer:
CQpub0Mikami
Date:
Tue Jul 15 10:14:37 2014 +0000
Revision:
0:c740f515e0b7
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CQpub0Mikami 0:c740f515e0b7 1 //-------------------------------------------------------------------
CQpub0Mikami 0:c740f515e0b7 2 // FFT class for real data (Header)
CQpub0Mikami 0:c740f515e0b7 3 // Copyright (c) 2014 MIKAMI, Naoki, 2014/06/29
CQpub0Mikami 0:c740f515e0b7 4 //-------------------------------------------------------------------
CQpub0Mikami 0:c740f515e0b7 5
CQpub0Mikami 0:c740f515e0b7 6 #ifndef FFT_REAL_HPP
CQpub0Mikami 0:c740f515e0b7 7 #define FFT_REAL_HPP
CQpub0Mikami 0:c740f515e0b7 8
CQpub0Mikami 0:c740f515e0b7 9 #include "mbed.h"
CQpub0Mikami 0:c740f515e0b7 10 #include <complex> // requisite
CQpub0Mikami 0:c740f515e0b7 11
CQpub0Mikami 0:c740f515e0b7 12 namespace Mikami
CQpub0Mikami 0:c740f515e0b7 13 {
CQpub0Mikami 0:c740f515e0b7 14 typedef complex<float> Complex; // define "Complex"
CQpub0Mikami 0:c740f515e0b7 15
CQpub0Mikami 0:c740f515e0b7 16 class FftReal
CQpub0Mikami 0:c740f515e0b7 17 {
CQpub0Mikami 0:c740f515e0b7 18 private:
CQpub0Mikami 0:c740f515e0b7 19 const int N_FFT_;
CQpub0Mikami 0:c740f515e0b7 20 Complex* wTable_; // twiddle factor
CQpub0Mikami 0:c740f515e0b7 21 uint16_t* bTable_; // for bit reversal
CQpub0Mikami 0:c740f515e0b7 22 Complex* u_; // working area
CQpub0Mikami 0:c740f515e0b7 23
CQpub0Mikami 0:c740f515e0b7 24 FftReal(const FftReal& );
CQpub0Mikami 0:c740f515e0b7 25 FftReal& operator=(const FftReal& );
CQpub0Mikami 0:c740f515e0b7 26
CQpub0Mikami 0:c740f515e0b7 27 public:
CQpub0Mikami 0:c740f515e0b7 28 // Constructor
CQpub0Mikami 0:c740f515e0b7 29 explicit FftReal(uint16_t n);
CQpub0Mikami 0:c740f515e0b7 30 // Destructor
CQpub0Mikami 0:c740f515e0b7 31 ~FftReal();
CQpub0Mikami 0:c740f515e0b7 32 // Execute FFT
CQpub0Mikami 0:c740f515e0b7 33 void Execute(const float x[], Complex y[]);
CQpub0Mikami 0:c740f515e0b7 34 };
CQpub0Mikami 0:c740f515e0b7 35 }
CQpub0Mikami 0:c740f515e0b7 36 #endif // FFT_REAL_HPP
CQpub0Mikami 0:c740f515e0b7 37