exponenta event banner

шаги

Ступенчатая характеристика цифрового фильтра

Описание

пример

[h,t] = stepz(b,a) возвращает вектор ответа шага h и соответствующие времена выборки t для цифрового фильтра с коэффициентами передаточной функции, хранящимися в b и a.

[h,t] = stepz(sos) возвращает ответ шага, соответствующий матрице сечений второго порядка sos.

[h,t] = stepz(d) возвращает отклик шага для цифрового фильтра d.

[h,t] = stepz(___,n) вычисляет первый n выборки ответа на шаг. Этот синтаксис может включать любую комбинацию входных аргументов из предыдущих синтаксисов.

[h,t] = stepz(___,n,fs) вычисляет n образцы и создает вектор t чтобы образцы были разнесены 1/fs блоки на расстоянии друг от друга.

пример

stepz(___) без выходных аргументов строит график ответа фильтра на шаг. При вводе digitalFilterответ на шаг отображается в FVTool.

Примеры

свернуть все

Создайте фильтр Баттерворта третьего порядка с нормированной частотой полусиловой мощности 0.4δ рад/выборка. Отображение ответа на шаг.

[b,a] = butter(3,0.4);
stepz(b,a)
grid

Figure contains an axes. The axes with title Step Response contains an object of type stem.

Создать идентичный фильтр с помощью designfilt и отобразить ответ на шаг с помощью fvtool.

d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.4);
stepz(d)

Figure Filter Visualization Tool - Step Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Step Response contains an object of type stem.

Сконструировать эллиптический фильтр нижних частот четвертого порядка с нормированной частотой полосы пропускания 0.4δ рад/образец. Задайте пульсацию полосы пропускания 0,5 дБ и затухание полосы останова 20 дБ. Постройте график первых 50 выборок ответа фильтра на шаг.

[b,a] = ellip(4,0.5,20,0.4);
stepz(b,a,50)
grid

Figure contains an axes. The axes with title Step Response contains an object of type stem.

Создать тот же самый фильтр с помощью designfilt и отобразить ответ на шаг с помощью fvtool.

d = designfilt('lowpassiir','FilterOrder',4,'PassbandFrequency',0.4, ...
               'PassbandRipple',0.5,'StopbandAttenuation',20, ...
               'DesignMethod','ellip');
stepz(d,50)

Figure Filter Visualization Tool - Step Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Step Response contains an object of type stem.

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

свернуть все

Коэффициенты передаточной функции, указанные как векторы. Выразить передаточную функцию с точки зрения b и a как

H (ejω) =B (ejω) (ejω) =b (1) +b (2) e−jω + b (3) e−j2ω + + b (M) e−j (M−1) ωa (1) +a (2) e−jω + (3) e−j2ω + ⋯ + (N) e−j (N−1) ω.

Пример: b = [1 3 3 1]/6 и a = [3 0 1 0]/3 укажите фильтр Баттерворта третьего порядка с нормированной частотой 3 дБ 0,5δ рад/выборка.

Типы данных: double | single
Поддержка комплексного номера: Да

Число точек вычисления, указанное как положительный целочисленный скалярный или положительный целочисленный вектор. Если n является положительным целым скаляром (t = [0:n-1]'), функция вычисляет первый n выборки ответа на шаг. Если n является вектором целых чисел, ответ шага вычисляется только при этих целых значениях, при этом 0 обозначает начало времени.

Типы данных: double

Коэффициенты сечения второго порядка, заданные как матрица. sos является K-by-6 матрицей, где число сечений, K, должно быть больше или равно 2. Если число сечений меньше 2, функция обрабатывает входные данные как числительный вектор. Каждая строка sos соответствует коэффициентам фильтра второго порядка (биквад). I-й ряд sos соответствует [bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)].

Пример: s = [2 4 2 6 0 2;3 3 0 6 0 0] задает фильтр Butterworth третьего порядка с нормализованной частотой 3 дБ 0,5δ рад/выборка.

Типы данных: double | single
Поддержка комплексного номера: Да

Цифровой фильтр, указанный как digitalFilter объект. Использовать designfilt формируют цифровой фильтр на основе характеристик частотного отклика.

Пример: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5) задает фильтр Butterworth третьего порядка с нормализованной частотой 3 дБ 0,5δ рад/выборка.

Частота выборки, заданная как положительный скаляр. Если единица времени - секунды, fs выражается в герцах.

Типы данных: double

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

свернуть все

Ответ на шаг, возвращенный в виде вектора столбца. Если вход в stepz является единичной точностью, функция вычисляет отклик шага, используя арифметику с единичной точностью. Продукция h - единичная точность.

Время выборки, возвращаемое как вектор.

Алгоритмы

stepz фильтрует длину n последовательность шагов с использованием

filter(b,a,ones(1,n))

и строит графики результатов с использованием stem.

Вычислить n в случае автоматической длины, stepz либо использует n = length(b) для случая FIR или сначала находит полюса с помощью p = roots(a) если length(a) больше 1.

Если фильтр нестабильен, n выбирается как точка, в которой член от наибольшего полюса достигает 106-кратного его исходного значения.

Если фильтр стабилен, n выбирается точкой, в которой член, обусловленный наибольшим амплитудным полюсом, составляет 5 × 10-5 его исходной амплитуды.

Если фильтр колебательный (полюса только на единичной окружности), stepz вычисляет пять периодов наиболее медленного колебания.

Если фильтр имеет как колебательные, так и демпфированные условия, n выбирают равным пяти периодам самого медленного колебания или точке, в которой слагаемое, обусловленное полюсом наибольшей неединичной амплитуды, в 5 × 10-5 раз больше его исходной амплитуды, в зависимости от того, что больше.

stepz также допускает задержки в многочлене числителя. Количество задержек включается в расчет количества выборок.

Расширенные возможности

.
Представлен до R2006a