TIMEOUT MERGE: Gsl FFT <-> FFTW compatibility
- From: Stefan Westerfeld <stefan space twc de>
- To: Beast Liste <beast gnome org>
- Cc: timj gtk org
- Subject: TIMEOUT MERGE: Gsl FFT <-> FFTW compatibility
- Date: Fri, 5 Nov 2010 20:36:23 +0100
TIMEOUT MERGE TIMEOUT MERGE TIMEOUT MERGE TIMEOUT MERGE TIMEOUT MERGE
Hi!
I've changed gslfft to produce the same results FFTW produces. This should make
it easy to optionally use FFTW to speed up gslfft, however this merge request
doesn't provide any optional FFTW support, but only prepares the code base for
that.
For the real variants, I've not rederived the formulas from scratch, but added
a minus sign (on the imaginary part) where required, to be able to use the old
code. Besides the extended testfft test, I've tested all variants against FFTW,
to ensure that the results are the same.
I've also grepped through all code for gslfft usage, and adapted it where
necessary. Make report also passes with the changes applied.
Here are the commit logs of the branch:
commit 618d89e0a0682be9869d6e091c0dc2a19fa19487
Author: Stefan Westerfeld <stefan space twc de>
Date: Wed Oct 13 11:23:50 2010 +0200
BSE: Adapted FFT tests to new gslfft/FFTW compatible results.
Added DFT test from #491577, which now passes due to new style gslfft results.
commit 1924ca83ecb71986aa5c2a27917957d6eabc3a68
Author: Stefan Westerfeld <stefan space twc de>
Date: Wed Oct 13 11:21:44 2010 +0200
BSE: Use new scaled variants of gslfft to get same results as before.
commit 3523cfaa2563b819f9401e48d8bb5d541918c923
Author: Stefan Westerfeld <stefan space twc de>
Date: Wed Oct 13 11:20:35 2010 +0200
BSE: Make gslfft results compatible with fftw.
The Numerical Recipies FFT and FFTW behave differently because a minus
sign in the formula is different (so Numerical Recipies analysis performs
the same computation like FFTW synthesis and vice versa). This change
makes gslfft and FFTW results equivalent. Also, while FFTW never scales
results, gslfft used to scale results during backward transform. To get
the same results, scaling is now only performed optionally in gslfft.
Finally, real variants (like fftar/fftsr) have been changed to produce the
same results like real FFTW.
To merge this change, use:
repo: http://space.twc.de/public/git/stwbeast.git
branch: gslfft-fftw-compat
This merge request replaces the old bug-491577 merge request.
Cu... Stefan
--
Stefan Westerfeld, Hamburg/Germany, http://space.twc.de/~stefan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]