invfreqz

Идентифицируйте параметры фильтра дискретного времени из данных о частотной характеристике

Синтаксис

[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(z)=B(z)A(z)=b(1)+b(2)z1++b(n+1)zna(1)+a(2)z1++a(m+1)zm

чья комплексная частотная характеристика дана в векторном 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,...) создает комплексный фильтр. В этом случае никакая симметрия не осуществляется, и частота задана в радианах между-π и π.

Примеры

свернуть все

Преобразуйте простую передаточную функцию в данные о частотной характеристике и затем обратно в исходные коэффициенты фильтра. Делайте набросок нулей и полюсов функции.

a = [1 2 3 2 1 4];
b = [1 2 3 2 3];

[h,w] = freqz(b,a,64);
[bb,aa] = invfreqz(h,w,4,5)
bb = 1×5

    1.0000    2.0000    3.0000    2.0000    3.0000

aa = 1×6

    1.0000    2.0000    3.0000    2.0000    1.0000    4.0000

zplane(bb,aa)

bb и aa эквивалентны b и a, соответственно. Однако система нестабильна, потому что она имеет полюса вне модульного круга. Используйте invfreqzитеративный алгоритм, чтобы найти устойчивое приближение к системе. Проверьте, что полюса в модульном кругу.

[bbb,aaa] = invfreqz(h,w,4,5,[],30)
bbb = 1×5

    0.2427    0.2788    0.0069    0.0971    0.1980

aaa = 1×6

    1.0000   -0.8944    0.6954    0.9997   -0.8933    0.6949

zplane(bbb,aaa)

Алгоритмы

По умолчанию, invfreqz использует ошибочный метод уравнения, чтобы идентифицировать лучшую модель из данных. Это находит b и a \in

minb,ak=1nwt(k)|h(k)A(w(k))B(w(k))|2

путем создания системы линейных уравнений и решения их с MATLAB® \ оператор. Здесь A (ω (k)) и B (ω (k)) является преобразованиями Фурье полиномов a и b, соответственно, на частоте ω (k) и n количество точек частоты (длина h и w). Этот алгоритм на основе Леви [1].

Начальник (“ошибка на выходе”) алгоритм использует ослабленный метод Ньютона Гаусса в итеративном поиске [2] с выходом первого алгоритма как первоначальная оценка. Это решает прямую задачу минимизации взвешенной суммы квадратичной невязки между фактическим и желаемыми точками частотной характеристики.

minb,ak=1nwt(k)|h(k)B(w(k))A(w(k))|2

Ссылки

[1] Леви, E. C. “Комплексный Curve Fitting”. Транзакции IRE на Автоматическом управлении. Издание AC-4, 1959, стр 37–44.

[2] Деннис, J. E. младший, и Р. Б. Шнабель. Численные методы для неограниченной оптимизации и нелинейных уравнений. Englewood Cliffs, NJ: Prentice Hall, 1983.

Смотрите также

| |

Представлено до R2006a