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