Вычислите линейную модель с помощью итерации Steiglitz-McBride
[b,a] = stmcb(h,nb,na)
[b,a] = stmcb(y,x,nb,na)
[b,a] = stmcb(h,nb,na,niter)
[b,a] = stmcb(y,x,nb,na,niter)
[b,a] = stmcb(h,nb,na,niter,ai)
[b,a] = stmcb(y,x,nb,na,niter,ai)
Итерация Steiglitz-McBride является алгоритмом для нахождения БИХ-фильтра с предписанным импульсным ответом временного интервала. Это имеет приложения и в проекте фильтра и в системе идентификации (параметрическое моделирование).
[b,a] = stmcb(h,nb,na)
находит коэффициенты b
и a
системы b (z)/a (z) с аппроксимированным импульсным ответом h
, точно нули nb
, и точно полюса na
.
[b,a] = stmcb(y,x,nb,na)
находит системные коэффициенты b
и a
системы, которая, учитывая x
, как введено, имеет y
, как выведено. x
и y
должны быть той же длиной.
[b,a] = stmcb(h,nb,na,niter)
и
[b,a] = stmcb(y,x,nb,na,niter)
используйте итерации niter
. Значение по умолчанию для niter
равняется 5.
[b,a] = stmcb(h,nb,na,niter,ai)
и
[b,a] = stmcb(y,x,nb,na,niter,ai)
используйте векторный ai
в качестве первоначальной оценки коэффициентов знаменателя. Если ai
не задан, stmcb
использует выходной аргумент от [b,ai] =
prony
(h,0,na)
как векторный ai
.
stmcb
возвращает БИХ-коэффициенты фильтра в длине nb+1
и векторы - строки na+1
b
и a
. Коэффициенты фильтра упорядочены в убывающих степенях z.
Если x
и y
имеют различные длины, stmcb
производит это сообщение об ошибке:
Input signal X and output signal Y must have the same length.
stmcb
пытается минимизировать квадратичную невязку между импульсным ответом h b (z) /a (z) и входным сигналом x.
stmcb
выполняет итерации использования двух шагов:
Это предварительные фильтры h
и x
с помощью 1/a (z).
Это решает систему линейных уравнений для b
и использования a
\.
stmcb
повторяет этот процесс времена niter
. Никакая проверка не сделана, чтобы видеть, сходились ли b
и коэффициенты a
в меньше, чем итерации niter
.
[1] Steiglitz, K. и Л. Э. Макбрайд. “Метод для Идентификации Линейных систем”. IEEE® Transactions на Автоматическом управлении. Издание AC-10, 1965, стр 461–464.
[2] Ljung, Lennart. System Identification: Теория для Пользователя. 2-й Выпуск. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1999, p. 354.