Задайте дискретные передаточные функции в формате DSP
sys = filt(num,den)
sys = filt(num,den,Ts)
sys = filt(M)
В цифровой обработке сигналов (DSP) это обычно, чтобы записать передаточные функции как рациональные выражения в z −1 и заказать числитель и условия знаменателя в возрастающих степенях z −1. Например:
Функциональный filt
обеспечивается, чтобы упростить спецификацию передаточных функций в формате DSP.
sys = filt(num,den)
создает передаточную функцию дискретного времени sys
с числителем (числителями) num
и знаменатель (знаменатели) den
. Шаг расчета оставляют незаданным (sys.Ts = -1
), и вывод sys
является объектом TF.
sys = filt(num,den,Ts)
далее задает шаг расчета Ts
(в секундах).
sys = filt(M)
задает статический фильтр с матрицей усиления M
.
Любой из предыдущих синтаксисов может сопровождаться именем свойства / пары значения свойства формы
'Property',Value
Каждая пара задает конкретное свойство модели, например, входных имен или переменной передаточной функции. Для получения информации о доступных свойствах и их значениях, смотрите страницу с описанием tf
.
Для передаточных функций SISO num
и den
являются векторами - строками, содержащими числитель и коэффициенты знаменателя, упорядоченные в возрастающих степенях z −1. Например, den = [1 0.4 2]
представляет полином 1 + 0.4z−1 + 2z−2.
Передаточные функции MIMO рассматриваются как массивы передаточных функций SISO (один на канал ввода-вывода), каждый из которых характеризуется его числителем и знаменателем. Входные параметры num
и den
являются затем массивами ячеек векторов - строк, таким образом что:
num
и den
имеют столько же строк сколько выходные параметры и столько же столбцов сколько входные параметры.
Их (i, j) записи num{i,j}
и den{i,j}
задают числитель и знаменатель передаточной функции от входа j
до вывода i
.
Если все записи SISO имеют тот же знаменатель, можно также установить den
на представление вектора - строки этого общего знаменателя.
Создайте 2D вход, который цифровой фильтр с входом называет 'channel1'
и 'channel2'
:
num = {1 , [1 0.3]}; den = {[1 1 2] ,[5 2]}; H = filt(num,den,'inputname',{'channel1' 'channel2'})
Этот синтаксис возвращается:
Transfer function from input "channel1" to output: 1 ----------------- 1 + z^-1 + 2 z^-2 Transfer function from input "channel2" to output: 1 + 0.3 z^-1 ------------ 5 + 2 z^-1 Sample time: unspecified
filt
ведет себя как tf
с набором свойств Variable
к 'z^-1'
. Смотрите запись tf
ниже для деталей.