Математическое моделирование и вычислительные алгоритмы в радиотехнических системах
Аннотация
Ключевые слова
Для цитирования:
Чекушкин В.В., Михеев К.В., Жиганов С.Н., Быков А.А. Математическое моделирование и вычислительные алгоритмы в радиотехнических системах. Вестник Концерна ВКО «Алмаз – Антей». 2017;(1):98-104. https://doi.org/10.38013/2542-0542-2017-1-98-104
For citation:
Chekushkin V.V., Mikheev K.V., Zhiganov S.N., Bykov A.A. Mathematical modelling and computational algorithms in radio engineering systems. Journal of «Almaz – Antey» Air and Space Defence Corporation. 2017;(1):98-104. https://doi.org/10.38013/2542-0542-2017-1-98-104
Введение
Переход на цифровые методы обработки информации предполагает оптимизацию методов реализации функциональных зависимостей, определяющих характеристики специализированных вычислителей (СВ) радиотехнических систем [1, 2]. Правильный выбор физических эталонов, узлов интерполяции полиномов наилучшего приближения Чебышёва при калибровке обеспечивает повышение точностных характеристик измерительных систем, находящихся в эксплуатации [3, 4], в несколько раз. Высокая эффективность СВ достигается за счет упрощения, адаптации вычислительных алгоритмов к более узкому классу задач и требований по точности путем минимизации разрядных сеток [2, 5, 6]. Так, например, измерительный канал с восьмиразрядными аналого-цифровыми преобразователями (АЦП) и СВ при использовании специальных методов обработки информации могут обеспечить погрешность результата δρ менее единицы (1/256) младшего разряда представления выходной информации в двоичной системе, т. е. соответствовать прибору с приведенной относительной погрешностью 0,195 % класса точности 0,2/0,1.
В СВ для приближения стандартных функций, воспроизведения рабочих эталонов, калибровки измерительных систем широко применяется полиномиальный метод. Аппроксимируем функцию f (x) с помощью полинома степени n
При этом ограничение числа операций и устранение избыточной точности результата достигается путем ограничения числа членов в полиноме (1), начиная с (n + 1)-й степени, исходя из оценки максимального значения погрешности метода δmax м в полиноме Чебышёва
Здесь - производная (n +1) -го порядка на интервале аппроксимации;
f (x) - Ln (х) = δτ - текущая погрешность метода воспроизведения функции.
Необходимо проводить оптимизацию коэффициентов полинома, когда имеет место изменение значений производной f[ я+1]( x). Важно правильно выбрать интервал аппроксимации в полиноме (1) [2, 7, 8].
Улучшению методов воспроизведения типовых функциональных зависимостей, используемых в вычислительных процедурах основных алгоритмов работы радиолокационных устройств, с позиций оптимизации критериев вычислительного процесса (точностных характеристик, быстродействия и программноаппаратных затрат) посвящен ряд работ [2, 6-8]. Однако в указанных работах по большей степени рассмотрены конечные результаты совершенствования непосредственно численных методов воспроизведения типовых функциональных зависимостей, не приведены конкретные методы математического моделирования, компьютерной математики, которая развивается как научное направление на стыке математики и информатики. Кроме того, в них не рассмотрены вопросы уменьшения времени для реализации компьютерных программ поиска оптимальных алгоритмов.
Цель работы - разработка быстродействующих компьютерных программ поиска полиномов наилучшего приближения для воспроизведения функциональных зависимостей, градуировочных характеристик информационно-измерительных систем с повышенными точностными характеристиками, быстродействием и ограниченным числом разрядов представления информации в СВ.
Совершенствование методов моделирования и оптимизации вычислительных алгоритмов
На первом этапе оптимизация процесса вычисления полинома (1) производится путем минимизации числа вычислительных операций А и числа обращений к памяти m при заданных значениях погрешности δmax. м.
Поиск проводится в соответствии со стратегией максимальной идентичности графиков функции f (x) или преобразовательной характеристики датчика измерительной системы и приближающего полинома Ln (х) [7, 8]. При этом исключаются неэффективные, оказывающие меньшее влияние на значение погрешности δmaxм члены ряда ai xi , константы ai, например, когда задаются а0 = 0, а1 = 1, используются только четные (нечетные) члены ряда и т. п. В усеченном полиноме наилучшего приближения Ln (x) с m < n +1 оставшимися константами ai на интервале аппроксимации обеспечивается, по крайней мере (m +1) точек, в которых с учетом неустранимых погрешностей Δδmaxм погрешности δmaxм принимают равные максимальные значения +(δmaxм ± Δδmaxм ) и -(δmaxм ± Δδmaxм ) (рис 1). По сравнению с полиномом (1) для уменьшения числа членов, констант полинома требуется меньшее число операций, узлов аппроксимации и физических эталонов, как при вычислении функций, так и при калибровке измерительного канала системы.
Рис. 1. Окно программы поиска полиномов наилучшего приближения
При компьютерном моделировании обеспечивается возможность получить полиномы наилучшего приближения, например, с 16 десятичными цифрами результата. В то же время уже с тремя десятичными верными цифрами фактически можно обеспечить десятиразрядное представление результата в двоичной системе счисления. Такое представление потенциально обеспечивает возможность получить приведенную относительную погрешность результата порядка 0,05-0,1 %. В измерительном канале с аналоговым датчиком, работающим на восьмиразрядном АЦП, принципиально можно уменьшить приведенную относительную погрешность системы обработки информации до значений 2-9 · 100...2-8 · 100 %.
Работающие с датчиками и системами АЦП имеют примерно равный двум двоичным разрядам дискрет приращения разрядности. Для оптимизации аппаратурных затрат путем устранения избыточной точности СВ, реализуемые на программируемых логических интегральных схемах (ПЛИС), целесообразно проектировать с переменной и минимальной разрядностью. При меньшем числе разрядов существенно снижаются программно-аппаратурные затраты на реализацию ПЛИС и повышается быстродействие СВ. По этим причинам актуально уменьшение разрядных сеток операндов СВ при приемлемом сохранении заданных точностных характеристик систем в целом. Однако в реальных условиях при обработке информации, воспроизведении функций возникает дополнительная составляющая погрешности δк, обусловленная квантованием констант полинома с урезанием разрядных сеток в полиноме (1): δк = Δα0ρ + + Δα1ρ х + Δα2ρ x2 + ... + Δαnρ xn.
Обеспечим уменьшение погрешности δΓ, на выходе СВ системы, определяемой как сумма погрешностей метода δм квантованного представления δαί набора констант ai, промежуточных преобразований δпр с ограниченным числом разрядов в форматах данных СВ. В связи с этим на втором этапе оптимизации вычислительного алгоритма производится такое сокращение разрядных сеток СВ, чтобы погрешность результата не увеличивалась более чем на 5-10 % от погрешности δmax . м. При возрастании значений аргумента график погрешности δm полинома наилучшего приближения в полиноме (1) представляет знакочередующуюся функцию (см. рис. 1). Его формой можно управлять, меняя узлы аппроксимации или коэффициенты в полиноме. Значения погрешностей урезания констант ai определяют степень наклона линейной функции aix и растяжения парабол aixi и монотонно возрастают по абсолютной величине с ростом аргумента E. В то же время в совокупности графики комбинаций парабол с разным знаком, например, y = ∆a3x3 -∆a1X1, функции δк = = Δα0р + Δα1ρx + Δα2ρx2 + ... + Δαnρxn при определенных соотношениях квантованного представления δαί набора констант at могут напоминать графики погрешностей аппроксимации полиномом наилучшего приближения (см. рис. 1), в том числе и с противоположными знаками.
Из анализа графиков совместного влияния составляющих погрешностей на погрешность δρ разрабатываются алгоритмы взаимной компенсации составляющих погрешности результата. В определенных пределах эти погрешности с использованием методов математического моделирования искусственно можно сделать с разными знаками и «спрятать» друг в друга.
Компенсацию можно реализовать методом простого перебора всех возможных взаимных комбинаций отклонений констант в пределах определенного числа последних отбрасываемых цифр с фиксацией каждый раз наименьшего значения δр. Общее число комбинаций составляет j = sm (где m < n - количество коэффициентов полинома; s - число перебираемых вариантов для одной константы ai), но при таком подходе при s = 1000 и m = 7 получим 10007 вариантов перебора. Для значительного уменьшения числа вариантов перебора (итераций) осуществляется последовательное урезание одной или определенного числа разрядных цифр с последующей проверкой только максимального значения погрешности и сравнения ее с ранее полученным значением δmax . м. Поиск полиномов с урезанием разрядных сеток операндов проводится до таких критических минимальных значений числа значащих цифр констант, когда их последовательное сокращение еще не оказывает практического влияния на погрешность δρ (например, увеличение δρ по сравнению с δmax. м на 1-2 %). После этого урезается еще одна разрядная цифра, определяется число итераций комбинаций (в данном случае 107 ) и запускается цикл перебора массива пробных коэффициентов (рис. 2).
Рис. 2. Алгоритм минимизации числа разрядов для расчета коэффициентов полинома
Этот цикл выполняется методом прямого перебора по всем возможным комбинациям значений коэффициентов. Для очередной итерации определяется максимальная погрешность, которая сравнивается с предыдущим значением. Коэффициенты с меньшим значением погрешности запоминаются. По окончании цикла фиксируются коэффициенты с наименьшим значением погрешности результата. Если значение погрешности δp превышает значение δmaxм на 5-10 %, то число разрядных цифр увеличивается на 1. С помощью разработанного графического интерфейса результаты моделирования с параметрами полинома и графика погрешности выводятся на экран.
В соответствии с вышеизложенным, были разработаны методы поиска полиномов наилучшего приближения в средах программирования MathCad, Delphi, Builder C+ + [8]. Перед проведением эксперимента вводится количество членов полинома (например, 3), аппроксимируемая функция (arcsin(x)), начало и конец интервала (0 и π/4), определяется наличие только членов полинома с нечетной степенью. Под надписью «Экстраполяция» находится указатель «Есть», который обозначает присутствие члена полинома а0. В следующем за этой надписью окне задается число десятичных цифр после запятой. Командой «Пуск» задается полином Ньютона, а с помощью команды «Улучш.» он превращается в полином наилучшего приближения. В программе предусмотрена последующая компенсация составляющих погрешностей результата при урезании разрядных сеток.
Оптимизированный набор алгоритмов вычисления функции arcsin (л)
Специализированные вычислители широко используются в приборах для генерации гармонических сигналов, в быстродействующих цифровых вычислительных синтезаторах с аппаратурной реализацией воспроизведения функций sin(x), tg(x), arcsin(x) [8]. Для вычисления функции arcsin (x) одного полинома при изменении значения аргумента x от -1 до 1 для максимальных значений погрешностей аппроксимации δmaxм в диапазоне 0,15-0,0015 обеспечивается незначительное приращение числа значащих цифр результата на одну операцию при последовательном увеличении степени полинома с первой до девятой и выше. Исходя из этого, для поиска набора полиномов с большим увеличением значений приращения числа двоичных цифр результата на одну операцию был исследован интервал [0; 0,707].
В соответствии с разработанными алгоритмами поиска полинома наилучшего приближения для функции arcsin(x) в интервале значений аргумента [0; 0,707] при часто используемой на практике области значений угла [0°; 45°] для диапазона 2,09851 10-26,229703 10-9 погрешностей δmaxм получены полиномы с нечетными степенями (табл. 1). Уменьшение погрешности для полинома третьей степени по сравнению с полиномом первой степени составит 20,98/1,6 = 13,1. Тогда для полиномов пятой степени по сравнению с третьей степенью уменьшение погрешности составит 16,02/1,628 = 9,84, седьмой степени по сравнению с пятой степенью - 16,28/1,897 = 8,582, девятой степени по сравнению с седьмой степенью - 18,97/2,392 = = 7,93, 11-й степени по сравнению с девятой степенью - 23,92/3,188 = 7,5. В среднем имеем приращение порядка одной разрядной двоичной цифры на одну операцию. Проведено исследование возможности уменьшения дискрета приращения числа операций путем фактического исключения константы ai в полиноме (принимаем ах = I, полином № 2' в табл. 1).
Таблица 1
Полиномы вычисления функции arcsin (х) на интервале x е [0; 0,707]
№ | Формулы полиномов | Максимальная погрешность | Количество операций | ||
---|---|---|---|---|---|
A + m | A | ||||
1 | а0 = 0, а1 ≠ 1 | P(x) = 1,08x | 2,09 10-2 | 4 | 2 |
2 | а0 = 0, а1 ≠ 1 | P(x) = x(0,9895 + 0,2379x2) | 1,60 10-3 | 6 | 4 |
2' | а0 = 0, а1 ≠ 1 | P(x) = x + 0,2379x3 | 7,96 10-3 | 5 | 3 |
3 | а0 = 0, а1 ≠ 1 | P(x) = x(1,0015 + x2 (0,1453 + 0,1454x2)) | 1,62 10-4 | 9 | 6 |
4 | а0 = 0, а1 ≠ 1 | P(x) = x(0,99977 + x2(0,17219 + x2(0,04023 + 0,11817x2))) | 1,8910-5 | 12 | 8 |
В данном случае уменьшение числа операций на 1 обеспечивает уменьшение погрешности по сравнению с полиномом первой степени только в 20,98/1,96 = 2,63 раза.
Для поиска полиномов с возможным большим увеличением значения приращения числа двоичных цифр результата на одну операцию интервал [0; 0,707] был разбит на два подынтервала с двумя полиномами от первой до седьмой степени с примерно одинаковыми погрешностями δmax м на подынтервалах (табл. 2). Для двух полиномов первой степени не обеспечено уменьшение погрешности δmax м по сравнению с полиномом третьей степени P(x) = x(0,9895 + 0,2379x2) с одним интервалом интерполяции и одинаковым количеством операций, равным 6. В то же время для двух полиномов седьмой степени с общим числом операций, равным 16, максимальное значение погрешности составит 5,35 10-7.
Таблица 2
Полиномы вычисления функции arcsrn(x) с разбиением на подынтервалы
№ | Интервал | Формула полинома | δMM |
---|---|---|---|
1 | [0; 0,475] | P(x) = 1,042x - 0,004 | 3,9810-3 |
[0,475; 0,707] | P(x) = 1,251x - 0,103 | ||
2 | [0; 0,499] | P(x) = 0,0001 + x(0,9973 + 0,1968x2) | 1,6610-4 |
[0,499; 0,707] | P(x) = 0,0371 + x(0,8885 + 0,3389x2) | ||
3 | [0; 0,511] | P(x) = -8,92 · 10-6 + x(1,00021 + x2 (0,16238 + 0,10272x2)) | 8,90 10-6 |
[0,511; 0,707] | P( x) = -0,01662 + x(1,05802 + x2 (0,02646 + 0,25181x2)) |
В результате удалось обеспечить взаимную компенсацию составляющих погрешностей для уменьшения разрядных сеток операндов. Для полинома 15-й степени
без компенсации погрешность составила δр = = 7,83 · 10-8.
С компенсацией для полинома она равна δρ = 6,2 · 10-9, т. е. погрешность уменьшилась в 7,83 · 10-8/6,2 · 10-9 = 12 раз.
Введение сокращенного интервала для значений угла от 0° до 45° обеспечивает приращение одной двоичной цифры результата на одну операцию, что примерно в 3 раза больше приращения для значений углов от 0° до 90°. При взаимной компенсации составляющих погрешностей результата обеспечено уменьшение разрядных сеток операндов для полиномов седьмой степени и выше примерно на два-три двоичных разряда.
Заключение
В средах программирования MathCad, Delphi, Builder C++ разработаны программы поиска полиномов наилучшего приближения для воспроизведения функциональных зависимостей с взаимной компенсацией составляющих погрешностей результата. Созданы алгоритмы вычисления функции arcsin(x) с устранением избыточной точности путем обеспечения последовательного дискретного приращения 1-3 двоичных цифр результата при возрастании сложности алгоритмов не более чем на 2-5 операций в диапазоне представления выходных данных приборов и систем 3-32 двоичными разрядами. Математическое моделирование вычислительных алгоритмов обеспечило сокращение разрядных сеток СВ на 2-5 двоичных разряда.
Список литературы
1. Ларионов В.А. Концепция калибровки интеллектуальных датчиков // Приборы и системы. Управление, контроль, диагностика.2012. № 12. С. 46-51.
2. Гришин В.Ю., Пантелеев И.В., Чекушкин В.В. Совершенствование методов, математических моделей реализации вычислительных процессов в радиолокационных системах // Вестник воздушно-космической обороны. 2014. № 3. С. 25-29.
3. Аверьянов А.М., Чекушкин В.В. Метод поиска полиномов наилучшего приближения для воспроизведения функциональных зависимостей калибровки датчиков и измерительных систем // Датчики и системы. 2009. № 3. С. 2-6.
4. Чекушкин В.В., Алексеева Л.Г. Коррекция погрешностей в измерительных приборах // Приборы и системы. Управление, контроль, диагностика. 2008. № 5. С. 38-43.
5. Caro D., Petra N., Strollo A. Direсt digital frequency synthesizer using nonuniform piece-wise-linear approximation // IEE Trans. Circuit Syst. I, Reg. Papers. 2011. Vol. 58. No. 10. Pp. 2409-2419.
6. Чекушкин В.В., Михеев К.В., Пантелеев И. В. Совершенствование полиномиальных методов воспроизведения функциональных зависимостей в информационно-измерительных системах // Измерительная техника. 2015.№ 4. С. 16-21.
7. Чекушкин В.В., Михеев К.В. Быстродействующие алгоритмы поиска полиномов наилучшего приближения для воспроизведения функциональных зависимостей в информационно-измерительных системах // Измерительная техника. 2016. № 4. С. 7-10.
8. Чекушкин В.В., Михеев К.В. Программа поиска полиномов наилучшего приближения для воспроизведения функциональных зависимостей с взаимной компенсацией составляющих погрешностей результата. Свидетельство о регистрации программы для ЭВМ № 2015610539. 13.01.2015.
Об авторах
В. В. ЧекушкинРоссия
К. В. Михеев
Россия
С. Н. Жиганов
Россия
А. А. Быков
Россия
Рецензия
Для цитирования:
Чекушкин В.В., Михеев К.В., Жиганов С.Н., Быков А.А. Математическое моделирование и вычислительные алгоритмы в радиотехнических системах. Вестник Концерна ВКО «Алмаз – Антей». 2017;(1):98-104. https://doi.org/10.38013/2542-0542-2017-1-98-104
For citation:
Chekushkin V.V., Mikheev K.V., Zhiganov S.N., Bykov A.A. Mathematical modelling and computational algorithms in radio engineering systems. Journal of «Almaz – Antey» Air and Space Defence Corporation. 2017;(1):98-104. https://doi.org/10.38013/2542-0542-2017-1-98-104