Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микро_Контр_андр4.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
881 Кб
Скачать
☆

1.2 Решение контрольной работы №1

Определим разрядную сетку. Расчет числа разрядов представления входных данных, операндов и выходных данных специализированной МПС выполняется из условия обеспечения заданной допустимой среднеквадратической погрешности σi.доп решения задач каждого i-го типа.

Максимальные значения функций f1 и f2 (b1 = 30, b2 = 10, b3 = 20):

f1max: (x2(x12+x3)) = 10 · (302 + 20) = 9200;

f2max: (x1x2x3) = 30 · 10 · 20 =6000.

Абсолютные значения погрешностей:

σдоп1 = |y1|maxδдоп1/100 = f1(30,10,20) · 0,45/100 = 41,4;

σдоп2 = |y2|maxδдоп2/100 = f2(30,10,20) · 0,3/100 = 18.

Методическая погрешность, обусловленная приближенным характером алгоритма и численного метода, реализующего алгоритм вычисления fi:

σм1 = |y1|maxδм/100 = f1(30,10,20) · 0,09/100 = 8,28;

σм2 = |y2|maxδм/100 = f2(30,10,20) · 0,09/100 = 5,4.

Абсолютная погрешность датчиков:

σдат1 = |x1|maxδдат/100 = b1·0,25/100 = 30 · 0,25/100 = 0,075;

σдат2 = |x2|maxδдат/100 = b2 · 0,25/100 = 10 · 0,25/100 = 0,025;

σдат3 = |x3|maxδдат/100 = b3 · 0,25/100 = 20 · 0,25/100 = 0,05.

Для оценки трансформированной погрешности найдем частные производные. Для функции трех переменных f1 = x2(x12+x3) = x12x2 + x2x3 производные:

df1/dx1 = (x12x2 + x2x3)′x1 = 2x12-1x2 + 0 = 2x1x2;

df1/dx2 = (x12x2 + x2x3)′x2 = x12·1 + 1·x3= x12 + x3;

df1/dx3 = (x12x2 + x2x3)′x3 = 0 + 1·x3 = x3.

Для функции трех переменных f2 = x1x2x3 частные производные:

df2/dx1 = (x1x2x3)′x1 = 1· x2x3 = x2x3;

df2/dx2 = (x1x2x3)′x2 = x1· 1· x3 = x1x3;

df2/dx3 = (x1x2x3)′x3 = x1x2 · 1 = x1x2.

Обозначим d11 = df1/dx1, d12 = df1/dx2, d13 = df1/dx3, d21 = df2/dx1, d22 = df2/dx2, d23 = df2/dx3.

Для получения математических ожиданий d11, d12, d13, d21, d22 и d23 предположим, что входные аргументы x1,…,x3 распределены независимо и равномерно в интервалах 0  x1 b1, 0  x2 b2 и 0  x3 b3. С помощью программы, использующей генератор случайных чисел с равномерным распределением, или непосредственным вычислением находим значение интегралов вида:

Математическое ожидание d11:

Математическое ожидание d12:

Математическое ожидание d13:

Математическое ожидание d21:

Математическое ожидание d22:

Математическое ожидание d23:

Уменьшить погрешность датчиков дат.j обычно труднее, чем погрешность АЦП АЦП.j. Для ослабления ее влияния на общую погрешность j задания аргументов выберем погрешность АЦП по формуле

АЦП.j = j дат.j,

где 0 < j  0,5.

Тогда: j2 = дат.j 2 + АЦП.j2 = дат.j 2(1+ j2) и, если принять 1=2=3= , получим соотношение:

Т.i2= (1+ 2) j дат.j 2 М 2[dij].

С учетом требования Т.i2 + м.i2  доп.i2, можно получить условие для выбора 2:

2 < (доп.i2 - м.i2)/ j дат.j 2 М 2[dij] − 1.

Для функции f1:

1 1-3 дат.1-3 2 М 2[d1 1-3 ] = 0,0752 · 1002 + 0,0252 · 1502 + 0,052 · 152 = 70,9.

12 < (доп.12 − м.12)/ 1 1-3 дат.1-3 2 М 2[d1 1-3 ] − 1,

12 < (41,42 – 8,282)/70,9 − 1,

12 < 22.

Примем 1 = 2 = 3 = 0,5. Тогда:

АЦП.1= 1 дат.1 = 0,5 · 0,075 = 0,0375,

АЦП.2 = 2 дат.2 = 0,5 · 0,025 = 0,0125,

АЦП.3 = 3 дат.3 = 0,5 · 0,05 = 0,025,

Т.12  (1+ 12) j дат.j 2 М 2[d1j]  (1 + 11)·70,9  851.

Для функции f2:

2 1-3 дат.1-3 2 М 2[d2 1-3 ] = 0,0752 · 752 + 0,0252 · 1502 + 0,052 · 502 = 52.

22 < (доп.22 − м.22)/ 2 1-3 дат.1-3 2 М 2[d2 1-3 ] − 1,

22 < (182 – 5,42)/ 52 − 1,

22 < 5.

Примем 1 = 2 = 3 = 0,5. Тогда:

АЦП.1= 1 дат.1 = 0,5 · 0,075 = 0,0375,

АЦП.2 = 2 дат.2 = 0,5 · 0,025 = 0,0125,

АЦП.3 = 3 дат.3 = 0,5 · 0,05 = 0,025,

Т.22  (1+ 22) j дат.j 2 М 2[d2j]  (1 + 4)·52  260.

Предполагая, что А.j  вх.j и, следовательно, , находим:

0,0265,

