Карачун В.В., Мельник В.М., Лозовик Т.М.
Національний технічний університет
України «КПІ»
ВИЗНАЧЕННЯ ЧАСТОТНИХ
ХАРАКТЕРИСТИК ОБ'ЄКТУ
Розв’язання багатьох технічних
задач вимагає визначення частотних характеристик об'єкта, що досліджується. Припустимо,
що, математична модель об'єкта задана у вигляді системи звичайних
диференціальних рівнянь 1-го порядку
(1)
де - виходи, ( ), - входи ( ) об'єкта, записані в прирістах відносно їх значень в
сталому режимі, прийнятому за базовий.
Щоб перейти від моделі (1)
до частотних характеристик потрібного каналу об'єкта, звичайно, спочатку визначають відповідну передаточну
функцію, в якій виконують заміну параметра на , внаслідок чого одержують амплітудно-фазову характеристику.
Отримання передаточної
функції і подальше обчислення частотних
характеристик, як правило, передбачають
використання комп'ютера. В той же час, можна запропонувати прямий метод визначення
частотних характеристик потрібного каналу безпосередньо з системи (1).
Припустимо, що з усіх можливих входів ненульовий
приріст отримує тільки один, а саме . Виконаємо перетворення Лапласа над (1) за нульових
початкових умов і поділимо всі члени рівняння на зображення за Лапласом від . Матимемо -
, (2)
де - передаточна
функція каналу в об'єкті, що
досліджується.
Замінюючи на , де -уявна одиниця , -кругова частота, переходимо
до амплітудно-фазових характеристик.
Позначимо
.
За цих умов, вираз (2) набуває
вигляду -
. (3)
Кожне з рівнянь системи (3) розпадається на два
незалежних (для дійсних і уявних частин). Запишемо
їх для z-го рівняння системи (3):
(4)
Як наслідок, отримаємо систему 2n
рівнянь відносно 2n невідомих . Розташуємо невідомі в такому порядку: , і спочатку
поставимо рівняння для дійсних частин,
а вже потім для уявних. Тоді розширена
матриця системи рівнянь
набуде вигляду
–
|
1 |
2 |
... |
n |
n+1 |
n+2 |
... |
2n |
2n+1 |
1 |
|
|
... |
|
|
0 |
... |
0 |
|
2 |
|
|
... |
|
0 |
|
... |
0 |
|
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
n |
|
|
... |
|
0 |
0 |
... |
|
|
n+1 |
|
0 |
... |
0 |
|
|
... |
|
0 |
n+2 |
0 |
|
... |
0 |
|
|
... |
|
0 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
2n |
0 |
0 |
... |
|
|
|
... |
|
0 |
|
R1 |
R2 |
… |
Rn |
I1 |
I2 |
I3 |
In |
|
Під матрицею Ms показані невідомі, які після розв’язання
системи рівнянь будуть розміщуватися в масиві такої структури –
|
-1 |
0 |
1 |
2 |
... |
n |
n+1 |
n+2 |
n+3 |
... |
2n |
X |
2n |
- |
|
|
... |
|
|
|
|
... |
|
Формування
масиву X будемо виконувати з використанням процедури SystUr, що реалізує схему Гауса розв’язання системи лінійних алгебраїчних
рівнянь.
Procedure SystUr (N:integer; Ms:Matr; var X:Coef);
const Eps=1e-9;
var Zmax, Z, S, i:integer; Amax, В:real; R:boolean;
begin
R:=true;
if N=1 then if abs(А[1,1])<Eps
then R:=false
else X[1]:=А[1,2]/А[1,1]
else
begin
i:=1;
while (i<=N-1) and R do
begin
Amax:=abs(А[i, i]);
Zmax:=i;
for Z:=i+1 to N do
if abs(А[Z, i])>Amax
then
begin Amax:=abs(А[Z, i]);
Zmax:=Z
end;
if Amax<=1e-9 then
R:=false
else
begin
if Zmax>i then
for S:=i to N+1 do
begin
B:=А[i, S];
А[i, S]:=А[Zmax, S];
А[Zmax, S]:=B
end;
for Z:=i+1 to N do
if abs(А[Z, i])>Eps then
begin
B:=А[Z, i]/А[i, i];
for S:=i+1 to N+1 do
А[Z, S]:=А[Z, S]-B*А[i, S]
end
end;
inc(i)
end;
if R then if abs(А[N,
N])<Eps then R:=false;
if R then
begin
X[N]:=А[N,
N+1]/А[N, N];
for i:=N-1 downto 1 do
begin
B:=0;
for S:=i+1 to N do
B:=B+А[i, S]*X[S];
X[i]:=(А[i, N+1]-B)/А[i, i]
end
end
end;
if R then X[-
1]:=N
else X[-1]:=0
end;
Описаний
вище алгоритм обчислення частотних характеристик наведемо у вигляді підпрограми UrGod, яка буде користуватися глобальними
масивами А, В, що містять коефіцієнти системи (1).
Procedure UrGod;
var Z, S:integer;
Ms:Matr;
R;Coef;
begin
for Z:=1 to n do
begin
for S:=1 to n do
begin
Ms[Z, S]:=А[Z,
S];
Ms[Z+n, S+n]:=А[Z, S];
if S=Z
then
begin
Ms[Z,
S+n]:=W;
Ms[Z+n, S]:=- W
end
else
begin
Ms[Z,
S+n]:=0;
Ms[Z+n, S]:=0
end
end;
Ms[Z, 2n+1]:=-
В[Z, Nx];
Ms[Z+n, 2n+1]:=0
end;
Systur(2*n, Ms,
R); X:=R[Ny]; Y:=R[Ny+n]
end;
За необхідності відтворення на екрані комп'ютера зображення годографа амплітудно-фазової
характеристики каналу, що розглядається, можна запропонувати процедури SZ, PointGod, Godo.
Приведемо їх лістинги.
Procedure SZ;{перетворює значення дійсно-частотної Х і
уявно-частотної Y характеристик для частоти w , що розглядається,
в екранні координати S і Z відповідного пікселя годографа амплітудно-фазової
характеристики}
begin
UrGod;
S:=X0+round(X/Dx);
Z:=Y0-round(Y/Dy)
end;
Тут X0,
Y0 - екранні координати пікселя, куди
проектується початок координат комплексної площини, Dx, Dy коефіцієнти масштабу вздовж дійсної
(горизонтальної) і уявної (вертикальної) осей, тобто ціна 1 пікселя по
горизонталі і вертикалі.
Procedure
PoinGod; { малює черговий піксель
годографа амплітудно-фазової характеристики}
const Kw=1.2;
var
Md, Mdx, Mdy, Sp, Zp:integer;
Wp:real;
begin
Sp:=S; Zp:=Z;
repeat
Wp:=W; W:=W+Dw;
W1:=W;
SZ; Mdx:=abs(S-Sp);
Mdy:=abs(Z-Zp);
if Mdx>Mdy then Md:=Mdx
else Md:=Mdy;
if Md<>1 then
begin
W:=Wp;
if Md>1 then Dw:=Dw/Md
else Dw:=Dw*Kw
end
until (Md=1) or (W1>Wk);
if Md=1 then PutPixel(S, Z, С)
end;
Тут Kw
настроювальний параметр. Він коригує (у бік збільшення) крок Dw по частоті W, якщо попереднє значення кроку не забезпечує перехід до чергового
пікселя зображення годографа.
Wk - верхня межа діапазону частот, що задається користувачем при формуванні годографа (теоретично
частотні характеристики можна розглядати в діапазоні частот від 0 до , але пропонувати комп'ютеру
не можна).
Procedure Godo;{формує зображення годографа на екрані комп'ютера в
заданій системі координат}
const Nw=50;
begin
W:=Wn;
Dw:=(Wk-Wn)/ Nw;
SZ;
PutPixel(S, Z, С);
repeat
PointGod
until W1>Wk
end;
Тут Wn - початкове значення частоти (нижня
межа діапазону частот),
Nw настроювальний
параметр, він визначає початкове значення кроку Dw (надалі крок коригується процедурою PointGod).
Характерною
рисою розглянутого алгоритму слід вважати той факт, що зображення годографа на екрані
формується попіксельно, тобто піксель за пікселем, чим гарантується, з одного
боку, гранична акуратність, точність і неперервність зображення, з іншого боку,
кожний піксель годографа зафарбовується тільки один раз.
Остання обставина дозволяє реалізувати за необхідності інвертування кольору пікселів
фону під годографом. Ця процедурадуже зручна, за умови, коли доводиться «приміряти»
годограф до
зображення, що вже є на екрані.