[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## [Help-gsl] Reconstruct a function from FFT coefficients?

**From**: |
Georg-Johann Lay |

**Subject**: |
[Help-gsl] Reconstruct a function from FFT coefficients? |

**Date**: |
Wed, 10 Jun 2009 23:19:27 +0200 |

**User-agent**: |
Mozilla Thunderbird 1.0.7 (Windows/20050923) |

Hi,
I am quite new to gsl and have a beginner's question.

`I computed the FFT coefficients of a double array using
``gsl_fft_real_transform. On the result I applied
``gsl_fft_halfcomplex_unpack in order to get the familiar representation
``as series of complex numbers.
`

`From that series I'd like to evaluate the function that is represented
``by these numbers which can be considered as approximation of the
``original data.
`
I read the manual and used a piece of code like this
double to_real (double * c, unsigned int k, double t)
{
double cr = c[2*k];
double ci = c[2*k+1];
double a = 2.0 * M_PI * k/N * t;
// c * exp (2 * Pi * i * k/N * t)
return cr * cos(a) - ci * sin(a);
}
// return f(t)
// f is series of complex numers computed by
// gsl_fft_real_transform + gsl_fft_halfcomplex_unpack
double eval_trafo (double * f, double t)
{
double val = 0.0;
for (unsigned int k=0; k < N; k++)
{
val += to_real (f, k, t);
}
val /= N;
return val;
}

`But obviously, that does not represent the original function. What am I
``missing?
`
Would be great if anyone could give ne a hint.
Georg-Johann

[Prev in Thread] |
**Current Thread** |
[Next in Thread] |

**[Help-gsl] Reconstruct a function from FFT coefficients?**,
*Georg-Johann Lay* **<=**