Документация Engee

designNotchPeakIIR

Формирование режекторного фильтра Баттерворта высшего порядка или пикового БИХ-фильтра.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • B,A,SV = designNotchPeakIIR() — формирует пиковый БИХ-фильтр с порядком фильтра 2, центральной частотой 0.5 рад/с и добротностью 2.5.

    B и A содержат коэффициенты секций второго порядка для числителя и знаменателя пикового БИХ-фильтра, соответственно. Массивы B и A имеют размер , где — количество секций фильтра, равное половине порядка фильтра.

    Аргумент SystemObject по умолчанию имеет значение false. Для реализации фильтра присвойте коэффициенты фильтра объекту SOSFilter.

  • B,A,SV = designNotchPeakIIR(Name=Value) — задает параметры с помощью одного или нескольких аргументов типа «имя-значение».

    Например, B, A, SV = designNotchPeakIIR(Response="notch", FilterOrder=10, CenterFrequency=0.55, Bandwidth=0.3) проектирует режекторный БИХ-фильтр с порядком фильтра 10, центральной частотой 0.55 рад/с и полосой пропускания 3 дБ 0.3.

    При указании только частичного списка параметров фильтра функция проектирует фильтр, устанавливая для остальных параметров значения по умолчанию.

  • B,A,SV = designNotchPeakIIR(Name=Value) — также возвращает масштабные значения, если вы указали аргумент HasScaleValues. Аргумент SV представляет собой вектор из единиц, если для аргумента HasScaleValues установлено значение false, и вектор масштабных значений, если — true.

  • filtObj = designNotchPeakIIR(Name=Value) — проектирует режекторный или пиковый БИХ-фильтр и реализует объект SOSFilter.

    Данный синтаксис применяется, если для аргумента SystemObject установлено значение true.

Аргументы

Входные аргументы «имя-значение»

Укажите необязательные пары аргументов в виде Name=Value, где Name — имя аргумента, а Value — соответствующее значение. Аргументы типа «имя-значение» должны располагаться после других аргументов, но порядок пар не имеет значения.

# Response — характеристика фильтра
"peak" (по умолчанию) | "notch"

Details

Характеристика фильтра, заданная как "peak" или "notch".

Типы данных

Char, String

# FilterOrder — порядок режекторного или пикового БИХ-фильтра
2 (по умолчанию) | четное неотрицательное целое число

Details

Порядок режекторного или пикового БИХ-фильтра, заданный как четное неотрицательное целое число.

Типы данных

Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

# CenterFrequency — центральная частота режекторного или пикового БИХ-фильтра
0.5 (по умолчанию) | нормализованный скаляр

Details

Центральная частота режекторного или пикового БИХ-фильтра в рад/с, заданная как нормализованный скаляр в диапазоне:

  • [0, 1] при указании входного аргумента Bandwidth;

  • (0, 1] при указании входного аргумента QualityFactor.

Типы данных

Float32, Float64

# QualityFactor — добротность режекторного или пикового БИХ-фильтра
2.5 (по умолчанию) | положительный скаляр

Details

Добротность (или Q-фактор) режекторного или пикового БИХ-фильтра, заданная как положительный скаляр. Q-фактор определяется как центральная частота , деленная на ширину полосы пропускания , то есть . Более высокий Q-фактор соответствует более узкой режекторной или пиковой полосе.

Типы данных

Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

# Bandwidth — полоса пропускания 3 дБ режекторного или пикового БИХ-фильтра
скаляр в диапазоне [0, 1]

Details

Полоса пропускания 3 дБ режекторного или пикового БИХ-фильтра, заданная как нормализованный скаляр в диапазоне [0, 1].

Типы данных

Float32, Float64

# HasScaleValues — флаг вычисления масштабных значений для каждой секции
false (по умолчанию) | true

Details

Флаг вычисления масштабных значений для каждой секции, заданный как true или false. Если установить для этого параметра значение true, функция возвращает масштабные значения, которые можно применить до и после каждой секции фильтра второго порядка.

Типы данных

Bool

# SystemObject — флаг создания системного объекта
false (по умолчанию) | true

Details

Флаг создания системного объекта, заданный как

  • false — функция возвращает матрицы коэффициентов секций второго порядка;

  • true — функция возвращает объект SOSFilter.

Типы данных

Bool

# Verbose — флаг печати вызова функции в Engee
false (по умолчанию) | true

Details

Флаг печати вызова функции в Engee, заданный как

  • false — функция не выводит вызов функции;

  • true — функция выводит весь вызов функции, включая значения по умолчанию для аргументов типа Name=Value, которые не были указаны при вызове функции.

    Используйте это значение для просмотра всех параметров, используемых функцией для проектирования и реализации фильтра.

Типы данных

Bool

Выходные аргументы

# B — коэффициенты числителя режекторного или пикового БИХ-фильтра
массив N/2×3

Details

Коэффициенты числителя режекторного или пикового БИХ-фильтра, возвращаемые в виде массива размера , где — количество секций фильтра, а — порядок фильтра.

Типы данных

Float64

# A — коэффициенты знаменателя режекторного или пикового БИХ-фильтра
массив N/2×3

Details

Коэффициенты знаменателя режекторного или пикового БИХ-фильтра, возвращаемые в виде массива размера , где — количество секций фильтра, а — порядок фильтра.

Старший коэффициент знаменателя всегда равен 1.

Типы данных

Float64

# SV — масштабные значения
вектор-столбец

Details

Масштабные значения между секциями, возвращаемые в виде вектора-столбца длины , где — количество секций фильтра, а — порядок фильтра.

Если для аргумента HasScaleValues установлено значение true, то SV будет вектор-столбцом из единиц.

Типы данных

Float64

# filtObj — объект фильтра
объект SOSFilter

Details

Объект фильтра, возвращаемый в виде объекта SOSFilter. Функция designNotchPeakIIR обновляет аргументы HasScaleValues и SV в объекте SOSFilter в зависимости от того, какое значение при вызове функции установлено для аргумента HasScaleValuestrue или false .

Литература

  1. Orfanidis , SJ. High-Order Digital Parametric Equalizer Design. 2005, pp. 1026–1046.