Файл: Элементы математического моделирования в программных средах MATLAB 5 и Scilab (Андриевский Фрадков).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.04.2024

Просмотров: 423

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

шаг дискретности Т0 и сделать определенное допущение о виде процесса на входе непрерывной системы (более подробно см., например, [3, 6, 75]). Здесь будем предполагать, что u(t) - кусочно-постоянная внутри интервалов квантования. Запишем фрагмент программы.

Программа синтеза ЦФ по аналоговому прототипу

fl=tf(num,den) Т0=5е-3; dfl=c2d(fl,T0)

Здесь предполагается, что массивы num, den уже заданы так, как это сделано в программах на с. 64, 65. Функция tf относится к тулбоксу CONTROL SYSTEMS и служит для построения линейного стационарного объекта (ЛС-обзект) по массивам числителя и знаменателя передаточной функции [6, 61]. В программе задается значение интервала дискретности Т0 = 5 • 10~3 с и выполняется обращение к функции c2d перехода от непрерывной модели к дискретной. Лалее выполним анализ полученной системы и ее сравнение с исходной. Продолжим программу:

omega=logspace(l,3,300);

[mag,phase]=bode(fl,omega);

[dmag,dphase]=bode(dfl,omega);

Lc=20*logl0(squeeze(mag));

Ld=20*logl0(squeeze(dmag));

cph=squeeze(phase);

dph=squeeze(dphase);

subplot(211)

semilogx(omega,Lc, 'k' ,omega,Ld,' — .k' ) ,grid

t i t l e C Диаграммы

Боде ')

