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