Основная проблема заключается не в заполнении нулями в сравнении с предполагаемой периодичностью, а в том, что анализ Фурье разбивает сигнал на синусоидальные волны, которые на самом базовом уровне предполагаются бесконечными по степени. Оба подхода верны в том смысле, что IFFT, использующий полное БПФ, вернет точную форму входного сигнала, а оба подхода неверны в том смысле, что использование меньшего, чем полный спектр, может привести к эффектам накрая (которые обычно простираются на несколько длин волн).Единственное различие заключается в деталях того, что, как вы предполагаете, заполняет остальную часть бесконечности, а не в том, делаете ли вы предположение.
Назад к вашему первому абзацу: Обычно в DSP самая большая проблема, с которой я сталкиваюсьс БПФ заключается в том, что они не являются причинно-следственными, и по этой причине я часто предпочитаю оставаться во временной области, используя, например, фильтры FIR и IIR.
Обновление:
В постановке вопроса ОП правильно указывает на некоторые проблемы, которые могут возникнуть при использовании БПФ для фильтрации сигналов, например, краевые эффекты, которые могут быть особенно проблематичными при выполнении свертки, сравнимой по длине (во временной области) к выбранной форме волны.Однако важно отметить, что не вся фильтрация выполняется с использованием БПФ, и в статье, цитируемой ФП, они не используют фильтры БПФ, и проблемы, которые могут возникнуть при реализации фильтра БПФ, не возникают при использовании их подхода..
Рассмотрим, например, фильтр, который реализует простое среднее значение по 128 точкам выборки с использованием двух разных реализаций.
БПФ : При подходе БПФ / свертка можно получить выборку, скажем, из 256 точек, и свернуть ее с wfm, который является постоянным для первой половины и стремится к нулю ввторая половинаВопрос здесь (даже после того, как эта система провела несколько циклов), что определяет значение первой точки результата?БПФ предполагает, что wfm является круговым (то есть бесконечно периодическим), так что либо: первая точка результата определяется последними 127 (то есть будущими) выборками wfm (пропуская по середине wfm), или на 127 нулей, если вы нули.Ни один из них не является правильным.
FIR : Другой подход заключается в реализации среднего с помощью фильтра FIR.Например, здесь можно использовать среднее значение в 128-регистровой очереди FIFO.То есть по мере поступления каждой точки выборки: 1) поставить ее в очередь, 2) удалить из очереди самый старый элемент, 3) усреднить все 128 элементов, оставшихся в очереди;и это ваш результат для этого образца.Этот подход работает непрерывно, обрабатывая одну точку за раз и возвращая отфильтрованный результат после каждой выборки, и не имеет никаких проблем, возникающих из БПФ, поскольку он применяется к конечным фрагментным выборкам.Каждый результат представляет собой только среднее значение текущей выборки и 127 выборок, которые были до него.
В статье, на которую ссылается ОП, используется подход, гораздо более похожий на КИХ-фильтр, чем на БПФ-фильтр (обратите внимание, чтоФильтр в статье более сложный, и вся статья в основном представляет собой анализ этого фильтра.) См., например, эту бесплатную книгу , в которой описывается, как анализировать и применять различные фильтры, и обратите внимание также, чтоПодход Лапласа к анализу КИХ и БИХ-фильтров весьма схож с тем, что можно найти в цитируемой статье.