Децимируйте по два раза, используя полифазный БИХ
The dsp.IIRHalfbandDecimator
Система object™ выполняет эффективное полифазное десятикратное уменьшение входного сигнала в два раза. Для разработки полуполосы фильтра можно задать объект, который будет использовать эллиптический проект или квазилинейный проект фазы. Объект использует эти методы проекта, чтобы вычислить коэффициенты фильтра. Чтобы фильтровать входы, объект использует полифазу структуру. Фильтры allpass в структуре полифазы находятся в форме минимального множителя.
Эллиптический проект представляет нелинейную фазу и создает фильтр с использованием меньшего количества коэффициентов, чем квазилинейный проект. Квазилинейный проект преодолевает нелинейность фазы за счет дополнительных коэффициентов.
Кроме того, вместо разработки полуполосы фильтра с помощью метода проекта, можно задать коэффициенты фильтра непосредственно. Когда вы выбираете эту опцию, фильтры allpass в двух ветвях полифазы реализации могут быть в форме минимального множителя или в цифровой форме волны.
Можно также использовать dsp.IIRHalfbandDecimator
объект для реализации фрагмента анализа двухдиапазонной группы фильтров для фильтрации сигнала в поддиапазоны lowpass и highpass.
Чтобы фильтровать и понижать значения данных:
Создайте dsp.IIRHalfbandDecimator
Объекту и установите его свойства.
Вызывайте объект с аргументами, как будто это функция.
Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».
возвращает полудиапазонный дециматор, iirhalfbanddecim
= dsp.IIRHalfbandDecimatoriirhalfbanddecim
, с настройками по умолчанию. В настройках по умолчанию Системный объект фильтрует и понижает частоту входных данных с полуполосой частотой 22050
Гц, ширина перехода 4100
Гц и затухание в полосе задерживания 80
дБ.
возвращает БИХ полуполосы дециматор с дополнительными свойствами, заданными одним или несколькими iirhalfbanddecim
= dsp.IIRHalfbandDecimator(Name,Value
)Name,Value
аргументы в виде пар.
iirhalfbanddecim = dsp.IIRHalfbandDecimator('Specification','Filter order and stopband attenuation')
создает объект дециматора полуполосы БИХ с порядком фильтра, установленным на 9
и затухание в полосе задерживания, установленное на 80
дБ.[
вычисляет ylow
,yhigh
] = iirhalfbanddecim(x
)ylow
и yhigh
, банка фильтров анализа, iirhalfbanddecim
для входных x
. Входная матрица Ki -by N рассматривается как N независимые каналы. Системный объект генерирует два дополнительных по мощности выходных сигнала путем сложения и вычитания двух выходов полифазной ветви соответственно. ylow
и yhigh
имеют одинаковый размер (Ko -by - N) и тип данных. Ko = Ki/2, где 2
- десятикратное уменьшение.
Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj
, используйте следующий синтаксис:
release(obj)
[1] Lang, M. Allpass Filter Design and Applications. Транзакции IEEE по обработке сигналов. Том 46, № 9, сентябрь 1998, стр. 2505-2514.
[2] Harris, F.J. Multirate Signal Processing for Communication Systems. Prentice Hall. 2004, стр 208–209.
[3] Regalia, Phillip A., Sanjit K. Mitra, and P. P. Vaidyanathan. Цифровой универсальный фильтр: универсальный базовый блок обработки сигналов. Материалы IEEE. Том 76, № 1, 1988, стр. 19-37.