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