Дискретное время, перекрытие - добавляет, КИХ-фильтр
Hd = dfilt.fftfir(b,len)
Hd = dfilt.fftfir(b)
Hd = dfilt.fftfir
Этот объект использует метод перекрытия-суммы фильтрации блока FIR, которая очень эффективна для потоковой передачи данных.
Hd = dfilt.fftfir(b,len)
возвращает дискретное время, БПФ, КИХ-фильтр, Hd
, с коэффициентами числителя, b
и длина блока, len
. Длина блока является количеством точек ввода, чтобы использовать для каждого перекрытия - добавляет расчет.
Hd = dfilt.fftfir(b)
возвращает дискретное время, БПФ, КИХ-фильтр, Hd
, с коэффициентами числителя, b
и длина блока, len=
100.
Hd = dfilt.fftfir
возвращает значение по умолчанию, дискретное время, БПФ, КИХ-фильтр, Hd
, с числителем b=1
и длина блока, len=
100. Этот фильтр передает вход до неизменного выхода.
Примечание
Когда вы используете dfilt.fftfir
возразите, чтобы отфильтровать данные, фильтр всегда управляет на сегменте сигнала, равного в длине к целочисленному кратному длиной блока объекта, len
. Если длина входного сигнала не равна целочисленному кратному длина блока, длина сигнала является усеченной до ближайшего целого числа, удовлетворяющего этому требованию. Если PersistentMemory
свойство установлено в true
, в следующий раз, когда вы используете объект фильтра, остающиеся выборки сигнала предварительно ожидаются к последующему входу. Получившееся количество БПФ указывает = (длина фильтра + длина блока - 1). Фильтр является самым эффективным, если количество точек БПФ является степенью 2.
fftfir
использует перекрытие - добавляет алгоритм обработки блока, который представлен можно следующим образом,
где len
длина блока и M
длина числителя 1, (length(b)-1
), который является также количеством состояний. Выход каждой свертки является блоком, который более длинен, чем входной блок хвостом (length(b)-1
Выборки. Эти хвосты перекрывают следующий блок и добавляются к нему. О состояниях сообщает dfilt.fftfir
хвосты итоговой свертки.
Создайте КИХ-фильтр дискретного времени БПФ с коэффициентами от 30-го порядка lowpass equiripple проект:
b = firpm(30,[0 .1 .2 .5]*2,[1 1 0 0]); Hd = dfilt.fftfir(b)
Чтобы просмотреть коэффициенты частотного диапазона, используемые в фильтрации, используйте следующую команду.
freq_coeffs = fftcoeffs(Hd);