You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: LibSource/FastFourierTransform.h
+50-7Lines changed: 50 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,11 @@
1
1
#ifndef __FastFourierTransform_h__
2
2
#define__FastFourierTransform_h__
3
3
4
+
5
+
/**
6
+
* This class performs direct and inverse Fast Fourier Transform.
7
+
*/
8
+
4
9
#ifdef ARM_CORTEX
5
10
classFastFourierTransform {
6
11
private:
@@ -43,21 +48,47 @@ class FastFourierTransform {
43
48
ComplexFloat *data;
44
49
int size;
45
50
public:
51
+
/**
52
+
* Default constructor.
53
+
* Does **not** initialize the instance.
54
+
* @remarks You need to call init(int size) before calling any other method
55
+
*/
46
56
FastFourierTransform() : data(NULL), size(0){}
47
-
FastFourierTransform(int len){
48
-
init(len);
57
+
58
+
/**
59
+
* Construct and initialize the instance.
60
+
* @param[in] aSize The size of the FFT
61
+
* @remarks Only sizes of 32, 64, 128, 256, 512, 1024, 2048, 4096 are supported, due to limitations of the CMSIS library.
62
+
* @note When built for ARM Cortex-M processor series, this method uses the optimized <a href="http://www.keil.com/pack/doc/CMSIS/General/html/index.html">CMSIS library</a>
* @note When built for ARM Cortex-M processor series, this method uses the optimized <a href="http://www.keil.com/pack/doc/CMSIS/General/html/index.html">CMSIS library</a>
* @note When built for ARM Cortex-M processor series, this method uses the optimized <a href="http://www.keil.com/pack/doc/CMSIS/General/html/index.html">CMSIS library</a>
91
+
*/
61
92
voidfft(FloatArray& in, ComplexFloatArray& out){
62
93
ASSERT(in.getSize() >= getSize(), "Input array too small");
63
94
ASSERT(out.getSize() >= getSize(), "Output array too small");
* @note When built for ARM Cortex-M processor series, this method uses the optimized <a href="http://www.keil.com/pack/doc/CMSIS/General/html/index.html">CMSIS library</a>
107
+
*/
70
108
voidifft(ComplexFloatArray& in, FloatArray& out){
71
109
ASSERT(in.getSize() >= getSize(), "Input array too small");
72
110
ASSERT(out.getSize() >= getSize(), "Output array too small");
0 commit comments