На процедуры двойной точности перешел :
call DFFTCF(n,X,FX)
call DFFTCB(n,FX,X)
Пока накопить ошибку тоже не удается...
Ну вот, после вычислений с двойной точностью:
M= 100000000
0.000E+00 0.000E+00
0.100E+01 -0.153E-08
0.000E+00 0.000E+00
0.000E+00 0.153E-08
0.000E+00 0.000E+00
0.000E+00 -0.153E-08
0.000E+00 0.000E+00
0.000E+00 0.153E-08
Устойчивость БПФ/ОБПФ на "длинных" сигналах
-
- Сообщения: 89
- Зарегистрирован: 28 окт 2010, 22:31
- Откуда: Москва
Re: Устойчивость БПФ/ОБПФ на "длинных" сигналах
Я, конечно, должен сказать спасибо, что и делаю
На самом деле я (на данный момент) практически не сомневаюсь в устойчивости БПФ применительно к моим задачам, причем с хорошим запасом. Чисто для общего образования -- меня попрежнему смущает (чисто теоритически), на мой вкус немыслимая фича FFTW -- работа с числом отсчетов более 2**31-1. Равно как и вот такой фрагмент факов с fftw.org:
Еще раз, проблема (как проблема, а не праздный интерес) для меня снята.
На самом деле я (на данный момент) практически не сомневаюсь в устойчивости БПФ применительно к моим задачам, причем с хорошим запасом. Чисто для общего образования -- меня попрежнему смущает (чисто теоритически), на мой вкус немыслимая фича FFTW -- работа с числом отсчетов более 2**31-1. Равно как и вот такой фрагмент факов с fftw.org:
Здесь не вполне понятно, то ли причина в том, что между преобразованиями не выполнялась нормализация (прямое FFTW воззвращает ненормализованный спектр, для 1-D варианта каждую компоненту следует делить на число отсчетов), то ли... Во всяком случае, факт что FFTW внутри себя (успешно??) борется с возникающими в процессе вычислений "NaNs or similar" -- очень задумывает.Question 3.4. FFTW slows down after repeated calls.
Probably, NaNs or similar are creeping into your data, and the slowdown is due to the resulting floating-point exceptions. For example, be aware that repeatedly FFTing the same array is a diverging process (because FFTW computes the unnormalized transform).
Еще раз, проблема (как проблема, а не праздный интерес) для меня снята.
Если ваши решения вам нравятся -- это хорошие решения. И наоборот.