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

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

CC BY
506
63
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВСТРАИВАЕМЫЕ СИСТЕМЫ / ВЫЧИСЛЕНИЕ ФУНКЦИЙ / ТАБЛИЧНО-АЛГОРИТМИЧЕСКИЙ МЕТОД / АЛГОРИТМ CORDIC / АЛГОРИТМ ЧИСЛЕННОГО ИНТЕГРИРОВАНИЯ / EMBEDDED SYSTEMS / FUNCTIONS CALCULATION / TABLE-ALGORITHMIC METHOD / ALGORITHM CORDIC / ALGORITHM OF NUMERICAL INTEGRATION

Аннотация научной статьи по математике, автор научной работы — Ледовской Михаил Иванович, Синютин Евгений Сергеевич

Рассмотрена задача создания энергоэффективного алгоритма для вычисления элементарных функций в беспроводных сенсорных системах, где энергопотребление обеспечивается за счет накопления энергии из окружающей среды. В основу алгоритма положен таблично-алгоритмический метод вычисления функций и способ определения поправки путем интегрирования порождающих уравнений, описывающих поведение функции между ближайшим табличным и заданным значением аргумента. Предложена оригинальная реализация способа интегрирования порождающих уравнений. Процесс интегрирования развертывается по двоичным разрядам аргумента, а также используется переменный шаг, равный весу текущего разряда аргумента. На примере функций sin(x), cos(x) исследована возможность использования подходящих методов интегрирования: методов Эйлера 1-го и 2-го порядка, метода Рунге-Кутта 4-го порядка, из которых выбран метод Эйлера 2-го порядка. Получена зависимость методической погрешности алгоритма от порядка метода интегрирования и номера разряда аргумента. Определен шаг таблицы значений функций для рассмотренных методов интегрирования. Приведено сравнение предлагаемого алгоритма с методом линейной интерполяции и алгоритмом CORDIC. По сравнению с алгоритмом CORDIC число выполняемых циклов в среднем уменьшается в два раза. По сравнению с методом линейной интерполяции в несколько раз уменьшается количество табличных значений функций. Например, для функции cos(x) количество табличных значений уменьшается в 16 раз. При этом набор операций алгоритма ограничивается простыми операциями сложения (вычитания) и сдвига. Приведены результаты экспериментального анализа методической, инструментальной и полной погрешности алгоритма в системе MATLAB. В условиях ограниченной разрядности микроконтроллера и вычислений с фиксированной точкой погрешность алгоритма принимает допустимые значения, соизмеримые с погрешностью округления данных. Результаты настоящей статьи могут найти применение при разработке алгоритмического и программного обеспечения для беспроводных сенсорных модулей на базе микроконтроллеров, а также других видов встраиваемых систем с низким энергопотреблением.

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

Похожие темы научных работ по математике , автор научной работы — Ледовской Михаил Иванович, Синютин Евгений Сергеевич

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

ALGORITHM OF INTEGRATION OF THE GENERATING EQUATIONS FOR THE CALCULATION OF ELEMENTARY FUNCTIONS

In the present paper the task of creation of algorithm with low consumption of energy for a calculation of elementary functions in wireless touch systems where energy consumption is ensured at the expense of accumulation of energy from environment is considered. In an algorithm basis the tabular-algorithmic method of functions evaluation and a mode of definition of the correction is supposed by a path of integration of the generating equations describing behavior of function between the nearest tabular value and a preset value of argument. Original implementation of a mode of integration of the generating equations is offered. Integration process is unrolled on argument bits, and also the variable step equal to weight of current bit of argument is used. On an example of functions sin(x), cos(x) the possibility of use of suitable methods of integration is investigated: Euler's methods of 1st and 2nd order, a Runge-Kutta method of 4th order from which Euler's method of 2nd order is chosen. Association of a methodical error of algorithm from order of a method of integration and number of bit of argument is received. The step of the table of values of functions for the considered methods of integration is defined. Matching of offered algorithm with a method of linear interpolation and algorithm CORDIC is reduced. In comparison with algorithm CORDIC the number of executable cycles on the average decreases in 2 times. In comparison with a method of linear interpolation the amount of tabular values of functions several times decreases. For example, for function cos (x) the amount of tabular values decreases in 16 times. Thus the gang of operations of algorithm is limited to simple operations of addition (subtraction) and shift. Outcomes of the experimental analysis of a methodical, tool and full error of algorithm in system MATLAB are reduced. In the conditions of the limited digit capacity of the microcontroller and calculations with the fixed point the algorithm error accepts admissible values, commensurable with a margin error roundoffs of data. Outcomes of the present paper can find application in development algorithmic and the software for wireless touch units on the basis of microcontrollers, and also other sorts of embedded systems with low consumption of energy.

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

