 
        
        книги / Оптимизация параметров импульсных и широкополосных усилителей
..pdfif is^ k l—1 then go to 11;
output (3, ‘e \ til, tfO, kl, n, m, v, k); go to 187;
12:f4: = f2:=.f3:=0;
13:for i: = l step 1 until kl do
| 
 | begin dk [i, | 1]: =0.05X k[i]; | kO[i]:=k[i]; | 
 | 
 | 
 | 
 | |||||||||||||||||
| 
 | k[i]:=k[i] + dk[i, | 1]; | 
 | 
 | ch, | kl, tt, | k3, k2, el, | e3, | e tO, til, | |||||||||||||||
| 
 | prpx | (n, | 
 | m, | prl, | v, | k, eps, | 
 | ||||||||||||||||
| 
 | tf); | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | d(kl, tO, til, dhl); k[i]:=.kO[i]; | 
 | i]: = (dhl[j] —dhO[j])/dk[i, 1]; | |||||||||||||||||||||
| 
 | for | j:= l | 
 | step | 
 | 1 until | kl | do aa [j, | ||||||||||||||||
| end; | 
 | step | 
 | 1 | until | kl | do | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| for | j:= l | 
 | 
 | bbfj]: = | abs(bbl[j, | 1]); | end; | 
 | 
 | |||||||||||||||
| begin bbl[j, | 1]: = | dh[j]—dhO[j]; | 
 | 
 | ||||||||||||||||||||
| output(3, *e\ aa, dh, dhO, dhl, bbl, dk); | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||||||||||||
| sp(1, kl, aa); sp(3, kl, kl, aa, bbl, dk); | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||||||||||||
| output(3, | ’e’, | 
 | aa, | dk); | alfa 1:=2; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||
| 14: alfal: = a!fal/2; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||
| if alfa 1 <0.125 | then | 
 | until kl do | k[i]:=kO[i]; | 
 | 
 | 
 | 
 | ||||||||||||||||
| begin for | i: = l | step 1 | 
 | 
 | t il,t f ) ; | |||||||||||||||||||
| 
 | prpx(n, m, prl, v, k, | eps, | ch, | kl, | tt, k3, k2, el, еЗ, e, tO, | |||||||||||||||||||
| 
 | d(kl, Ю, til, dhO); go to 186; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||||||||
| end; | l | step | 
 | 1 | until | kl do k[i] : = ko[i]+alfalXdk [i, 1]; | 
 | 
 | ||||||||||||||||
| for | i: = | 
 | til, | tf); | ||||||||||||||||||||
| prpx(n, | m, prl, | v, | k, | eps, ch, | kl, | tt, | k3, | k2, | el, | e3, e, | tO, | |||||||||||||
| d(kl, tO, | til, | 
 | dhl); | 
 | kl | do cc[i]: = | abs(dh | [i]—dhl[i]); | 
 | 
 | 
 | |||||||||||||
| for | i: = | l | step | 
 | 1 | until | 
 | 
 | 
 | |||||||||||||||
| ba*— bb [ij * j*— o* | 
 | then go to 16; ba:=bb[i]; | 
 | 
 | 
 | 
 | 
 | |||||||||||||||||
| 15: if ba—b b [i]^ 0 | 
 | 
 | 
 | 
 | 
 | |||||||||||||||||||
| 16 | i:= i + l; if | i^ k l then | go | to 15; | ca:=cc[i]; i: = 2; | 
 | 
 | 
 | ||||||||||||||||
| 17 | if ca—cc[i] ^ 0 | 
 | then | goо to | 1'8; ca:=cc [i]; | 
 | 
 | 
 | 
 | 
 | ||||||||||||||
| 18 | i:= i+ l; if i^ k l then | go to | 17; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||||||
| if ca—ba^O then go to 14; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||||||
| for i: = | l step | 
 | 1 | until kl | do dhO[i] : = dhl [1]; | 
 | 
 | 
 | 
 | 
 | ||||||||||||||
| if ca>epsl then | go | to 13; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||||
| 186: output (3, *e\ kOO, | k); | bbl | (j, | l]: = | dh[j]—dhOfj]; | 
 | 
 | 
 | ||||||||||||||||
| for j: = | 1 | step | 
 | I | until | kl | do | tO, til, | tfr), | |||||||||||||||
| prpx(n, | m, iprl, | v, | 
 | k, | eps, | ch, | kl, | tt, | k3,-k2, | el, e3, e, | ||||||||||||||
| d(kl, Ю, til, | dhO); | 
 | 
 | 
 | tO, tfr, tfO, | dhO); | 
 | 
 | 
 | 
 | 
 | |||||||||||||
