EngeeDSP.FIRFilter
Стационарный или изменяющийся во времени КИХ-фильтр.
| Библиотека |
|
Описание
Чтобы реализовать структуру стационарного или изменяющегося во времени КИХ-фильтра, выполните следующие действия:
-
Создайте объект EngeeDSP.FIRFilter и установите его свойства.
-
Вызовите объект с аргументами, как если бы это была функция.
Чтобы узнать подробнее о том, как работать с системными объектами, см. Системные объекты Engee.
Синтаксис
Создание
-
fir = EngeeDSP.FIRFilter()возвращает объект КИХ-фильтраfir, который независимо фильтрует каждый канал (столбец) входного сигнала по времени, используя заданную реализацию КИХ-фильтра. -
fir = EngeeDSP.FIRFilter(num)возвращает объект КИХ-фильтраfirсо свойством Numerator, установленным наnum. -
fir = EngeeDSP.FIRFilter(Name=Value)возвращает объект КИХ-фильтраfirс указанным свойствомName, установленным на указанное значениеValue. Вы можете указать дополнительные аргументы в виде пары имя-значение в любом порядке (Name1=Value1,…,NameN=ValueN). Неуказанные свойства имеют значения по умолчанию.
Использование
-
y = fir(x)фильтрует входной сигналxи выводит отфильтрованные значенияy. -
y = fir(x,coeff)фильтрует входной сигналx, используя изменяющиеся во времени коэффициентыcoeff, и выводит отфильтрованные значенияy.Этот синтаксис можно использовать только в том случае, если для свойства NumeratorSource или для свойства ReflectionCoefficientsSource задано значение
"Input port".
Аргументы
Входные аргументы
x —
входной сигнал
вектор | матрица
Details
Входной сигнал, заданный в виде вектора или матрицы.
Если входной сигнал представлен в формате фиксированной точки, то формат должен быть указан в том случае, если свойство Structure имеет значение "Direct form symmetric" или "Direct form antisymmetric". Объект КИХ-фильтра работает с каждым каналом входного сигнала независимо при последовательных обращениях к объекту.
Этот системный объект поддерживает входные данные переменного размера.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
coeff —
коэффициенты фильтра
вектор-строка
Details
Коэффициенты фильтра, изменяющиеся во времени, заданные в виде вектора-строки. Входной сигнал x и входные коэффициенты должны иметь одинаковый тип данных.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
Выходные аргументы
y —
отфильтрованный выходной сигнал
вектор | матрица
Details
Отфильтрованный выходной сигнал, возвращаемый в виде вектора или матрицы. Размер и комплексность выходного сигнала такие же, как у входного сигнала.
Если входной сигнал имеет тип Float32 или Float64, то тип выходных данных совпадает с типом входных данных. Для целочисленных входов и входов с фиксированной точкой тип выходных данных зависит от значения свойств FullPrecisionOverride и OutputDataType.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
Свойства
#
Structure —
структура фильтра
"Direct form" (по умолчанию) | "Direct form symmetric" | "Direct form antisymmetric" | "Direct form transposed" | "Lattice MA"
Details
Структура фильтра, заданная как "Direct form", "Direct form symmetric", "Direct form antisymmetric", "Direct form transposed", "Lattice MA".
#
NumeratorSource —
источник коэффициентов фильтра
"Property" (по умолчанию) | "Input port"
Details
Источник коэффициентов фильтра, указанный как один из следующих:
-
"Property"(по умолчанию) — коэффициенты фильтра задаются через свойство Numerator. -
"Input port"— коэффициенты фильтра указываются в качестве входных аргументов объекта. Объект фильтра обновляет изменяющийся во времени фильтр один раз в каждом кадре.
Зависимости
Чтобы использовать это свойство, установите для свойства Structure значение "Direct form", "Direct form symmetric", "Direct form antisymmetric" или "Direct form transposed".
#
ReflectionCoefficientsSource —
источник коэффициентов фильтра
"Property" (по умолчанию) | "Input port"
Details
Источник коэффициентов решетчатого фильтра, указанный как один из следующих:
-
"Property"(по умолчанию) — коэффициенты решетчатого фильтра задаются через свойство ReflectionCoefficients. -
"Input port"— коэффициенты фильтра указываются в качестве входных аргументов объекта. Объект фильтра обновляет изменяющийся во времени фильтр один раз в каждом кадре.
Зависимости
Чтобы использовать это свойство, установите для свойства Structure значение "Lattice MA".
#
Numerator —
коэффициенты числителя фильтра
[0.5 0.5] (по умолчанию) | вектор-строка
Details
Коэффициенты фильтра, заданные в виде вектора вещественных или комплексных чисел.
Зависимости
Чтобы использовать это свойство, установите для свойства Structure значение "Direct form", "Direct form symmetric", "Direct form antisymmetric" или "Direct form transposed", а для свойства NumeratorSource значение "Property".
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
ReflectionCoefficients —
коэффициенты отражения решетчатого фильтра
[0.5 0.5] (по умолчанию) | вектор-строка
Details
Коэффициенты отражения решетчатого фильтра, заданные в виде вектора вещественных или комплексных чисел.
Зависимости
Чтобы использовать это свойство, установите для свойства Structure значение "Lattice MA", а для свойства ReflectionCoefficientsSource значение "Property".
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
InitialConditions —
начальные условия для КИХ-фильтра
0 (по умолчанию) | скаляр
Details
Укажите начальные условия состояний фильтра. Объект КИХ-фильтра инициализирует все элементы задержки в фильтре этим значением.
| Типы данных |
|
#
FullPrecisionOverride —
использование полной точности для арифметики с фиксированной точкой
true (по умолчанию) | false
Details
Укажите, следует ли использовать правила полной точности. Если вы установите для FullPrecisionOverride значение true, то объект будет вычислять всю внутреннюю арифметику и выходные типы данных с использованием правил полной точности. Эти правила обеспечивают наиболее точные вычисления с фиксированной точкой. При этом также не используются другие свойства фиксированной точки, поскольку они не применяются по отдельности. Эти правила гарантируют, что внутри объекта не происходит квантования. Биты добавляются по мере необходимости, чтобы исключить округление или переполнение. Если вы установите для FullPrecisionOverride значение false, то типы данных с фиксированной точкой будут управляться через индивидуальные настройки свойств фиксированной точки.
#
RoundingMethod —
метод округления
"Floor" (по умолчанию) | "Ceiling" | "Convergent" | "Nearest" | "Round" | "Simplest" | "Zero"
Details
Метод округления для операций с целочисленными числами и числами с фиксированной точкой, заданный как один из следующих:
-
"Floor"(по умолчанию); -
"Ceiling"; -
"Convergent"; -
"Nearest"; -
"Round"; -
"Simplest"; -
"Zero".
#
OutputDataType —
тип данных выходного сигнала
"Same as input" (по умолчанию) | "Same as accumulator" | "Custom"
Details
Тип выходных данных с фиксированной точкой, заданный как "Same as input", "Same as accumulator" или "Custom". Если задано значение "Custom", то в свойстве CustomOutputDataType необходимо прописать тип выходных данных.
#
CustomOutputDataType —
пользовательский тип данных выходного сигнала
тип данных
Details
Тип данных выходного сигнала, применяемый при работе с целочисленными типами и числами с фиксированной точкой.
Пример: fir = EngeeDSP.FIRFilter(OutputDataType="Custom",CustomOutputDataType=fixdt(1, 16, 0))
Зависимости
Чтобы использовать это свойство, укажите для свойства OutputDataType значение "Custom".