Клевцов Сергей Иванович - Южный федеральный университет; e-mail: [email protected]; 347900, г. Таганрог, ул. Петровская, 81; тел.: 88634328025; к.т.н.; доцент.

Удод Евгений Васильевич - e-mail: [email protected]; к.т.н.; доцент.

Klevtsov Sergey Ivanovich - Southern Federal University; e-mail: [email protected]; 81, Petrovsky, Taganrog, 347900, Russia; phone: +78634328025; cand. of eng. sc; associate professor.

Udod Eugene Vasilyevich - e-mail: [email protected]; cand. of eng. sc; associate professor.

УДК 519.6:004.383

М.И. Ледовской, Е.С. Синютин

АЛГОРИТМ ИНТЕГРИРОВАНИЯ ПОРОЖДАЮЩИХ УРАВНЕНИЙ ДЛЯ ВЫЧИСЛЕНИЯ ЭЛЕМЕНТАРНЫХ ФУНКЦИЙ

Рассмотрена задача создания энергоэффективного алгоритма для вычисления элементарных функций в беспроводных сенсорных системах, где энергопотребление обеспечивается за счет накопления энергии из окружающей среды. В основу алгоритма положен таблично-алгоритмический метод вычисления функций и способ определения поправки путем интегрирования порождающих уравнений, описывающих поведение функции между ближайшим табличным и заданным значением аргумента. Предложена оригинальная реализация способа интегрирования порождающих уравнений. Процесс интегрирования развертывается по двоичным разрядам аргумента, а также используется переменный шаг, равный весу текущего разряда аргумента. На примере функций sin(x), cos(x) исследована возможность использования подходящих методов интегрирования: методов Эйлера 1-го и 2-го порядка, метода Рун-ге-Кутта 4-го порядка, из которых выбран метод Эйлера 2-го порядка. Получена зависимость методической погрешности алгоритма от порядка метода интегрирования и номера разряда аргумента. Определен шаг таблицы значений функций для рассмотренных методов интегрирования. Приведено сравнение предлагаемого алгоритма с методом линейной интерполяции и алгоритмом CORDIC. По сравнению с алгоритмом CORDIC число выполняемых циклов в среднем уменьшается в два раза. По сравнению с методом линейной интерполяции в несколько раз уменьшается количество табличных значений функций. Например, для функции cos(x) количество табличных значений уменьшается в 16раз. При этом набор операций алгоритма ограничивается простыми операциями сложения (вычитания) и сдвига. Приведены результаты экспериментального анализа методической, инструментальной и полной погрешности алгоритма в системе MATLAB. В условиях ограниченной разрядности микроконтроллера и вычислений с фиксированной точкой погрешность алгоритма принимает допустимые значения, соизмеримые с погрешностью округления данных. Результаты настоящей статьи могут найти применение при разработке алгоритмического и программного обеспечения для беспроводных сенсорных модулей на базе микроконтроллеров, а также других видов встраиваемых систем с низким энергопотреблением.

Встраиваемые системы; вычисление функций; таблично-алгоритмический метод; алгоритм CORDIC; алгоритм численного интегрирования.

M.I. Ledovskoy, E.S. Sinyutin

ALGORITHM OF INTEGRATION OF THE GENERATING EQUATIONS FOR THE CALCULATION OF ELEMENTARY FUNCTIONS

In the present paper the task of creation of algorithm with low consumption of energy for a calculation of elementary functions in wireless touch systems where energy consumption is ensured at the expense of accumulation of energy from environment is considered. In an algorithm basis the tabular-algorithmic method of functions evaluation and a mode of definition of the correction is supposed by a path of integration of the generating equations describing behavior of

