Научная статья на тему 'Синтез микропроцессорных алгоритмов вычислений разложений трансцендентных функций в степенные ряды'

Синтез микропроцессорных алгоритмов вычислений разложений трансцендентных функций в степенные ряды Текст научной статьи по специальности «Математика»

CC BY
86
31
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Синтез микропроцессорных алгоритмов вычислений разложений трансцендентных функций в степенные ряды»

Секция микропроцессорных систем

УДК 681.3:519.6

О.Н. Пьявченко СИНТЕЗ МИКРОПРОЦЕССОРНЫХ АЛГОРИТМОВ ВЫЧИСЛЕНИЙ РАЗЛОЖЕНИЙ ТРАНСЦЕНДЕНТНЫХ ФУНКЦИЙ В СТЕПЕННЫЕ РЯДЫ

В микропроцессорных системах реального времени (МПС РВ) распространены алгебраические и трансцендентные преобразования

У = Б[Х(1)] (1)

считываемых с датчиков физических величин Х(1).

На практике вычисления трансцендентных функций часто осуществляются в

[1]. -ропроцессорных алгоритмов представляется в виде

= £ш[Хм,] ( * = ол^3,..), (2)

где /ш - ряд степени 8, использованный для аппроксимации функции Б, индекс М

отражает масштабирование переменных, а черточки показывают, что значение масштабированных переменных представлены целыми числами и, следовательно, используется целочисленная арифметика.

При проектировании МПС РВ решается задача синтеза микропроцессорных , -грешностью еР и приемлемыми вычислительной сложностью и затратами памяти. В основу синтеза кладется постулат, согласно которому на точность результата преобразования (1) влияют трансформированная погрешность датчика V, методическая погрешность полиномиальной аппроксимации ц и инструментальная погрешность в, возникающая из-за ограниченной разрядности данных [2]. Предельно допустимое значение вычислительной погрешности оценивается как сумма предельно допустимых значений указанных погрешностей

£бх = + £рц + £рр. (3)

Как было отмечено выше,

£Бх ^ . (4)

Это условие выполняется, если

£рц + £рр ^ £рцр = £б - £^. (5)

Для выполнения условия (5) предлагается следующая итерационная процеду-, -.

После выбора датчика переменной Х(1) оценивается предельно допустимая трансформированная погрешность [3]. Затем выбирается ряд ^ (х) для соответ-

ствующей трансцендентной функции. При этом значение степени ряда 8 определя-

,

ограничением

£бц < £цр- (6)

Далее рассчитывается разрядность МАЦП аналого-цифрового преобразователя ( ) -

грешности, которая формируется из-за использования при вычислении ряда ^(х) данных с разрядностью МАЦП.

Если ограничение на инструментальную погрешность

ЕбР < £рцр - £бц (7)

, .

Затем для перехода к целочисленным данным производится масштабирование ряда ^(х) и строятся микропроцессорные алгоритмы вычисления fsмi .

Рассмотрим особенности изложенной процедуры синтеза микропроцессорных алгоритмов на примере вычисления функции

Б(Х) = еХ (8)

с предельно допустимой погрешностью еР = 10-3 при изменении переменной X в диапазоне

Х е[2-^,1]. (9)

Допустим, что выбран датчик с погрешностью ед = 0,2 10-3. Тогда предельно допустимая трансформированная погрешность

£ру = е • £д = 2,12 • 0,2 -10'3 = 0,544 -10'3 , а предельно допустимая суммарная погрешность

£рцр = £б - £Fv = 0,456 -10"3.

(8)

^ Х Х2 Х3 Х4 Х5 Х6 Х7 Х8

f(X) = 1 + — +----------+-------+-------+-------+------+-------+-------+...

1! 2! 3! 4! 5! 6! 7! 8!

(10)

(6) (10),

(8=6). -, ,

£бц = 0,2 -10-3.

(7) ,

погрешность вычислений значений ряда должна удовлетворять условию

£бр < 0,456 -10'3 - 0,2 -10'3 = 0,256 -10'3. (11)

Для оценки погрешности, вносимой в вычисления при представлении значений X; МАЦГГр^рядами, воспользуемся дифференциалом шести членов ряда (10)

1 2 1 3 Х4 Х5

а^Х)=аХ + ХаХ +- Х2аХ +- Х3аХ +—аХ + — аХ.

2 6 24 120

Полагая Х=1 и аХ = АХ = £хр, найдем

^ 1 1 1 1ч

£бр = (2 +--------------1-1-1-)£хр ~ 2,72£хр ,

Б ^ 2 6 24 120^ —р Хр

а с учетом значения £хр = 2 А1Щ (9) получим

£бр = 2,72 • 2 "^п . (12)

В результате подстановки (12) в (11), определим количество разрядов

^ > 14 (13)

(10)

V V 2 у3 V 4 '\г5 лт~6

f(Xi) = 1 + —1 + —- + —^ + + —^ + —- i = 1,2,3,., (14)

1! 2! 3! 4! 5! 6!

где черточка показывает, что значение переменной ^ представляются МАЦГ1> 14-

разрядными правильными двоичными дробями.

В большинстве случаев микропроцессоры работают с целыми числами. По-

(14)

дробные числа на целые.

При переходе к целочисленной арифметике рекомендуется придерживаться следующих действий:

1) мХ -

менной X;

2) заменить переменную X масштабированной переменной Хм;

