Home | Develop | Download | Contact
Fft.hpp
1 /*
2  * Fft.hpp
3  *
4  * Copyright 2018 Fernando Pujaico Rivera <fernando.pujaico.rivera@gmail.com>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19  * MA 02110-1301, USA.
20  *
21  */
22 
32 #ifndef __PDS_FFT_HPP__
33 #define __PDS_FFT_HPP__
34 
35 #include <string>
36 #include <Pds/CVector>
37 #include <Pds/Complex>
38 #include <Pds/Ra>
39 
49 namespace Pds{
50 
51 class CVector;
52 
60 class Fft
61 {
62 
63 private:
67  unsigned int N;
68 public:
69 
79  Fft(void);
80 
81 
89  Fft(unsigned int &N);
90 
98  Fft(const Pds::Fft &B);
99 
100 
101  ~Fft();
102 
110 public:
111 
126  bool Evaluate(const Pds::Vector &In,Pds::CVector &Out) const;
127 
128 
138  bool Evaluate(const Pds::CVector &In,Pds::CVector &Out) const;
139 
140 
150  bool Evaluate(const Pds::Matrix &In,Pds::CMatrix &Out) const;
151 
156 public:
157 
169  bool IsEmpty(void) const;
170 
175 public:
176 
187  void Print(std::string str="") const;
188 
194  void PrintStylized(std::string str="") const;
201 }; // Class Fft
202 
203 } // namespace Pds
204 
205 
210 #endif
211 
La clase tipo Pds::CMatrix . Esta clase genera un objeto con dos parametros Nlin y Ncol....
Definition: CMatrix.hpp:63
La clase tipo Pds::CVector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: CVector.hpp:81
La clase tipo Pds::Fft . Esta clase genera un objeto con dos parametros Nlin y Ncol....
Definition: Fft.hpp:61
unsigned int N
Definition: Fft.hpp:67
Pds::CVector W
Definition: Fft.hpp:65
bool Evaluate(const Pds::Vector &In, Pds::CVector &Out) const
Evalua la transformada rapida de fourier a un vetor real. El tamanho del vector Out debe ser igual qu...
Fft(void)
Crea un objeto de tipo Pds::Fft.
Fft(unsigned int &N)
Crea una estructura de tipo Fft, para generar una FFT de N puntos. Si N no es potencia de 2,...
void PrintStylized(std::string str="") const
Muestra en pantalla el contenido de Pds::Fft, en el formato [Nli,Ncol].
Fft(const Pds::Fft &B)
Crea un objeto de tipo Pds::Fft copiando datos desde otra.
bool Evaluate(const Pds::Matrix &In, Pds::CMatrix &Out) const
Evalua la transformada rapida de fourier de cada linea de una matriz. El tamanho del vector en las ...
void Print(std::string str="") const
Muestra en pantalla el contenido de Pds::Fft, elementos separados por tabulador.
bool Evaluate(const Pds::CVector &In, Pds::CVector &Out) const
Evalua la transformada rapida de fourier a un vetor real. El tamanho del vector Out debe ser igual qu...
bool IsEmpty(void) const
Verifica si el bloque del algoritmo está inicializado N=0.
Nombre de espacion para PDS (Procesamiento Digital de Senales)
Definition: Fft.hpp:49

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed