УДК 621.391.037.37:004.31 ББК З811.3-043
НА. ГАЛАНИНА, Н.Н. ИВАНОВА
К ВОПРОСУ ОБ ОПТИМИЗАЦИИ СИНТЕЗА УСТРОЙСТВ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ ДЛЯ ЦИФРОВОЙ ФИЛЬТРАЦИИ В СИСТЕМЕ СЧИСЛЕНИЯ В ОСТАТОЧНЫХ КЛАССАХ*
Ключевые слова: оптимизация, цифровой фильтр (ЦФ), система остаточных классов (СОК), масштабирующий множитель, основания СОК.
Цифровые устройства обработки сигналов на основе СОК по сравнению с позиционными аналогами обладают большим быстродействием, точностью и надежностью. В СОК целое число представляется в виде упорядоченного набора неотрицательных вычетов (остатков) по группе взаимно простых оснований (модулей). Для синтеза ЦФ в СОК необходимо предварительное масштабирование весовых коэффициентов фильтра (позиционного прототипа). Выбор масштабирующего множителя основан на идеи корреляции величины модуля СОК со значением весовых коэффициентов ЦФ, благодаря чему достигается дополнительное сокращение количества арифметических операций. В статье разработан алгоритм оптимального выбора масштабирующего множителя для представления весовых коэффициентов ЦФ в СОК, позволяющий упростить реализацию спецпроцессора. На языке программирования С++ была написана программа, которая позволяет производить расчеты цифровых фильтров Баттерворта, Чебышева 1-го и 2-го рода, эллиптического фильтра, осуществлять перевод цифрового фильтра в систему остаточных классов с заданными основаниями, подбирать оптимальный набор модулей СОК, выбирать масштабирующий множитель, производить расчет погрешности, вносимой перекодированием коэффициентов фильтра, и коэффициента оптимизации фильтра в СОК, а также выводить зависимости коэффициента оптимизации, погрешности и суммы остатков от масштабирующего множителя в виде графиков. Проведенное компьютерное моделирование показало, что возможно подобрать масштабирующий множитель, при котором коэффициент оптимизации будет максимальным, а погрешность перекодировки - минимальной.
В настоящее время особую актуальность приобретают исследования в области цифровой обработки сигналов с применением непозиционных систем счисления, наиболее перспективной из которых является система счисления в остаточных классах (СОК) [1, 2, 4, 6, 8]. СОК обладает высоким уровнем естественного параллелизма, что позволяет увеличить быстродействие, точность и надежность синтезируемых устройств. Целое число в данной системе счисления представляется в виде упорядоченного набора неотрицательных вычетов (остатков) по группе взаимно простых оснований (модулей). При этом такие операции, как сложение, вычитание и умножение, являются модульными и выполняются без межразрядных переносов. Небольшая разрядность оснований СОК делает возможным реализацию выполнения модульных операций табличным способом.
* Исследование выполнено при финансовой поддержке РФФИ и Кабинета министров Чувашской Республики в рамках научного проекта № 17-47-210790 р_а.
Цифровые фильтры (ЦФ) на основе СОК можно реализовать двумя способами. Первый способ основывается на синтезе ЦФ на операционных устройствах (ОУ) в традиционной двоичной системе счисления, которая, как известно, является позиционной. В этом случае основная проблема заключается в выборе быстродействующих цифровых сигнальных процессоров с прогрессивной архитектурой. Второй способ основывается на разработке спецпроцессоров с учетом свойств вычетов СОК. При этом следует отметить, что переход к обработке сигналов в СОК простым копированием позиционного прототипа не является целесообразным, так как предварительное двоичное кодирование весовых коэффициентов вызывает двойной эффект ошибок округления результатов перекодирования для ЦФ в СОК, а простой переход к целым числам в рекурсивных фильтрах приведет к их неустойчивости [2].
В процессе разработки алгоритма фильтрации на первом этапе в обоих случаях определяются форма реализации и весовые коэффициенты фильтра при условии обеспечения требуемых энергетических характеристик, а на втором разрабатываются вычислительные алгоритмы цифровой фильтрации сигналов, кодированных вычетами СОК [3, 5].
К проблематике проектирования устройств цифровой фильтрации относится и вопрос о критериях их качества. Понятие оптимального решения при проектировании имеет определенное толкование - лучшее в том и ином смысле проектное решение, допускаемое обстоятельствами. Объективная сложность сравнительной оценки вариантов реализации ЦФ обусловлена тем, что при этом имеет значение набор свойств для каждого варианта, к которым в случае фильтрации в СОК относятся: быстродействие, аппаратурные затраты, точность, помехо- и отказоустойчивость, потребляемая мощность, простота реализации, а также показатели качества ЦФ, учитывающие специфику СОК.
При синтезе вычислительных алгоритмов цифровой фильтрации в СОК необходимо предварительно решить следующие задачи:
- выбрать оптимальный набор оснований СОК {А5} (разрядности Д) [7];
- выбрать оптимальный масштабирующий множитель для представления весовых коэффициентов ЦФ в СОК с целью упрощения реализации спецпроцессора, т.е. блока устройств в каналах СОК, в которых происходит обработка полученных вычетов в соответствии с заданным алгоритмом.
Вопросы выбора оптимального набора оснований СОК рассматривались авторами ранее, в частности в статье [5, 7]. Оптимальный набор оснований позволяет сократить аппаратурные затраты, необходимые для реализации блоков шифрования (перевода позиционного кода сигнала в СОК), и повысить точность обработки.
Целью данной статьи является разработка алгоритма оптимального выбора масштабирующего множителя для представления весовых коэффициентов ЦФ в СОК для упрощения реализации спецпроцессора и его программная реализация.
Как правило, коэффициенты цифрового фильтра являются дробными числами (т.е. нецелыми), а зачастую и отрицательными. Для их корректного представления в СОК используются масштабирующие множители. Множители выбираются из некоторого заданного интервала таким образом, чтобы как можно больше вычетов коэффициента цифрового фильтра, представленного в СОК, было равно основанию системы остаточных классов или отличалось от него на ±1. Такой выбор масштабирующих множителей позволяет сократить количество арифметических операций и, как следствие, упростить реализацию спецпроцессора и самого фильтра.
Упростить аппаратурную реализацию ЦФ в СОК можно также и за счет подбора модулей СОК, коррелированных со значениями весовых коэффициентов фильтра. Это позволяет исключить из алгоритма ряд сложных операций или упростить их.
Можно выделить следующие основные этапы решения задачи выбора модулей СОК и оптимального масштабирующего множителя [2, 7]:
1) предварительный выбор множества оснований СОК;
2) изменение выбранных оснований с целью их приближения к весовым коэффициентам (A, B = NS ± 1) путем введения масштабирующего множителя M;
3) подсчет аппаратурных затрат и быстродействия во всех случаях;
4) вычисление погрешностей.
Для оценки качества полученных решений в ходе синтеза устройств ЦФ был использован эвристический общий критерий:
v f n n
III "I D
СОК орк
Кш = --• 100%,
Орт п '
V •Е ^псс к к=1
где п - количество коэффициентов фильтра; V - количество каналов СОК; Апсс^ - количество арифметических операций для к-го коэффициента
фильтра в ПСС; £СОК - количество арифметических операций для к-го
0Ргк,т
коэффициента фильтра в СОК в т-м канале после оптимизации.
Таким образом, в ходе интерактивного синтеза устройств выбирались варианты с минимальными значениями таких параметров, как количество каналов СОК, суммарная разрядность модулей СОК, общее число арифметических операций.
На величину КорЛ также влияет значение масштабирующего множителя М. Выбирались такие значения М, при которых Кр=тах, а ошибки округления, возникающие при перекодировании в СОК, принимали минимальные значения.
Для выбора оптимального набора модулей СОК определялись следующие параметры: оптимальные наборы взаимно простых чисел {N3}: N1,N2,...,Nv , имеющие минимальную суммарную разрядность, для которых
V
ПЛ = N> 216 - 220; погрешность ДF, вносимая перекодированием весовых
5=1
коэффициентов фильтра А, В в СОК; сумма остатков 5ост для контроля максимальности результата; коэффициент Кор1; нормирующий множитель М и интервал его изменения. Для этого последовательно производился поиск наборов чисел {Л5} при изменении М. Таким образом, были найдены оптимальные наборы {Л5} для различных коэффициентов фильтра.
Далее производился поиск оптимальных множителей М для фиксированных наборов модулей {Л5} в случае, когда для разного количества коэффициентов фильтра используется одна система СОК {Л5} .
Программно данный алгоритм был реализован на языке С++. Написанная программа позволяет подбирать оптимальный набор модулей СОК, выбирать масштабирующий множитель, производить расчет погрешности, вносимой перекодированием коэффициентов фильтра и коэффициента оптимизации фильтра в СОК, а также выводить зависимости коэффициента оптимизации, погрешности и суммы остатков от масштабирующего множителя в виде графиков. Кроме того, программа производит расчеты цифровых фильтров Баттерворта, Чебышева 1-го и 2-го рода, эллиптического фильтра, осуществляет перевод цифрового фильтра в систему остаточных классов с заданными основаниями.
Входными данными для расчета оптимального набора модулей СОК являлись интервал и шаг изменения масштабирующего множителя, а также максимально возможный результат фильтрации ртах. Блок-схема выбора оптимальных модулей СОК представлена на рис. 1.
Сначала программа генерировала наборы оснований, при которых коэффициент оптимизации КорЛ принимал максимальные значения.
Далее подбирался масштабирующий множитель для перевода коэффициентов фильтра в СОК. При этом критерием выбора также служит значение максимального коэффициента оптимизации Корг. При подборе масштабирующего множителя на каждом шаге рассчитывались погрешность перекодировки, сумма остатков и коэффициент оптимальности. Блок-схема подбора масштабирующего множителя и перевода коэффициентов фильтра в СОК показана на рис. 2.
В качестве примера на рис. 3 приведена форма приложения с загруженным фильтром, введенным интервалом изменения масштабирующего множителя и выбранным ртах. Коэффициенты фильтра отображаются в окне приложения в виде списка числовых значений в многострочном текстовом поле, значения интервала и шага изменения масштабирующего множителя вводятся в однострочное текстовое поле, а ртах выбирается из выпадающего списка.
Окно формы, содержащей рассчитанные (выходные) данные, представлена на рис. 4.
На рис. 5 представлено окно программы, в которой раскрыта вкладка с графиком.
Рис. 1. Блок-схема выбора оптимальных модулей СОК
Расчет погрешности
*-
Перевод коэффициента фильтра в СОК
1
Расчет количества арифметических операций в СОК
1
К общей сумме остатков прибавляется текущий остаток Переход к следующему каналу
Канал последний?
Переход к следующему коэффициенту
Рис. 2. Блок-схема выбора масштабирующего множителя
Рис. 3. Окно основной программы с введенными входными данными
Рис. 4. Окно основной программы с рассчитанными данными
Файл Фильтры Расчеты Зависимость
М | Зависимость суммы ос
11 Зависимость погрешности от
Рис. 5. Окно основной программы, вкладка с графиком
В таблице представлены результаты определения оптимального масштабирующего множителя (М) для выбранной системы оснований СОК при
Р = ?17 и Р = ?18
Ртах 2 и Ртах 2 •
Результаты определения оптимального масштабирующего множителя
Максимальный результат фильтрации, Pmax Основания СОК (N, N2, N3) Интервал изменения множителя M Оптимальный множитель M Коэффициент оптимизации, KOBt> % Сумма остатков, S ^ ост. Погрешность перекодировки, AF, %
216 30, 47, 61 1-400 279 80,952 40 0,023
27, 49, 50 1-350 344 89,124 20 0,049
31, 49, 60 100-150 103 70,370 90 0,173
32, 45, 47 100-150 150 63,636 170 0,151
31, 43, 57 100-150 106 64,103 246 0,254
47, 53, 55 1-200 139 75,000 204 0,124
217 44, 53, 61 100-150 109 71,429 54 0,251
52, 55, 61 1-350 156 88,987 10 0,164
41, 57, 59 100-150 116 66,667 284 0,147
43, 52, 61 100-150 139 57,576 250 0,121
43, 54, 61 100-150 130 61,538 416 0,159
Из результатов видно, что при увеличении масштабирующего множителя погрешность вычислений снижается и всегда можно найти такое значение М, при котором коэффициент оптимизации Kopt будет максимальным, а средняя сумма остатков и погрешность перекодировки будут минимальными.
Таким образом, добавление в основные этапы синтеза ЦФ в СОК этапа выбора оптимальных масштабирующего множителя и наборов оснований, коррелированных со значениями весовых коэффициентов фильтра, позволяет исключить из алгоритма обработки сигналов ряд сложных операций, а это, в свою очередь, дает возможность существенно упростить аппаратурную реализацию ЦФ в СОК.
Литература
1. Абдикаликов К.А. О некоторых эффективных алгоритмах вычисления модулярной арифметики // Наука и Мир. 2014. № 8(12). С. 13-16.
2. Галанина Н.А. Непозиционные алгоритмы и устройства цифровой фильтрации и спектрального анализа. Чебоксары: Изд-во Чуваш. ун-та, 2009.
3. Галанина Н.А., Лебедев Е.К., Давыдов О.Е., Егоров Г.Е. Методы синтеза цифровых фильтров в системе остаточных классов // Вестник Чувашского университета. 2000. № 3-4. С. 145-156.
4. Коржавина А.С., Князьков В.С. Нестандартные системы счисления и области их применения // Общество, наука, инновации (НПК-2016): сб. ст. 2-е изд., испр. и доп. Киров: Вятский гос. ун-т, 2016. С. 2452-2459.
5. Лебедев Е.К., Галанина Н.А., Иванова Н.Н., Буланкина Е.Ю. Оптимизация непозиционных устройств цифровой обработки сигналов // Динамика нелинейных дискретных электротехнических и электронных систем: материалы V Всерос. науч.-техн. конф. Чебоксары: Изд-во Чуваш. ун-та, 2003. С. 199-203.
6. Оцоков Ш.А. Ускорение высокоточных вычислений за счет распараллеливания операции округления в комплексе систем счисления // Информационные технологии. 2015. Т. 21, № 5. С. 352-356.
7. Песошин В.А., Галанина Н.А., Иванова Н.Н. Моделирование наборов оснований системы счисления в остаточных классах с минимальными суммарными разрядностями // Тати-щевские чтения: актуальные проблемы науки и техники: материалы VII Междунар. науч.-практ. конф. Тольятти, 2010. С. 90-98.
8. Червяков Н.И., Ляхов П.А., Шульженко К.С. Цифровые фильтры в двухступенчатой системе остаточных классов с модулями специального вида // Наука. Инновации. Технологии. 2014. № 1. С. 41-55.
ГАЛАНИНА НАТАЛИЯ АНДРЕЕВНА - доктор технических наук, профессор кафедры математического и аппаратного обеспечения информационных систем, Чувашский государственный университет, Россия, Чебоксары ([email protected]).
ИВАНОВА НАДЕЖДА НИКОЛАЕВНА - кандидат технических наук, доцент кафедры математического и аппаратного обеспечения информационных систем, Чувашский государственный университет, Россия, Чебоксары ([email protected]).
N. GALANINA, N. IVANOVA TO THE QUESTION OF OPTIMIZATION OF SYNTHESIS OF COMPUTERS DEVICES FOR DIGITAL FILTERING OF RESIDUE NUMBER SYSTEM Key words: optimization, digital filter (DF), Residue Number System (RNS), a scaling multiplier, the base of the RNS.
Digital devices of signal processing based on the RNS in comparison with composite counterparts have greater speed, accuracy and reliability. In RNS an integer is represented as an ordered set of non-negative deductions (residues) in the group of coprime bases (modules). To synthesize digital filters into the RNS it is necessary to scale in advance the weighting filter coefficients (positional prototype). The choice of the scaling coefficient is based on the idea of correlation values of module RNS with a value of the weight coefficients of the fit, and thus, a further reduction in the number of arithmetic operations is achieved. The article developed the algorithm of optimal choice of the scaling coefficient to represent the weight coefficients of the fit in the RNS, enabling to simplify the implementation of special processor I. In the programming language C++ there was-written a program that allows to make calculations, digital filters Butterworth, Chebyshev of 1 and
2 kind, elliptic filter, to implement a digital filter in a residue number system with the specified grounds, to select the optimal set of modules RNS, select a scaling multiplier to calculate the error introduced by encoding the filter coefficients, and the coefficient optimization, the filter in the RNS, and output dependence of the coefficient of the optimization error and the amount of residue from a scale factor in graphs. Computer modeling showed that it is possible to choose the scaling multiplier, the coefficient optimization being maximum and the accuracy of conversion being minimal.
References
1. Abdikalikov K.A. O nekotorykh effektivnykh algoritmakh vychisleniya modulyarnoi arifmetiki [Some efficient algorithms for calculating in modular arithmetic]. Nauka i Mir, 2014, no. 8(12), pp. 13-16.
2. Galanina N.A. Nepozitsionnye algoritmy i ustroistva tsifrovoi fil'tratsii i spektral'nogo analiza [Non-positional algorithms and devices for digital filtering and spectral analysis]. Cheboksary, Chuvash University Publ., 2009.
3. Galanina N.A., Lebedev E.K., Davydov O.E., Egorov G.E. Metody sinteza tsifrovykh fil'trov v sisteme ostatochnykh klassov [Methods of synthesis of Digital Filters in the of Residual Number System] Vestnik Chuvashskogo universiteta, 2000, no. 3-4, pp. 145-156.
4. Korzhavina A.S., Knyaz'kov V.S. Nestandartnye sistemy schisleniya i oblasti ikh primeneniya [Non-standard number systems and their applications]. In: Obshchestvo, nauka, innovatsii (NPK-2016): sb. st. 2-e izd., ispr. i dop. [ Society, science, innovation (NPK-2016). Collection of scientific articles. 2nd ed.] Kirov, Vyatka University Publ., 2016, pp. 2452-2459.
5. Lebedev E.K., Galanina N.A., Ivanova N.N., Bulankina E.Yu. Optimizatsiya nepozitsionnykh ustroistv tsifrovoi obrabotki signalov [Optimization of non-position digital signal processing devices]. Dinamika nelineinykh diskretnykh elektro-tekhnicheskikh i elektronnykh sistem: materialy V Vseros. nauch.-tekhn. konf. [Proc. of Rus. Sci. Conf. «Dynamics of nonlinear discrete electrical and electronic systems»]. Cheboksary, Chuvash University Publ., 2003, pp. 199-203.
6. Otsokov Sh.A. Uskorenie vysokotochnykh vychislenii za schet rasparallelivaniya ope-ratsii okrugleniya v komplekse sistem schisleniya [Acceleration of High-Precision Computation Based on Paral-lelization of Group Number Systems]. Informatsionnye tekhnologii, 2015, vol. 21, no. 5, pp. 352-356.
7. Pesoshin V.A., Galanina N.A., Ivanova N.N. Modelirovanie naborov osnovanii sistemy schisleniya v ostatochnykh klassakh s minimal'nymi summarnymi razryadnostyami [Simulation of base sets of the number system in residual classes with minimal total discharges]. Tatishchevskie chteniya: aktual'nye problemy nauki i tekhniki: materialy VII Mezhdunar. nauch.-prakt. konf. [Proc. of VII Int. Sci. Conf. «Tatishchev readings: actual problems of science and technology»]. Togliatti, 2010, pp. 90-98.
8. Chervyakov N.I., Lyakhov P.A., Shul'zhenko K.S. Tsifrovye fil'try v dvukhstupenchatoi sisteme ostatochnykh klassov s modulyami spetsial'nogo vida [Digital filters in two-stage residue number system witn sprcial modules]. Nauka. Innovatsii. Tekhnologii, 2014, no. 1, pp. 41-55.
GALANINA NATALIYA - Doctor of Technical Sciences, Professor, Information Systems Math and Hardware Department, Chuvash State University, Russia, Cheboksary ([email protected]).
IVANOVA NADEZHDA - Candidate of Technical Sciences, Assistant Professor, Information Systems Math and Hardware Department, Chuvash State University, Russia, Cheboksary ([email protected]).
Ссылка на статью: Галанина Н.А., Иванова Н.Н. К вопросу об оптимизации синтеза устройств вычислительной техники для цифровой фильтрации в системе счисления в остаточных классах // Вестник Чувашского университета. - 2018. - № 1. - С. 98-107.