БИХ-фильтр с использованием биквадратических структур
dsp.BiquadFilter объект реализует каскад биквадратических сечений, где коэффициенты для каждого сечения предоставляются отдельной строкой N-by-6 матрицы сечений второго порядка (SOS). Каждая строка матрицы SOS содержит числительные и знаменательные коэффициенты соответствующего участка фильтра. Результирующий фильтр может быть применен к входу вектора или матрицы, где каждый столбец представляет канал данных, который обрабатывается независимо.
Для реализации структуры фильтра БИХ с использованием биквадратичного или SOS:
Создать dsp.BiquadFilter и задайте его свойства.
Вызовите объект с аргументами, как если бы это была функция.
Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.
возвращает биквадратический фильтр IIR (SOS) System object™, biquad = dsp.BiquadFilterbiquad, который независимо фильтрует каждый канал (столбец) ввода во времени с помощью секции SOS [1 0.3 0.4 1 0.1 0.2] с транспонированной структурой прямой формы II.
biquad = dsp.BiquadFilter(sosmatrix,scalevalues) возвращает объект биквадратического фильтра с помощью SOSMatrix свойство имеет значение sosmatrix и ScaleValues свойство имеет значение scalevalues.
biquad = dsp.BiquadFilter( возвращает объект биквадратического фильтра, Name,Value)biquad, каждое свойство имеет заданное значение.
Если не указано иное, свойства не настраиваются, что означает невозможность изменения их значений после вызова объекта. Объекты блокируются при их вызове, и release функция разблокирует их.
Если свойство настраивается, его значение можно изменить в любое время.
Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.
Structure - Структура фильтра'Direct form II transposed' (по умолчанию) | 'Direct form I' | 'Direct form I transposed' | 'Direct form II'Укажите структуру фильтра как 'Direct form I', 'Direct form I transposed', 'Direct form II', 'Direct form II transposed'.
SOSMatrixSource - источник матрицы SOS'Property' (по умолчанию) | 'Input port'Укажите источник матрицы SOS как 'Property' или 'Input port'.
SOSMatrix - матрица SOS[1 0.3 0.4 1 0.1 0.2] (по умолчанию) | матрица N-by-6Укажите матрицу секции второго порядка (SOS) в качестве матрицы N-by-6, где N - количество секций в фильтре. Каждая строка матрицы SOS содержит числительные и знаменательные коэффициенты соответствующего участка фильтра. Системная функция H (z) биквадратного фильтра:
=∑k=02bkz−k1−∑l=12alz−l
Коэффициенты упорядочены в строках матрицы SOS как (b0, b1, b2,1, -a1, -a2). Можно использовать коэффициенты вещественных или комплексных значений. Это свойство применяется только при установке SOSMatrixSource свойство для Property. Коэффициент начального знаменателя биквадного фильтра, a0, равен 1 для каждой секции фильтра, независимо от заданного значения.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
ScaleValues - Значения шкалы для каждой секции биквада1 (по умолчанию) | скаляр | векторУкажите значения масштаба, применяемые до и после каждого раздела биквадратного фильтра. ScaleValues должен быть скаляром или вектором длины N+1, где N - количество разделов. Если для этого свойства задано значение скаляра, скалярное значение используется в качестве значения коэффициента усиления только перед первой секцией фильтра. Остальные значения коэффициента усиления устанавливаются в значение 1. Если для этого свойства задан вектор N+1значения, каждое значение используется для отдельного раздела фильтра.
Это свойство применяется только при установке SOSMatrixSource свойство для Property.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
InitialConditions - Исходные условия для сооружений прямой формы II0 (по умолчанию) | скаляр | вектор | матрицаУкажите начальные условия состояний фильтра, когда Structure свойство является одним из | Direct form II | Direct form II transposed |. Количество состояний или элементов задержки (нулей и полюсов) в биквадратном фильтре прямой формы II равно удвоенному количеству секций фильтра. Начальные условия можно задать как скаляр, вектор или матрицу.
При указании скалярного значения фильтр biquad инициализирует все элементы задержки в фильтре до этого значения. При задании вектора длины, равной количеству элементов задержки в фильтре, каждый элемент вектора задает уникальное начальное условие для соответствующего элемента задержки.
Биквадный фильтр применяет один и тот же вектор начальных условий к каждому каналу входного сигнала. При задании вектора длины, равной произведению числа входных каналов и числа элементов задержки в фильтре, каждый элемент задает уникальное начальное условие для соответствующего элемента задержки в соответствующем канале. При задании матрицы с тем же количеством строк, что и количество элементов задержки в фильтре, и одного столбца для каждого канала входного сигнала каждый элемент задает уникальное начальное условие для соответствующего элемента задержки в соответствующем канале.
Это свойство применяется только при установке Structure свойство для одного из Direct form II или Direct form II transposed.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
NumeratorInitialConditions - Исходные условия на стороне нулей0 (по умолчанию) | скаляр | вектор | матрицаУкажите начальные условия состояний фильтра на стороне структуры фильтра с нулями. Количество состояний или элементов задержки в числителе биквадратного фильтра прямой формы I равно удвоенному количеству секций фильтра. Начальные условия можно задать как скаляр, вектор или матрицу. При указании скаляра биквадратный фильтр инициализирует все элементы задержки на стороне нулей в фильтре до этого значения. При задании вектора длины, равной количеству элементов задержки на стороне нулей в фильтре, каждый элемент вектора задает уникальное начальное условие для соответствующего элемента задержки на стороне нулей.
Биквадный фильтр применяет один и тот же вектор начальных условий к каждому каналу входного сигнала. При задании вектора длины, равной произведению числа входных каналов и числа элементов задержки на стороне нулей в фильтре, каждый элемент задает уникальное начальное условие для соответствующего элемента задержки на стороне нулей в соответствующем канале. При задании матрицы с тем же количеством строк, что и количество элементов задержки на стороне нулей в фильтре, и одним столбцом для каждого канала входного сигнала каждый элемент задает уникальное начальное условие для соответствующего элемента задержки на стороне нулей в соответствующем канале.
Это свойство применяется только при установке Structure свойство для одного из Direct form I или Direct form I transposed.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
DenominatorInitialConditions - Исходные условия со стороны полюсов0 (по умолчанию) | скаляр | вектор | матрицаУкажите начальные условия состояний фильтра на стороне структуры фильтра с полюсами. Число состояний знаменателя или элементов задержки в I-образном (неканоническом) биквадратном фильтре равно удвоенному количеству секций фильтра. Начальные условия можно задать как скаляр, вектор или матрицу. При указании скаляра биквадратный фильтр инициализирует все элементы задержки на стороне полюсов фильтра до этого значения. При задании вектора длины, равной количеству элементов задержки на стороне полюсов в фильтре, каждый элемент вектора задает уникальное начальное условие для соответствующего элемента задержки на стороне полюсов.
Объект применяет один и тот же вектор начальных условий к каждому каналу входного сигнала. При задании вектора длины, равной произведению числа входных каналов и числа элементов задержки на стороне полюсов в фильтре, каждый элемент задает уникальное начальное условие для соответствующего элемента задержки на стороне полюсов в соответствующем канале. При задании матрицы с тем же количеством строк, что и количество элементов задержки на стороне полюсов в фильтре, и одним столбцом для каждого канала входного сигнала каждый элемент задает уникальное начальное условие для соответствующего элемента задержки на стороне полюсов в соответствующем канале.
Это свойство применяется только при установке Structure свойство для одного из Direct form I или Direct form I transposed.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
OptimizeUnityScaleValues - Оптимизация значений шкалы единицtrue (по умолчанию) | falseЕсли для этого логического свойства установлено значение true, биквадратный фильтр удаляет все вычисления коэффициента усиления по шкале единиц. Это уменьшает количество вычислений и повышает точность фиксированных точек.
Это свойство применяется только при установке SOSMatrixSource свойство для Property.
ScaleValuesInputPort - Определение значений масштабаtrue (по умолчанию) | falseВыберите способ задания значений масштаба. По умолчанию это свойство имеет значение trueи значения масштаба задаются через входной порт. Когда это свойство false, все значения шкалы равны 1.
Это свойство применяется только в том случае, если SOSMatrixSource свойство - Input port.
RoundingMethod - Метод округления для операций с фиксированной точкойFloor (по умолчанию) | Ceiling | Convergent | Nearest | Round | Simplest | ZeroУкажите метод округления.
OverflowAction - Действие переполнения для операций с фиксированной точкойWrap (по умолчанию) | SaturateУкажите действие переполнения как одно из Wrap или Saturate.
MultiplicandDataType - Длины множительных слов и дробейSame as output (по умолчанию) | CustomУкажите мультипликативный тип данных с фиксированной точкой как один из Same as output или Custom.
Это свойство применяется только при установке Structure свойство для Direct form I transposed.
CustomMultiplicandDataType - Пользовательские длины слов и дробейnumerictype([],32,30) (по умолчанию) | numerictypeУкажите тип умноженной фиксированной точки как масштабированный numerictype (Конструктор фиксированных точек) объект с Signedness из Auto.
Это свойство применяется только при установке MultiplicandDataType свойство для Custom.
SectionInputDataType - Длина входного слова и дроби сеченияSame as input (по умолчанию) | CustomУкажите тип данных с фиксированной точкой ввода сечения: Same as input или Custom.
CustomSectionInputDataType - Длина входного слова и дроби пользовательского сеченияnumerictype([],16,15) (по умолчанию) | numerictypeУкажите тип фиксированной точки ввода сечения как масштабированный numerictype (Конструктор фиксированных точек) объект с Signedness из Auto.
Это свойство применяется только при установке SectionInputDataType свойство для Custom.
SectionOutputDataType - Длина выходного слова и дроби сеченияSame as section input (по умолчанию) | CustomУкажите тип данных с фиксированной точкой вывода сечения: Same as section input или Custom.
CustomSectionOutputDataType - Длина выходного слова и дроби пользовательского сеченияnumerictype([],16,15) (по умолчанию) | numerictypeУкажите тип выходной фиксированной точки сечения как подписанный, масштабированный numerictype (Конструктор фиксированных точек) объект с Signedness из Auto.
Это свойство применяется только при установке SectionOutputDataType свойство для Custom.
NumeratorCoefficientsDataType - Числительные коэффициенты длины слов и дробейSame word length as input (по умолчанию) | CustomУкажите числительные коэффициенты типа данных с фиксированной точкой как Same word length as input или Custom. Установка этого свойства также задает DenominatorCoefficientsDataType и ScaleValuesDataType к тому же значению.
Это свойство применяется только при установке SOSMatrixSource свойство для Property.
CustomNumeratorCoefficientsDataType - Пользовательские числительные коэффициенты длины слов и дробейnumerictype([],16,15) (по умолчанию) | numerictypeУкажите числительные коэффициенты фиксированного типа точки как numerictype (Конструктор фиксированных точек) объект с Signedness из Auto. Длина слова CustomNumeratorCoefficientsDataType, CustomDenominatorCoefficientsDataType, и CustomScaleValuesDataType свойства должны совпадать.
Это свойство применяется только при установке SOSMatrixSource свойство для Property и NumeratorCoefficientsDataType свойство для Custom.
DenominatorCoefficientsDataType - Коэффициенты знаменателя длины слов и дробейSame word length as input (по умолчанию) | CustomУкажите коэффициенты знаменателя типа данных с фиксированной точкой как Same word length as input или Custom. Установка этого свойства также задает NumeratorCoefficientsDataType и ScaleValuesDataType к тому же значению.
Это свойство применяется только при установке SOSMatrixSource свойство для Property.
CustomDenominatorCoefficientsDataType - Пользовательские коэффициенты знаменателя длины слов и дробейnumerictype([],16,15) (по умолчанию) | numerictypeУкажите коэффициенты знаменателя фиксированного типа точки как numerictype (Конструктор фиксированных точек) объект с Signedness из Auto. CustomNumeratorCoefficientsDataType, CustomDenominatorCoefficientsDataType, и CustomScaleValuesDataType свойства должны иметь одинаковую длину слова.
Это свойство применяется только при установке SOSMatrixSource свойство для Property и DenominatorCoefficientsDataType свойство для Custom.
ScaleValuesDataType - Масштабные значения длины слов и дробейSame word length as input (по умолчанию) | CustomУкажите масштабные значения типа данных с фиксированной точкой как Same word length as input или Custom. Установка этого свойства также задает NumeratorCoefficientsDataType и DenominatorCoefficientsDataType к тому же значению.
Это свойство применяется только при установке SOSMatrixSource свойство для Property.
CustomScaleValuesDataType - Пользовательские значения масштаба длины слов и дробейnumerictype([],16,15) (по умолчанию) | numerictypeУкажите тип фиксированной точки для значений масштаба numerictype (Конструктор фиксированных точек) объект с Signedness из Auto. CustomNumeratorCoefficientsDataType, CustomDenominatorCoefficientsDataType, и CustomScaleValuesDataType свойства должны иметь одинаковую длину слова.
Это свойство применяется только при установке SOSMatrixSource свойство для Property и ScaleValuesDataType свойство для Custom.
NumeratorProductDataType - Числитель длины словосочетаний и дробейSame as input (по умолчанию) | Custom | Full precisionУкажите режим для определения типа данных числителя продукта с фиксированной точкой:
Same as input (по умолчанию) - длина слова и дроби числителя совпадает с длиной входных данных.
Custom - Включает CustomNumeratorProductDataType , которое можно использовать для указания типа данных пользовательского числителя продукта. Укажите тип данных как numerictype объект.
Full precision - Используйте правила полной точности для указания типа данных. Эти правила обеспечивают наиболее точные числа фиксированных точек. Правила предотвращают квантование внутри объекта. Биты добавляются по мере необходимости, чтобы не происходило округления или переполнения. Дополнительные сведения см. в разделе Полная точность для системных объектов с фиксированной точкой.
Установка этого свойства также задает DenominatorProductDataType к тому же значению.
CustomNumeratorProductDataType - Длина слова и дроби пользовательского числителяnumerictype([],32,30) (по умолчанию) | numerictypeУкажите тип фиксированной точки продукта как масштабированный numerictype (Конструктор фиксированных точек) объект с Signedness из Auto. CustomNumeratorProductDataType и CustomDenominatorProductDataType свойства должны иметь одинаковую длину слова.
Это свойство применяется только при установке NumeratorProductDataType свойство для Custom.
DenominatorProductDataType - Длина словосочетания и дроби знаменателяSame as input (по умолчанию) | Custom | Full precisionУкажите режим для определения типа данных продукта с фиксированной точкой знаменателя как:
Same as input (по умолчанию) - длина слова произведения знаменателя и дроби совпадает с длиной входного значения.
Custom - Включает CustomDenominatorProductDataType , которое можно использовать для указания типа данных продукта пользовательского знаменателя. Укажите тип данных как numerictype объект.
Full precision - Используйте правила полной точности для указания типа данных. Эти правила обеспечивают наиболее точные числа фиксированных точек. Правила предотвращают квантование внутри объекта. Биты добавляются по мере необходимости, чтобы не происходило округления или переполнения. Дополнительные сведения см. в разделе Полная точность для системных объектов с фиксированной точкой.
Установка этого свойства также задает NumeratorProductDataType к тому же значению.
CustomDenominatorProductDataType - Длина слова и дроби пользовательского знаменателяnumerictype([],32,30) (по умолчанию) | numerictypeУкажите тип фиксированной точки продукта как масштабированный numerictype (Конструктор фиксированных точек) объект с Signedness из Auto. CustomNumeratorProductDataType и CustomDenominatorProductDataType свойства должны иметь одинаковую длину слова.
Это свойство применяется только при установке DenominatorProductDataType кому Custom.
NumeratorAccumulatorDataType - Длины слов и дробей сумматора числителяSame as product (по умолчанию) | Same as input | CustomУкажите тип данных с фиксированной точкой сумматора числителя как Same as input, Same as product, или Custom. Установка этого свойства также задает DenominatorAccumulatorDataType к тому же значению.
CustomNumeratorAccumulatorDataType - Длины слов и дробей пользовательского числителяnumerictype([],32,30) (по умолчанию) | numerictypeУкажите тип фиксированной точки сумматора числителя как масштабированный numerictype (Конструктор фиксированных точек) объект с Signedness из Auto. CustomNumeratorAccumulatorDataType и CustomDenominatorAccumulatorDataType свойства должны иметь одинаковую длину слова.
Это свойство применяется только при установке NumeratorAccumulatorDataType свойство для Custom.
DenominatorAccumulatorDataType - Длина слова и дроби сумматора знаменателяSame as product (по умолчанию) | Same as input | CustomУкажите тип данных с фиксированной точкой сумматора знаменателя как Same as input, Same as product, или Custom. Установка этого свойства также задает NumeratorAccumulatorDataType к тому же значению.
CustomDenominatorAccumulatorDataType - Длины слов и дробей сумматора пользовательских знаменателей numerictype([],32,30) (по умолчанию) | numerictypeУкажите тип фиксированной точки сумматора знаменателя как масштабированный numerictype (Конструктор фиксированных точек) объект с Signedness из Auto. CustomNumeratorAccumulatorDataType и CustomDenominatorAccumulatorDataType свойства должны иметь одинаковую длину слова.
Это свойство применяется только при установке DenominatorAccumulatorDataType свойство для Custom.
StateDataType - Длина слов и дробей состоянияSame as accumulator (по умолчанию) | Same as input | CustomУкажите тип данных с фиксированной точкой состояния как Same as input, Same as accumulator, или Custom.
Это свойство применяется при установке для свойства Structure значения Direct form II или Direct form II transposed.
CustomStateDataType - Длина слов и дробей пользовательского состоянияnumerictype([],16,15) (по умолчанию) | numerictypeУкажите тип фиксированной точки состояния как масштабированный numerictype (Конструктор фиксированных точек) объект с Signedness из Auto.
Это свойство применяется только при установке StateDataType свойство для Custom.
NumeratorStateDataType - Длина слова и дроби в числительном состоянииSame as accumulator (по умолчанию) | Same as input | CustomУкажите числительное состояние типа данных с фиксированной точкой как Same as input, Same as accumulator, или Custom. Установка этого свойства также задает DenominatorStateDataType к тому же значению.
Это свойство применяется только при установке для свойства Structure значения Direct form I transposed.
CustomNumeratorStateDataType - Длина слова и дроби пользовательского числителяnumerictype([],16,15) (по умолчанию) | numerictypeУкажите тип фиксированной точки числительного состояния как масштабированный numerictype (Конструктор фиксированных точек) объект с Signedness из Auto. CustomNumeratorProductDataType и CustomDenominatorProductDataType свойства должны иметь одинаковую длину слова.
Это свойство применяется только при установке StateDataType свойство для Custom.
DenominatorStateDataType - Длина слова и дроби состояния знаменателяSame as accumulator (по умолчанию) | Same as input | CustomУкажите тип данных фиксированной точки состояния знаменателя как Same as input, Same as accumulator, или Custom. Установка этого свойства также задает NumeratorStateDataType к тому же значению.
Это свойство применяется только при установке для свойства Structure значения Direct form I transposed.
CustomDenominatorStateDataType - Длина слов и дробей в состоянии пользовательского знаменателя numerictype([],16,15) (по умолчанию) | numerictypeУкажите тип фиксированной точки состояния знаменателя как масштабированный numerictype (Конструктор фиксированных точек) объект с Signedness из Auto. CustomNumeratorStateDataType и CustomDenominatorStateDataType свойства должны иметь одинаковую длину слова.
Это свойство применяется только при установке StateDataType свойство для Custom.
OutputDataType - Длина выходного слова и дробиSame as accumulator (по умолчанию) | Same as input | CustomУкажите тип выходных данных с фиксированной точкой как Same as input, Same as accumulator, или Custom.
CustomOutputDataType - Пользовательские длины выходных слов и дробейnumerictype([],16,15) (по умолчанию) | numerictypeУкажите тип выходной фиксированной точки как масштабированный numerictype (Конструктор фиксированных точек) объект с Signedness из Auto.
Это свойство применяется только при установке для свойства OutputDataType значения Custom.
x - Ввод данныхВвод данных, заданный как вектор или матрица. Этот объект также принимает входные данные переменного размера. Как только объект заблокирован, можно изменить размер каждого входного канала, но нельзя изменить количество каналов.
Тип данных всех входов должен быть одинаковым. Если вход имеет фиксированную точку, он должен быть подписан фиксированной точкой с наклоном мощности два и нулевым смещением.
Сложность x, num, и den должно быть то же самое.
Типы данных: single | double | int8 | int16 | int32 | int64 | fi
Поддержка комплексного номера: Да
num - Числительные коэффициентыЧислительные коэффициенты, определенные как 3-by-N числовая матрица, где N - количество секций биквадратного фильтра. Сложность x, num, и den должно быть то же самое.
Тип данных всех входов должен быть одинаковым. Если num является фиксированной точкой, она должна быть подписана фиксированной точкой с наклоном мощности два и нулевым смещением.
Этот ввод применяется только при установке SOSMatrixSource свойство - Input port.
Типы данных: single | double | int8 | int16 | int32 | int64 | fi
Поддержка комплексного номера: Да
den - Коэффициенты знаменателяКоэффициенты знаменателя, определенные как 2-by-N числовая матрица, где N - количество секций биквадратного фильтра. Объект предполагает, что коэффициент первого знаменателя каждого сечения равен 1.
Тип данных всех входов должен быть одинаковым. Если den является фиксированной точкой, она должна быть подписана фиксированной точкой с наклоном мощности два и нулевым смещением.
Сложность x, num, и den должно быть то же самое.
Этот ввод применяется только при установке SOSMatrixSource свойство - Input port.
Типы данных: single | double | int8 | int16 | int32 | int64 | fi
Поддержка комплексного номера: Да
g - Значения шкалыМасштабирование значений биквадратного фильтра, заданного как 1-by- (N + 1) числовой вектор, гдеN - количество секций биквадратного фильтра.
Тип данных всех входов должен быть одинаковым. Если g является фиксированной точкой, она должна быть подписана фиксированной точкой с наклоном мощности два и нулевым смещением.
Этот ввод применяется, когда SOSMatrixSource свойство - Input Port и ScaleValuesInputPort свойство - true.
Типы данных: single | double | int8 | int16 | int32 | int64 | fi
y - Отфильтрованные выходные данныеОтфильтрованные выходные данные, возвращаемые в виде вектора или матрицы. Размер, тип данных и сложность выходного сигнала совпадают с размером входного сигнала.
Типы данных: single | double | int8 | int16 | int32 | int64 | fi
Поддержка комплексного номера: Да
Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:
release(obj)
dsp.BiquadFilterfreqz | Частотная характеристика объекта системы дискретно-временного фильтра |
fvtool | Визуализация частотной характеристики фильтров DSP |
impz | Импульсная характеристика объекта системы дискретно-временного фильтра |
info | Сведения об объекте filter System |
coeffs | Возвращает коэффициенты объекта System фильтра в структуре |
cost | Оценка затрат на внедрение фильтра Объект системы |
scale | Масштабировать разделы второго порядка |
scaleopts | Создание объекта опций для масштабирования сечений второго порядка |
scalecheck | Проверить масштабирование биквадратического фильтра |
cumsec | Кумулятивная секция второго порядка биквадратического фильтра |
generatehdl | Создание кода HDL для квантованного фильтра DSP (требуется кодер HDL конструкции фильтра) |
tf | Преобразовать дискретно-временной фильтр Системный объект в передаточную функцию |
reorder | Переупорядочить секции второго порядка биквадратического фильтра System object |
Примечание.При использовании R2016a или более ранней версии замените каждый вызов объекта синтаксисом эквивалентного шага. Например, obj(x) становится step(obj,x).
Используйте объект низкочастотного биквадратического фильтра четвертого порядка с нормированной частотой отсечения 0,4 для фильтрации высоких частот из входного сигнала. Отображение результата в виде спектра мощности с помощью анализатора спектра.
t = (0:1000)'/8e3; xin = sin(2*pi*0.3e3*t)+sin(2*pi*3e3*t); % Input is 0.3 & % 3kHz sinusoids src = dsp.SignalSource(xin, 100); sink = dsp.SignalSink; [z,p,k] = ellip(4,1,60,.4); % Set up the filter [s,g] = zp2sos(z,p,k); biquad = dsp.BiquadFilter(s,g,'Structure','Direct form I'); sa = dsp.SpectrumAnalyzer('SampleRate',8e3,... 'PlotAsTwoSidedSpectrum',false,... 'OverlapPercent', 80,'PowerUnits','dBW',... 'YLimits', [-160 -10]); while ~isDone(src) input = src(); filteredOutput = biquad(input); sink(filteredOutput); sa(filteredOutput) end filteredResult = sink.Buffer; fvtool(biquad,'Fs',8000)