| output | (3, ‘e\ | 
 | k, | kOO, til, | 
 | 
 | 
 | 
 | 
 | |||||||||||||||
| if f2=I | then | go | to 110; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||
| if f3= 1 then go to 112; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||||
| if f4 = l | then | go | to | 113; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||
| 187: wl:=.\v:=0; | until | kl | do | dhrO[i]: = dhO[i]; f2: = f3: = f4=0; | 
 | |||||||||||||||||||
| for | i: = 1 | step | 
 | 
 | 1 | 
 | ||||||||||||||||||
| 188: | alfa2:=0.1Xdhr; | w := .w +l; | dh2: = dhr; | tf2: = tfr; | f2: = l; | 
 | ||||||||||||||||||
| 19: | alfa2: = alfa2/2; | 
 | dh[w]: = dhrO[w]—alfa2; | go | to 13; | 
 | 
 | 
 | ||||||||||||||||
| 110: dh3: = dh[w]; | tf3: = tfr; | f2:=0; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||||||||
| if tf3—tf2 ^ 0 | 
 | then | 
 | go | to | 114; | 
 | go | to 13; | 
 | 
 | 
 | 
 | |||||||||||
| lll:= d h [w ]: = dh[w]—O.lXdhr; | f3: = l; | 
 | 
 | 
 | 
 | |||||||||||||||||||
| 112: dh4: = dh[w]; | tf4: = tfr; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||||
| 
 | if tf4—tf3 < 0 | then | 
 | 
 | 
 | go | to | 111; end; | 
 | 
 | 
 | 
 | ||||||||||||
| 
 | begin | tf3: = tf4; | dh3: = dh4; | 
 | 
 | 
 | 
 | |||||||||||||||||
| 
 | tri, | Il:-dh2X dh2; | Ш , 21:=dh2; | t |l, | 3]:=t[2. 3]:=t[3,31: = l; | |||||||||||||||||||
| 
 | t[2, | l]:=dh3Xdh3; | t[2, 2J:=dh3; | t[3, | l]:=dh4Xdh4; t [3, | 2]: = | ||||||||||||||||||
dh4;
181
tin, i;:=tf2;
| t l [2, 1| :=tf3; | tl[3, l]:=tf4; sp(l, | 3, | t) sp(3, 3, 3, 1, t, t l%t2) | |||
| t3 * = t9 ‘l | 11* t4* —t9T9 | П* | :=.t2[3, | 1J; | ||
| 
 | " | 
 | ' | |||
| dhopt: ==—1«4/(2Xt3); | tfopt: = (4Xt3Xt5--t4XM )/(4Xt3); | |||||
| output (3, *e\ dhopt, tfopt); | go | to | 13; | |||
| dh[w]:=dhopt; f3:=0; | f4: = l; | |||||
| 113: f4:=0* | k, dhO, dh, tfO, tfr, w ); | |||||
| output (3, | V, | |||||
| 114: if w ^ k l | then go to 138; | 
 | 
 | 
 | ||
| if wl=7*=kl then go to 187; | tfO, | tfr); | ||||
| output (3, | 'e\ | kOO, k, dhO, dh, | ||||
end;
end;
а •
П Р И Л О Ж Е Н И Е 2
ПРОГРАММА ОПТИМИЗАЦИИ ПАРАМЕТРОВ
АМПЛИТУДНО-ЧАСТОТНОЙ ХАРАКТЕРИСТИКИ
Программа предназначена для:
.1) определения экстремумов и граничной частоты АЧХ;
2) определения параметров коррекции, при которых АЧХ имеет экстремумы заданной величины;
3) оптимизации параметров методом сжатия области ограни чений.
Число параметров коррекции не должно превышать число экс тремумов АЧХ. Результаты выводятся на БПМ. Печатаются исход ные и оптимальные параметры коррекции, пары координат экстрему мов АЧХ и граничная частота для исходного и оптимального вариан тов (koo, k, ато, wgr).
Впрограмме имеются процедуры:
1.Процедура рг — определение параметров АЧХ; экстремумов и
граничной частоты. 'В ней используются вложенные процедуры:
| а) | процедура hor — вычисление | значения полинома п-й | степени | |||||
| в точке х; | pal— вычисление | коэффициентов | изображения | |||||
| <5) процедура | ||||||||
| h(p) и функции М2(х), Процедура pal — сменная. В | программе при | |||||||
| ведены данные для усилителя рис. | 1-7; | 
 | значения | аргумента, | ||||
| в) | zs — определение точек | экстремумов и | ||||||
| при котором функция достигает заданного уровня. | 
 | 
 | от еди | |||||
