Файл: Элементы математического моделирования в программных средах 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