Переходной процесс цифрового фильтра
[h,t] = stepz(b,a)
[h,t] = stepz(sos)
[h,t] = stepz(d)
[h,t] = stepz(...,n)
[h,t] = stepz(...,n,fs)
stepz(...)
[h,t] = stepz(b,a)
возвращает переходной процесс фильтра с коэффициентами числителя, b
, и коэффициентами знаменателя, a
. stepz
выбирает количество выборок и возвращает ответ в вектор-столбце h
и шаги расчета в вектор-столбце t
(где t = [0:n-1]'
и n
= length(t)
вычисляются автоматически).
[h,t] = stepz(sos)
возвращает переходной процесс матрицы разделов второго порядка, sos
. sos
является K-by-6 матрица, где количество разделов, K, должно быть больше, чем или равным 2. Если количество разделов - меньше чем 2, stepz
полагает, что вход вектор числителя, b
. Каждая строка sos
соответствует коэффициентам второго порядка (biquad) фильтр. i th строка матрицы sos
соответствует [bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)]
.
[h,t] = stepz(d)
возвращает переходной процесс цифрового фильтра, d
. Используйте designfilt
, чтобы сгенерировать d
на основе спецификаций частотной характеристики.
[h,t] = stepz(...,n)
вычисляет первые n выборки переходного процесса, когда n является целым числом (t
= [0:n-1]'
). Если n
является вектором целых чисел, переходной процесс вычисляется только в тех целочисленных значениях с 0 обозначениями источника времени.
[h,t] = stepz(...,n,fs)
вычисляет n выборки и производит векторный t
длины n
так, чтобы выборки были распределенными модулями 1/fs
независимо. fs
принят, чтобы быть в Гц.
stepz(...)
без выходных аргументов строит переходной процесс фильтра. Если вы вводите коэффициенты фильтра или матрицу разделов второго порядка, окно текущей фигуры используется. Если вы вводите digitalFilter
, переходной процесс отображен в fvtool
.
Если вход к stepz
является одинарной точностью, переходной процесс вычисляется с помощью арифметики с одинарной точностью. Вывод, h
, является одинарной точностью.
stepz
фильтрует длину использование последовательности шага n
filter(b,a,ones(1,n))
и строит результаты с помощью stem
.
Чтобы вычислить n
в случае автодлины, stepz
или использует n = length(b)
для КИХ-случая или сначала находит полюса с помощью p = roots(a)
, если length(a)
больше, чем 1.
Если фильтр нестабилен, n
выбран, чтобы быть точкой, в которой термин от самого большого полюса достигает 106 раз своего исходного значения.
Если фильтр стабилен, n
выбран, чтобы быть точкой, в которой термин из-за самого большого амплитудного полюса является 5 × 10–5 из его исходной амплитуды.
Если фильтр является колебательным (полюса только на модульном круге), stepz
вычисляет пять периодов самого медленного колебания.
Если фильтр имеет и колебательные и ослабленные условия, n
выбран, чтобы равняться пяти периодам самого медленного колебания или точки, в которой термин из-за полюса самой большой немодульной амплитуды является 5 × 10–5 раз ее исходная амплитуда, какой бы ни больше.
stepz
также допускает задержки полинома числителя. Количество задержек включено в вычисление для количества выборок.
designfilt
| digitalFilter
| freqz
| grpdelay
| impz
| phasez
| zplane