Заполнение нулями - правильное направление, но имейте в виду, что если вы выполняете преобразование для оценки частотного содержимого, вам потребуется оконная функция , и она должна применяться ккороткий блок (т. е. если у вас 2000 точек, примените 2000-балльное окно Ханна, затем добавьте 2048 и вычислите преобразование).
Если вы разрабатываете надстройку, вы можете рассмотреть возможность использования одного измного библиотек FFT там.Я большой поклонник KISS FFT Марка Боргердинга.Он предлагает быстрое преобразование для многих размеров блоков, по существу, для любого размера блока, который может быть разложен на числа 2,3,4 и / или 5. Однако он не обрабатывает блоки размером с простое число.Он написан на очень простом C, поэтому его легко перенести на C #.Или этот вопрос SO предлагает некоторые библиотеки, которые можно использовать в .NET.