MCL
A C++ library mirroring some of the most common Matlab functions.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
transformop.h
Go to the documentation of this file.
1 /*
2  MCL
3  Copyright (c) 2012-18, Enzo De Sena
4  All rights reserved.
5 
6  Authors: Enzo De Sena, enzodesena@gmail.com
7  */
8 
9 #ifndef MCL_TRANSFORMOP_H
10 #define MCL_TRANSFORMOP_H
11 
12 #include "mcltypes.h"
13 #include <vector>
14 
15 namespace mcl {
16 
17 
18 
23 std::vector<Complex> Fft(const std::vector<Complex>& input,
24  Int n_point) noexcept;
25 
30 std::vector<Complex> Rfft(const std::vector<Real>& input,
31  Int n_point) noexcept;
32 
33 
38 std::vector<std::vector<Complex> >
39 Rfft(const std::vector<std::vector<Real> >& input, Int n_point) noexcept;
40 
41 
46 std::vector<Real> Irfft(const std::vector<Complex>& input,
47  Int n_point) noexcept;
48 
49 
54 std::vector<std::vector<Real> >
55 Irfft(const std::vector<std::vector<Complex> >& input, Int n_point) noexcept;
56 
61 std::vector<Complex> Ifft(const std::vector<Complex>& input,
62  Int n_point) noexcept;
63 
68 std::vector<Complex> Hilbert(const std::vector<Real>& input) noexcept;
69 
74 std::vector<Real> RCeps(const std::vector<Real>& vector) noexcept;
75 
80 std::vector<Real> MinPhase(const std::vector<Real>& vector) noexcept;
81 
82 
84 std::vector<Real> XCorr(const std::vector<Real>& vector_a,
85  const std::vector<Real>& vector_b);
86 // The method XCorr naturally is placed in vectorop, but since it depends
87 // on the Fft method, I place it here, so someone who doesn't want to
88 // compile with KissFFT won't get compilation errors.
89 
90 bool TransformOpTest();
91 
92 }
94 #endif