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

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

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

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

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

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

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

Входные параметры

свернуть все

Коэффициенты передаточной функции в виде векторов. Опишите передаточную функцию в терминах 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ω++(N)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 th строка 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