32 #include <pds/pdsft.h>
33 #include <pds/pdsvector.h>
34 #include <pds/pdscvector.h>
38 int main(
int argc,
char** argv)
45 PdsCVector *Vout=NULL;
55 Vin=pds_vector_new(N);
56 Vout=pds_cvector_new(N);
59 for(i=0;i<N/4;i++) Vin->V[i]=1.0;
65 fd=fopen(
"datos.dat",
"w");
66 pds_vector_fprintf(Vin,fd);
67 pds_cvector_fprintf(Vout,fd);
68 pds_cvector_fprintf(V,fd);
71 printf(
"Vout[%d]=%e %ei\n",k,Vout->V[k].Real,Vout->V[k].Imag);
72 printf(
" X[%d]=%e %ei\n",k,X.Real,X.Imag);
74 pds_octplot_cvector_in_png(Vout,
"n",
"Vout[n]",
"graficaVout.m",
"graficaVout.png");
75 pds_octplot_cvector_in_png(V,
"n",
"V[n]",
"graficaV.m",
"graficaV.png");
78 pds_cvector_free(Vout);
void pds_goertzel_free(PdsGoertzel *FT)
Libera una estructura de tipo puntero PdsGoertzel.
Estructura tipo PdsIFft. Esta estructura genera una Inversa de la Transformada Rápida de Fourier de N...
PdsGoertzel * pds_goertzel_new(PdsFtNatural k, PdsFtNatural N)
Crea una estructura de tipo PdsGoertzel, para generar una FT de N puntos. Si N no es potencia de 2...
int pds_fft_evaluate_real(const PdsFft *FFT, PdsCVector *Out, const PdsVector *In)
Evalua la transformada rapida de fourier a un vetor real. El tamanho del vector Out debe ser igual qu...
int pds_goertzel_evaluate_real(const PdsGoertzel *FT, PdsComplex *X, const PdsVector *In)
Evalúa la transformada de fourier X[k] a un vector real. El tamaño del vector In debe ser igual o men...
PdsFft * pds_fft_new(PdsFtNatural *N)
Crea una estructura de tipo PdsFft, para generar una FFT de N puntos. Si N no es potencia de 2...
int pds_ifft_evaluate_complex(const PdsIFft *IFFT, PdsCVector *Out, const PdsCVector *In)
Evalua la inversa de la transformada rápida de fourier a un vetor complejo. El tamaño del vector Out ...
Estructura tipo PdsGoertzel. Esta estructura genera una Transformada de Fourier de N puntos aplicando...
void pds_fft_free(PdsFft *FFT)
Libera una estructura de tipo puntero PdsFft.
Estructura tipo PdsFft. Esta estructura genera una Transformada Rápida de Fourier de N puntos...