function between the nearest tabular value and a preset value of argument. Original implementation of a mode of integration of the generating equations is offered. Integration process is unrolled on argument bits, and also the variable step equal to weight of current bit of argument is used. On an example of functions sin(x), cos(x) the possibility of use of suitable methods of integration is investigated: Euler's methods of 1st and 2nd order, a Runge-Kutta method of 4th order from which Euler's method of 2nd order is chosen. Association of a methodical error of algorithm from order of a method of integration and number of bit of argument is received. The step of the table of values of functions for the considered methods of integration is defined. Matching of offered algorithm with a method of linear interpolation and algorithm CORDIC is reduced. In comparison with algorithm CORDIC the number of executable cycles on the average decreases in 2 times. In comparison with a method of linear interpolation the amount of tabular values offunctions several times decreases. For example, for function cos (x) the amount of tabular values decreases in 16 times. Thus the gang of operations of algorithm is limited to simple operations of addition (subtraction) and shift. Outcomes of the experimental analysis of a methodical, tool and full error of algorithm in system MATLAB are reduced. In the conditions of the limited digit capacity of the microcontroller and calculations with the fixed point the algorithm error accepts admissible values, commensurable with a margin error roundoffs of data. Outcomes of the present paper can find application in development algorithmic and the software for wireless touch units on the basis of microcontrollers, and also other sorts of embedded systems with low consumption of energy.

Embedded systems; functions calculation; table-algorithmic method; algorithm CORDIC; algorithm of numerical integration.

Введение. В настоящее время ведутся исследования различных аппаратных и программных аспектов, влияющих на энергопотребление встраиваемых приложений на базе микроконтроллеров [1]. Данная проблема имеет актуальное значение для сенсорных систем, основой которых являются сенсорные модули - интеллектуальные датчики на базе микроконтроллеров, выполняющие функции удаленного сбора, обработки сигналов и беспроводного интерфейса [2, 3]. Поскольку энергопотребление сенсорных модулей обеспечивается за счет накопления энергии из окружающей среды [4, 5], то возникает необходимость разработки энергоэффективного аппаратного и программного обеспечения.

Энергоэффективность встраиваемых приложений определяется, прежде всего, энергетическими характеристиками алгоритмов обработки данных. В этой связи приобретает актуальное значение энергоэффективность алгоритмов вычисления элементарных функций, в частности sin(x) и cos(x), которые важны для задач цифровой обработки сигналов. Очевидно, что алгоритм в первую очередь определяет энергетические характеристики кода: объем используемой памяти, а также количество и виды инструкций, которые предписываются процессору подпрограммой вычисления функции. Поэтому в данном случае представляют интерес методы вычисления функций, приводящие к сокращению объема используемой памяти, ограничению количества и упрощению выполняемых операций.

Уменьшить количество инструкций, выполняемых процессором, удается в случае использования таблично-алгоритмических методов вычисления функций [6, 7, 8]. Но при этом поправка к табличным значениям функций должна определяться с помощью простейших методов аппроксимации, например, линейной интерполяции или одночленного ряда Тейлора. Негативным следствием применения указанных аппроксимаций является значительный объем табличных значений функций, которые требуется хранить в памяти, а также необходимость выполнения операции умножения.

В качестве энергоэффективного алгоритма вычисления элементарных функций находит применение итерационный алгоритм CORDIC (метод «цифра за цифрой») [9, 10], позволяющий последовательно получать очередные цифры значений sin(x) и cos(x). Один цикл вычислений можно выполнить с помощью простых операций: сложение (вычитание), сдвиг, выборка из памяти, а число выполняемых

циклов равно п - разрядности двоичного значения аргумента х. Алгоритм CORDIC используется также в рамках таблично-алгоритмического метода для вычисления поправок к табличным значениям функций [9, 11]. В этом случае число циклов уменьшается до величины т - числа младших разрядов аргумента, которые определяют интервал между ближайшим табличным и заданным значением аргумента (т<п). Дальнейшее сокращение числа циклов достигается за счет усложнения алгоритма и реализации трудоемких операций [12, 13]. В большинстве случаев алгоритм CORDIC реализуется аппаратно на ПЛИС, что позволяет обеспечить приемлемое время вычислений [14, 15, 16].

В настоящей статье рассматривается задача создания энергоэффективного алгоритма вычисления элементарных функций, который подходит для программной реализации в микроконтроллерах. С этой целью на примере функций $1п(х) и са'(х) предложен алгоритм вычисления поправок к табличным значениям функций на основе интегрирования порождающих уравнений. Оригинальность алгоритма заключается в том, что процесс интегрирования развертывается по двоичным разрядам т-разрядной младшей части аргумента. При этом в каждом цикле используется переменный шаг интегрирования, равный весу текущего разряда. Благодаря этому вычисления приобретают асинхронный характер: очередной цикл (шаг интегрирования) выполняется, если соответствующий разряд аргумента равен 1, иначе цикл пропускается. В результате число циклов становится равным числу единичных разрядов в т-разрядной младшей части аргумента и ограничивается диапазоном значений от 1 до т. Как показывают результаты моделирования, число циклов по сравнению с алгоритмом CORDIC в среднем сокращается в два раза. По сравнению с методом линейной интерполяции количество табличных значений функций сокращается в несколько раз. При этом набор операций алгоритма ограничивается простыми операциями сложения (вычитания) и сдвига. Результаты эксперимента в системе MATLAB показывает, что погрешность алгоритма принимает допустимые значения в условиях ограниченной разрядности микроконтроллера и режима вычислений с фиксированной точкой.

Способ интегрирования порождающих уравнений. Рассмотрим вычисление значений функций у1(х)=^1п(х) и у2(х)=со&'(х) с помощью таблично-алгоритмического метода, где поправки к табличным значениям определяется путем интегрирования порождающих уравнений:

(1)

У1(х) = У\(хк) + 1У2 (х№> хк X

У2(х) = У2(хк) - 1 У\(х)^х,

хк

где х - заданное значение аргумента; х^ - ближайшее табличное значение аргумента (х< х); у\(хь) иу2(хь) - табличные значения функций; интегралы, стоящие в правых частях уравнений (1), - искомые поправки к табличным значениям функций.

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

х

y\(i-\l2 ) = y\(i-\) + 2 1 У2( i-1 )Vxi,

y2(i-1/2) = y2(i-1) - 2 1 y1(i-1 )Vxi > УИ = y\(i-1) + У2( i-1/2 j^xi> y2i = y2(i-1) - y1(i-1/2)Vxi , > (2) Xi = Xi-1 +Щ, x0 = xk,

y10 = Уlk, y20 = y2b

i = 1,2,3,...,

где i - номер цикла, Vxi - i-й шаг по аргументу x.

Главным моментом в реализации алгоритма (2) является принцип формирования переменного шага интегрирования Vxi. Чтобы увязать выполнение циклов алгоритма (2) с двоичными разрядами аргумента x, достаточно использовать в качестве шага интегрирования вес i-го разряда аргумента:

Vxi = 2Vxi-1 = 2l -1 Ax, (3)

где Ax=T(nl1 - квант значения аргумента, который представляется единицей младшего разряда. Поскольку двоичное представление шага Vxi содержит лишь один единичный разряд, то все операции умножения в алгоритме (2) сводятся к операции сдвига множимого. Таким образом, алгоритм содержит лишь простые операции сложения (вычитания) и сдвига.

На рис. 1 приведен алгоритм вычисления функций sin(x), cos(x) с помощью таблично-алгоритмического метода, где поправки к табличным значениям определяются путем интегрирования порождающих уравнений в соответствии с (2) и (3). Для удобства последующего моделирования алгоритм представлен с помощью нескольких функций системы MATLAB. В частности, ближайшее (левое) табличное значение аргумента xk определяется с помощью функции bitand(), которая, используя маску 11...100...0, выделяет старшие n-m разрядов из n-разрядного значения аргумента x. Функция uint16() преобразует вещественное значение интервала интегрирования dx=x-xk в целочисленное 16-разрядное значение DX, а функция bitget() позволяет определить значение i-го разряда аргумента.

На рис. 1 показано, что процесс интегрирования развертывается по двоичным разрядам аргумента x. При этом номер цикла i отождествляется с номером двоичного разряда в предположении, что разряды нумеруются, начиная с младшего, имеющего номер 1. Тогда, если i-й разряд аргумента равен 1, то соответствующий i-й цикл алгоритма выполняется, а если 0, то цикл пропускается. Так продолжается до старшего единичного разряда в m-разрядной младшей части аргумента x, в результате чего интервал интегрирования [xk, x] полностью исчерпывается. Это событие фиксируется в алгоритме проверкой равенства DX=0. Важно, что число выполняемых циклов совпадает с числом единичных разрядов в m-разрядной младшей части аргумента x. В лучшем случае, когда имеется один единичный разряд, выполняется лишь один цикл, а в худшем случае - m циклов.

Результаты моделирования алгоритма в системе MATLAB показывают, что число выполняемых циклов, как случайная величина, подчиняется нормальному закону распределения (рис. 2). На рис. 2 видно, что при использованных значениях n=16 и m=11 математическое ожидание числа циклов в два раза меньше значения m. Следовательно, по сравнению с алгоритмом CORDIC число циклов в среднем сокращается в два раза.

Ун У21 = У1к = У2к

1

йх х— хк

У1(—й) = У1(,—1) + 2—^20—1)Ох

Л—) = У2(-1) —2—1ущ—1)^

Ун = У10—1) + У2 (¡—фх1

У2/ У2(—1) —У1 (1—у2Рх1

у1; = ят(х) у 21= соэ(х)

( Конец )

Рис. 1. Алгоритм вычисления функций &'т(х), со^'(х)

Рассмотренный алгоритм можно распространить на другие элементарные функции, используя известную методику получения порождающих систем дифференциальных уравнений [18].

Оценка интервала интегрирования. Другим критерием энергоэффективности алгоритма является количество табличных значений функций, которое определяется шагом таблицы И. Поскольку \х-хк\тсх=И, то фактически речь идет о максимальной величине интервала интегрирования [хк, х], которую необходимо определить, исходя из накопленного значения методической погрешности.

На рис. 3 в качестве примера представлены графики методической погрешности вычисления функции еов(х) по описанному выше алгоритму. Эти результаты получены экспериментально для трех методов интегрирования: методов Эйлера 1-го и 2-го порядка, метода Рунге-Кутта 4-го порядка. Моделирование производилось в формате данных удвоенной точности, а получаемые результаты сравнивались с эталонными значениями функции оов(х) системы MATLAB. При этом аргумент х изменялся на интервале [0, 1-2-15] по формуле xi =х-1+2ь1Ах, где i =1,2,...,15 - номер двоичного разряда, Ах=2-15 - квант аргумента, х0=0 - табличное значение аргумента. Такой закон изменения аргумента х позволяет установить зависимость методической погрешности от номера разряда аргумента с учетом ее накопления по наихудшему сценарию. Горизонтальная пунктирная линия на рис. 3 задает уровень допустимой методической погрешности, которая принимается равной погрешности представления данных в 16-разрядном формате, т.е. погрешности округления, которая подчиняется оценке ео<2-1А_у=2"16 (для округления по '/2), где Ау=2-15 - квант значений функций.

Рис. 2. Распределение вероятностей числа циклов при вычислении значений

функций &чп(х), еов(х)

Рис. 3. Зависимость методической погрешности еов(х) от номера разряда аргумента и метода интегрирования

Полученные графики позволяют определить шаг таблицы для каждого из методов, исходя из условия соблюдения допустимой методической погрешности. В частности, для метода Эйлера 2-го порядка допустимый уровень погрешности не превышается при обработке разрядов аргумента с 1-го по 12-й. Учитывая квант Лх=2-15, получаем максимальный интервал изменения аргумента x вида [0, 2-3—2-15]. Очевидно, что следующее значение аргумента х=2-3, выходящее за правую границу данного интервала, должно быть табличным. Следовательно, шаг таблицы равен h=2-3.

В табл. 1 приведены найденные значения шага h для рассмотренных методов интегрирования, а также значение h, рассчитанное по известной методике для метода линейной интерполяции [9].

Таблица 1

\ Способ вычисления поправки для функции сов(х)

Линейная интерполяция Интегрирование порождающих уравнений

Метод Эйлера 1-го порядка Метод Эйлера 2-го порядка Метод Рунге-Кутта 4-го порядка

Шаг таблицы h 2-7 2-7 2-3 2-1

Из табл. 1 следует, что по сравнению с методом линейной интерполяции метод Эйлера 2-го порядка позволяет сократить количество табличных значений функции сов(х) в 16 раз, а метод Рунге-Кутта - в 64 раза. Таким образом, способ интегрирования порождающих уравнений обеспечивает сокращение объема табличных значений функций, если используется метод интегрирования не ниже 2-го порядка.

Результаты эксперимента. Одним из условий энергоэффективной реализации рассмотренного алгоритма является выполнение операций с ограниченной разрядностью микроконтроллера в режиме вычислений с фиксированной точкой. Ограничение разрядности является главной причиной появления инструментальной погрешности, которая наряду с методической погрешностью составляет полную погрешность алгоритма. В этой связи выполнен экспериментальный анализ указанных погрешностей для случая, когда алгоритм реализуется в 16-разрядном целочисленном формате данных. В целочисленной модели алгоритма промежуточные значения у1=,т(х1) иу2=сов(х) представлены в 32-разрядном формате, что позволяет исключить накопление инструментальной погрешности [19].

В ходе эксперимента определялись значения полной, методической и инструментальной погрешностей предложенного алгоритма (рис. 1) для всевозможных значений аргумента х на интервале [0, 1-2-15] с шагом, равным кванту Лх=2-15. При этом использовалась известная методика экспериментального анализа указанных погрешностей с помощью системы МЛТЬЛБ [20].

Результаты моделирования, показывают, что на всем интервале наблюдения методическая погрешность на порядок меньше инструментальной погрешности, а полная погрешность не превышает 0,55 единицы младшего разряда, т.е. 0,55-2-15«1,7-10-5 (рис. 4). Таким образом, погрешность алгоритма принимает допустимые значения, соизмеримые с погрешностью округления в 16-разрядном формате данных.

Заключение. Предложенный алгоритм интегрирования порождающих уравнений элементарных функций, как и алгоритм СОКЭГС, содержит лишь простые операции сложения (вычитания) и сдвига. При этом число циклов, требуемых для вычисления значений функций, в среднем сокращается в два раза. Кроме того, алгоритм обеспечивает сокращение в несколько раз количества табличных значений функций по сравнению с методом линейной интерполяции. В частности, для функции сов(х) количество табличных значений уменьшается в 16 раз, если ис-

пользуется метод интегрирования 2-го порядка точности. Благодаря этому обеспечивается улучшение энергетических характеристик программного кода, реализующего данный алгоритм. Как показывают результаты моделирования в системе МАТЬАВ, погрешность алгоритма принимает допустимые значения в условиях ограниченной разрядности данных и режима вычислений с фиксированной точкой.

Рис. 4. Результаты экспериментального анализа погрешностей вычисления значений функций $1п(х) и со8(х)

Результаты настоящей работы могут найти применение при разработке алгоритмического и программного обеспечения для беспроводных сенсорных модулей на базе микроконтроллеров, а также других видов встраиваемых систем с низким энергопотреблением.

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

1. Новиков А. Как снизить энергопотребление встраиваемого приложения на базе микроконтроллера // Электронные компоненты. - 2015. - № 1. - С. 56-60.

2. Беляев А.О., Юдина Е.В., Синютин Е.С. Перспективные беспроводные датчики системы кардиомониторирования и эргометрии для комфортного съема биофизиологических показателей. // Труды Конгресса по интеллектуальным системам и информационным технологиям «IS&IT'M». В 4 т. Т. 2. - М.: Физматлит, 2014. - С. 117-122.

3. Bachmann C., Ashouei M, Pop V., VidojkovicM, H. de Groot, and Gyselinckx B. Low-Power Wireless Sensor Nodes for Ubiquitous Long-Term Biomedical Signal Monitoring // IEEE Com. Mag. - Jan. 2012. - Vol. 50, No.1. - P. 36-43.

4. Гольцова М. Аккумулирование кинетической энергии из окружающей среды // Электроника НТБ. - 2011. - № 7. - С. 78-85.

5. Harb A. Energy Harvesting: State-of-the-Art // Renewable Energy 36 (Elsevier). - 2011. - Vol. 36, No. 10. - P. 2641-2654.

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

7. Strollo A.G. M., De Caro D. and Petra N. Elementary functions hardware implementation using constrained piecewise polynomial approximations // IEEE Trans. Comput. - 2011.

- Vol. 60. - P. 418-432.

8. Lars E. Bengtsson. Lookup Table Optimization for Sensor Linearization in Small Embedded Systems // Journal Sensor Technology. Doi:10. 4236/jst. 2012. 24025, Dec. 2012.

9. Байков В.Д., Смолов В.Б. Специализированные процессоры: Итерационные алгоритмы и структуры. - М.: Радио и связь, 1985. - 288 с.

10. Torres, Omar A. Design and implementation of a CORDIC rotator and software integration for low-power exponent computation," The University of Texas Digital Repository (UTDR), 2013-12. Available at: http://hdl.handle.net/2152/24052.

11. Moroz L., Nagayama S., Mykytiv T., Kirenko I., Boretskyi T. Simple Hybrid Scaling-Free CORDIC Solution for FPGAs," International Journal of Reconfigurable Computing Volume 2014 (2014), Article ID 615472, 4 pages, http://dx.doi.org/10.1155/2014/615472.

12. Теслер Г.С. Адаптивные экономичные асинхронные итерационные методы «цифра за цифрой» // Математические машины и системы. - 1999. - № 1. - С. 43-52.

13. Pongyupinpanich Surapong, FaizalAryaSamman and Manfred Glesne. Design and Analysis of Extension-Rotation CORDIC Algorithms based on Non-Redundant Method // International Journal of Signal Processing, Image Processing and Pattern Recognition. - March, 2012.

- Vol. 5, No. 1.

14. Дайнеко Д. Реализация CORDIC-алгоритма на ПЛИС // Компоненты и технологии.

- 2011. - № 12. - С. 36-46.

15. K. Sharat, B.V. Uma, D.M. Sagar. Calculation of Sine and Cosine of an Angle using the CORDIC Algorithm // International Journal of Innovative Technology and Research (IJITR).

- February-March 2014. - Vol. No.2, Issue No. 2. - P. 891-895.

16. 16. Chadha A., Jyoti D., Bhatia M.G. Design and Simulation of an 8-bit Dedicated Processor for calculating the Sine and Cosine of an Angle using the CORDIC Algorithm // IEEE International Conference on Computational Intelligence and Computing Research (ICCIC), arXiv:1111.1086 (2011).

17. Бахвалов Н.С., Жидков Н.П., Кобельников Г.М. Численные методы. - М.: Бином. Лаборатория знаний, 2012. - 636 с.

18. Каляев А.В. Теория цифровых интегрирующих машин и структур. - М.: Советское радио, 1970. - 472 с.

19. Ледовской М.И. Алгоритм вычисления функций SIN(X) и COS(X) для 16-разрядных микроконтроллеров // Известия ЮФУ. Технические науки. - 2014. - № 4 (153). - С. 164-170.

20. Ледовской М.И. Моделирование алгоритма инерциальной навигации в MATLAB-SIMULINK // Ползуновский вестник. - 2011. - № 3/1. - С. 9-11.

Статью рекомендовал к опубликованию д.ф.-м.н. М.Ю. Звездина.

Ледовской Михаил Иванович - Южный федеральный университет; e-mail: [email protected]; 347900, г. Таганрог, ул. Петровская, 81; тел. 88634328025; кафедра встраиваемых систем; к.т.н.; доцент.

Синютин Евгений Сергеевич - Научно-технический центр «Техноцентр» Южного федерального университета; email: [email protected]; тел.: +78634311143; начальник сектора.

Ledovskoy Mikhail Ivanovich - Southern Federal University; e-mail: [email protected]; 81, Petrovsky street, Taganrog, 347930, Russia; phone: +78634328025; the department of embedded systems; cand. of eng. sc.; associate professor.

Sinyutin Evgeniy Sergeevich - Scientific and Technical Center "Technocentеr" Southern Federal University; e-mail: [email protected]; phone: +78634311143; team leader.

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