Проектирование и применение низкочастотного биквадратного фильтра Системный объект с помощью design функция.
lpSpec = fdesign.lowpass('Fp,Fst,Ap,Ast',500,550,0.5,60,10000); lpfilter = design(lpSpec,'butter','systemobject',true) fvtool(lpfilter);
lpfilter =
dsp.BiquadFilter with properties:
Structure: 'Direct form II'
SOSMatrixSource: 'Property'
SOSMatrix: [42x6 double]
ScaleValues: [43x1 double]
InitialConditions: 0
OptimizeUnityScaleValues: true
Use get to show all properties

Продемонстрируйте масштабирование Linf-norm биквадного фильтра с помощью scale функция.
Fs = 8000; Fcutoff = 2000; [z,p,k] = butter(10,Fcutoff/(Fs/2)); [s,g] = zp2sos(z,p,k); biquad = dsp.BiquadFilter('Structure', 'Direct form I', ... 'SOSMatrix', s,'ScaleValues', g); scale(biquad,'linf','scalevalueconstraint','none','maxscalevalue',2)
Создайте объект масштабирования опций, содержащий необходимые параметры масштабирования.
EllipI = design(fdesign.lowpass('N,Fp,Ap,Ast',10,0.5,0.5,20), 'ellip', 'FilterStructure', 'df1sos','SystemObject',true)
EllipI =
dsp.BiquadFilter with properties:
Structure: 'Direct form I'
SOSMatrixSource: 'Property'
SOSMatrix: [5x6 double]
ScaleValues: [6x1 double]
NumeratorInitialConditions: 0
DenominatorInitialConditions: 0
OptimizeUnityScaleValues: true
Show all properties
opts = scaleopts(EllipI)
opts =
sosReorder: 'auto'
MaxNumerator: 2
NumeratorConstraint: 'none'
OverflowMode: 'wrap'
ScaleValueConstraint: 'unit'
MaxScaleValue: 'Not used'
Этот объект реализует алгоритм, входные и выходные данные, описанные на странице ссылок блока Biquad Filter. Свойства объекта соответствуют параметрам блока, за исключением:
Источник коэффициента
Действие, когда значения a0 матрицы SOS не равны единице - объект биквадратного фильтра принимает коэффициент знаменателя нулевого порядка, равный 1 независимо от указанного значения. Объект биквадного фильтра не поддерживает Error или Warn в соответствующем блоке.
И этот объект, и соответствующий ему блок поддерживают ввод переменного размера. При вызове объекта он может обрабатывать входной аргумент, который изменяется в размере.
Примечания и ограничения по использованию:
См. Системные объекты в создании кода MATLAB (кодер MATLAB).
На следующих диаграммах показаны типы данных, используемые в dsp.BiquadFilter объект при вводе с фиксированной точкой. Для каждой структуры фильтра, поддерживаемой объектом, типы данных, показанные на диаграммах, могут быть заданы с помощью соответствующих свойств объекта с фиксированной точкой.
Прямая форма I


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

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

При указании OptimizeUnityScaleValues кому trueи масштабировать значения до 1:

Прямая форма I транспонирована


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

Пунктирные слепки опускаются при указании OptimizeUnityScaleValues кому trueи масштабировать значения до 1.
На следующих диаграммах показаны типы данных с фиксированной точкой между секциями фильтра.
Если данные не оптимизированы:

При указании OptimizeUnityScaleValues кому trueи масштабировать значения до 1:

Прямая форма II


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

Пунктирные слепки опускаются при указании OptimizeUnityScaleValues кому trueи масштабировать значения до 1.
На следующих диаграммах показаны типы данных с фиксированной точкой между секциями фильтра.
Если данные не оптимизированы:

При указании OptimizeUnityScaleValues кому trueи масштабировать значения до 1:

Прямая форма II транспонирована


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

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

При указании OptimizeUnityScaleValues кому trueи масштабировать значения до 1:

coeffs | cost | cumsec | freqz | fvtool | generatehdl | impz | info | scale | scalecheck | scaleopts | tfИмеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.