История изменений
Исправление
Crocodoom,
(текущая версия)
:
1. Чаще всего FFT делают рекурсивным алгоритмом Кули-Тьюки. С его помощью FFT сигнала длиной N = N1*N2
сводится к FFT более коротких сигналов длиной N1
и N2
. Чем дольше можно так разбивать число на множители, тем быстрее будет работать. N = 2^k
— наилучший случай, N = простое
— наихудший.
Это вам, как радиотехнику, знать полезно.
2. Есть и другие алгоритмы, в том числе для простых N
. Вполне может быть, что numpy их делать не умеет, а Matlab — умеет. Вы можете поискать другую библиотеку специально для FFT.
3. Элементарный профайлинг кода путём удаления (комментирования) тех или иных строчек делать всё равно нужно уметь. Это чтобы вы не приходили на форум со скриптом на пять строчек, не зная, какая именно из них тормозит.
Исходная версия
Crocodoom,
:
1. Чаще всего FFT делают рекурсивным алгоритмом Кули-Тьюки. С его помощью FFT сигнала длиной N = N1*N2
сводится к FFT более коротких сигналов длиной N1
и N2
. Чем дольше можно так разбивать число на множители, тем быстрее будет работать. N = 2^k
— наилучший случай, N = простое
— наихудший.
Это вам, как радиотехнику, знать полезно.
2. Есть и другие алгоритмы, в том числе для простых N
. Вполне может быть, что numpy их делать не умеет, а Matlab — умеет. Вы можете поискать другую библиотеку специально для FFT.
3. Элементарный профайлинг кода путём удаления (комментирования) тех или иных строчек делать всё равно нужно уметь делать. Это чтобы вы не приходили на форум со скриптом на пять строчек, не зная, какая именно из них тормозит.