В этом примере показано сравнение нескольких методов дискретизации фильтра выемок. Хотя компоненты системы управления часто проектируются в непрерывном режиме, они, как правило, должны быть дискретизированы для реализации на цифровых компьютерах и встраиваемых процессорах.
Фильтры-пробки предназначены для отбраковки содержимого сигнала на определенной частоте путем резкого ослабления усиления на этой частоте. В этом примере рассматривается следующий фильтр надрезов:
100s2 + 5s + 100
Вы можете построить график частотной характеристики этого фильтра с помощью bode команда:
H = tf([1 0.5 100],[1 5 100]); bode(H), grid

Этот фильтр-пробка обеспечивает 20dB ослабление на частоте w = 10 рад/с.
Вы можете дискретизировать систему непрерывного времени с помощью c2d команда. Система управления Toolbox™ поддерживает несколько алгоритмов дискретизации, включая:
Удержание нулевого заказа
Удержание первого заказа
Инвариант импульса
Тустин (билинейное приближение)
Tustin с предвоенной частотой
Совпадающие полюса и нули
Выбор метода зависит от приложения и требований.
Методы удержания нулевого и первого порядка и импульсно-инвариантный метод хорошо подходят для дискретных аппроксимаций во временной области. Например, отклик шага дискретизации 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')

Напротив, методы Tustin и Matched имеют тенденцию работать лучше в частотной области, потому что они вносят меньшее усиление и фазовое искажение вблизи частоты Найквиста. Например, сравните отклики Боде режекторного фильтра непрерывного времени и его дискретизации с использованием алгоритмов ZOH, Tustin и Matched:
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')

Это сравнение показывает, что метод 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, убедитесь, что частота Найквиста (частота дискретизации, умноженная на Pi) составляет по меньшей мере два раза wm. Для фильтра надрезов необходимо сохранить форму вблизи 10 рад/с, поэтому частота Найквиста должна быть за 20 рад/с, что даёт период выборки не более pi/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
notch_gui
