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

designHighpassIIR

Формирование БИХ-фильтра верхних частот.

Библиотека

EngeeDSP

Синтаксис

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

  • B,A = designHighpassIIR() — формирует БИХ-фильтр верхних частот с порядком фильтра 10 и половинной мощностью на частоте 0.25. При использовании этого синтаксиса функция проектирует БИХ-фильтр методом проектирования окна "default" и не вычисляет масштабные коэффициенты.

    B и A — матрицы секций второго порядка размером , где — количество секций фильтра.

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

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

    Например, B, A = designHighpassIIR(FilterOrder=30, HalfPowerFrequency=0.4, DesignMethod="cheby1") проектирует БИХ-фильтр верхних частот с порядком фильтра 30, половинной мощностью на частоте 0.4, используя метод проектирования окна Чебышева типа I.

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

    При указании любого из числовых входных аргументов с одинарной точностью функция рассчитывает коэффициенты фильтра с одинарной точностью. В качестве альтернативы можно использовать аргументы Datatype и like для управления типом данных коэффициентов.

    Функция поддерживает три метода проектирования. Каждый метод проектирования поддерживает определенный набор расчетных комбинаций. Для получения дополнительной информации см. DesignMethod.

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

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

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

Аргументы

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

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

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

Details

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

Типы данных

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

# HalfPowerFrequency — частота среза БИХ-фильтра верхних частот по уровню 3 дБ
0.25 (по умолчанию) | нормализованный скаляр

Details

Частота среза БИХ-фильтра верхних частот по уровню 3 дБ, , заданная как нормализованный скаляр в диапазоне (0, 1].

Типы данных

Float32, Float64

# DesignMethod — метод проектирования окна
"default" (по умолчанию) | "butter" | "cheby1" | "cheby2"

Details

Метод проектирования окна, заданный одним из следующих значений:

  • "default" — функция проектирует БИХ-фильтр верхних частот, используя один из следующих методов:

    • метод Чебышева типа I, если указан аргумент PassbandRipple ( );

    • метод Чебышева типа II, если указан аргумент StopbandAttenuation ( );

    • метод Баттерворта, если не указаны аргументы PassbandRipple ( ) и StopbandAttenuation ( );

  • "butter" — функция проектирует БИХ-фильтр верхних частот, используя метод Баттерворта. Этот метод можно использовать при указании одной из следующих комбинаций параметров проектирования:

  • "cheby1" — функция проектирует БИХ-фильтр верхних частот, используя метод Чебышева типа I. Этот метод можно использовать при указании аргументов FilterOrder ( ), HalfPowerFrequency ( ) и PassbandRipple ( );

  • "cheby2" — функция проектирует БИХ-фильтр верхних частот, используя метод Чебышева типа II. Этот метод можно использовать при указании аргументов FilterOrder ( ), HalfPowerFrequency ( ) и StopbandAttenuation ( ).

Типы данных

Char, String

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

Details

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

Чтобы использовать этот аргумент, установите для аргумента DesignMethod значение "default" или "cheby1".

Типы данных

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

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

Details

Затухание в полосе задерживания БИХ-фильтра, , заданное как положительный скаляр.

Чтобы использовать этот аргумент, установите для аргумента DesignMethod значение "default" или "cheby2".

Типы данных

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

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

Details

Флаг вычисления масштабных коэффициентов SV, заданный как true или false.

Типы данных

Bool

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

Details

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

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

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

Типы данных

Bool

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

Details

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

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

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

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

Типы данных

Bool

# Datatype — тип данных коэффициентов фильтра по имени типа
Float64 (по умолчанию) | Float32

Details

Тип данных коэффициентов фильтра по имени типа, заданный как Float64 или Float32.

Для указания типа данных коэффициентов фильтра можно использовать аргумент Datatype или like, но нельзя использовать оба аргумента одновременно.

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

Типы данных

DataType

# like — тип данных коэффициентов фильтра по прототипу
вещественное число с плавающей точкой

Details

Тип данных коэффициентов фильтра, заданный как прототип вещественного числа с плавающей точкой.

Для указания типа данных коэффициентов фильтра можно использовать аргумент Datatype или like, но нельзя использовать оба аргумента одновременно.

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

Типы данных

Float32, Float64

# nout — размер выходного кортежа
2 | 3

Details

Размер выходного кортежа:

  • 2 — функция возвращает кортеж из двух матриц;

  • 3 — функция возвращает кортеж из трех матриц.

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

# B — коэффициенты числителя в форме секции второго порядка
матрица P×3

Details

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

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

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

Типы данных

Float32, Float64

# A — коэффициенты знаменателя в форме секции второго порядка
матрица P×3

Details

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

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

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

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

Типы данных

Float32, Float64

# SV — масштабные коэффициенты для каждой секции
вектор-столбец

Details

Масштабные коэффициенты для каждой секции, возвращаемые в виде вектора-столбца длины , где — количество секций фильтра, равное ceil(FilterOrder/2).

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

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

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

Типы данных

Float32, Float64

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

Details

Объект БИХ-фильтра верхних частот, возвращаемый в виде системного объекта SOSFilter.

Функция возвращает этот аргумент, если для аргумента SystemObject установлено значение true.