3) -гаемые к общему знаменателю;

4) в результате умножения и деления на коэффициент 2е (с > 1,2,3.) заменить деление на общий знаменатель умножением на целое число и сдвигом на соответствующее количество двоичных разрядов;

5) , -

;

6) , . Масштабный коэффициент выбирается, равным 2

- млци

мх = 2-(15)

и целочисленные значения переменной Хм изменяются в диапазоне

Xмi е [1, 2 ^ ]. (16)

(14)

виду

X ^2 л73 лг4 476

^(Хм) = мХ + + —м^ + —м^ + —м^ + —+ —м^ . (17)

1! 2!м— 3!м— 4!м— 5!м— 6!м—

куррентную формулу

ґм(ХМі) =

(Мі + 6МХ )хмі + 30м| )Хм^ + 120Мх]Хм^ + 360М|]Х;М^ + 720МІ

и

Мх

Мх

Мх

(18)

х

—+ 720МХ

мх у

1

720М,

в которой все данные - целые числа, и операции над ними осуществляются в целочисленной арифметике.

С учетом значений коэффициентов в формуле (18) микропроцессорный алгоритм имеет вид

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

и6 = ХМі ; = (ик+1 + ск)8Ъ к = 5,0 , fм ( Хмі ) = ^, (19)

С5=6Мх, С4=30мХ, Сэ=120МХ , С2=360М2Х ,

С1=720М2Х , С0=720М2Х ;

84 = 8з = 82 = 81 = ХМі , 80 =___1__.

МУ

720М,

Вычисления по схеме (19), вплоть до значения иь сводятся к выполнению операции умножения, сложения и сдвига. Операция сдвига данных вправо на МАЦП разрядов замещает все операции деления на м— = 2Кацп , что имеет важное значе-

,

для ее программной реализации требуются значительные затраты времени.

и0 720.

замена деления на умножение на целое число,

Е

720

и на операцию сдвига на с

.

Недостатком микропроцессорного алгоритма (19) является использование для представления промежуточных результатов вычислений до (2^цп + 11) разрядов. Такое количество разрядов избыточно и мало оправдано, т.к. инструментальная погрешность содержится в (N^+11) младших разрядах суммы. Поэтому целесообразно сокращение количества разрядов суммы за счет части младших не.

Такое сокращение может быть получено, если урезать количество разрядов каждого произведения Хмик+1 (к = 4,0) на ^цп разрядов. Достигается это при представлении формулы (18) в виде

^м(хмі)

+ 720М

х

1 Ґ2е>|

2 I720;

(20)

2

и организации вычислении по алгоритму

И = хМі, И = (ик+1 + Ск)8к, к = 5,0 , и = ґм( хм1),

где

с5 = 6Мх, с4 = 30Мх, с3 = 120Мх, с2 = 360Мх, с = с0 = 720Мх и (21)

85 = 84 = 83 = 82 = 81 = хмі _і

Мх

V720/

В алгоритме (21) в разрядную сетку длиной ^АЦГ1 + 11) укладываются после сдвига на ^цп разрядов значения всех промежуточных произведений, а также значения сумм ик.

В заключение заметим, что описанная методика проектирования может быть использована для синтеза микропроцессорных алгоритмов вычисления трансцендентных функций не только в результате их разложений в степенные ряды, а также при их интерполировании параболами 2 и более высокой степени и т.п. Кроме того, она пригодна при разработке алгоритмов численного интегрирования, дифференцирования и др.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. По пов Б А., Теслер Г. С. Вычисление ф ункций на ЭВМ. Справочник. - К.: Наукова думка. 1984. - 600 с.

2. Строганов Р.П. Управляющие машины и их применение. Учеб. пособие для студентов спец. "Автоматика и телемеханика". 2-е изд., перераб. и доп. - М.: Высш. шк. 1989. -304 с.: ил.

3. Пьявченко ОМ. Алгоритмические основы выполнения математических операций в микрокомпьютерах: Учебное пособие. - Таганрог: Изд-во ТРТУ. 1998.-190 с.

УДК 681.533

С.И. Клевцов ПРОСТРАНСТВЕННАЯ ЛИНЕАРИЗАЦИЯ ГРАДУИРОВОЧНОЙ ХАРАКТЕРИСТИКИ ИНТЕЛЛЕКТУАЛЬНОГО ДАТЧИКА

Для упрощения вычислений в микроконтроллере и минимизации методической погрешности предложен метод пространственной линеаризации градуировочной характеристики интеллектуального датчика, предназначенного для измерения медленно меняющегося физического сигнала, например, для измерения давления или разности давлений в жидкой или газообразной среде. Метод базируется на представлении градуировочной характеристики в виде системы плоскостей в пространстве Р*ихТ измеряемых значений физического сигнала (давления), выходного сигнала чувствительного элемента датчика (напряжение или ток) и внешнего

( ).

Для построения градуировочной характеристики область и*Т разбивается на к2 прямоугольных участков. На каждом произвольном участке Вп т (Ш [и1п,

и2п], Тє [Т1т, Т2т]), используя экспериментальные данные, представляющие зависимость Р=Р(и,Т), методом наименьших квадратов определяются уравнения двух скрещивающихся в пространстве Р*и*Т прямых р '(цср) и р '(и,тср^)

i Надоели баннеры? Вы всегда можете отключить рекламу.