Этот пример показывает сравнение нескольких методов для дискретизации фильтра метки. В то время как компоненты системы управления часто проектируются в непрерывное время, они должны обычно дискретизироваться для реализации на компьютерах и встраиваемых процессорах.
Фильтры метки спроектированы, чтобы отклонить содержимое сигнала на определенной частоте путем резкого ослабления усиления на той частоте. Для этого примера мы рассматриваем следующий фильтр метки:
Можно построить частотную характеристику этого фильтра с bode
команда:
H = tf([1 0.5 100],[1 5 100]); bode(H), grid
Этот фильтр метки обеспечивает затухание на 20 дБ на частоте w = 10 рад/с.
Можно дискретизировать систему непрерывного времени с c2d
команда. Несколько алгоритмов дискретизации поддерживаются Control System Toolbox™, включая:
Нулевой порядок содержит
Хранение первого порядка
Импульсный инвариант
Тастин (билинейное приближение)
Тастин с предварительным деформированием частоты
Совпадающие полюса и нули
Какой метод выбрать зависит от приложения и требований.
Нуль - и методы хранения первого порядка и инвариантный импульсом метод является подходящим для дискретных приближений во временном интервале. Например, переходной процесс дискретизации ZOH совпадает с переходным процессом непрерывного времени на каждом временном шаге (независимо от частоты дискретизации):
Ts = 0.1; Hdz = c2d(H,Ts,'zoh'); step(H,'b',Hdz,'r'), legend('Continuous','Discretized at 10 Hz')
Точно так же инвариантная импульсом дискретизация имеет ту же импульсную характеристику как исходная система:
G = tf([1 -3],[1 2 10]); Gd = c2d(G,Ts,'imp'); impulse(G,'b',Gd,'r') legend('Continuous','Discretized at 10 Hz')
В отличие от этого, Тастин и Совпадающие методы имеют тенденцию выполнять лучше в частотном диапазоне, потому что они вводят меньше усиления и искажения фазы около частоты Найквиста. Например, сравните Предвещать ответы фильтра метки непрерывного времени и его дискретизации с помощью ZOH, Тастина и Совпадающих алгоритмов:
Hdt = c2d(H,Ts,'tustin'); Hdm = c2d(H,Ts,'match'); bode(H,'b',Hdz,'r',Hdt,'m',Hdm,'g',{1 100}), grid legend('Continuous','ZOH','Tustin','Matched')
Это сравнение указывает, что Совпадающий метод обеспечивает самое точное приближение частотного диапазона фильтра метки. Однако можно далее улучшить точность алгоритма Тастина путем определения предварительно деформирующейся частоты, равной частоте метки. Это гарантирует точное соответствие рядом w = 10 рад/с:
Hdp = c2d(H,Ts,'prewarp',10); bode(H,'b',Hdt,'m',Hdp,'g',{1 100}), grid legend('Continuous','Tustin','Tustin with prewarping')
Чем выше частота дискретизации, тем ближе соответствие между непрерывными и дискретизированными ответами. Но насколько маленький частота дискретизации может быть, или эквивалентно, насколько большой интервал выборки может быть? Как показывает опыт, если вы хотите, чтобы непрерывные и дискретизированные модели совпадали с тесно некоторой частотой wm
, убедитесь, что частотой Найквиста (времена частоты дискретизации Пи) является, по крайней мере, дважды wm
. Для фильтра метки необходимо сохранить форму около 10 рад/с, таким образом, частота Найквиста должна быть вне 20 рад/с, который дает период выборки в большей части пи/20 = 0,16 с.
Чтобы подтвердить этот выбор, сравните совпадающие дискретизации с выборкой периода 0.1, 0.15, и 0.3:
Hd1 = c2d(H,0.1,'m'); Hd2 = c2d(H,0.15,'m'); Hd3 = c2d(H,0.3,'m'); bode(H,'b',Hd1,'r',Hd2,'m',Hd3,'g',{1 100}), grid legend('Continuous','Ts = 0.1','Ts = 0.15','Ts = 0.3')
Как предсказано, дискретизация остается довольно точной для Ts < 0.16
но начинает ломаться для больших интервалов выборки.
Нажмите на ссылку ниже, чтобы запустить интерактивный графический интерфейс пользователя, который далее показывает, как дискретизированный фильтр метки затронут выбором алгоритма дискретизации и частоты дискретизации.
Откройте графический интерфейс пользователя дискретизации метки
notch_gui