ylabel('L(\omega),

дБ')

subplot(212)

 

 

semilogx(omega,

cph,'k*,omega, d p h , ' - - . k ' ) , g r i d

xlabel('\omega,

р а д . / с ' )

Здесь строятся диаграммы Боде (JIAX, ЛФЧХ) непрерывной и дискретной систем. Вычисления выполняются функцией bode. Для непрерывных систем осуществляется описанная выше подстановка $ = ju> аргумента передаточной функции. Аргумент z дискретной передаточной функции заменяется выражением е*шТ° [6, 75]. Функция squeeze используется

88

для удаления единичных размерностей массивов [84]. В данном примере это массивы mag , dmag , cph, dph, имеющие по три измерения. Без этого действия не удается выполнить операторы semilogx и plot. Частотные характеристики приведены на рис. 3.13, а.

Перейдем к расчету переходных характеристик непрерывной и дискретной систем. Воспользуемся функцией step тулбокса CONTROL SYSTEMS [61]. Лля получения более подробных сведений о виде переходной характеристики непрерывной системы выберем для нее меньший шаг вычислений. Шаг расчета переходной характеристики дискретной системы должен совпадать с ее интервалом квантования Т0. Результаты вычислений выводятся операторами plot - для непрерывной системы и stem - для дискретной. Чтобы они разместились на одном графике, используется оператор hold on (см. рис. 3.13, б). Видно, что в узлах квантования выход непрерывной системы совпадает с выходом ее дискретной модели, что вполне соответствует принятому методу дискретизации (в теории ИФ этот метод так и называется - метод инвариантности переходной характеристики (ИПХ) [19, 24]).

tc=0:5е-4:0.25; td=0:T0:0.25; y c = s t e p ( f l , t c ) ;

yd=step(dfl,td);

p l o t ( t c , у с , ' k ' ) , h o l d on stem(td,yd),grid

З а м е ч а н и е . Можно значительно упростить данную программу, если не задаваться точками диапазона частот, моментов времени и видом графиков. Тогда рассмотренные здесь действия можно выполнить программой:

fl=tf(num,den) T0=5e-3; dfl=c2d(f1,Т0) bode(fl,df1); f i g u r e step(f1,df1);

89


Рис. 3.13. Характеристики аналогового прототипа и цифрового фильтра .

Выбор требуемых параметров и вывод результатов на экран производятся функциями bode, step автоматически.

Синтез по аналоговому прототипу - далеко не единствен-

ный и не самый распространенный в настоящее время

метод

синтеза ЦФ. Тулбокс SIGNAL PROCESSING содержит доста-

точно много программ, в которых реализованы

различные

методы синтеза цифровых фильтров, как рекурсивных

(филь-

тры с импульсной характеристикой бесконечной

длительно-

сти, или БИХ-фильтры), так и нерекурсивных

(фильтры с им-

пульсной характеристикой конечной длительности,

или

КИХ-

фильтры) [19, 35, 84]. Продемонстрируем применение

функ-

ции butter синтеза фильтров Баттерворта

(Butterworth) для

получения цифрового режекторного фильтра с указанной выше полосой задерживания и интервалом дискретности Т0 = 0.005 с.

При использовании функции butter следует указать границы полосы пропускания (или задерживания - в зависимо-

сти

от типа фильтра) в единицах частоты

Найквиста ЦФ

u N

= ттг с"1. Например, если полоса пропускания равна 0.2и>уу

 

* о

 

с~\

то соответствующий параметр устанавливается равным

0.2 и т.д. Учитывая это, запишем следующие

операторы:

 

ошр= [70, 100]/pi*T0;

 

 

[а,b,с,d]=butter(2,omp,'stop')

 

 

fb=ss(a,b,c,d,TO)

 

Параметр omp является вектором, в котором указывается нормированная полоса задерживания. Во второй строке происходит обращение к функции butter, где указаны порядок

90



фильтра, границы полосы пропускания и вид фильтрации: значение ' s t o p ' задает заграждающий фильтр (ЗФ); значения 'high1 , 'low', 'bandpass' задают фильтр верхних частот

(ВЧ), нижних частот (НЧ) и полосовой фильтр (ПФ), соответственно. Чтобы получить аналоговый фильтр, следует указать четвертый параметр ' s \ 1 Заметим, что порядок по- лученных ПФ и ЗФ равен удвоенному значению первого параметра. В рассматриваемом примере рассчитываются матрицы разностных уравнений состояния заграждающего фильтра четвертого порядка с полосой задерживания от 70 до 100 рад/с. Результат присваивается массивам а, Ь, с, d. Следующим оператором создается JIC-объект с именем fb. Для этого используется функция ss тулбокса CONTROL SYSTEMS (см. Приложение и [61]). Выполнив оператор zpk(fb), получим выражение для передаточной функции W(z) фильтра в виде произведения сомножителей:

Wlz) =

0.9(z2 - l-83z +

l)2

v ;

(z2 - 1.78г + 0.91 ){z2 -

1.68* + 0.89)"

Для расчета частотных и переходных характеристик фильтра используем рассмотренные выше функции bode step. Результаты приведены в следующем пункте на рис. 3.14 а.

3.4.3.Континуализация моделей

Рассмотрим теперь задачу континуализации дискретных моделей. В качестве примера построим сначала непрерывный фильтр, используя полученный выше цифровой фильтр Баттерворта в качестве дискретного фильтра-прототипа.2 Для получения непрерывной модели фильтра используем функцию преобразования d2c тулбокса CONTROL SYSTEMS:

cfb=d2c(fb)

1 Третий параметр может принимать и значения 'в* или , z ) (установлено по умолчанию). Этот параметр показывает тогда, какой фильтр - аналоговый или цифровой - должен быть получен. При этом, если второй параметр - скаляр, то рассчитывается НЧ-фильтр, а если вектор из Двух элементов - то ПФ.

2 Заметим, что пример носит иллюстративный характер и данный подход не характерен для проектирования частотно-избирательных фильтров.

91


Получим JIC-объект cfb, который соответствует модели дискретной системы fb. При переходе к этой модели учтено требование совпадения переходных характеристик. Выполнив затем оператор zpk(cfb), получим передаточную функ-

цию

 

непрерывной системы в виде

 

w (

v=

0.9(д2 + 8.36s + 6522)(s2

- 10.15 + 8.4 • 103)

 

 

[ S )

(52

+ 18.75 + 5433) (в2

+ 23.75 + 9054) '

На

рис.

3.14,

а показаны

амплитудные характеристики ци-

фрового фильтра (кривая

1) и его непрерывной модели (кри-

вая

2). Ниже

(рис.

3.14,

в) приведены графики переходных

характеристик.

 

 

 

Как известно, дискретные ЛС обладают рядом свойств, которые не могут быть адекватно отражены непрерывными моделями. Например, переходный процесс у стационарных непрерывных Л С всегда носит асимптотический характер, а у дискретных систем может иметь конечную длительность. Кроме того, дискретные системы первого порядка в отличие от непрерывных могут иметь колебательную переходную характеристику. Рассмотрим на примерах, какая модель полу-

чается в этих

случаях.

Пример

3.4.1.

Создадим дискретную систему операто-

ром

s = t f ( l , [ l

0

0] ДО). Это система с передаточной функ-

цией

W(z)

=

\/z2

и интервалом дискретности Г0 = 0.005 с.

Ее переходная характеристика является ступенчатым процессом и приходит в установившееся состояние за два шага

работы

(т.е.

при t

= 0.01 с). Оператор c=d2c(s)

приводит к

сообщению об ошибке ("D2C with ZOH: cannot handle

systems

with poles at

: "Функция d2c с экстраполятором

нулево-

го порядка

не может использоваться для систем, имеющих

нулевые

полюсы").

Можно использовать другой метод пе-

рехода,

например метод Тастина [6, 24, 19, 74], и написать

c=d2c(s, ' t u s t i n ' ) .

Получим ответ: W„(«) =

~ f 5 +

f . Пе-

 

 

 

5 +

4 5 +

4

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

Пример 3.4.2. Возьмем теперь дискретную систему, заданную передаточной функцией W(z) = z q g. Несложно

92