Идентифицируйте параметры стационарного фильтра от данных о частотной характеристике
[b,a] = invfreqs(h,w,n,m)
[b,a] = invfreqs(h,w,n,m,wt)
[b,a] = invfreqs(h,w,n,m,wt,iter)
[b,a] = invfreqs(h,w,n,m,wt,iter,tol)
[b,a] = invfreqs(h,w,n,m,wt,iter,tol,'trace')
[b,a] = invfreqs(h,w,'complex',n,m,...)
invfreqs
является обратной операцией freqs
. Это находит непрерывно-разовую передаточную функцию, которая соответствует данной комплексной частотной характеристике. С лабораторной аналитической точки зрения invfreqs
полезен в преобразовании значения и данных о фазе в передаточные функции.
[b,a] = invfreqs(h,w,n,m)
возвращает действительный числитель и векторы коэффициентов знаменателя b
и a
передаточной функции
чья комплексная частотная характеристика дана в векторном h
в точках частоты, заданных в векторном w
. Скаляры n
и m
задают желаемые порядки полиномов знаменателя и числителя.
Длина h
должна совпасть с длиной w
. invfreqs
использует conj(h)
в -w
, чтобы гарантировать соответствующую симметрию частотного диапазона для действительного фильтра.
[b,a] = invfreqs(h,w,n,m,wt)
взвешивает подходящие ошибки по сравнению с частотой, где wt
является вектором взвешивания факторов та же длина как w
.
[b,a] = invfreqs(h,w,n,m,wt,iter)
и
[b,a] = invfreqs(h,w,n,m,wt,iter,tol)
предоставьте превосходящий алгоритм, который гарантирует устойчивость получившейся линейной системы и ищет лучшую подгонку с помощью числовой, итеративной схемы. Параметр iter
говорит invfreqs
заканчивать итерацию, когда решение сходилось, или после итераций iter
, какой бы ни на первом месте. invfreqs
задает сходимость как появление, когда норма (измененного) вектора градиента является меньше, чем tol
, где tol
является дополнительным параметром, это принимает значение по умолчанию к 0,01. Чтобы получить вектор веса из всех единиц, использовать
invfreqs(h,w,n,m,[],iter,tol)
[b,a] = invfreqs(h,w,n,m,wt,iter,tol,'trace')
отображает текстовый отчет о выполнении работ итерации.
[b,a] = invfreqs(h,w,'complex',n,m,...)
создает комплексный фильтр. В этом случае никакая симметрия не осуществляется, и частота задана в радианах между –π и π.
При создавании моделей высшего порядка с помощью высоких частот важно масштабировать частоты, делящиеся на фактор, такие как половина самой высокой частоты, существующей в w
, чтобы получить хорошо подготовленные значения a
и b
. Это соответствует перемасштабированию времени.
По умолчанию invfreqs
использует ошибочный метод уравнения, чтобы идентифицировать лучшую модель от данных. Это находит b
и a
в
путем создания системы линейных уравнений и решения их с оператором MATLAB® \
. Здесь A (w (k)) и B (w (k)) является преобразованиями Фурье полиномов a
и b
, соответственно, на частоте w (k), и n является количеством точек частоты (длина h
и w
). Этот алгоритм основан на Леви [1]. Несколько вариантов были предложены в литературе, где функция взвешивания wt
уделяет меньше внимания высоким частотам.
Начальник (“ошибка на выходе”) алгоритм использует ослабленный метод Ньютона Гаусса для итеративного поиска [2] с выводом первого алгоритма как первоначальная оценка. Это решает прямую проблему минимизации взвешенной суммы квадратичной невязки между фактическим и желаемыми точками частотной характеристики.
[1] Леви, E. C. “Комплексный Curve Fitting”. Сделка IRE на Автоматическом управлении. Издание AC-4, 1959, стр 37–44.
[2] Деннис, J. E. младший, и Р. Б. Шнабель. Численные методы для неограниченной оптимизации и нелинейных уравнений. Englewood Cliffs, NJ: Prentice Hall, 1983.