end end
Программа приближения функции рядом Хаара. Программа предназна чена для вычисления коэффициентов ряда Хаара для заданной функции и определения минимального числа членов ряда, необходимого для прибли женного представления функции с заданной относительной погрешностью eps.
Программа построена таким образом, что сначала вычисляются все ко эффициенты ряда Хаара, а затем определяются члены ряда, которые обеспе чивают приближение функции с заданной погрешностью eps. Коэффициенты
ряда вычисляются по формулам (4-20) — (4-22), приведенным в четвертой главе.
В программе приняты следующие условные обозначения: sp — сумма значений функции fs (х), входящая в формулу (4-22) со знаком плюс; sn — сумма значений функции f, (х), входящая в формулу (4-22) со знаком минус; s — текущий номер коэффициента ряда Хаара (строка массива ар); I — число точек на полуинтервале задания функции Хаара с номером i; t — число, функций Хаара в группе с номером г; pH и phi — соответственно номер пер
вой и последующей точек первого подмножества точек аргумента, на котором функции Хаара принимает значение + 1; р/2 и ph2 — соответственно номер
первой и последней точек второго подмножества точек аргумента, на котором функция Хаара принимает значение — 1; q — наибольший по модулю ко эффициент с порядковым номером /, принадлежащий группе с номером й
begin real eps, ерш, emax, fmax, sum, sn, sp, q; |
pl2, |
ph2; |
|
|
integer i, j, k, l, m, n, |
i1, |
t, |
s, |
p, |
pl\, phi, |
|
|
array |
sv |
[1 |
: 14]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
read (eps); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
read tape (svl, sv); |
|
|
fmax : = sv [7]; |
|
|
|
|
|
|
m : sv |
[1 ]; |
n : = |
sv |
[2] |
|
|
|
|
|
|
begin |
array |
f |
|
[0 : n— 1 ], ap |
[0 : n—1, |
1 : 4 ] ; |
|
|
|
|
|
read tape |
(ft, |
f); |
|
|
sum : = |
0; |
|
|
|
|
|
|
|
|
ерш : — eps X fmax; |
|
|
|
|
/ [k]; |
|
|
mO : for |
k: = |
0 step |
1 until |
n—1 |
do sum : = sum + |
|
|
ар |
[0, |
1 ] : = |
ap |
[0, |
2] : = 0; ap [0, |
3] |
: = sumln; |
|
|
ml : for |
i : = |
1 |
step |
1 |
until |
|
m |
do |
|
|
|
|
|
|
|
|
begin |
/ : 2 |
|
t |
(m—i); |
t : = |
2 |
t |
(i— 1); |
|
|
|
|
|
|
|
for |
/ |
: = |
1 |
step |
1 |
until t |
do |
t -f |
/—1; |
|
|
|
|
|
|
begin |
sn : = sp : = 0; s : = |
|
|
|
|
|
|
|
pll : = 2 X l |
X (/— 1); phi ; |
= |
pll |
+ /— 1; |
|
|
|
|
|
pl2 : = phi + |
1; ph2 : = pl2 -f |
/— 1; |
|
|
|
[k ]; |
|
|
for |
|
k := pll |
step |
1 |
|
until phi |
do |
sp : = sp -f |
/ |
|
|
for |
|
k := pl2 |
step |
1 |
|
until ph2 |
do |
sn : = sn + |
f |
\k); |
|
|
ap |
|
[s, 1 ] : = |
i; ap |
|
[s, 2] : = /; ap [s, |
3] |
: = |
0.5 X |
|
|
(sp—sn)/l |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end; |
0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
s ; |
= |
|
|
|
ap |
[s, |
|
|
|
|
ap [s, 2]; q : = |
ap |
Is, 3]; |
|
m2: p : = s; i : = |
1 ]; |
/ |
: = |
|
for k : = |
s -f 1 step |
1 |
until |
n— 1 do |
|
|
|
|
|
|
if |
abs |
(ap |
|
[k, 3 ])>afcs |
(q) |
then |
|
|
|
|
|
|
|
begin p : = |
k] i : = |
ap Ik, 1 ];/ : = |
ap [k, 2); q : = |
|
3] |
end; |
|
|
|
|
|
|
|
do ap [p, |
il ] := ap |
[s, il ]; |
for |
/1 |
: = |
|
1 step 1 until 3 |
ap |
[s, |
1 ] : = |
/; |
ap |
[s, 2] |
: = |
/; ap |
[s, |
3] : = |
q; |
|
|
|
m3 : if p = |
0 |
then |
|
|
|
|
|
|
|
|
|
|
|
|
begin |
for |
k : = 0 step 1 until |
n— l |
do f |
|
[k] : = |
f |
[k] — q; |
|
go |
to m4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
end; |
|
|
(m—/); pH : = |
2 X l X (/— 1); |
phi |
|
|
|
|
/ : = |
2 1 |
: = |
p/1 |
+ |
p/2 : |
= |
phi |
+ |
1; ph2 : = |
pl2+ l — 1; |
|
|
|
|
|
|
|
for |
k |
: = |
p/1 |
step 1 |
until |
p/il |
do / [&] : = |
/ |
[yfe] — |
<7; |
|
for |
k |
: = |
p/2 |
step 1 |
until |
ph2 |
do / (£ ]; |
= |
/ |
[yfe] + |
q■ |
|
mA : emax : = 0; |
|
|
1 until n— 1 |
|
|
|
|
|
|
|
|
|
for |
й : = |
0 step |
do |
|
|
(f |
|
|
|
|
|
if abs |
(f [k])i>emax then emax : = abs |
|
[&]); |
|
|
|
ap |
[s, |
41 :.= |
emax/fmax; s : = |
s + |
1; |
|
|
|
|
|
|
|
if emax'p-epsa then go to m2; |
|
|
|
|
|
|
|
|
|
begin |
array |
prap [0 : s—1, 1: 4 ] ; |
|
|
|
|
|
|
|
|
|
lp3 |
{ap, |
prap)] |
|
|
|
|
|
|
|
|
|
|
|
|
print |
{prap)\ |
|
|
|
|
|
|
|
|
|
|
|
|
|
sv |
[14] |
: = s— 1; |
|
|
|
|
|
|
|
|
|
|
|
|
write |
tape |
{sv, svl); |
|
|
|
|
|
|
|
|
|
|
end |
write |
tape |
{prap, |
prapl) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Программа расчета цепных сеток. Программа предназначена для опре |
деления проводимостей резисторов связи цепной сетки. |
|
|
число |
узлов |
Исходными данными |
для |
работы программы являются: |
сетки п, выходная проводимость сетки уо, проводимость нагрузки ylo, коэф
фициенты передачи |
источников |
напряжения U. на выход k*{ |
и внутренние |
проводимости |
этих |
источников |
Коэффициенты передачи |
и внутренние |
проводимости |
представлены в программе в виде одного массива ky [1 : п, |
1 : 2 ] . Первый элемент г-й строки этого массива соответствует коэффициенту
передачи, а |
второй — внутренней проводимости. |
|
В результате работы программы определяются проводимости связи цеп |
ной сетки у |
которые сохраняются в массиве у [1 |
: п]. |
Программа осуществляет последовательное |
вычисление по формулам |
(3-28), (3-29) и проверяет условие (3-30), выполнение которого обеспечивает получение положительного значения проводимости связи. Если же эти ус ловия не выполняются, то программа печатает сообщение о том, что даль нейший расчет не имеет смысла.
В программе используются следующие обозначения: уго — правая про водимость i —1-го узла К(-_j, угп — правая проводимость г-го узла Y{ ,
yin — левая проводимость г-го узла j/t-, k — коэффициент передачи из теку щего узла в предшествующий /С, - р — множитель коэффициента пере
дачи, Q — коэффициент передачи первого источника на выход,
begin real уо, уго, ylo, угп, k, р, q, h] integer i, n]
read (yo, ylo, n);
begin array |
ky |
[1 : n, |
1 |
: 2], |
у |
[1 : n]; |
|
|
|
|
|
read (ky); |
|
|
|
|
|
n do ky [t, |
1 ] : = |
ky |
[i, 1 ]lky |
[1, 1 ]; |
for i : = 2 step 1 until |
|
yro : = |
yo — ky |
[1 ,2 ]; |
|
ky |
|
|
p : = |
11q; |
|
q : = |
ky |
[1, |
2 У(yro + |
ylo + |
[1 ,2 ]); |
|
for i : = 2 step 1 until n do |
yro + ylo) |
X |
|
ky [i, |
1 ]; |
|
begin |
h :v= |
(ky |
[/—1, |
2] |
+ |
|
|
if |
yro X p -< h V |
ky |
[i, |
2] |
X p < / i |
then |
|
|
begin |
print text (расчет невозможен); |
|
|
|
|
|
go |
to fin |
|
|
|
|
|
|
|
|
|
|
|
|
end; |
|
|
li, |
2] |
X |
yro X |
plky |
U, |
|
1 ]l(yro + |
ylo -f- |
yrn : = ky |
|
ky |
|
[i— 1, |
2]) — ky |
[i, 2]; |
|
|
|
|
2] X p — |
у |
[i— 1] : = |
ky |
|
[i, 2] |
X yro X pl(ky |
[t, |
ky |
|
[i, |
1 ] |
X (yro + |
ylo + |
ky |
Et— 1, |
2])); |
2]); |
|
k : = |
у |
[t— 1 ]/(y |
|
[t— 1 ] + ylo + ky |
[/—1, |
|
yin |
: = k X (ylo -f |
ky |
[i— 1, 2]); |
|
|
|
|
|
p: = |
p |
X |
k; |
yro : = |
yrn; |
ylo : = yin |
|
|
|
|
end; |
|
|
yrn; |
|
|
|
|
|
|
|
|
|
|
|
|
у [n] |
: = |
|
|
|
|
|
|
|
|
|
|
|
|
print |
(y); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fin : end , end
11-3. Моделирование цифро-аналоговых функциональных преобразователей
Проверка правильности работы разрабатываемой схемы связана с вы полнением большого объема работы, которая включает в себя изготовление макета схемы и исследование этого макета. В процессе такого исследования обычно выявляются ошибки, допущенные при проектировании и оформле нии схемы, анализируется 'точность работы схемы и влияние на точность работы изменений отдельных параметров и условий ее эксплуатации. Про верка точности работы схемы состоит, как правило, в измерении выходных величин для всех значений входного кода и в последующей обработке резуль татов измерений. Необходимость просмотра всех значений входного кода объясняется тем, что аналитические методы анализа точности работы схем, позволяют, как правило, определить либо приближенное значение макси мальной погрешности без учета знаков погрешностей параметров схемы, либо среднеквадратическое значение погрешности при условия, что отклонения параметров схемы являются случайными величинами и распределены по нор мальному закону |6, 21].
Моделирование схем преобразователя на ЦВМ не заменяет этапа маке тирования, однако оно позволяет сократить общее время, затрачиваемое на проверку правильности работы схемы, за счет следующего:
1)обнаружения ошибок, допущенных при расчете и оформлении схемы,
2)получения предварительных сведений о точности работы схемы,
3)исследования влияния погрешностей параметров схемы на точность
ееработы,
4)определения области значений входных величин, соответствующих наибольшим значениям погрешности на выходе.
Необходимо отметить также, что моделирование позволяет определить требуемую точность изготовления элементов схемы.