УДК 681.3 Н. И. Червяков [N. I. Chervyakov],
П. А. Ляхов [P.A. Lyakhov], К. С. Шульженко [K.S. Shulzhenko].
цифровые фильтры в двухступенчатой системе остаточных классов с модулями специального вида
Digital filters in two-stage residue number system witn sprcial modules
В статье предложена новая архитектура фильтра с конечной импульсной характеристикой в двухступенчатой системе остаточных классов с модулями специального вида. Показаны достоинства и недостатки предложенного подхода. Моделирование работы предложенной архитектуры показало, что новый подход позволяет сократить время обработки данных. Преимущество разработанного фильтра по сравнению с известными аналогами фильтров в системе остаточных классов доходит до 20 % при реализации устройств с большими порядками.
Ключевые слова: КИХ-фильтр, система остаточных классов, цифровая обработка сигналов, модулярная арифметика.
The paper proposes a new architecture of the finite impulse response filter in the two-stage residue number system with special modules. Showing the advantages and disadvantages of the proposed approach. Simulation of the proposed architecture has shown that the new approach can reduce the processing time. Advantage of the developed filter compared to known similar filters in the residue number system up to 20 % with the implementation of devices with large orders.
Keywords: FIR Filter, Residue Number System, Digital Signal Processing, Modular Arithmetic.
Основой цифровой обработки сигналов (ЦОС, DSP) является использование цифровых фильтров, которые в свою очередь подразделяются на фильтры с конечной импульсной характеристикой (КИХ-фильтры) и фильтры с бесконечной импульсной характеристикой (БИХ-фильтры). КИХ-фильтры находят широкое применение на практике, так как передаточная функция таких устройств имеет более простой
Работа выполнена при финансовой поддержке Российского Фонда Фундаментальных Исследований, гранты 13-07-00478-а и 14-07-31004-мол-а.
вид по сравнению с БИХ-фильтрами. В настоящее время обработка сигналов с использованием КИХ-фильтров широко применяется для обработки видео и изображений [1], многоканальной обработки данных [2] и многих других областях [3].
Одним из перспективных путей повышения производительности цифровых фильтров является применение арифметики системы остаточных классов (СОК, RNS) [4]. СОК обладает большим потенциалом для улучшения скорости цифровых устройств, благодаря замене операций сложения, вычитания и умножения чисел большой длины на параллельную обработку остатков гораздо меньшей разрядности [5]. Кроме того, СОК позволяет весьма эффективно проектировать и реализовывать различные цифровые устройства на программируемых логических интегральных схемах (FPGA) и интегральных схемах специального назначения (ASIC) [6].
В настоящее время разрабатываются эффективные вычислительные структуры, использующие СОК, в таких приложениях как обработка изображений, распознавание речи, подавление шума в сигнале и многих других [7]. Существуют, однако, и недостатки арифметики в СОК. Одной из самых важных проблемных операций модулярной арифметики является выполнение обратного преобразования числа в позиционную форму. В работе [8] в качестве базы для модулярной реализации КИХ-фильтров предлагается использовать СОК вида (2й - 1,2", 2n + 1}, так как для этого случая разработаны эффективные алгоритмы выполнения проблемной операции, позволяющие свести влияние основного недостатка СОК к минимуму [9].
В настоящей работе предлагается новый подход к реализации КИХ-фильтров в СОК, основанный на применении двухступенчатой модулярной арифметики. Основной идеей данного подхода является использование двух вложенных СОК, при этом каждый вычислительный канал первой СОК преобразуется в несколько параллельных каналов обработки на основе второй СОК. При этом модули второй СОК на порядок меньше, чем модули первой СОК, что позволяет еще больше ускорить выполнение основных операций цифровой фильтрации - сложения и умножения. Для упрощения архитектуры КИХ-фильтра, использующего такой метод обработки, предлагается использовать одинаковый вид модулей: (2"1 - 1,2*, 2"1 + 1} для первой СОК, и (2"2 - 1,2"2, 2"2 + 1} для второй СОК, причем n2 > щ.
Система остаточных классов.
В СОК числа представляются в базисе взаимно-простых
чисел, называемых модулями /? ={mh...,mk}, НОД(ть тД для / Ф j. Прок
изведение всех модулей СОК M = ^Jmi называется динамическим диапазоном системы. Любое целое число 0 < X < M может быть единственным образом представлено в СОК в виде вектора {xbx2...,xk}, где xx = \x \т = X mod mf [10].
Динамический диапазон СОК обычно делится на две примерно равные части, таким образом, чтобы примерно половина диапазона представляла положительные числа, а остальная часть диапазона - отрицательные. Таким образом, любое целое число, удовлетворяющее одному из двух соотношений:
, для нечетных M,
2 2 М-1 М-1
, для четных M,
2 2 может быть представлено в СОК.
Операции сложения, вычитания и умножения в СОК определяются формулами
.
(2)
Равенства (1) - (2) показывают параллельную природу СОК, свободную от поразрядных переносов.
Восстановление числа Xпо остаткам {xbx2...,xk} основано на Китайской Теореме об Остатках (КТО, CRT)
х =
llVixi\mMi
(3)
где И = И/т, у, = | И- . Элемент | И1 означает мультипликативный обратный для И, по модулю т.
Другим методом преобразования числа из СОК в позиционную систему счисления (ПСС), является переход к обобщенной позиционной системе счисления (ОПСС, МЯС) [11]. Число X < И имеет вид [х[,х'2...,х'к}, 0 < < т1 в обобщенной позиционной системе счисления, если:
счисления, и:
X = х[ + х'2т1 + х'3т1т2 + ... + J'jm,., (4)
где цифры числа в обобщенной позиционной системе xi = x1 = mod mi
x2 = (xi- xi) c12 mod m2
x3 = ((x3 - x 1) c13 mod m3
(5)
xk = (...((xk - x 1) cu - xi-J c'khk mod mk .
Константы cfj являются мультипликативными обратными элементами для mi по модулю mi для всех 1 < i < j < k, то есть су • mi = 1 mod mj для 1 < i < n, и могут быть вычислены, например, с помощью алгоритма Евклида.
Можно выделить два основных преимущества модулярной арифметики.
1. Арифметические операции сложения, вычитания и умножения выполняются без переносов, в отличие от позиционного представления чисел.
2. Для каждого значения модуля арифметические операции выполняются с парой соответствующих вычетов параллельно, при этом вычеты имеют гораздо меньшую разрядность, чем исходные операнды X и Y.
Основной проблемой современной теории СОК является сложность выполнения так называемых немодульных операций, к которым относятся: определение знака числа, сравнение чисел, деление, восстановление позиционной формы числа и другие. Однако, несмотря на указанные недостатки, модулярная арифметика может быть эффективно реализована в приложениях, где основная доля вычислений приходится на операции умножения в сочетании со сложением и вычитанием [12]. Как будет видно далее, фильтрация сигналов является именно таким приложением.
Рис. 1. Цифровая обработка сигнала в системе остаточных классов.
Рис. 2. Цифровая обработка сигнала с использованием двух систем остаточных классов.
Архитектура КИХ-фильтра в СОК.
Передаточная функция фильтра, описывающая связь между сигналами на входе и выходе фильтра К-го порядка, задается в виде
Применение СОК для фильтрации сигналов позволяет максимально использовать преимущество модулярной арифметики перед ПСС, так как сложение и умножение являются модульными операциями. В то же время, фильтрация сама по себе не требует выполнения немодульных операций, о которых было сказано выше. Практически это означает, что недостатки СОК, связанные с медленным выполнением немодульных операций, не замедлят работу фильтров. Принцип обработки сигналов в системе остаточных классов показан на рис. 1. Поступивший на вход системы сигнал преобразуется в модулярный код (блок ПСС ^ СОК). Далее происходит параллельная обработка сигнала по каждому из модулей. Выходной сигнал получается при помощи обратного преобразования СОК ^ ПСС.
Одним из наиболее важных частных случаев СОК является система модулей специального вида {2" - 1,2й, 2" + 1}. Для такого набора модулей разработано большое количество эффективных алгоритмов выполнения разнообразных операций [13-16]. Применение такой СОК для цифровой обработки сигналов позволяет обрабатывать данные по трем параллельным каналам (к = 3 на рис. 1). Однако применение всего лишь трех модулей СОК не позволяет в полной мере реализовать преимущества параллельной обработки. Это связано с тем, что диапазон СОК с модулями {2й - 1,2й, 2й + 1} равен - 3и бит, что, в свою очередь, приводит к необходимости использования слишком больших модулей для больших диапазонов данных. Для преодоления указанного недостатка предлагается использовать вторую СОК для внутреннего разбиения каждого из каналов первой СОК. Схема обработки данных в этом случае показана на рис. 2.
На рис. 2 сигнал преобразуется из позиционной формы в первую СОК. После этого значение каждого модуля первой СОК преобразуется во вторую СОК. Во второй СОК выполняются все необходимые операции для фильтрации (сложения и умножения), после чего выполняется обратное преобразование, которое возвращает обработку к модулям первой СОК. На заключительном этапе выполняется обратное преобразование из первой СОК в ПСС. Применение двух СОК вида {2й - 1,2й, 2й + 1} для
Magnitude Response (dB)
-10
-20
-30
-40
-50
-60
10
Frequency (kHz)
15
20
Рис. 3. АЧХ фильтра 11 порядка.
ЦОС имеет ряд особенностей. Если модули первой СОК обозначить {2п1 -1,2% 2П1 + 1}, а второй {2П2 - 1,2П2, 2п2 + 1}, то для обеспечения диапазонов, перекрывающих модули первой СОК, для второй СОК достаточно взять п1 = п1 /3 +1. При этом разрядность обрабатываемых данных во второй СОК будет существенно ниже, чем в первой (примерно в три раза). Это приведет к существенному увеличению скорости обработки данных. Платой за это обстоятельство является необходимость использования двух блоков прямого преобразования ПСС ^ СОК и обратного преобразования СОК ^ ПСС вместо однократной обработки (рис. 1). В дальнейшем будет дан ответ на вопрос о выгодности или невыгодности такого подхода для реализации КИХ-фильтров.
о
о
о
5
Проектирование фильтра в СОК.
Рассмотрим низкочастотный фильтр 11-го порядка с линейной фазовой характеристикой, амплитудно-частотная характеристика (АЧХ) которого приведена на рис. 3.
Изображенный на рис. 3 фильтр построен при помощи алгоритма Паркса - МакКлеллана, и принадлежит достаточно широкому классу КИХ-фильтров, которые требуют большой аккуратности при работе с коэффициентами, для того чтобы избежать серьезных ошибок частотного отклика [17]. Проектирование и получение численных значений данного фильтра было осуществлено при помощи МАТЬАВ® [18]. Коэффициенты данного фильтра в форме машинного числа двойной точности, двоичного представления, целочисленного формата и СОК приведены в таблице.
Числовой формат представления
о
= Ьи 0.0922037965907876 00001011110 94 {94,94,94} {{3,6,4}, {3,6,4}, {3,6,4}}
= Ь10 -0.0064537503593891 11111111001 -7 {120, 121, 122} {{1ДЗ}, {2,1,4}, {3,2,5}}
ъ2 = ъ9 -0.0957200336509332 11110011110 -98 {29,30,31} {{1,5,2}, {2,6,3}, {3,7,4}}
Ъъ -0.0581256675402344 11111000100 -60 {67,68,69} {{4,3,4}, {5,4,5}, {6,5,6}}
К = ЬП 0.1694183638078060 00010101101 173 {46,45,44} {{4,6,1}, {3,5,0}, {2,4,8}}
К 0.4032762098333520 00110011101 413 {32,29,26} {{4,0,5}, {1,5,2}, {5,2,8}}
Получение целочисленного представления чисел двойной точности, было осуществлено путем умножения коэффициента на 210 с последующим отбрасыванием дробной части. Для двоичного представления коэффициентов фильтра использованы 11 бит, из которых 10 являются информационными, а еще один бит использован для указания знака числа.
Предположим, что входная последовательность сигнала тоже квантована по 11 бит (включая знак). Максимально возможное значение отклика фильтра | y| равно
тах|)л|}= 1024-g\bk\ = 1024-1690 = 1730560 20,722808 бит. (7)
Набор модулей {127, 128, 129} задает диапазон, равный 20,999912 бит, что позволяет использовать такую СОК для реализации рассмотренного фильтра. Вторая СОК состоит из модулей {7,8,9}, так как это минимальная тройка чисел вида {2n - 1,2n, 2n + 1}, обеспечивающая диапазон, больший самого большого модуля первой СОК, то есть 7 • 8 • 9 = 504 > 129.
Коэффициенты фильтра в СОК, приведенные в таблице, получены из целочисленного формата числа длиной 11 бит. При этом исходные коэффициенты фильтра являются числами двойной точности длиной 64 бита. Разумеется, переход от 64-битного представления к 11-битному порождает ошибку округления. Вопрос о степени влияния возникающей ошибки на результат работы фильтра является весьма важным, так как недооценка погрешности вычислений может привести к серьезным последствиям. Например, ошибка, возникающая при преобразовании 64-битного числа к
Magnitude Response (dB)
-60 ^
m -70 V \
£ -80 \1 \
то -90
-100
-110
-120
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Normalized Frequency (xn rad/sample)
Рис. 4. АЧХ ошибки фильтра 11 порядка.
Impulse Response
x 10-4
4 ,
3
ш d ,-i 2
I 1
0
1 J < i
01 23456789 10 11
Samples
Рис. 5. Импульсная характеристика ошибки фильтра 11 порядка.
16-битному представлению, привела к взрыву ракеты Ariane (4 июня 1996 года), причинившему ущерб в 7,5 миллионов долларов [19].
На рисунке 4 изображена АЧХ этой ошибки. Из рисунка видно, что максимум ошибки примерно на 30 Дб ниже, чем область запирания фильтра что, согласно [8], является вполне допустимым.
На рисунке 5 представлена ошибка импульсной характеристики, полученная в результате перевода коэффициентов фильтра в СОК, с округлением, и обратно. Максимальное значение ошибки не превосходит 5 .10-4.
Учитывая, что коэффициенты построенного фильтра симметричны, выражение (6) можно переписать
Рис. 6. Схема работы фильтра М-го порядка.
(8)
к-0
На рис. 6 представлена схема устройства, описанного формулой (8). Формулы преобразования сигнала указанного фильтра для каждого из модулей СОК имеют вид:
(9)
Моделирование работы КИХ-фильтра в СОК.
В этом разделе будет проведено сравнение работы предложенной архитектуры КИХ-фильтра в двухступенчатой СОК с фильтром, предложенным в [8], работающим с одной СОК вида {2П1 - 1,2й1, 2п1
+ 1}. В качестве критерия сравнения выбрано время работы фильтра, измеряемое в тактах вычислительной системы. Исследоваться будут фильтры различных порядков 3 < N < 63.
Для КИХ-фильтра порядка N с древовидной организацией суммирования потребуется выполнение одного параллельного модулярного умножения и [log2 N параллельных модулярных суммирований. Кроме того, потребуется выполнение операций прямого преобразования ПСС^СОК и обратного преобразования СОК ^ ПСС. Время выполнения модулярного суммирования, модулярного умножения и обратного преобразования для СОК вида (2п - 1,2й, 2п + 1} приведено в [20]. Выполнение каждого модулярного суммирования требует 8п + 11 тактов вычислительной системы, модулярное умножение требует 16п + 12 тактов, обратное преобразование выполняется за 16п + 8 тактов. Прямое преобразование для СОК (2п - 1,2п, 2п + 1}, согласно [5], по времени равносильно двум модулярным суммированиям. Таким образом, прямое преобразование выполняется за 16п + 22 такта вычислительной системы.
При моделировании архитектуры [8] использовалась СОК с п1 = 7, то есть (127,128,129}. Предложенная архитектура содержала две СОК: первую с п1 = 7, (127,128,129} и вторую с п2 = 3, (7,8,9}. Для предложенной архитектуры необходимо два раза применять прямое и обратное преобразование: один раз для первой СОК и один раз для второй СОК (см. рис. 2).
Результаты моделирования работы КИХ-фильтров представлены на рис. 7. Фильтры третьего порядка примерно равны по скорости работы (510 тактов для предложенной архитектуры, 512 для фильтра из [8]). С увеличением порядка фильтра постепенно проявляются преимущества предложенного КИХ-фильтра. Для фильтров с 4 < N < 7 предложенная архитектура работает быстрее на 6,2 %; для фильтров с 8 < N < 15 время работы сокращается на 11,4 %; при 16 < N < 31 выигрыш в скорости равен 15,9 %; для случаев 32 < N < 63 скорость обработки быстрее на 20%. Таким образом, преимущество обработки информации по маленьким модулям в КИХ-фильтре перевешивает дополнительные временные затраты на выполнение вторых операций преобразования ПСС ^ СОК и СОК ^ ПСС. С ростом порядка фильтра это преимущество выражается более рельефно.
Результаты моделирования позволяют сделать вывод о том, что предложенная архитектура работает быстрее известного аналога. Причем,
Рис. 7. Зависимость времени работы КИХ-фильтров от порядка.
чем больше порядок фильтра, тем существеннее эта разница. Полученный результат может быть применен во всех приложениях цифровой обработки сигналов: обработке изображений, видео, речи и так далее. Применение предложенной архитектуры позволит улучшить характеристики систем, требующих максимальной скорости обработки. Кроме того, данный результат может помочь в разработке новых систем ЦОС, функционирующих в режиме реального времени.
Таким образом, в работе предложена новая архитектура КИХ-филь-тра, использующая двухступенчатую СОК с модулями специального вида. Основным преимуществом такого подхода перед известными фильтрами в СОК является возможность параллельной обработки очень малоразрядных данных. К недостаткам предложенного подхода следует отнести необходимость двойного выполнения немодульных операций прямого и обратного преобразования.
физико-математические науки
Цифровые фильтры в двухступенчатой системе остаточных классов.
Результаты моделирования предложенной архитектуры показывают, что ее достоинства являются более важными, чем недостатки. Скорость работы КИХ-фильтра увеличивается до 20 % по сравнению с известными аналогами. Данный результат позволяет улучшить характеристики систем ЦОС, функционирующих в СОК и расширить возможности применения модулярной арифметики на практике.
Интересным направлением дальнейших исследований в данной области является выработка эффективных критериев построения каждой из СОК с большими и маленькими модулями. Также было бы интересно проверить возможность улучшения скоростных характеристик устройств криптографической и некриптографической защиты информации за счет применения двухступенчатой СОК.
ЛИТЕРАТУРА
1. Changhun Cho, Jaehwan Jeon, Joonki Paik. Real-Time Spatially Adaptive Image Restoration Using Truncated Constrained Least Squares Filter // 2014 IEEE International Conference on Consumer Electronics (ICCE), 2014, Р. 256-257.
2. Чобану М. Многомерные многоскоростные системы обработки сигналов. М.: Техносфера, 2009. 480 с.
3. Li Tan, Jean Jiang, Digital Signal Processing, Second Edition: Fundamentals and Applications, Academic Press, 2013, 876 p.
4. Shahana T. K., James R. K., Jose B. R., Jacob K. P., Sasi S. Performance Analysis of FIR Digital Filter Design: RNS Versus Traditional // ISCIT 2007 International Symposium on Communications and Information Technologies Proceedings, 2007, Р. 1-5.
5. Omondi A., Premkumar B. Residue Number Systems: Theory and Implementation. Imperial College Press, 2007, 296 p.
6. Cardarilli G. C., Nannarelli A., Re M. Residue Number System for Low-Power DSP Applications. Proc. 41st Asilomar Conf. Signals, Syst., Comput., 2007, Р. 1412-1416.
7. Червяков Н. И., Сахнюк П. А., Шапошников А. В., Макоха А. Н. Нейрокомпьютеры в остаточных классах. М.: Радиотехника, 2003. 272 с.
8. Stamenkovic N. Digital FIR Filter Architecture Based on the Residue Number System. Facta Universitatis, Ser.: Elec. Energ., Vol. 22, No. 1, 2009. Р. 125-140.
9. Afsheh A., Mojoodi A. An Improved Reverse Converter for Moduli Set // ISCIT 2010 International Symposium on Communications and Information Technologies Proceedings, 2010. Р. 928-933.
10. Червяков Н. И., Сахнюк П. А., Шапошников А. В., Ряднов С. А. Модулярные параллельные вычислительные структуры нейропро-цессорных систем. М.: ФИЗМАТЛИТ, 2003. 288 с.
11. Gbolagade K. A., Cotofana S. D. An O(n) Residue Number System to Mixed Radix Technique // ISCAS 2009 IEEE International Symposium on Circuits and Systems, 2009 Р. 521-524.
12. Стемпковский А. Л., Корнилов А. И., Семенов М. Ю. Особенности реализации устройств цифровой обработки сигналов в интегральном исполнении с применением модулярной арифметики // Информационные технологии. № 2, 2004. С. 2-9.
13. Saremi М., Timarchi S. Efficient 1-out-of-3 Binary Signed-Digit Multiplier for the Moduli Set . Computer Architecture and Digital Systems (CADS) // 2013 17th CSI International Symposium, 30-31 Oct. 2013, Р. 123-124.
14. Low J.Y.S. A Signed Integer Programmable Power-of-Two Scaler for RNS // Circuits and Systems (ISCAS). IEEE International Symposium, 19-23 May 2013. Р. 2211-2214.
15. Gallaher D., Petry F. E., Sirnivasan P. The Digit Parallel Method for Fast RNS to Weighted Number System Conversion for Specify Moduli. IEEE Trans. on Circuits and System II: Analog and Digital Signal Processing, vol. 44, no. 1, Jan. 1997. Р. 53-57.
16. Tomczak T. Fast Sign Detection for RNS . IEEE Trans. on Circuits and Systems-I: Regular papers, vol. 55, no. 6, July 2008. Р. 1502-1511.
17. Zivaljevic D., Stamenkovic N., Stojanovic V. FIR Filter Implementation Based on the RNS with Diminished-1 Encoded Channel. TSP 35th International Conference on Telecommunications and Signal Processing, 2012. Р. 662-666.
18. Hussain Z. М., Sadik A. Z., O'Shea P. Digital Signal Processing: An Introduction with MATLAB and Applications, Springer-Verlag Berlin Heidelberg, 2011. 350 p.
19. Parhami B. Computer Arithmetic: Algorithms and Hardware Designs, 2nd edition. Oxford University Press, New York, 2010, 641 p.
20. Younes D., Steffan P. A Comparative Study on Different Moduli Sets in Residue Number System // International Conference on Computer Systems and Industrial Informatics (ICCSII), 2012. Р. 1-6.
ОБ АВТОРАХ Червяков Николай Иванович
Доктор технических наук, профессор, заведующий кафедрой прикладной математики и математического моделирования. СевероКавказский федеральный университет, Институт математики и естественных наук. Телефон (8652) 35-32-73. E-mail: [email protected]
Chervyakov Nikolay Ivanovich, Doctor of Technical Sciences,
Professor, Head of Department of the Applied Mathematics and Mathematical Modeling, Institute of Mathematics and Natural Sciences, North Caucasus Federal University.
физико-математические науки
Цифровые фильтры в двухступенчатой системе остаточных классов.
Ляхов Павел Алексеевич
Кандидат физико-математических наук, доцент кафедры прикладной математики и математического моделирования. Северо-Кавказский федеральный университет, Институт математики и естественных наук. E-mail: [email protected]
Lyakhov Pavel Sergeevich
Candidate of physico-mathematical sciences, associate professor of applied mathematics and mathematical modeling. The North Caucasus Federal University, Institute of Mathematics and Natural Sciences. E-mail: [email protected]
Шульженко Кирилл Сергеевич
Студент специальности «Прикладная математика и информатика», Северо-Кавказский федеральный университет, Институт математики и естественных наук. E-mail: [email protected]
Shulzhenko Kirill Sergeevich
Student in «Applied Mathematics and Informatics», Institute of Mathematics and Natural Sciences, North Caucasus Federal University.