![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Application example of FftReal class. FftReal クラスの使用例.
Dependencies: Array_Matrix mbed UIT_FFT_Real
dftReal.hpp@4:8248d5b5cdc9, 2020-12-12 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Sat Dec 12 03:21:58 2020 +0000
- Revision:
- 4:8248d5b5cdc9
5
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 4:8248d5b5cdc9 | 1 | //-------------------------------------------------------------- |
MikamiUitOpen | 4:8248d5b5cdc9 | 2 | // 離散的フーリエ変換 (DFT) |
MikamiUitOpen | 4:8248d5b5cdc9 | 3 | // |
MikamiUitOpen | 4:8248d5b5cdc9 | 4 | // 2020/12/12, Copyright (c) 2020 MIKAMI, Naoki |
MikamiUitOpen | 4:8248d5b5cdc9 | 5 | //-------------------------------------------------------------- |
MikamiUitOpen | 4:8248d5b5cdc9 | 6 | |
MikamiUitOpen | 4:8248d5b5cdc9 | 7 | #include "mbed.h" |
MikamiUitOpen | 4:8248d5b5cdc9 | 8 | #include <complex> // complex で使用 |
MikamiUitOpen | 4:8248d5b5cdc9 | 9 | |
MikamiUitOpen | 4:8248d5b5cdc9 | 10 | #ifndef DFT_REAL_HPP |
MikamiUitOpen | 4:8248d5b5cdc9 | 11 | #define DFT_REAL_HPP |
MikamiUitOpen | 4:8248d5b5cdc9 | 12 | |
MikamiUitOpen | 4:8248d5b5cdc9 | 13 | typedef complex<float> Complex; // "Complex" の定義 |
MikamiUitOpen | 4:8248d5b5cdc9 | 14 | |
MikamiUitOpen | 4:8248d5b5cdc9 | 15 | void DftReal(const float x[], Complex y[], int nFft); |
MikamiUitOpen | 4:8248d5b5cdc9 | 16 | |
MikamiUitOpen | 4:8248d5b5cdc9 | 17 | // DFT の計算 |
MikamiUitOpen | 4:8248d5b5cdc9 | 18 | void DftReal(const float x[], Complex y[], int nFft) |
MikamiUitOpen | 4:8248d5b5cdc9 | 19 | { |
MikamiUitOpen | 4:8248d5b5cdc9 | 20 | Complex j2PiN = Complex(0, -6.28318531f/nFft); |
MikamiUitOpen | 4:8248d5b5cdc9 | 21 | |
MikamiUitOpen | 4:8248d5b5cdc9 | 22 | for (int k=0; k<nFft; k++) |
MikamiUitOpen | 4:8248d5b5cdc9 | 23 | { |
MikamiUitOpen | 4:8248d5b5cdc9 | 24 | y[k] = 0.0; |
MikamiUitOpen | 4:8248d5b5cdc9 | 25 | for (int n=0; n<nFft; n++) |
MikamiUitOpen | 4:8248d5b5cdc9 | 26 | y[k] = y[k] + x[n]*exp(j2PiN*(float)(n*k)); |
MikamiUitOpen | 4:8248d5b5cdc9 | 27 | } |
MikamiUitOpen | 4:8248d5b5cdc9 | 28 | } |
MikamiUitOpen | 4:8248d5b5cdc9 | 29 | #endif // DFT_REAL_HPP |