exponenta event banner

invfreqz

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

Описание

[b,a] = invfreqz(h,w,n,m) возвращает векторы вещественного числителя и коэффициента знаменателя b и a передаточной функции h.

[b,a] = invfreqz(h,w,n,m,wt) весит ошибки подгонки в зависимости от частоты с помощью wt.

пример

[b,a] = invfreqz(___,iter) обеспечивает алгоритм, гарантирующий стабильность результирующей линейной системы путём поиска наилучшего вписывания с помощью численной итеративной схемы. Этот синтаксис может включать любую комбинацию входных аргументов из предыдущих синтаксисов.

[b,a] = invfreqz(___,tol) использование tol для определения сходимости итеративного алгоритма.

[b,a] = invfreqz(___,'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)

Figure contains an axes. The axes contains 3 objects of type line.

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)

Figure contains an axes. The axes contains 3 objects of type line.

Входные аргументы

свернуть все

Частотная характеристика, заданная как вектор.

Угловые частоты, на которых h вычисляется, указывается как вектор.

Требуемый порядок многочленов числителя и знаменателя, определяемый как положительные целочисленные скаляры.

Весовые коэффициенты, указанные как вектор. wt - вектор весовых коэффициентов той же длины, что и w.

Число итераций в алгоритме поиска, указанное как положительный действительный скаляр. iter параметр сообщает invfreqz чтобы завершить итерацию, когда решение сходится, или после iter итерации, в зависимости от того, что наступит раньше.

Допуск, заданный как скаляр. invfreqz определяет сходимость как происходящую, когда норма (модифицированного) вектора градиента меньше tol.

Чтобы получить весовой вектор из всех, используйте

invfreqz(h,w,n,m,[],iter,tol)

Выходные аргументы

свернуть все

Коэффициенты передаточной функции, возвращаемые в виде векторов. Выразить передаточную функцию с точки зрения b и a как

H (s) = B (s) A (s) = b (1) sn + b (2) sn−1+⋯+b (n + 1) a (1) sm + a (2) sm−1+⋯+a (m + 1)

Пример: b = [1 3 3 1]/6 и a = [3 0 1 0]/3 укажите фильтр Баттерворта третьего порядка с нормированной частотой 3 дБ 0,5δ рад/выборка.

Типы данных: double | single
Поддержка комплексного номера: Да

Алгоритмы

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

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

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

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

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

Ссылки

[1] Леви, Е. С. «Фитинг со сложной кривой». Транзакции IRE при автоматическом управлении. т. AC-4, 1959, стр. 37-44.

[2] Деннис, Дж. Э., младший и Р. Б. Шнабель. Численные методы для неограниченной оптимизации и нелинейных уравнений. Энглвуд Клиффс, Нью-Джерси: Прентис-Холл, 1983.

См. также

| |

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