Идентифицируйте параметры стационарного фильтра от данных о частотной характеристике
[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.