| 2. Процедура d — определение | отклонений | экстремумов | ||||||
| ничного уровня. | 
 | и для программы | приложения 1, | |||||
| Исходные данные те же, чго | ||||||||
| за исключением: | экстремальное | отклонение | АЧХ | от единичного | ||||
| dtnt — заданное | ||||||||
| уровня; | определения абсцисс АЧХ, | соответствующих 3aj | ||||||
| eps — точность | ||||||||
| данным ординатам; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | = 4 — признак счета я печати ординат АЧХ на интервале хх | |||||||
| с шагом ch\ при pf\ | печать не производится. | 
 | 
 | 
 | 
 | |||
182
begin
| procedure pr(n, m, pri, v, k, eps, ch, kl, xx, | mm, e, Id, k3, wgf, | ||
| dmr); | 
 | 
 | 
 | 
| value n, m, prl, v, k, eps, ch, kl, xx, k3, dmr; | 
 | ||
| integer n, m, prl, kl, e, k2, k3; | 
 | ||
| real v, eps, ch, xx, wgr, dmr; array k, mm; | 
 | ||
| begin integer | i, pr; | 
 | |
| real x, | c, | xO, x3, m2, z, mOO, m il, x4, chi, | mi; | 
| array | a[0:mj, b[0:n]; | 
 | |
| real procedure hor(n, x, a); | 
 | ||
| value n, x; real x; integer n; array a; | 
 | ||
| begin real h; integer i; | 
 | ||
| h;=0; | 
 | ||
for i: = N step —-1 until 0 do h:=h X x+a[ij; hor:=h:
end hor;
procedure pal(n, m, v, k, a, b);
value n, m; integer n, m; real v; array k, a, b; begin real al, Ы, Ь2, b3, b4;
al: = k[l] + k [3 ]; Ы := 1; b 2 := k [l]+ v X (k [2 ]+ 2 x k [3 ];
| b 3 := v X (l—v)Xk[2]; | b 4 := v X (l-v )X (k [lJ X k [2 ]-k [3 ]X | |
| 3]); | r | 
 | 
| 0 : = | b[0]:=.l; a [l]:= a lX a l; | |
| Ь[1]:=Ы Х Ы —2Xb2; | b['2]:=b2Xb2—2XblXb3+2Xb4; | |
| b[3J: = | ЬЗХЬЗ—2xb2Xb4; b[4]: = Ь4ХЬ4; | |
end;
procedure zs(n, m, c, xO, x3, eps, ipr, m2, z);
value xO, x3, eps, n, m; integer pr, n, m; real xO, x3, eps, m2, z, c; begin real xl, x2, rl, r2, ml;
| xl:=x0-f* (3—sqrt(5))/2Х (x3—xO); | x2:=x3— (3—sqrt(5))/2 X | |||
| (x3—xO); | 
 | 
 | xl, a)/hor(n, | xl, b)); | 
| pal(n, m, v, k, a, b); ml : = sqrt (hor (m, | ||||
| rl: = abs(ml—c); | m l:=sqrt(hor(m , | x2, | a)/hor(n, x2, | b)); | 
| r2: = abs(m l—c); | go to 14; | 
 | 
 | 
 | 
| 11: if rl< r2 then | go to 12; go to 13; | 
 | 
 | 
 | 
| 12: begin x3:=x2;x2:=xl; m2:=rl; z:=xl; r2:—rl; | 
 | |||
| xl= .x0+ (x3—xO) X (3—sqrt(5) )/2; | 
 | 
 | 
 | |
| ml:=sqrt(hor(m, xl, a)/hor(n, xl, b)); | 
 | 
 | ||
| rl = abs(ml—c); | go to 14; | 
 | 
 | 
 | 
| end; | 
 | 
 | 
 | 
 | 
13:x0:=xl; xl:=x2; m2: = r2; z:=x2; rl: = r2; x2:=x3— (x3—xO) X (3—sqrt (5))/2;
ml:=sqrt(hor(m, x2, a)/hor(n, x2, b)); r2:=abs(ml—c);
14:if (x3—x0)>eps then
begin if pr=0 then go to 11 else go to 15; end; go to out;
15: if rl<r2 then go to 13; go to 12; out: output (3, ‘e’, pr, z, m2);
| end zs; | 
 | v, k, a, b); | |
| k2:=0; c:=0; e:=2; pal(n, m, | |||
| if prl —I then for x:=0; | x+ch | while | x ^ x x do | 
| begin m00: = sqrl(hor(m, | x, a)/hor(n, | x, b)); | |
output (3, ‘e\ mOO, x);
end;
x:=0;
183
| for i: 1 step | l Until 2X(n—1) do m m [l]:=0; | 
 | 
 | 
 | 
 | |||||||||
| mOO:=sqrt(hor(m, x, a)/hor(n, x, b)); x:=x+ch; | 
 | 
 | 
 | |||||||||||
| mll:=sqrt(hor(m, x, a)/hor(n, x, b)); x4:=x+ch; | 
 | 
 | ||||||||||||
| pi: if mll^mOO then | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| begin for x:=x4, x+ch while mll^mOO do | 
 | 
 | x, | b); if | ||||||||||
| 
 | begin moo:=mll; ml l:=sqrt(hor(mj xt a)/hor(ri, | |||||||||||||
| 
 | xx then | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | begin e:=0; go to fin; end; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| 
 | end; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | xO:=x—2xch; хЗ:=х-^-сЬ; x4:=x; | 
 | 
 | 
 | 
 | 
 | ||||||||
| 
 | zs(n, m, c, | xO, x3, eps, 1, m2, | z); | 
 | 
 | 
 | pr: = 1; | |||||||
| 
 | k2:=k2+l; | mm[2Xk2—l]:= z; | mm[2Xk2]:=m2; | |||||||||||
| 
 | output | (3, ‘e\ | m2, z, | k2, pr); | go | to | fin; end; | 
 | 
 | 
 | ||||
| 
 | if k 2^ n —1 | then begin e:= l; | 
 | 
 | 
 | |||||||||
| 
 | go to p2; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| end; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| for x:=x4, x+ch while mll^mOO do; | a)/hor(n, | x, | b)); | |||||||||||
| begin m 00:=m ll; | mll:=sqrt(hor(m, x, | |||||||||||||
| 
 | if x>xx then begin e:=0; go to fin; end; | 
 | 
 | 
 | 
 | |||||||||
| end; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| xO:=x—2Xch; x3:=x—ch; x4:=x; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||
| zs(n, m, c, xO, x3, eps, 0, m2, z) | 
 | 
 | 
 | 
 | pr:=0; | 
 | ||||||||
| k2:=k2+l; | mm[2Xk2—l]:= z; | mm['2Xk2]:=m2; | 
 | |||||||||||
| output (3, ‘e’, m2, | z, | k2, pr); | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| if k2>n—1 then begin e:=.l; go to fin end; | 
 | 
 | 
 | 
 | ||||||||||
| p2: m00:=mll; x4:=x4+ch; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||
| mll:=sqrt(hor(m, x4, a)/hor(n, x4, b)); | 
 | 
 | 
 | 
 | 
 | |||||||||
| x4:=x4+ch; | go to pi; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| fin: output (3, ‘e\ mm, k2, e); | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||
| if k3—0 then go to p3; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| c:= 1—dmr; chi =0.5; | x:=0; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| ml:=sqrt(hor(m, x, a)/hor(n, x, b)); | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||
| for x:=chl, x+chl | while m l^ 0 .3 do m l:=sqrt(hor(m ,x, a)/hor | |||||||||||||
| (n, | x, b)); | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| x4:=x; | 
 | 
 | 
 | 
 | 
 | do | ml:=sqrt(hor(m, x, a)/hor | |||||||
| for | x:=x4, x—ch while ml ^ c | |||||||||||||
| (n, | x, b)); | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| xO:=x+ch; x3:=x+2Xch; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| zs(n, m, c, xO, x3, eps, 0, m2, wgr); | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||
| output (3 'e\ m2, wgr); | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| p3: end; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| procedure d(k2, mm, dmo) ; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||
| value k2, mm; integer k2; array dmo, mm; | 
 | 
 | 
 | 
 | ||||||||||
| begin integer | i | 
 | 1 | until k2— 1 | do | d m o[i+ l]:= ab s(I—mm[2X | ||||||||
| , | for i:=0 | step | ||||||||||||
| i+2]); | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| end; | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| integer nl, n, m, prl, kl, e, k2, k3, i, | ff, vv, f2, f3, f4, | j, w, ww; | ||||||||||||
| real v, eps, ch, xx, | wgr, | dmr, epsl, | wo, | alfa3, | alfal, | ba, | ca, w lr | |||||||
| alfa2, | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| dm2, w2, dm3, w3, dm4, w4, t3, t4, t5, dmopl, xopt; | 
 | 
 | 
 | |||||||||||
| input (1, nl, n, m, kl, v, eps, ch, xx, dmr); | 
 | 
 | cc | [l*kll, | ||||||||||
| begin array k [l:n ], | kOO, kO, dm, dmO, dml, dmrO, bb, | |||||||||||||
| 
 | m m [l:2X kl], | dk, | bbl | [l:kl, | 1:1], aa[l:kl, | l:k l], | tl, | |||||||
1:1],
184
