stepz

Переходная характеристика цифрового фильтра

Описание

пример

[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.

Проектируйте lowpass эллиптический фильтр четвертого порядка с нормализованной частотой полосы пропускания 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ω)A(ejω)=b (1)+b (2)ejω+b (3)ej2ω++b (M)ej(M1)ωа (1)+а (2)ejω+а (3)ej2ω++одинej(N1)ω.

Пример: 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 соответствует коэффициентам фильтра второго порядка (biquad). 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] задает фильтр Баттерворта третьего порядка с нормализованной частотой 3 дБ 0.5, рад/выборка.

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

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

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

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

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

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

свернуть все

Переходная характеристика, вернулась как вектор-столбец. Если вход в 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 также допускает задержки в полиноме числителя. Количество задержек учитывается при расчете количества выборок.

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

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