Я работаю над повторной реализацией кода Python на iOS (swift).
Мне нужно выполнить fft (стиль numpy) для кусков одномерных данных.каждый размером 1050 (оконные аудиоданные).
К счастью, я нашел соответствующее объяснение и фрагмент кода о том, как сделать iOS FFT в стиле NumPy ( ссылка ).
Тем не менее, я застрял там, где ускорение фреймворка поддерживает выполнение fft только на степени 2 с длиной входных данных (или совсем недавно , f * 2 ^ n, где f равно 3, 5., или 15 и n по крайней мере 3).
Я проверил мой код Python на размере окна 1050. Работает отлично для моего варианта использования.Но это нелегко реализовать на iOS из-за вышеуказанного ограничения.
Не так просто покопаться в клочковатом c-коде, чтобы узнать, как они это делают, не используя две длины.Этот ответ был хорошей отправной точкой для меня, но все еще не получил его.
Скорость здесь также важна, поэтому я не рассматриваю грубую силу дфт.
Буду очень признателен за любые указания.