Создайте настраиваемый фильтр второго порядка

Этот пример показывает, как создать параметрическую модель фильтра второго порядка:

F(s)=ωn2s2+2ζωns+ωn2,

где затухание ζ и собственная частота ωn настраиваемые параметры.

Задайте настраиваемые параметры с помощью realp.

wn = realp('wn',3);
zeta = realp('zeta',0.8);

wn и zeta являются объектами параметра realp, с начальными значениями 3 и 0.8, соответственно.

Создайте модель фильтра с помощью настраиваемых параметров.

F = tf(wn^2,[1 2*zeta*wn wn^2]);

Входные параметры к tf являются векторами числителя и коэффициентов знаменателя, выраженных с точки зрения wn и zeta.

F является моделью genss. Свойство F.Blocks перечисляет эти два настраиваемых параметра wn и zeta.

F.Blocks
ans = struct with fields:
      wn: [1x1 realp]
    zeta: [1x1 realp]

Можно исследовать количество настраиваемых блоков в обобщенной модели с помощью nblocks.

nblocks(F)
ans = 6

F имеет два настраиваемых параметра, но параметр wn появляется пять раз - Дважды в числителе и три раза в знаменателе.

Чтобы сократить количество настраиваемых блоков, можно переписать F как:

F(s)=1(sωn)2+2ζ(sωn)+1.

Создайте альтернативный фильтр.

F = tf(1,[(1/wn)^2 2*zeta*(1/wn) 1]);

Исследуйте количество настраиваемых блоков в новой модели.

nblocks(F)
ans = 4

В новой формулировке существует только три случаев настраиваемого параметра wn. Сокращение количества случаев блока в модели может улучшать производительность вычислений, включающих модель. Однако количество случаев не влияет на результаты настройки модели или выборки его для исследований параметра.

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

| |

Похожие темы