Основанная на БПФ КИХ-фильтрация с помощью метода перекрытия-суммы
фильтрует данные в векторном y
= fftfilt(d
,x
)x
с digitalFilter
объект d
.
fftfilt
данные о фильтрах с помощью эффективного основанного на БПФ метода перекрытия - добавляют
[1], метод фильтрации частотного диапазона, который работает только на КИХ-фильтры путем объединения последовательного частотного диапазона, отфильтровал блоки входной последовательности. Операция, выполняемая fftfilt
описан во временном интервале разностным уравнением:
Эквивалентное представление является описанием частотного диапазона или Z-преобразованием:
fftfilt
использование fft
реализовывать метод перекрытия-суммы. fftfilt
повреждает входную последовательность x
в длину блоки данных L, где L должен быть больше длины фильтра N.
и применяет операцию свертки к каждому блоку с фильтром b
y = ifft(fft(x(i:i+L-1),nfft).*fft(b,nfft));
где nfft
длина БПФ. fftfilt
перекрывает последовательные выходные разделы n-1
точки, где n
длина фильтра и суммирует их.
fftfilt
выбирает основные параметры L
и nfft
по-разному, в зависимости от того, предоставляете ли вы длину БПФ n
для фильтра и сигнала. Если вы не задаете значение для n
(который определяет длину БПФ), fftfilt
выбирает эти основные параметры автоматически:
Если length(x)
больше length(b)
, fftfilt
выбирает значения, которые минимизируют номер времен блоков количество флопс на БПФ.
Если length(b)
больше или равен length(x)
, fftfilt
использует один БПФ длины
2^nextpow2(length(b) + length(x) - 1)
Это вычисляет
y = ifft(fft(B,nfft).*fft(X,nfft))
Если вы предоставляете значение для n
, fftfilt
выбирает длину FFT, nfft
, из 2^nextpow2(n)
и длина блока данных nfft
- length(b)
+ 1 . Если
n
меньше length(b)
, fftfilt
наборы n
к length(b)
.
[1] Оппенхейм, Алан V, Рональд В. Шафер и Джон Р. Бак. Обработка сигналов дискретного времени. 2-й Эд. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1999.
conv
| designfilt
| digitalFilter
| filter
| filtfilt