Home | Develop | Download | Contact
Goertzel.hpp
1 /*
2  * Goertzel.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_GOERTZEL_HPP__
33 #define __PDS_GOERTZEL_HPP__
34 
35 #include <string>
36 #include <Pds/Complex>
37 #include <Pds/Ra>
38 
48 namespace Pds{
49 
50 class Matrix;
51 
59 class Goertzel
60 {
61 
62 private:
64  double a;
65 
70  unsigned int k;
71 
74 
76  unsigned int N;
77 public:
78 
88  Goertzel(void);
89 
90 
103  Goertzel(unsigned int k,unsigned int N);
104 
113 
114 
116 
121 public:
122 
142  bool Configure(unsigned int k,unsigned int N);
143 
148 public:
149 
168  Pds::Complex Evaluate(const Pds::Vector &X) const;
169 
174 public:
175 
187  bool IsEmpty(void) const;
188 
193 public:
194 
205  void Print(std::string str="") const;
206 
212  void PrintStylized(std::string str="") const;
218 }; // Class Goertzel
219 
220 } // namespace Pds
221 
222 
227 #endif
228 
La clase tipo Pds::Complex . Esta clase genera un objeto con dos parametros Nlin y Ncol....
Definition: Complex.hpp:59
La clase tipo Pds::Goertzel . Esta clase genera un objeto con dos parametros Nlin y Ncol....
Definition: Goertzel.hpp:60
unsigned int N
Definition: Goertzel.hpp:76
Pds::Complex W
Definition: Goertzel.hpp:73
bool Configure(unsigned int k, unsigned int N)
Calcula la transformada de fourier de correspondiente al k-essimo elemento de N.
unsigned int k
Definition: Goertzel.hpp:70
Goertzel(void)
Crea un objeto de tipo Pds::Goertzel.
bool IsEmpty(void) const
Verifica si el bloque del algoritmo está inicializado es decir k=0 y N=0.
Pds::Complex Evaluate(const Pds::Vector &X) const
Calcula la transformada de fourier de correspondiente al k-essimo elemento de N.
Goertzel(unsigned int k, unsigned int N)
Calcula la transformada de fourier de correspondiente al k-essimo elemento de N.
void Print(std::string str="") const
Muestra en pantalla el contenido de Pds::Goertzel, elementos separados por tabulador.
Goertzel(const Pds::Goertzel &B)
Crea un objeto de tipo Pds::Goertzel copiando datos desde otra.
void PrintStylized(std::string str="") const
Muestra en pantalla el contenido de Pds::Goertzel, en el formato [Nli,Ncol].
Nombre de espacion para PDS (Procesamiento Digital de Senales)
Definition: CaTools.hpp:45

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed