УДК 621.371.
УЛУЧШЕНИЕ МЕТОДОВ ВОСПРОИЗВЕДЕНИЯ ТРИГОНОМЕТРИЧЕСКИХ ФУНКЦИЙ В СИСТЕМАХ ОБРАБОТКИ РАДИОЛОКАЦИОННОЙ ИНФОРМАЦИИ Чекушкин Всеволод Викторович
доктор технических наук, профессор, профессор кафедры «Программная инженерия» Муромского института (филиала) ФГБОУ ВО «Владимирский государственный университет имени Александра Григорьевича и Николая Григорьевича Столетовых»1.
Жиганов Сергей Николаевич
кандидат технических наук, доцент, доцент кафедры «Радиотехника»
Муромского института (филиала) ФГБОУ ВО «Владимирский государственный университет
имени Александра Григорьевича и Николая Григорьевича Столетовых»1.
Михеев Кирилл Валерьевич
кандидат технических наук, ведущий инженер АО «Муромский завод радиоизмерительных приборов»2.
E-mail: [email protected].
1Адрес: 602264, Россия, Владимирская обл., г. Муром, ул. Орловская, д. 23. 2Адрес: 602267, Россия, Владимирская обл., г. Муром, Карачаровское шоссе, д. 2.
Аннотация: В вычислительных процедурах работы систем первичной и вторичной обработки радиолокационной информации, систем управления, контроля и диагностики радиолокационной станции широко используются различные методы воспроизведения тригонометрических функций. В работе на основе комплексного критерия оптимизации проведён поиск полиномов наилучшего приближения Чебышева различных степеней, обеспечивающих минимизацию максимально возможной ошибки аппроксимации в диапазоне от 3 до 64 значащих цифр результата. Оценка эффективности алгоритма оценивалась максимизируемым выигрышем при ограниченных затратах, не превосходящих некоторой величины, при этом затратами являлась сумма, обозначающая количество математических операций и число извлекаемых из памяти констант. В работе получены полиномы Чебышева степеней от нулевой до одиннадцатой, рассчитаны соответствующие им значения точности аппроксимации и полученные вычислительные затраты для аппроксимации стандартных тригонометрических функций синуса, тангенса и обратных тригонометрических функций - арксинуса и арктангенса. Для повышения точности аппроксимации тригонометрических и обратных тригонометрических функций на заданном интервале значений предложен метод разбиения на два подинтервала, обеспечивающий при незначительном увеличении сложности алгоритма повышение точности аппроксимации в два раза. Впервые создан банк тригонометрических функций с диапазоном приведённых относительных погрешностей порядка [0,2; 10-8]. Разработаны улучшенные алгоритмы воспроизведения при обеспечении нарастающего дискретного приращения двух-трёх и более значащих цифр результата при фиксированном возрастании сложности алгоритма не более чем на 2-3 операции в диапазоне представления выходных данных 2-32 и более двоичными разрядами. Обеспечено уменьшение погрешности результата путём взаимной компенсации составляющих погрешностей, сокращены разрядные сетки специализированных вычислителей на 2-5 двоичных разрядов.
Ключевые слова: система обработки радиолокационной информации, стандартные функции, полиномы наилучшего приближения, специализированные вычислители, тригонометрические функции.
В системах первичной и вторичной обработки радиолокационной информации, системах управления, контроля и диагностики радиолокационной станции (РЛС), систем отображения трассовой и служебной информации повсеместно используются стандартные функции, в частности, тригонометрические, поскольку с помощью них можно описать урав-
нения движения воздушных целей в различных системах координат, формировать обрабатываемые сигналы и сигналы управления, определять координаты объектов [1-3]. Особенно большой объём вычислений тригонометрических функций приходится проводить при переходе от наглядной для оператора прямоугольной системы координат к разложению на
движения в сферической. Реализации вычисления тригонометрических функций - особенно функции синуса посвящено большое количество литературы [4-7], но до настоящего времени не создан оптимальный банк вычислений для основных и обратных тригонометрических функций с последовательным устранением избыточной точности вычислений, уменьшением числа разрядов специализированных процессоров для представления операндов вычислений.
Целевая функция оптимизации специализированных алгоритмов воспроизведения функциональных зависимостей с устранением излишней точности Е соответствует отношению последовательного дискретного приращения максимального числа значащих двоичных разрядов операндов выходных данных G при минимальном возрастании сложности вычислительных алгоритмов и, соответственно, времени их реализации С. Оценка эффективности алгоритма иллюстрируется максимизируемым выигрышем G при ограниченных затратах С, не превосходящих некоторой величины С* или минимизируемыми затратами, при условии, что выигрыш от применения алгоритма не менее заданного G*: Е = G ^ тах| С < С *, Е = С ^ тш| G > G *, Е = О/ (А + т), (1)
где О - число значащих двоичных цифр результата или их приращения АО от некоторых начальных условий; С = А + т - число выполненных операций или их приращение А(А + т); А обозначает количество математических операций; т - число извлекаемых из памяти констант.
Исходя из вышесказанного, создадим оптимизированные алгоритмы воспроизведения стандартных функций в диапазоне от 3 до 64 значащих цифр результата.
Таким образом, целью статьи является разработка приближенных вычислительных алгоритмов с погрешностью метода вычисления функций Ах) соответствующих последовательному дискретному приращению максимально-
го числа значащих двоичных разрядов (цифр) при фиксированном возрастании сложности вычислений алгоритма с устранением избыточных точности и быстродействия. Прикладное значение заключается в повышении точностных характеристик и быстродействия технических систем различной сложности в зависимости от класса их точности, быстродействия и фиксированных при сокращённых разрядных сетках специализированных вычислителей, входящих в различные по назначению системы.
При аппроксимации функций будем использовать полином наилучшего приближения Чебышева степени п
Ln (х)= а0 + а1х + ... + апхп. (2)
Определим максимальное значение погрешности метода аппроксимации
5ММ = А (х)" к (х).
Для реализации оптимального алгоритма вычисления полинома в диапазоне значений
8ММ е [0,15; 10~6 J при хе [0; л/2] использовано
компьютерное моделирование, которое позволяет устранить избыточную точность, обеспечить последовательное дискретное приращение точности не менее 1.. 3 значащих двоичных цифр при последовательном возрастании сложности вычислительного алгоритма не более чем на 1..2 вычислительных операции [6]. Компьютерное моделирование с целью поиска полиномов с наиболее низким произведением 5ММ (А + т) подтвердило, что разложение в ряд
при использовании для нечётной функции sin(x) комбинаций членов с чётными степенями неэффективно.
Полином наилучшего приближения Чебы-шева функции sin(x) первой степени уЧ1 = а0 + а1 х имеет вид
уЧ1 = 0,105 + 0,636 • х . (3)
На интервале х е[0; п /2] (рис. 1. а) значение погрешности составляет 5ММ = 0,105 = 2~3,2. Для реализации (3) из ПЗУ необходимо выбрать две константы а0, а! и выполнить алгеб-
Рис. 1. Полиномы первой степени функции sin(x) с а0 Ф 0 (а) и а0 = 0 (б)
раическое умножение и сложение, то есть осуществить четыре операции.
При значениях ЬММ е[0,5; 0,15] применение полинома (3) неэффективно, а целесообразно использовать полином у = 0,7246 • х (у = аух, а0 = 0) со значением погрешности 8ММ = 0,137 = 2-3 (рис. 1. б), когда только при двух (а фактически одной) вычислительных операциях получается около трёх значащих двоичных цифр результата.
Для меньшего интервала погрешностей дММ е [0,1; 0,01] эффективно применение полинома
у = х - 0,14966 • х3, (4)
поскольку исключаются операции выборки из ПЗУ коэффициентов а0 = 0, а1 = 1 (таблица 1). Погрешности для полинома (4) 5ММ = 0,01 = 2 6 при пяти вычислительных операциях. По сравнению с применением полинома (3) уменьшение значения погрешности составило 0,105/0,01 = 10,5 раз. На одну вычислительную операцию получено эффективное приращение более трёх значащих двоичных цифр результата.
Использование в (4) схемы Горнера предполагает дополнительную выборку константы 1, и поэтому общее сокращение числа операций не обеспечивает. В то же время применение полинома у = (0,9855 - 0,1426 • х2) • х со схемой Горнера, с возможностью варьирования и оптимизации константы а1 ф 1 при уве-
личении числа операций только на одну, по сравнению с (4), позволяет уменьшить значение погрешностей ещё в 0,01/0,0046 = 2,17 раза. В связи с этим для интервала 5 е [0,01; 0,05] целесообразно применение полинома у = (0,9855 - 0,1426 • х2) • х .
Эффективное сокращение числа операций при незначительном увеличении значений погрешности для трёх полиномов третьей степени: у = а0 + а1 • х + а3 • х3 при а0 ф 0, а0 = 0 и а1 = 1 проиллюстрировано на рис. 2, где для всех полиномов получены единственно возможные наименьшие отклоняющиеся от нуля симметричные значения погрешностей.
В соответствии с рассмотренными принципами, для обеспечения оптимальных соотношений по точностным характеристикам для диапазона 5^ е[0,2; 10-10], числу вычислительных операций, обращений к ПЗУ, программно-аппаратным затратам, путём компьютерного моделирования получен набор полиномов для приближения функции sin(x) при х е[0; п /2] (таблица 1). В таблице 1 первый столбец - это степень полинома. Для полиномов 1-й и 3-й степени вычисления функции sin(x) по схемам аппроксимации с а0 = 0, а1 ф 1 при погрешностях 5ММ = 0,137 и 5ММ = 0,006 необходимо реализовать соответственно две операции, хранение в памяти одной константы и шести операций с хранением в памяти двух констант.
в) при а1 = 1
Рис. 2. Графики погрешности по абсолютной величине полиномов 3-й степени
Уменьшению погрешности по сравнению с полиномом 1-й степени в 0,137/0,006 = 22,8 раз при увеличении числа операций на четыре и констант в памяти на одну, примерно соответствует приращение 4,25/4=1,06 двоичных разрядных цифр на 1 операцию и т.д. Для полинома 9-й степени, а0 = 0 а1 = 1, уменьшение погрешности по сравнению с полиномом 7-й степени равно 7 • 10 7 / 4 -10"9 = 175. После стартового приближения функции для полинома 1-й степени при а0 = 0 а1 ф 1 примерно с тремя двоичными цифрами результата на две двоичные операции, в дальнейшем, при увеличении степени полинома на 2, получаем хорошие нарастающие приращения числа разрядных цифр на одну операцию: 1,06 разрядных цифр (с полинома 1-й степени на полином 3-й степени), 2 с полинома 3-й степени на полином 5-й степени, 2,3 с полинома 5-й степени на полином 7-й степени и 2,4 двоичных цифры для полинома 9-й степени на одну операцию. Для полинома 1-й
степени число операций равно двум, для полинома 3-й степени шести и в последующем число операций увеличивается на три, и каждый раз число констант в памяти надо увеличивать на единицу.
Таблицу 1 следует использовать при программно-аппаратной реализации функции sin(x) с заданной погрешностью в системах обработки информации с минимальным числом разрядов представления формата данных с фиксированной точкой специализированного процессора системы обработки радиолокационной информации.
Обычно для получения синусоидального сигнала диапазон аргумента в соответствии с таблицей 1 расширяют до х е[0; 2п] путём использования тригонометрических формул приведения [6]. В тоже время возможен поиск полиномов, исходя из максимальной идентичности их графиков с приближаемой функцией увеличением числа узлов интерполяции и расширение интервалов наблюдения без значи-
Таблица 1. Полиномы вычисления sin(x) на интервале х е [0; % /2]
№ Формулы полиномов ^MM A+m
0 a0 Ф 0 P( x) = 0,5 0,5 1
1 a0 Ф 0 a1 = 1 P( x) = -0,285 + х 0,285 2
a0 = 0 a1 Ф 1 P( x) = 0,7246 • х 0,137 2
a0 Ф 0 a1 = 1 P( x) = 0,105 + 0,636 • х 0,105 4
3 a0 = 0 a1 = 1 P( x) = x - 0,14966 • x3 0,01 5
a 0 = 0 a1 Ф 1 P(x) = x • (0,9857 - 0,1426 • x2) 0,006 6
a 0 Ф 0 a1 Ф 1 P( x) = 0,0035 + x • (0,9794 - 0,1409 • x2) 0,005 8
5 a 0 = 0 a1 = 1 P( x) = x + (-0,16607 + 0,00763 • x2) • x3 1,4 •Ю-4 8
a 0 = 0 a1 Ф 1 P( x) = x • (0,999659 + (-0,165626 + 0,0075 • x2) • x2) 8-10-5 9
a 0 Ф 0 a1 Ф 1 P( x) = 0,000056 + x • (0,999559 + (-0,165581 + +0,007494 • x2) • x2) 7 -10-5 11
7 a 0 = 0 a1 = 1 P( x) = x + (-0,16665438 + (0,0083089 --0,00018384 • x2) • x2) • x3 1,5 •Ю-6 11
a 0 = 0 a1 Ф 1 P( x) = x • (0,99999692 + (-0,16664889 + +(0,00830678 - 0,00018374 • x2) • x2) • x2) 7 -10-7 12
a0 Ф 0 a1 Ф 1 P( x) = 0,00000054 + x • (0,99999491 + (-0,16664577 + +(0,0083048 - 0,00018334 • x2) • x2) • x2) 6 -10-7 14
тельного снижения точности [6, 8]. Такое приближение параболой
у = -0,405 ^ х-- + 0,97
эффективно для sin(x) при х е[0; %] и значении погрешности = 0,027 . В этом случае фактически исключаются затраты на реализацию формул приведения.
Для всех указанных полиномов 3.. .11 степеней при увеличении числа операций на единицу по сравнению с полиномами, где а0 = 0, а1 = 1, погрешность уменьшилась примерно в два раза. Эффективность применения полиномиального метода вычисления функции sin(x) возрастает при увеличении степени полинома.
Так, например, отношение значений погрешностей 85 /87 = 1,4 • 10 -4/1,5 • 10 6 = 93. При увеличении числа операций с 8-ми до 11 обеспечивается приращение числа значащих двоичных цифр результата более чем на шесть.
При вычислении полинома в реальных условиях возникает дополнительная погрешность 8цУ воспроизведения функции, обусловленная квантованием констант полинома с усечением разрядных сеток операндов
8р = 8ММ + 8ЦУ ,
где 5р - погрешность результата.
Проверена возможность проведения взаимной компенсации составляющих погрешностей для уменьшения разрядных сеток операндов [6].
2
Таблица 2. Полиномы вычисления sin(x) с урезанием разрядных сеток
Число цифр Формулы полиномов 9-й степени на интервале х е [0; л /2] 5р
Без компенсации погрешностей
11 р (х) = (0,99999997658 + (-0,16666647635 + (0,00833289986 + (-0,00019800901 + 0,00000259049 • х2) • х2 • х2) • х2) • х 3,4710'
10 р(х) = (0,9999999765 + (- 0,1666664763 + (0,0083 3 289 98 + + (-0,0001980090 + 0,0000025904 • х2)•х2•х2) • х2) • х 7,564СГ9
9 р (х) = (0,999999976 + (-0,166666476 + (0,0083 32899 + + (-0,000198009 +0,0000025 90 • х2)•х2•х2) • х2) • х 3,35 • 10-8
8 р (х) = (0,99999997 + (- 0,16666647 + (0,00833289 + + (-0,00019800 + 0,0000025 9 • х2) • х2 • х2) • х2) • х 1,0710-7
7 р (х) = (0,9999999 + (-0,1666664 + (0,0083328 + + (-0,0001980 + 0,0000025 • х2) • х2 • х2) • х2) • х 5,8310^
С компенсацией погрешностей
11 р (х) = (0,99999997672 + (-0,16666647714 + (0,00833290114 + (-0,00019800978 + 0,00000259065 • х2) • х2 • х2) • х2) • х
10 р (х) = (0,9999999769 + (-0,1666664775 + (0,0083329015 + (-0,0001980091 + 0,0000025907 • х2) • х2 • х2) • х2) • х 3,371а9
9 р (х) = (0,999999975 + (-0,166666474 + (0,008332901 + + (-0,000198011 + 0,000002591 • х2) • х2 • х2) • х2) • х
8 р (х) = (0,99999998 + (-0,16666649 + (0,00833291 + (-0,00019801 + +0,00000259 • х2)•х2•х2) • х2) • х 4,8610т9
7 р (х) = (0,9999999 + (-0,1666661 + (0,0083327 + (-0,0001981 + +0,0000026 • х2) • х2 • х2) • х2) • х 4,96 • 10 -8
Поиск полиномов наилучшего приближения производится до таких значений числа разрядов операндов, когда их сокращение ещё не оказывает существенного влияния на результирующую погрешность (увеличение на 2-5%).
Для одного полинома 9-й степени (таблица 2) приближения sin(x) погрешность 5ММ = 3,47 • 10-9, а погрешности урезания констант исключены, поскольку они представлены 10-ю-11-ю разрядными десятичными цифрами. Простое урезание разрядных цифр до 8 увеличивает значение погрешности результата с 5 = 5 = 3,47 • 109до 5 = 2• 107, то есть в 58
р мм ' р
раз. При проведении взаимной компенсации погрешность уменьшается в
2 • 10-7/4,86 • 10 9 = 41 раз с сокращением разрядных сеток операндов на 5,5 двоичных разрядов. При представлении коэффициентов полинома восьмью десятичными цифрами погрешность результата оказалась меньше 0,5-10-9, т.е. обеспечено хорошее симметричное округление.
Введение на интервале [0; л/ 2] двух подин-тервалов с двумя полиномами 1-й степени и выше, с одинаковыми значениями погрешности метода, обеспечивает уменьшение погрешности по сравнению с полиномом L = 0,724 • х в 5,75
Таблица 3. Полиномы наилучшего приближения tg(x) на интервале х е [-л/4; л /4]
Число членов Формула полинома 3ММ A+m
1 р(х) = 1,199-х 5,7 • 1(Г2 2
2 р( х) = х • (0,9754 + 0,4742 • х2) 4,1-10~3 6
3 р( х) = х • (1,00250 + (0,30341 + 0,21863 • х2) • х2) 2,9 -10-4 9
4 р( х) = х • (0,999767 + (0,338064 + (0,107861 + +0,101688 • х2) • х2) • х2) 2,1 • 10 ~5 12
5 р( х) = х • (0,9999999 + (0,3326998 + (0,1387526 + +(0,0355390 + 0,0473359 • х2) • х2) • х2) • х2) 1,5-10"6 15
6 р( х) = х • (0,99999825 + (0,33340931 + (0,13239304 + +(0,05888562 + (0,00975583 + 0,02203145 • х2) • х2) • х2) • х2) • х2) 1,1-10"7 18
7 р( х) = х • (1,0000001446 + (0,3333248797 + (0,1334756942 + +(0,0529201231 + (0,0257646276 + (0,0013818002 + +0,0102552909 • х2) • х2) • х2) • х2) • х2) • х2) 7,7-10~9 21
Таблица 4. Полиномы вычисления tg(x) с разбиением на подинтервалы
№ Интервал Формула полинома 3 ММ А+m
1 [0; 0,526] р(х) = 1,1037х - 0,0109 0,0109 6
[0,526; 0,785] р(х) = 1,6164 • х - 0,2802 0,0106
2 [0; 0,544] р (х) = 0,99350 • х + 0,39482 • х3 + 0,00042 4,2-10-4 10
[0,544; 0,785] р(х) = 0,76357* х + 0,64909 • х3 + 0,08539 4,1 • 104
3 [0; 0,5513] р(х) = 1,0003315 • х + 0,3271278• х3 + 0,1688683 • х5 --1,57020353740948 40"5 1,57- 105 13
[0,5513; 0,785] р(х) = 1,0763362• х + 0,172760• х3 + 0,3161679• х5 -0,0235526 1,53 • 105
раза при увеличении сложности алгоритма на 4 операции, то есть не получаем приращения в одну разрядную цифру на операцию.
Два полинома 3-й степени также менее эффективны, чем применение одного полинома 5-й степени на всем интервале [0; л/2]. Таким
образом, целесообразно для аппроксимации функции sin(x) в диапазоне погрешностей 10-1 -10-11 и ниже использовать полиномиальную аппроксимацию на интервале х е [0; л/2]. Не эффективно и введение константы а0 в отличие от исключения константы а1 (а1 = 1),
например, в полиномах 3-й - 9-й степеней, когда, например, для полинома 3-й степени можно уменьшить дискретное приращение числа операций на одну при значении погрешности в интервале 10-3 < ёММ < 10-2 с 4-х до 3-х. Для полинома 9-й степени с а1 = 1 по сравнению с полиномом 7-й степени при а1 ф 1 получаем повышение точности в 7 • 10-7/1 • 10-8 = 70 раз или почти в 3 двоичные цифры результата на одну операцию. Для полиномов (3-9)-й степеней при а1 = 1 уменьшается число узлов интерполяции, констант полинома и (или) физических этало-
Таблица 5. Полиномы вычисления функции агС#(х) на интервале х€ [-1; 1]
№ Формула полинома ^ММ
1 Р (х) = 0,83 • х 0,047
2 Р(х) = х• (0,972 -0,915 • х2) 0,0049
3 Р( х) = х • (0,9954 - (0,2888 + 0,0794 • х2) • х2) 0,0006
4 Р( х) = х • (0,99921- (0,32115 + 0,14621- 0,03 895 • х2) • х2) • х2) 8,14 10-5
5 Р( х) = х • (0,999866- (0,330305+ (0,180161--(0,085154+ 0,020841-х2) • х2) • х2) • х2) 1,1410-5
Таблица 6. Вычисление arctg(x) с разбиением на подинтервалы
№ Интервал Формула полинома ^ММ
1 [0;0,545] P(x) = 0,915 • x + 0,008 0,008
[0,545;1] P(x) = 0,629^ x + 0,163 0,008
2 [0;0,574 ] P (x) = 0,9929 • x - 0,2632 • х3 + 0,0004 4,5 10-4
[0,574;1] P(x) = 0,8582 • x - 0,1261 • х3 + 0,0527 4,5 10-4
3 [0;0,593] P(x) = 0,99939 • x - 0,32223 • х3 + 0,13383 • х5 + + 2,9465 • 10-5 2,94 10-5
[0,593;1] P(x) = 0,94422 • x - 0,22204 • х3 + 0,04487 • х5 + + 0,018371 2,94 10-5
нов для калибровки измерительной системы. Для уменьшения дискрета приращения числа операций целесообразно исключать константу а\ (брать а1 = 1). Для 1-го полинома 9-й степени (вторая часть таблицы 2) приближения sin(x) погрешность 8ММ = 3,47 • 10-9, а погрешности урезания констант исключены, поскольку они представлены 10-ю-11-ю разрядными десятичными цифрами. Простое урезание разрядных цифр до 8 увеличивает значение погрешности
результата с
8 =8 = 3,47 • 10-
р мм '
до
8 = 2 • 10 7, то есть в 58 раз. При проведении компенсации погрешность уменьшается в 2 • 10-7/4,86 • 10-9 = 41 раз с сокращением разрядных сеток операндов на 5,5 двоичных разрядов.
Для более медленно сходящейся функции tg(x) приемлемым является набор полиномов наилучшего приближения с нечётными степе-
нями на интервале х е[-%/4; %/4]. Применение интервала х е[-%/2; %/2] усложняет задачу аппроксимации, т.к. при х ^ %/2 tg а ^ да . Для уменьшения дискретного приращения числа операций до двух, как и для функции sin(x), можно использовать полиномы с а1 = 1. При увеличении степеней полиномов для tg(x) на 2 (таблица 3) погрешность соответственно уменьшается примерно в 13,5 раз, что соответствует приращению только 1,25 двоичных цифры на одну операцию.
Для проверки возможности уменьшения числа операций при вычислении функции
tg(х) на интервале [ 00;450 J введены два по-
динтервала с двумя полиномами 1-й-5-й степеней с примерно одинаковыми погрешностями 8ММ на подинтервалах (таблица 4). Обеспечено уменьшение погрешности 8ММ по срав-
9
нению с полиномом 1-й степени Р( х) = 1,199 • х в 0,057/0,0109 = 5,22 раза, для полиномов 3-й и 5-й степеней (таблица 4) обеспечено уменьшение погрешности соответственно в 4,1 • 10-3/4,2 • 10-4 = 9,76 и 2,9 • 10-4 /1,57 • 10-5 = 18,5 раз при увеличении сложности алгоритма только на две операции.
Для полинома 5-й степени с двумя подин-тервалами по сравнению с полиномом 7-й степени (таблица 3) имеем меньшие значение погрешности при небольшом увеличении затрат на хранение в памяти 2-х констант. Применение схемы аппроксимации с двумя полиномами 5-й степени (таблица 4) при погрешности 1,57 • 10-5 может оказаться более предпочтительным, чем применение одного полинома 7-й степени с погрешностью 2,1 •Ю-5. Путём взаимной компенсации погрешностей обеспечено сокращение разрядной сетки вычислителя на 4 двоичных разряда.
Для вычисления функции аг^(х) предлагается набор полиномов наилучшего приближения с нечётными степенями на интервале х е[-1;1] (таблица 5). При увеличении степеней полиномов на 2 погрешность уменьшается примерно в 8 раз, что соответствует приращению только одной двоичной цифры на одну операцию.
Поскольку функция аг^(х) является нечётной, то общепринято при аппроксимации использовать только члены полинома с нечётными степенями. В тоже время интересно отметить, что для Р(х) = х • (1,054 - 0,256 • х) с чётной степенью при меньшем числе вычислительных операций равном пяти получаем и
меньшее значение 8ММ = 3,5 • 10 3, чем для по-
^ММ
линома за №2 в таблице 5. Естественно, что в этом случае уменьшается диапазон представления функции.
При вычислении функции ат^(х) на интервале [-1;1] введены два подинтервала с двумя полиномами 1-й-5-й степеней с одинаковыми погрешностями 8ММ (таблица 6).
Обеспечено уменьшение погрешности 8ММ по сравнению с полиномом 1-й степени Р(х) = 0,83 • х в 0,047/0,008 = 5,9 раза, по сравнению с полиномами 3-й и 5-й степеней (таблица 6) обеспечено уменьшение погрешности соответственно в 4,95 • 10-3/4,5 • 10-4 =11 и 6 •10^/2,94 •Ю-5 = 20,4 раз при увеличении сложности алгоритма только на две операции [9, 10]. Итак, целесообразно введение подин-тервалов, поскольку приращение числа разрядных цифр на одну операцию будет больше чем одна.
Обеспечена возможность сокращения разрядных сеток операндов. Для полинома 9-й степени
Р(х) = х (0,9998 +х2 (-0,3303 + х2 (0,1801 + + х2 (-0,0851 + 0,0208 х2 ))))) с простым урезанием 5р = 1,532 • 10-5, а с компенсацией для полинома
Р(х) = х (0,9998 + х2 (-0,3304 + х2 (0,1805 + + х2 (-0,0851 + 0,0211 х2 )))))
5 = 1,8 • 10-6, т.е. погрешность уменьшилась
в 1,532 • 10-5/1,8 • 10-6 = 8 раз. Для полинома 15-й степени
Р(х) = х (0,9999993 + х2 (-0,3332986 + + х2 (0,1994663 + х2 (-0,13909+х2 +(0,0964319 + + х2 (-0,0559261 + х2 (0,0218726 -- 0,00450572 х2))))))) без компенсации погрешность 5 = 1,7 • 10-6 , а
с компенсацией для полинома
Р(х) = х (0,9999993 + х2 (-0,3333012 + + х2 (0,1994861 + х2 (-0,1391981+ + х2 + (0,0967274 + х2 (-0,0563533 + + х2 (0,0221851 - 0,0041481 х2))))))) ёр = 4,72 -10-8, т.е. погрешность уменьшилась
в 1,7 • 10-6/4,72 • 10-8 = 36 раз.
Для вычисления функции а1гат(х) одного полинома на всем интервале задания аргумента х е[-1; 1] для погрешностей 8МММ в диапазоне от 0,15 до 0,0015 обеспечивается незначительное приращение числа значащих цифр результата на одну операцию при последовательном
Таблица 7. Полиномы вычисления arcsm(x) на интервале х е [0; 0,707]
№ Формулы полиномов Максимальная погрешность Количество операций
А+т А
1 а0 = 0 а1 ф 0 Р(х) = 1,08 • х 2,0910-2 4 2
2 а0 = 0 Р(х) = х • (0,9895 + 0,2379 • х2) 1,610-3 6 4
а1 ф 0
2* а0 = 0 а1 ф 0 3 Р( х) = х + 0,2379 • х3 7,96 • 10-3 5 3
3 а0 = 0 Р(х) = х• (1,0015 + х2 • (0,1453 + 0,1454• х2)) 1,6210-4 9 6
а1 ф 0
4 а0 = 0 а1 ф 0 Р(х) = х • (0,99977 + х2 • (0,17219 + х2 • (0,04023 + +0,11817 • х2))) 1,89 •Ю"5 12 8
5 а0 = 0 а1 ф 0 Р (х) = х • (1,000036 + х2 (0,165359 + х 2(0,088178 + +х2(-0,007369 + 0,110056 • х2)))) 2,39 -Ш6 15 10
6 а0 = 0 а1 ф 0 Р( х) = х • (0,9999944 + х2(0,1669578 + х2(0,0707215 + +х2(0,0709638 + х2(-0,0443618 + 0,1109995 • х2))))) 3,18 40-7 18 12
Таблица 8. Полиномы вычисления arcsm(x) с разбиением на подинтервалы
№ Интервал Формула полинома 5мм
1 [0; 0,475] Р( х) = 1,042 • х - 0,004 3,98 40-3
[0,475; 0,707] Р( х) = 1,251 х - 0,103
2 [0; 0,499] Р (х) = 0,0001 + х • (0,9973 + 0,1968 • х2) 1,66^10 -4
[0,499; 0,707] Р (х) = 0,0371 + х• (0,8885 + 0,3389 • х2)
3 [0; 0,511] Р (х) = -8,92 • 10-6 + х • (1,00021 + х2 • (0,16238 + +0,10272 • х2)) 8,9 40-6
[0,511; 0,707] Р(х) = -0,01662 + х • (1,05802 + х2 • (0,02646 + 0,25181 х2))
4 [0; 0,5175] Р(х) = -5,36 • 10-7 + х • (0,999985 + х2 • (0,167201 + +х2 • (0,068752 + 0,071366 • х2))) 5,4 40-7
[0,5175; 0,707] Р(х) = 0,008190 + х • (0,967809 + х2 • (0,272555 -- х2 (0,144085 + 0,248582 • х2)))
увеличении степени полинома с 1-й до 9-й и выше. Поэтому для поиска набора полиномов с большим увеличением значений приращения числа двоичных цифр результата на одну операцию исследован интервал [0; 0,707]. Для функции а1гат(х) в интервале значений аргумента [0; 0,707] при часто используемых на практике области значений угла [00;450] для
диапазона погрешностей 8ММ от 2,0985140-2 до
6,229703 • 10-9 получены полиномы с нечётными степенями (таблица 7). Уменьшение погрешности для: полинома 3-й степени по сравнению с полиномом 1-й степени составит ; соответственно: -й 16,02/1,628 = 9,81,
20,98/1,6 = 13,2 5-й с 3
7-й с 5-й 16,28/1,897 = 8,582, 9-й с 7-й 18,97/2,392 = 7,94, 11-й с 9-й 23,92/3,188 = 7,5, 13-й с 11-й 31,88/4,39 = 7,26, 15-й с 13-й 43,9/6,23 = 7,05 .
В среднем имеем приращение порядка 1-й разрядной двоичной цифры на одну операцию. Исследована возможность уменьшения дискрета приращения числа операций путём фактического исключения константы ai в полиноме (принимаем a1 = 1, полином №2 в таблице 7) [11]. Но уменьшение числа операций на одну обеспечивает уменьшение погрешности по сравнению с полиномом 1-й степени только в 20,98/7,96 = 2,62 раза.
Для увеличения значения приращения числа двоичных цифр результата на одну операцию, интервал [0; 0,707] разбит на два подин-тервала с двумя полиномами 1-й-7-й степеней с примерно одинаковыми погрешностями 8 ММ
на подинтервалах (таблица 8).
Для двух полиномов 1-й степени не обеспечено уменьшение погрешности 8ММ по сравнению с полиномом 3-й степени P(x) = х • (0,9895 + 0,2379 • x2) с одним интервалом интерполяции и одинаковым количеством операций, равным шести. В тоже время, для двух полиномов 7-й степени с общим числом операций равным 16, максимальное значение погрешности составит 5,35 • 10-7.
Для полинома 11-й степени (таблица 7) максимальное значение погрешности 8ММ составит 3,188161 • 10-7 при количестве операций равном 18. Таким образом, разбиение интервала [0; 0,707] на подинтервалы становится эффективным при значении максимальной погрешности порядка 5 • 10-7 и менее.
Для полинома 15-й степени
P(x) = x (0,999999853 + x2(0,166679859 + + x2 (0,074656216 + x2 (0,048657131 + + x2 (0,005951528 + x2 (0,104078692 + + x2 (0,128502198 + 0,130331660 x2))))))
без компенсации погрешность 5 = 7,83 • 10 8,
а с компенсацией для полинома
P(x) = x (0,999999855 + x2 (0,166679861 + + x2 (0,074656217 + x2 (0,048657133 + +x2 (0,005951529 + x2 (0,104078691 + + x2 (0,128502199 +0,130331661x2)))))), 5р = 6,2 • 109 т.е. погрешность уменьшилась в
7,83 • 10"8/6,2 • 10~9 = 12 раз.
Впервые создан банк тригонометрических функций с диапазоном приведённых относительных погрешностей порядка [0,2; 10-8]. Разработаны улучшенные алгоритмы воспроизведения при обеспечении нарастающего дискретного приращения двух-трех и более значащих цифр результата при фиксированном возрастании сложности алгоритма не более чем на 2-3 операции в диапазоне представления выходных данных 2-32 и более двоичными разрядами. Обеспечено уменьшение погрешности результата путем взаимной компенсации составляющих погрешностей, сокращены разрядные сетки специализированных вычислителей на 2-5 двоичных разрядов.
Работа выполнена при поддержке гранта РФФИ № 18-37-00077 и конкурса инновационных проектов Владимирской области «УМ-НИК-2018».
Литература
1. Чекушкин В.В., Жиганов С.Н., Быков А.А., Михеев К.В. Воспроизведение траекторий движения объектов в системах контроля воздушного пространства // Мехатроника, Автоматизация, Управление. № 2, Том 19. 2018. С. 126-133.
2. Жиганов С.Н., Романов Д.Н., Смирнов М.С., Михеев К.В. Модель формирования траектории движения воздушных объектов // Свидетельство о государственной регистрации программы для ЭВМ №2019618346 от 28.06.2019 г.
3. Zhiganov S.N., Zhiganova E.A., Mikheev K.V. Development of the Method for Constructing Trajectories of Air Objects // 2018 International MultiConference on Industrial Engineering and Modern Technologies (FarEastCon), 3-4 Oct. 2018, IEEE Xplore Digital Library. 2018, Pp. 1-4. DOI: 10.1109/FarEastCon.2018.8602549/
4. Ashrafi A., Adhami R., Milenkovic A. A direct digital frequency synthesizer based on the Quasilinear interpolation method. - IEEE Trans. Circuit Syst. I, Reg. Papers, Apr. 2010. Vol. 57. No. 4. Pp. 863-872.
5. Caro D, Petra N., Strollo A. Direct digital frequency synthesizer using nonuniform piecewiselinear approximation. - IEEE Trans. Circuit Syst. I, Reg. Papers, Oct. 2011. Vol. 58. No. 10. Pp. 2409- 2419.
6. Чекушкин В.В., Жиганов С.Н., Быков А.А., Михеев К.В. Сравнительный анализ методов аппроксимации гармонической функции // Вестник ПГТУ. 2018. № 3 (39). С. 58-66.
7. Danilin S.N., Shchanikov S.A., Panteleev S.V. Determining Operation Tolerances of Memristor-Based Artificial Neural Networks // Engineering and Telecommunication (EnT), 2016 International Conference. 2016. Pp. 34-38. D0I:10.1109/EnT. 2016.016.
8. Жиганов С.Н., Михеев К.В. Поиск полиномов Чебышева, обеспечивающих минимизацию площа-
Поступила 2 сентября 2019 г.
ди ошибок // Методы и устройства передачи и обработки информации. 2018. № 20. С. 100-102.
9. Chekushkin V.V., Zhiganov S.N. Computational methods in optimization of engineering problems. Raleigh, North Carolina, USA: Open Science Publishing, 2018. 202 p.
10. Чекушкин В.В., Михеев К.В., Жиганов С.Н., Быков А.А. Математическое моделирование и вычислительные алгоритмы в радиотехнических системах // Вестник Концерна ВКО «Алмаз - Антей». 2017. № 1. С. 98-104.
11. Опадчий Ю.Ф., Чумакова Е.В. Исследование методов вычислений элементарных математических функций и их реализация на ПЛИС // Информационные технологии. 2013. №4. С. 52-56.
English
IMPROVEMENT OF TRIGONOMETRIC FUNCTION REPRODUCTION METHODS IN RADAR DATA PROCESSING SYSTEMS
Vsevolod Viktorovich Chekushkin - Doctor of Engineering Sciences, Professor, CAD Department, Murom Institute (Branch) Federal State Budgetary Educational Institution of Higher Professional Education "Vladimir State University named after Alexander Grigoryevich and Nickolay Gri-goryevich Stoletov1".
Sergey Nikolayevich Zhiganov - Candidate of Engineering Sciences, Associate Professor, Radio Engineering Department, Murom Institute (Branch) Federal State Budgetary Educational Institution of Higher Professional Education "Vladimir State University named after Alexander Grigo-ryevich and Nickolay Grigoryevich Stoletov1".
Kirill Valeryevich Mikheyev - Candidate of Engineering Sciences, Lead Engineer, JSC "Murom Plant of Radio Measuring Instruments2".
E-mail: [email protected].
1Address: 602254, Vladimir region, Murom, Orlovskaya street, 23.
2Address: 602267, Vladimir region, Murom, Karacharovskoe highway, 2.
Abstract: Various methods of trigonometric function reproduction are widely used in computational procedures of primary and secondary radar data processing systems, radar control and diagnostics systems. This paper deals with search for Chebyshev polynomials of best approximation of varying degrees based on integrated optimization criterion, which minimize the maximum possible approximation error within 3...64 significant output figures. The algorithm efficiency estimation was evaluated by the maximized gain at the limited costs not exceeding a certain value, and the cost was the sum denoting the number of mathematical operations and the number of invariables extracted from memory. Chebyshev polynomials from zero power to eleventh power are obtained; their corresponding values of approximation accuracy are calculated and computational costs for approximation of standard trigonometric functions of sine, tangent and inverse trigonometric functions - arcsine and arctangent- are derived. To improve approximation accuracy of trigonometric and arc trigonometric functions in the specified interval of values, a method of splitting into two subintervals is proposed, which ensures twofold increase of approximation accuracy with a slight gain in algorithm complexity. A pool of trigonometric functions with the range of given rate errors of order [0.2; 10-8] was created for the first time. Improved reproduction algorithms are developed when ensuring the rise of discrete increment of two or three or more significant result figures with a fixed increase in algorithm complexity of no more than for 2-3 operations in representation range for output data of 2-32 and more binary bits. Result error reduction is provided via cancellation effect of component errors, bit grids of special-purpose matchers are reduced by 2-5 binary bits.
Keywords: radar data processing system, standard functions, best approximation polynomials, specialpurpose matchers.
The research work was fulfilled with the assistance ofRFBR grant No. 18-37-00077 and Innovative project initiative "UMNIK-2018"of Vladimirskaya oblast.
References
1. Chekushkin V.V., Zhiganov S.N., Bykov A.A., Mikheev K. V. Object path travel replication in air traffic control systems. Mechatronics, Automation, Management. 2018. No. 2. Vol. 19. Pp. 126-133.
2. Zhiganov S.N., Romanov D.N., Smirnov M.S., Mikheev K. V. Path generation model of airborne object movement. Certificate of State Registration of computer program No. 2019618346; dated 28.06.2019.
3. Zhiganov S.N., Zhiganova E.A., Mikheev K.V. Development of the Method for Constructing Trajectories of Air Objects. 2018 International Multi-Conference on Industrial Engineering and Modern Technologies (FarEastCon). 3-4 Oct. 2018. IEEE Xplore Digital Library. 2018. Pp. 1-4. DOI: 10.1109/FarEastCon. 2018.8602549/.
4. Ashrafi A., Adhami R., Milenkovic A. A direct digital frequency synthesizer based on the Quasilinear interpolation method. - IEEE Trans. Circuit Syst. I, Reg. Papers, Apr. 2010. Vol. 57. No. 4. Pp. 863-872.
5. Caro D., Petra N., Strollo A. Direct digital frequency synthesizer using nonuniform piecewiselinear approximation. IEEE Trans. Circuit Syst. I, Reg. Papers, Oct. 2011. Vol. 58. No. 10. Pp. 2409-2419.
6. Chekushkin V.V., Zhiganov S.N., Bykov A.A., Mikheev K.V. Comparative analysis of harmonic function approximation methods. Vestnik of VSUT. 2018. No. 3 (39). Pp. 58-66.
7. Danilin S.N., Shchanikov S.A., Panteleev S.V. Determining Operation Tolerances of Memristor-Based Artificial Neural Networks. Engineering and Telecommunication (EnT), 2016 International Conference. 2016. Pp. 34-38. DOI: 10.1109/EnT.2016.016.
8. Zhiganov S.N., Mikheev K. V. Search for Chebyshev polynomials that ensure error area minimization. Methods and equipment of data transmission and processing. 2018. No. 20. Pp. 100-102.
9. Chekushkin V.V., Zhiganov S.N. Computational methods in optimization of engineering problems. Raleigh, North Carolina, USA: Open Science Publishing, 2018. 202 p.
10. Chekushkin V.V., Mikheev K.V., Zhiganov S.N., Bykov A.A. Mathematical simulation and computational algorithms in electronic systems. Bulletin of Almaz - Antey ASD Corporation. 2017. No. 1. Pp. 98-104.
11. Opadchiy Yu.F., Chumakova E.V. Research of computing methods for elementary mathematical functions and their PLD implementation. Information Technologies. 2013. No. 4. Pp. 52-56.