Литература
1. Анохин П.А. Анализ обобщения алгоритма RC4 // Информационные технологии управления в социально-экономических системах: сб. науч. ст. ВНИИПВТИ. 2009. Вып. 3. С. 146-154.
2. Анохин П.А Некоторые свойства псевдослучайной последовательности, порождаемой обобщением алгоритма RC4 // Вестник Чувашского университета. 2010. № 3. С. 283-285.
3. Анохина Е.И., Анохин П.А. Особенности этапа разработки экономико-организационной модели предприятия в системном анализе // Вестник Чувашского университета. 2011. № 3. С. 116-118.
АНОХИНА ЕЛЕНА ИВАНОВНА - кандидат экономических наук, доцент кафедры финансов и кредита, Чувашский государственный университет, Россия, Чебоксары (lena. anokhina@gmail. com).
ANOKHINA ELENA IVANOVNA - candidate of economics sciences, assistant professor of Finance and Credit Chair , Chuvash State University, Russia, Cheboksary.
АНОХИН ПАВЕЛ АНДРЕЕВИЧ - аспирант, Московский физико-технический институт (государственный университет), Россия, Москва (paul.anokhin@gmail.com).
aNokHiN PAVEL ANDREEVICH - post-graduate student, Moscow Institute of Physics and Technology (State University), Russia, Moscow.
Ключевые слова: система остаточных классов (СОК), модульное деление, немодульные операции, трансверсальный фильтр, вычет, минимальный след числа, ранг числа, ортогональные базисы.
Предложено решение проблемы роста результата фильтрации в СОК. Разработаны КИХ-фильтры с использованием модульного и немодульного деления. Сокращены аппаратурные затраты фильтров.
N.A. GALANINA, V.A. PESOSHIN, N N. IVANOVA DEVELOPMENT OF FIR-FILTERS WITH USE MODULAR AND NOT MODULAR OPERATIONS OF RESIDUE NUMBER SYSTEM
Key words: residue number system (RNS), modular division, not modular operations, transversal filter, residue, minimum trace of number, number rank, orthogonal bases.
The solution of a problem of growth of result of a filtration in RNS is offered. FIR-filters with use of modular and not modular division are developed. Hardware expenses of filters are reduced.
При обработке сигналов, кодированных в системе остаточных классов (СОК), весовые коэффициенты цифрового фильтра (ЦФ) необходимо масштабировать относительно расчетных до целого значения A,■=Maг-, где M- множитель. Увеличение аг- до A,■ приводит к возрастанию максимально возможного результата фильтрации pmax, следствием чего является рост числа каналов СОК, что является свидетельством необходимости применения операции деления [3, 4]. В теории СОК различают 2 вида модульного деления: формальное деление (т.е. случай, когда делимое делится на делитель нацело) и деление без остатка на основание системы NS, когда происходит деление числа X на один из модулей N1,N2, ..., NS, ..., Nv-1. Кроме деления нацело (модульного деления), возникают случаи деления с остатком (деление на модуль Nv с получением дробной части в частном). Такие операции называются немодульными.
По правилам деления формальное частное представляется в виде:
УДК 621.372.54
Н.А. ГАЛАНИНА, В.А. ПЕСОШИН, Н.Н. ИВАНОВА
РАЗРАБОТКА КИХ-ФИЛЬТРОВ С ИСПОЛЬЗОВАНИЕМ МОДУЛЬНЫХ И НЕМОДУЛЬНЫХ ОПЕРАЦИЙ СИСТЕМЫ ОСТАТОЧНЫХ КЛАССОВ
X =(x1,..,:xs,:::,xv) NS (,...,ns ,...,nv)
соответственно вычеты СОК делимого (X) и делителя Л); у1;...,у^- цифры
хі + кЛг
частного, которые однозначно находятся из соотношения: уі =------------[1].
пі
Таким образом, деление в случае, когда оно точно выполнимо (т.е. когда X кратно Лх), может осуществляться поразрядным делением хі на п. Здесь поразрядное деление понимается в том смысле, что если хі непосредственно не делится на пі, то к хі прибавляется столько раз Л8, чтобы хі + кЛ делилось нацело на пі (і = 1, 2, ..., V). При условии, что к < Л8, такое деление единственным образом определит цифру уі. Заметим, что такое деление выполнимо при дополнительном условии пі ф 0.
Если при делении на модуль возникает неопределенность ух = 0/0, тогда все
цифры частного, кроме одной (ух), определяются формальным делением, а для раскрытия возникшей неопределенности в £-м канале используем метод минимального следа [1].
Суть этого метода заключается в следующем. Введем число Оно называется минимальной формой X, а цифра 8Х по основанию Л - минимальным следом числа X. Задача нахождения частного сводится к нахождению цифры у8.
Алгоритм раскрытия неопределенности у5 = 0/0 состоит в следующем [1, 5]:
1. Находится 8 =_|(xV - S'X)/ _ (_ I - операция округления в сторону меньшего
целого) по известным SX, ху и Л8.
2. Определяется минимальный след частного: S=уу-8 .
3. Вычисляется сумма 0 =< + Sу*2 + . + Sу*s-l + Sу*s+l +... + 5*^ >^.
Отсутствующая среди слагаемых суммы 0 цифра S*s находится последовательно
через минимальные псевдоортогональные числа М(аі) = (0,0,.,аі = 1,...,0,SУs), где S*s - минимальный след числа М: аі = 1, а все его позиции равны нулю, кроме і-й.
4. Находится фиксированный след SУs числа у8 )ф = ( S^ - 0) . По
\ ”7 /лу
)ф ищется цифра у& для которой разность - (S's )ф) принимает минималь-
ное значение.
Для нахождения у8 также необходимо определить минимальный след Sуs и ранг г^. Ранг числа - это целое положительное число, показывающее, сколько раз диапазон систе-
V
мы П Лі был превзойден при переходе от представления в СОК к его позиционному пред-
і=1
ставленик» через систему ортогональных базисов В.
Рассмотрим пример вычисления по описанному алгоритму для конкретных оснований. Например, рассмотрим СОК с модулями Л1 = 3; Л2 = 13; Л3 = 17 и ортогональными базисами 01 = 442; 02 = 612; 03 = 273. Л = ПЛs = 663. Делитель равен
S
Л2 = 13 = (2, 0,13).
1) Найдем первую цифру частного у і в канале Л1 = 3:
у1 = — = — = х1 = 0 V1V 2. п1 2
2) Вторую цифру у2 в канале Л2 = 13 по вышеуказанному правилу найти невозможно (пі = п2 = 0). Поэтому определим третью цифру у3 в канале Л3 = 17. Имеем
Уз =
хз + к 17. Необходимо подобрать такое к, чтобы числитель дроби нацело делился
13
на 13. Получим к = 3х3: у3 =
х3 + к -17 52х3 .
—-----------=------ У3 = 4х3.
13 13
3) Две цифры частного найдены, осталось найти третью, т.е. у2 в канале N = 13. Для этого вычислим минимальный след делимого X:
если XI = 0, то след находится как (0, 0, БХ): 0 • 442 + 0 • 612 + 8Х• 273 = 663, следовательно, БХ = ] 663/273 [ = <3>17 = 3;
если XI = 1, то след находится как (1, 0, £Х): 1 • 442 + 8Х • 273 = 663, следовательно, Бх = ] (663 - 442)/273 [ = <1>17 = 1;
если XI = 2, то след находится как (1, 0, £Х): 2 • 442 + 8Х • 273 = 663, следовательно, БХ = ] (663 - 2 • 442)/273 [ = <0>17 = 0.
у3 ~ $Х
4) Вычисляется минимальный след частного SX =у3 -
N
. Для уп-
рощения алгоритма уберем у3, и прибавим его на предпоследнем этапе. При отрицательном значении следа необходимо прибавить N по законам СОК. Обозначим по-
лученную величину О. То есть О = ( N3 -
Х3 - SX
N2
17
если (XI = 0 и х3 < 13) или (XI = 1 и х3 > 13), или (XI = 2 и х3 < 13), то О = 0; если (X! = 1 и x3 < 13) или (X! = 0 и x3 > 13), или (X! = 2 и x3 > 13), то О = 16;
5) Вычислим сумму Q = ^* + S* +... + S.* ^ + S*.++... + S*^ .
Для заданной СОК Q = ^S*l ^ :
если XI = 0, то г =
Х1
если XI = 1, то г =
Х1
если XI = 2, то г =
0 - 2
3
1-2" ~Г_ 2 - 2 ~
+1 — 1, а X,. —
+1 = 1, а =
" (1-3 - 0 - 2)17 _ 3 .
(1-3 -1-2)17 3 .
(2 - 2 - 2 - 2)17' 3
+ 1) = 1;
17
+1) =6.
17
+А = 1.
17
К полученному значению прибавим ^. То есть Q = N3 + Q.
6) Вычислим ) ф = / S*X_ - Ш .
\ Р, I N..
О^у, )ф = + у3 + Q, + N3 - Nз)NS = (у3 + О + QХ7.
Выпишем минимальные числа для основания N2 и по ^У )ф определим цифру у2, для которой разность Sy - )ф минимальна: (0, 1, 7); (0, 2, 2); (0, 3, 8); (0, 4, 4);
(0, 5, 9); (0, 6,6); (0, 7, 10); (0, 8, 8) и т.д. Получим <(612 + 7 • 273)>17 = 7, т.е у2 = 7.
Существенным недостатком указанного алгоритма является его сложность. Для упрощения его аппаратурной реализации возможно использование логического подхода к реализации делителей [6].
Деление на основание системы N5 состоит из ряда операций, из-за чего создается ложное впечатление о его большой длительности. Однако все вычисления совершаются параллельно, поэтому данный способ деления не растягивается во времени.
Если значение масштабирующего множителя совпадает с величиной модуля ^, то результат фильтрации в СОК можно делить на N до его перевода в позиционный
код в схеме восстановления результата. В этом случае число V параллельных каналов СОК не изменится. Требуется останавливать выбор на такой величине N. при которой пересчитанные значения весовых коэффициентов ЦФ а, приближаются к значениям ЦФ в ПСС а, (а, = ]аг-М.[ / N., где ] [ - операция округления, позволяющая получить наилучшее приближение).
Заметим, что при разработке ЦФ-СОК невыгодно использовать позиционные прототипы, так как коэффициенты ЦФ-ПСС а, в двоичном коде уже «загрублены» вследствие ограничения разрядной сетки. Поэтому при синтезе ЦФ-СОК возможен выигрыш по отношению к позиционному прототипу. Естественно, что чем больше N. тем ближе а, приближается к значению а,. Покажем это на примере. Известен
прототип с весовыми коэффициентами а! = 2,625 (010.101); а2 = -3,625 (111.101). Так как при синтезе ЦФ в СОК пересчитанные весовые коэффициенты определяются по формуле
а, = , (1)
г N..
’ V
12 625 13Г 35
то для N = 13 получаем а, = —,-------------------= — = 2,692; Аа = 2,692-2,625 = 0,067;
1 13 13
а2 = -3,692.
Аналогично, для N,=17 а1 =2,588, а2 =-3,588 (А^ = 0,037 ); для N = 31 а1 =2,645, а2 =-3,645 (Аа = 0,02); для N = 61 ах =2,639, а2 =-3,639 (Аа = 0,014).
Следовательно, чем больше N, тем а, ^ а,. Исключение составляет вариант двоичного представления а,.
Недостатком СОК является сложность выполнения немодульных операций, к которым относится и деление с остатком. Поэтому алгоритмическое решение этой проблемы представляет большой практический интерес. Деление с остатком можно осуществить с помощью расширения системы оснований (ввода канала Лу и вычисления позиционных характеристик числа (добавка А в результат сумматора в СОК) [1].
Обозначим целое число в позиционной системе какX, а его представление в СОК по выбранным основаниям (хх,х2,...,х,), где 1, 2..., V - каналы (основания или модули
СОК), а х =(Х)^ , х2 = {Х)Л^, ..., х, =(Х)Л . Делить будем на модуль который представим в СОК в виде остатков (вычетов) NV = (п1,п2,...,п,)СОК , где п1 = {NV)N ,
П2 = (ЮN2, ., nv= (ЮNV .
При делении на N получаем
У = X / Л, = (х1, х2,..., х,) /(пь п2,..., п,) = (х1/п1, х2/п2,..., х, / п,).
Так как X не делится на Л, нацело, то его преобразуем к виду
х • N
X + А = (х1, х2,..., ху) + (0,0,..., ху). Получим X (А) = X + А. Число А = —:,-------, где
Nv
N = N • N2 N5-. •NV.1, вычисляется таблично и вычитается при А < 0 из результата или
прибавляется при А > 0 к нему.
Отметим, что немодульный алгоритм деления на N существенно проще, чем модульное деление на N5. В случае деления на N в зависимости от цифры (остатка) в у-м канале КИХ-фильтра фильтра с делением логическими схемами ЬБ формируется добавка в позиционный результат сумматора [2, 3]:
А =
г О
если Гу < -
Nv
(Nv - )Су
К,
N±.
2 ’
~ N если гу > —-.
у 2 '
(2)
где Оу - вес у-го канала, т.е. О, =
N
, где N = П N5 .
Nv 5=1
Во всех других каналах с номерами 5 < у происходит формальное деление, которое учитывается при рассмотрении таблиц истинности разрабатываемых арифметико-логических устройств. При этом деления на ноль нет, так как N5 < N и 5 Ф у.
На рисунке показана схема трансверсального фильтра п-го порядка с делением на N в СОК .
Схема трансверсального фильтра п-го порядка с делением на N в СОК
Трансверсальный фильтр на рисунке работает следующим образом. На вход схемы поступает число X в позиционном коде. С помощью шифраторов СБ, находятся вычеты по основаниям СОК (х,). В предлагаемой схеме фильтра происходит деление числа (х) на последнее основание (Ю. Логическая схема Ь8 формирует добавку к позиционному результату деления, которая затем складывается с основным результатом в сумматоре, стоящем после дешифратора БС. Сделаем несколько пояснений.
1. Вес канала равен Оу= N / Nv.
2. Перевод результатов фильтрации, заданных вычетами, в позиционную систему счисления, осуществляемый в дешифраторе, требует использования аппарата ортогональных базисов СОК. Ортогональные базисы представляются в виде [1]
т, -П Nг
В, =-----—— для і = 1, 2, ., п, (3)
N
где т, - целое положительное число (вес базиса). Причем т, должно выбираться таким образом, чтобы имело место следующее сравнение:
т, п N1
---^— = 1(шоё N). (4)
N
П N
Для вычисления м, введем обозначение Ф, = ——. Найдем остаток от деления
N
Ф,
8, = —-; м, определится как решение сравнения м,8, = 1(modN,).
Ni
Для проверки правильности вычисления базисов можно использовать формулу
ЕД = 1(mod П N,). (5)
i=1 i=1
3. Необходимо выбирать такое Nv, при котором а, ^ а,. Здесь ~ - коэф-
~ ]а•N [
фициент, получаемый по формуле а, = —----------------— (] [ - операция округления, дающая
N
наибольшее приближение); а, - весовой коэффициент позиционного прототипа.
4. Коэффициенты фильтра А, = M- ~ должны быть равны или кратны Nv. Тогда в последнем v-м канале не будет умножения и уменьшится число сложений, что упрощает вычисления. Из рассмотрения схемы на рисунке следует, что применение режима деления уменьшает на Rv разрядность дешифратора DC, что приводит к сокращению аппаратурных затрат ЦФ.
Литература
1. Акушский И.Я., Юдицкий Д.И. Машинная арифметика в остаточных классах. М.: Сов. радио, 1968. 440 с.
2. Амербаев В.М., Стемпковский А.Л., Широ Г.Э. Быстродействующий согласованный фильтр, построенный по модулярному принципу // Информационные технологии. 2004. № 9. С. 5-12.
3. Галанина Н.А. Анализ непозиционных цифровых фильтров по квазипозиционной модели // Вестник Чувашского университета. 2000. № 3-4. С. 116-121.
4. Галанина Н.А., Песошин В.А., Иванова Н.Н. Введение режима деления при синтезе КИХ-фильтров в модулярном коде // Информационные технологии в профессиональной деятельности и научной работе (Информационные технологии 2010): материалы Всерос. науч.-практ. конф. / Марийский гос. техн. ун-т. Йошкар-Ола, 2010. Ч. 2. С. 41-45.
5. Лебедев Е.К. Ошибки округления в спецпроцессорах непозиционной обработки сигналов // Цифровая обработка многомерных сигналов: материалы Всерос. науч. конф. Йошкар-Ола: Луч, 1996. С. 98-101.
6. Сидоркина И.Г., Егошин А.В., Шумков Д.С., Кудрин П.А. Прогнозирование сложных сигналов на основе выделения границы реализаций динамических систем // Научно-технический вестник СПб ГУ ИТМО. 2010. № 2(66). С. 49-53.
ГАЛАНИНА НАТАЛИЯ АНДРЕЕВНА - доктор технических наук, профессор кафедры математического и аппаратного обеспечения информационных систем, Чувашский государственный университет, Россия, Чебоксары (galaninacheb@mail.ru).
GALANINA NATALIYA ANDREEVNA - doctor of technical sciences, professor of Math and Hardware Information Systems Chair, Chuvash State University, Russia, Cheboksary.
ПЕСОШИН ВАЛЕРИЙ АНДРЕЕВИЧ - доктор технических наук, профессор, заведующий кафедрой компьютерных систем, Казанский национальный исследовательский технический университет, Россия, Казань (pesoshin@evm.kstu-kai.ru).
PESOSHIN vAlERIY ANDREEVICH - doctor of technical sciences, professor, head of Computer Systems Chair, Kazan National Research Technical University, Russia, Kazan.
ИВАНОВА НАДЕЖДА НИКОЛАЕВНА - кандидат технических наук, доцент кафедры математического и аппаратного обеспечения информационных систем, Чувашский государственный университет, Россия, Чебоксары (naadeezdaa@rambler.ru).
IVANOVA NADEZHDA NIKOLAEVNA - candidate of technical sciences, associate professor of Math and Hardware Information Systems Chair, Chuvash State University, Russia, Cheboksary.