По формуле nвх.j =N(bj, вх.j ) определяем разрядность всех АЦП (функция N(x,w), выражает число разрядов двоичного числа для представления непрерывной величины x с размером кванта w:

N(x,w)=]log2(x/w +1)[,

где ][ – округление до ближайшего большего целого).

nвх.1= N(30; 0,0265 ) =]log2(30/(0,0265 · ) +1)[ = 9,

nвх.2= N(10; 0,0088 ) =]log2(10/(0,0088 · ) +1)[ = 9,

nвх.3 = N(20; 0,0177 ) =]log2(20/(0,0177 · ) +1)[ = 9.

По справочнику выбираем конкретный тип АЦП и, следовательно, уточняем значения nвх.j и АЦП.j. В [5, стр. 18, табл. 7] приведено несколько вариантов АЦП. Выберем АЦП КР572ПАI с числом разрядов nвх = 10.

Введем функцию W(x,n), выражающую размер кванта при замене непрерывной величины x n-разрядным двоичным числом: W(x,n) = x / (2n – 1).

Для оценки погрешности округлений и расчета разрядности операционного устройства примем lокр.1 = 1, lокр.2 = 2 (число умножений при вычислении f1(x1, x2, x3) = x2(x12+x3), f2(x1, x2, x3) = x1x2x3).

Инструментальная погрешность:

и.i2 = окр.i2 + вых.i2,

где окр.i – погрешность округления;

вых.i – погрешность представления данных на выходе цифровой части ЭВМ.

Погрешность симметричного округления оценивается по формуле

окр.i2= wоп.i2 (lокр.i /12),

где lокр.i – число округлений;

wоп.i – вес младшего разряда операндов в единицах выходной величины yi. Вес младшего разряда операндов:

wоп.i = W(yimax, nоп.i).

Разрядность nоп.i операндов определяется разрядностью АЛУ микроЭВМ и выбранным вариантом программной реализации арифметических операций. Конкретные значения nоп.i могут выбираться, например, из условия их кратности 8. Положим, что nоп.1 = nоп.2 = 8:

wоп.1 = W(f1(x1, x2, x3), nоп.1) = W(f1(30, 10, 20), 8) = 9200 / (28 – 1) = 36,1.

wоп.2 = W(f2(x1, x2, x3), nоп.2) = W(f2(30, 10, 20), 8) = 6000 / (28 – 1) = 23,5.

окр.12 = wоп.12 (lокр.1 /12) = 36,12 · (2 /12) = 217,2.

окр.22 = wоп.212 (lокр.2 /12) = 23,52 · (1 /12) = 46,21.

Условие:

2окр.1 < 2доп.1 − 2м.1 − 2т.1,

2окр.1 < 41,42 – 8,282 – 851,

217 < 794,4 − выполняется,

2окр.2 < 2доп.2 − 2м.2 − 2т.2,

2окр.2 < 182 – 5,4 2 – 260,

46,21 < 34,8 − не выполняется.

Положим, что nоп.2 = 10:

wоп.2 = W(f2(x1, x2, x3), nоп.2) = W(f2(30, 10, 20), 10) = 6000 / (210 – 1) = 5,9.

окр.22= wоп.212 (lокр.2 /12) = 5,92 · (1 /12) = 2,9.

Условие 2,9 < 34,8 выполняется. Следовательно, можно принять nоп.1 = 8, nоп.2 = 10.

Принимая σвых1 ≈ σдоп1 = 41,4 и σвых2 ≈ σдоп2 = 18, определим ориентировочное значение разрядности ЦАП для симметричного округления результатов расчета (учитываем, что 26 = 64, 27 = 128, 28 = 256):

nвых.i =N(f i (30, 10, 20), 41 ),

nвых.1 =N(f 1 (30, 10, 20), 41 ) = ]log2(9200/(41 ) +1)[ = ]log2(65,8)[ = 7,

nвых.2 =N(f 2 (30, 10, 20), 41 ) = ]log2(6000/(41 ) +1)[ = ]log2(43,2)[ = 6.

В [5, стр. 18, табл. 8] приведено несколько вариантов ЦАП. Выберем ЦАП К1107ПВ2 с числом разрядов nвых = 8 (n вых1 = n вых2 = 8). Так как n вых1 = nоп.1, σ2и.1 = окр.12 = 217. С учетом того, что n вых2 ≠ nоп.2:

и.22 = окр.22 + вых.22 = 2,9 + 182 = 326,9.

Величину погрешности ЦАП можно принять:

σцап.1 ≈ W(y1max, nвых.1)/ = W( f1 (30, 10, 20), 8)/ =

= (9200/(28 – 1))/ = 10,4;

σцап.2 ≈ W(y2max, nвых.2)/ = W( f2 (30, 10, 20), 8)/ =

= (6000/(28 – 1))/ = 6,7.

Таким образом получаем:

2т.1 + 2и.1 + σ2 цап.1 = 851 + 217 + 10,42 = 1176 < (σ2доп.1=1714);

2т.2 + 2и.2 + σ2 цап.2 = 260 + 326,9+ 6,72 = 631,7 < (σ2доп.2=324).

Результаты выбора неудовлетворительны. Выберем по [5, стр. 18, табл. 8] микросхему КIIII3ПВI с n вых2 = 10 (n вых2 = nоп.2), вых.2 = 0, и.22 = окр.22 = 2,9:

2т.2 + 2и.2 + σ2 цап.2 = 260 + 2,9+ 6,72 = 307,8 < (σ2доп.2=324).

С новым значением n вых2 = 10 результаты выбора удовлетворительны.