УДК 519.216
Скользящие теоретико-числовые преобразования Рейдера
© В.В. Сюзев МГТУ им. Н.Э. Баумана, Москва, 105005, Россия
Предложен новый класс быстрых алгоритмов Рейдера скользящего типа, основанный на выявленной взаимосвязи промежуточных выборок на текущем и предыдущих шагах скольжения. Получено аналитическое описание скользящего алгоритма Рейдера на различных уровнях прореживания исходной выборки сигнала. Предложены средства графического представления вычислительного процесса этого алгоритма в виде сигнальных графов специальной структуры. Получены аналитические оценки вычислительной сложности разработанных алгоритмов, подтвердившие их высокую эффективность по сравнению со статическими аналогами. Приведенные теоретические результаты проиллюстрированы конкретными примерами. Разработанные автором скользящие алгоритмы выполнения преобразований Рейдера являются оригинальными и эффективны для обработки сигналов любой длительности. Их применение особенно целесообразно при решении задач обработки спектральными методами в реальном масштабе времени.
Ключевые слова: числовые базисы, преобразования теоретико-числовые, преобразования Рейдера, спектры, сигнальные графы.
Введение. Известен широкий круг задач цифровой обработки сигналов (ЦОС), применяющий частотную область их представления (фильтрация, аппроксимация, интерполяция, сжатие, обнаружение, идентификация, распознавание, имитация и т. п.) [1-5]. Математическую основу частотного представления сигналов составляют дискретные преобразования Фурье (ДПФ) в базисе дискретных комплексных экспоненциальных функций (ДЭФ) {exp (у2nki/N)}, где
Y = V-T, N задает число отсчетов обрабатываемого сигнала x(i), а индексы k и i принимают значения 0, 1, ..., N-1. Величина WN = exp (у2п/N) в данном базисе является корнем порядка N из
единицы по модулю N (так как W/f = 1 (mod N)), и сам базис определен на множестве комплексных чисел Wv [1, 2, 6]. По этой причине ДПФ в таком базисе требуют для своей реализации выполнения операций над комплексными числами.
Вещественной альтернативой базису ДЭФ служат теоретико-числовые базисы {aki}, использующие корни а порядка N из едини-
цы в поле действительных чисел. Эти базисы лежат в основе теоретико-числовых преобразования (ТЧП) [6, 7]. Базисы ТЧП, как и ДЭФ, обладают свойствами ортонормированности, полноты и мультипликативности, а временной сдвиг в них реализуется с помощью модулярного алгебраического сложения, т. е. является циклическим. Поэтому структура ТЧП подобна структуре ДПФ и для них выполняются все важные теоремы спектрального анализа, справедливые для ДПФ, в частности теоремы о модуляции, сдвиге, свертке, корреляции и умножении сигналов. При этом ТЧП обладают важными вычислительными преимуществами по сравнению с ДПФ, поскольку используют только действительные операции с высокой инструментальной точностью [5, 6].
Из всего многообразия ТЧП, отличающихся значениями корня и модуля преобразований, для практики ЦОС особенно перспективны ТЧП Рейдера, в которых а = 2, N = 2Ь, где Ь = 2й-1, п = 1,2, ..., а в качестве модуля используются числа Ферма Еп-1 = 2Ь +1. В таких ТЧП базисные функции равны 2кг, имеют двоично-рациональный вид, и поэтому действительные умножения в них можно заменить на более простые операции сдвига. Кроме того, число таких сдвигов может быть существенно сокращено за счет использования специальных быстрых алгоритмов ТЧП, подобных быстрым преобразованиям Фурье (БПФ) в базисе ДЭФ [6, 7].
Следует, однако, отметить, что все известные быстрые ТЧП (БТЧП) являются по своей сути алгоритмами статического типа, поскольку оперируют только с отсчетами сигнала, накопленными к моменту анализа спектра. В то же время при обработке сигналов по методу «скользящего окна» [1, 5], когда конечномерная выборка сигнала перемещается (скользит) по оси дискретного текущего времени, при сдвиге выборки на один шаг основная часть информации о сигнале сохраняется неизменной. Использование результатов расчетов на предыдущих шагах скольжения создает хорошие предпосылки для разработки более эффективных вычислительных скользящих алгоритмов анализа спектра.
Цель статьи — создание скользящих БТЧП для анализа теоретико-числового спектра Рейдера на скользящих интервалах времени и оценка их вычислительной сложности. В основе разработки лежит оригинальный подход, предложенный автором в ДПФ Уолша [9] и затем развитый им применительно к преобразованиям Фурье [10], Хаара [11] и Хартли [12]. Поскольку этот подход основан на модификации структуры статических БПФ, учитывающей специфику процесса скольжения выборки, запишем сначала БТЧП Рейдера статического типа.
Статические БТЧП Рейдера. Прямое ТЧП Рейдера для скользящей N = 2n — отсчетной выборки x( j - i), накопленной к j-му моменту дискретного текущего времени, имеет следующий вид [6, 7]:
N-1
Xj(k) = 2 x(j - i)2k (mod (2N/2 +1) k = 0,1, ..., N -1, (1)
i=0
где Xj (k) — теоретико-числовой спектр Рейдера к j-му моменту времени. Разобьем скользящую выборку на две промежуточные выборки размерностью N/2, в первую из которых xo( j - i'1) включим отсчеты с четными значениями i = 2i1, а во вторую Х1 (j - i'1) — с нечетными значениями i = 2i1 +1, т. е. примем xo( j - /1) = x( j - 2i1), x1( j - i1) = x (j - 2i1 -1), где i1 = 0,1, ..., N/2 -1, и учтем их в выражении (1). Тогда получим
N/2-1 N/2-1
Xj(k) = 2 x0(j - i1)22ki1 + 2k 2 x1(j - i1)22ki1 (mod(2N/2 + 1)).
il =0 q =0
Из этой зависимости для спектральных составляющих с номерами k = k1 и k = k1 + N / 2 имеем
N/2-1 k1N/2-1
Xj(k1) = 2 x0(j - i1)22k1i1 + 2 2 x1(j - i1)22k1i1 (mod (N/2 + 1)),
1 =0 i1 =0
N/2-1 Ni1
Xj (k1 + N /2)= 2 x0(j - i1)22k1i1 • 2 i1 + i1=0
N/2-1
+2k12N/2 2 x1 (j - i1 )22k1i1 • 2Ni1 (mod (2N/2 +1)).
i1 =0
Однако
2 Ni1 = 1 ( mod ( 2N/2 +1)), 2N/2 = -1 (mod (2N/2 +1)),
поэтому
Xj (k1) = X (0)(k1) + 2k1 X (1)(k1) (mod (2N/2 +1)),
Xj(k1 + N /2) = X(0)(k1) - 2k1 X(1)(k1) (mod (2N/2 +1)), (2) k1 = 0,1,..., N/2-1,
где
N/2-1
Х^к) = £ хо(] -/1)22^ (шсё(2N/2 +1)
4=0 (3)
N/2-1 4 '
Х^кО = £ ХХ{] - 1х)22^к1 ((2N/2 +1))
г1=0
есть спектр Рейдера для промежуточных выборок к у-му моменту текущего времени.
Полученные уравнения (2) и (3) являются аналитическим описанием статического алгоритма БТЧП на первом уровне прореживания текущей выборки. Из них следует, что искомый спектр этой выборки связан со спектром промежуточных выборок простыми математическими соотношениями, реализация которых требует выполнения умножений на вещественные множители двоично-экспоненциального вида.
Поскольку N/2 в свою очередь делится пополам, то приведенную процедуру прореживания можно применить и для промежуточных выборок хо(] - /) и Х1(] - /), получив тем самым алгоритм БТЧП для второго уровня прореживания. При этом будут использоваться промежуточные выборки Х0,0(] - Ь) = х(] - 4/2), Хо,1 (] - /2) = х(] - 4/2 - 2), Х1,о (] - /2 ) = х(] - 4/2 -1), Х1,1 (] - /2 ) = х(] - 4/2 - 3) и их спектры Х(°>°\к2), Х(0Л\к2), ХУ'0)(к2), Х^;1Д)(к2). Индексы /2 и к2 в этом
случае принимают значения 0, 1, ..., N/4-1. Прореживание заканчивается, когда в промежуточных выборках останется по два отсчета входного сигнала. В этом случае будет получен полный алгоритм БТЧП Рейдера с (п-1) уровнями прореживания.
На произвольном т-м уровне запись статического алгоритма БТЧП принимает следующий вид:
Х^1"" ^т-1) (кт ) = Х^,-, Хт-1,0) (кт ) + 22""1кт Х1,1) (кт),
Х(>1,..., (кт + N /2т )
^ Хт-1,0) (кт)- 22т"1ктХ^'-'^-I,1) (^),
кт = 0,1,..., N/2-1; ^ = 0,1;р = 1,2,...,т -1,
(4)
где
N/2т -1
Х^-Хт~1,°\кт) . £ Х,1,...д„_1,0(7 - /т)22т/ткт
т =0
N/2т -1
Х(^..Лт-1Л)(кт) ^ £ Х,1,...Д„_Ь1(7 - /т)2^т/ткт
(5)
0
т
а
хл.1,..., а.и_1,о (7 - т ) = х (7 - 2т1т - 2т-2 Лт_1 - ... - 2Л,2 - Л1),
(6)
ХЛ1з..., Лт-1,1 (.7 - 1т ) = х (( - 2т/'т - 2т-1 - 2т-2 Лт-1 - ... - 2^2 - Л).
Все операции в выражениях (4) и (5) выполняются по модулю (2 N/2 +1).
Если в алгоритме (4)-(6) индекс т изменять от 1 до п-1, то с его помощью можно описать полный алгоритм БТЧП. При этом выполняемые на последнем уровне прореживания двухточечные ТЧП Рейдера будут содержать только операции сложения и вычитания, поскольку используемые в этом случае множители 2(п-1) 1п-1кп-1 сравнимы с ±1 по модулю (2*/2 +1). Для вычисления спектра
необходимо т менять в обратном направлении от п-1 до 1. Тогда из этого алгоритма будет получено описание итерационного процесса вычисления искомого теоретико-числового спектра при начальных данных, получаемых из соотношений (6) путем подстановки т = п -1.
Процесс вычисления спектра по полному статическому алгоритму БТЧП Рейдера полезно иллюстрировать графически с помощью сигнального ориентированного графа. Такой граф имеет прямоугольный вид и содержит (п +1) вертикальных уровней по N узлов в каждом уровне. Узлы на первом (крайнем слева) уровне предназначены для хранения отсчетов сигналов, а узлы на последнем служат для формирования значений вычисляемого спектра. Все остальные узлы используются для вычисления промежуточных спектров. В вычислительных узлах осуществляется операция сложения двух операндов, которые поступают из других узлов по ветвям графа, причем без изменения знака по ветвям, обозначенным сплошной линией, и с изменением знака на обратный по ветвям, обозначенным пунктирной линией. Двоично-экспоненциальные константы, на которые умножаются результаты вычисления в узлах, указываются около этих узлов. Все вычислительные узлы имеют по два входа и два выхода и по форме изображения напоминают бабочку. Подобная «бабочка» является типовой операцией в БПФ Кули - Тьюки по основанию 2 для комплексного экспоненциального базиса [7, 8].
Полный статический алгоритм БТЧП Рейдера потребует выполнения вещественных сложений А и умножений Мб :
А = N 1о§2 N, Мб = N (1о§2 N -1) /2, (7)
причем реальное число умножений можно уменьшить за счет исключения умножений на тривиальные множители ±1. Кроме того, как уже указывалось, нетривиальные умножения можно заменить на более простые операции сдвига.
Пример 1. Записать полный статический БТЧП Рейдера для N = 8, построить его сигнальный граф и оценить сложность.
Решение. В этом случае п = 3 и полный алгоритм будет содержать два уровня прореживания (т = 1,2). Начальными его значениями будут промежуточные выборки х^д2(7 -¿2) при ХьX2 = 0,1; 12 = 0,1. Они будут равны:
хо,о(7 -¿2) = {х(7X х(7 - 4)}; ходС/ -/2) = {х(7 -2) х(7 - 6)};
х1,о(7 - ¿2) = {х(7 -1), х(7 - 5)}; х1,1(7 - ¿2) = {х(7 - 3Х х(7 - 7)}.
Далее в соответствии с общим алгоритмом (4)-(6) получаем:
• на втором уровне прореживания (Х1, X2 = 0, 1; к2 = 0, 1) :
Х?\к2) = Т^) + 22к2 Х^'^к); Х?\к2 + 2) = Х?<°\к2) - 22к2 Х^(к2);
Х$\к2) = Х^(к2) + 22к2 Х^1^); Х^( к2 + 2) = ХУ'0)(к2) - 22к2 Х(/Л\к2),
где
Х^)^) = ххьх2 (7) + (-1)к2 ХХ1,Х2 (7 -1);
• на первом уровне прореживания (к2 = 0, 1, 2, 3) :
Х7(к1) = Х(°\к2) + 2к1 Х^); Х7(к1 + 4) = Х^к) - 2кХ^к).
Все операции в этих выражениях выполняются по модулю 17. Сигнальный граф этого алгоритма приведен на рис. 1. Непосредственно из него следует, что для реализации такого восьмиточечного алгоритма необходимо выполнить 24 сложения и 5 умножений на множители 2, 4 и 8. Число умножений на графе меньше, чем получается по оценке (7) при п = 3 , поскольку на нем исключены умножения на тривиальные множители, равные ±1.
Скользящие БТЧП Рейдера. Для вывода алгоритма скользящих БТЧП обратимся к первому уровню прореживания статиче-
ских БТЧП. На нем используется нечетная промежуточная выборка x1 (j - i1) = x( j - 2i1 -1) . Ее можно записать так: x[( j -1) - 2i1 ], и тогда она совпадет с четной выборкой на предыдущем (-1)-м шаге скольжения, т. е. будет справедливо равенство x1( j - i1) = x0[( j -1) - i1]. Но в этом случае ее спектр X(Jl)(k1) (см. систему уравнений (3)) будет равен
N/2-1
Xf\kx) - £ x0 [(i -1) - i1 ] 22i1k1 -X^j.-1(k1) (mod (2N/2 + 1)).
1 =0
Рис. 1. Сигнальный граф полного статического алгоритма БТЧП Рейдера
для N = 8
Тогда и алгоритм (2) БТЧП на этом уровне прореживания примет следующий вид:
Xj(k1) - Xj0)(k1) + 2k1 jk) (mod (2N/2 +1)),
(8)
Xj (k1 + N/2) - Xfk) - 2k1 Xj-KkO (mod (2N/2 +1)
Если в нем промежуточный спектр Xj0_\(k1), полученный на предыдущем шаге скольжения, сохранить, то при реализации алгоритма (8) нужно будет вычислять только промежуточный спектр четной текущей промежуточной выборки. Это позволит почти в 2 раза уменьшить число вычислительных операций.
Очевидно, такой подход можно использовать и на других уровнях прореживания, получая дополнительную экономию вычислений. В общем случае на m-м уровне прореживания промежуточные выборки равны (см. соотношения (6)):
х [ ] - (2тгт + 2т-1 X т +... + 2 Л, 2 + )] =
= х [(( - 2т-1 Xт -... - 2Л2 - XI) - (0 + 2тт )]
Поэтому
х(XI,..., ) = х(0>.-. <1)
1 \ т> ^-2)-1л
т. е. спектры промежуточных выборок с ненулевыми значениями индексов ХьX2,..., Xт на текущем шаге скольжения совпадают со спектром выборок с нулевыми значениями этих индексов на соответствующих предыдущих шагах скольжения. Если их сохранить, то для получения всего текущего спектра достаточно будет вычислить только спектры текущих промежуточных выборок с нулевыми значениями индексов XI,X2,..., Xт . В результате будет получен скользящий алгоритм БТЧП Рейдера на т-м уровне прореживания.
Поскольку в таком алгоритме используются только нулевые значения многомерных индексов, то их применение в обозначении промежуточных спектров становится неинформативным и их следует заменить на одномерные. Для этого нужно принять, что
Тогда форму записи скользящего алгоритма можно существенно упростить:
тических БТЧП, в скользящих БТЧП на последнем уровне прореживания будут выполняться двухточечные ТЧП Рейдера, не требующие умножений.
Изменяя индекс т в алгоритме (9) от п-1 до 1, можно итерационно получить полный спектр входного сигнала к текущему моменту времени. Начальными данными при этом будут являться два отсчета
Полный скользящий алгоритм БТЧП Рейдера потребует для своей реализации выполнения сложений и умножений (сдвигов)
Х^-Укт ) = х(т \кт ).
Х(т-1)(кт) - Х>-1)(кт) + 22Ш_ т Х>2т-1 (кт),
Х1т-1) (кт + N /2т) - Хт(кт) - 22)"1k) Х(т (кт), (9)
кт = 0,1,...,N /2т-1 -1; т = 1,2,...,п -1.
2Ш-1 к
2 кт
Все операции здесь выполняются по модулю (2N/2 +1) . Как и в ста-
х(1) и х (1 - N/2).
Ас = 2( N -1), Мс = N -1 - 1о§2 N (10)
и хранения
0С = N (1ов2 N -1) / 2
значений промежуточных спектров с предыдущих шагов скольжения. Сравнение зависимостей (7) и (10) показывает, что учет результатов предыдущих расчетов позволяет в скользящих БТЧП Рейдера более чем в п/2 раз сократить число сложений и (п -1) / 2 раз — число умножений.
Полученные скользящие алгоритмы БТЧП являются рекуррентными, но нерекурсивными алгоритмами. Поэтому в них не накапливаются погрешности округлений, а на текущем шаге кроме текущего спектра вычисляются значения промежуточных спектров, которые необходимы для функционирования алгоритма на последующих шагах скольжения. Эти алгоритмы также целесообразно иллюстрировать графически в виде сигнальных графов, которые при этом будут содержать меньшее число узлов и поэтому иметь не прямоугольный, а усеченный, трапецеидальный вид.
Пример 2. Записать скользящий БТЧП Рейдера для N = 8, дать его графическую иллюстрацию и оценить сложность.
Решение. Поскольку п = 3, то алгоритм (9) будет иметь два уровня прореживания. На втором уровне (т = 2), к2 = 0,1:
Х^) = Х{р(к2) + 22к2Х^) (шоё17),
Х7\к2 + 2) = Х7\к2) - 22к2 Х(2_2(к2) (шоё17),
Х^) = х(7) + (-1)к2 х(7 - 4) (шоё17).
На первом уровне (т = 1, к1 = 0,1, 2, 3) :
Х(0)(к1) = Х7(к1) = Х^(1)(к1) + 2к1 Х^к) (шоё17),
Х(°\к1 + 4) = Х7(к1 + 4) = Х(1)(к1)-2к1 Х(\(к1) (шоё17).
Сигнальный граф алгоритма изображен на рис. 2. Он содержит 4 узла, в которых выполняются умножения на константы 2, 4, 8, и 14 узлов с операциями сложения. Для его реализации необходимо сохранить 8 дополнительных данных в виде промежуточных спектров Х(1-'1(к1), Х7}2(к2) и Х(Д(к2). Промежуточные спектры Х(2?1(к2) не
используются на текущем шаге, но потребуются на следующем (7 +1) -м шаге скольжения.
х(7)
Х(0) Х(1) Х](2) Х(3) Х;(4) Х(5)
Х (6)
Х (7)
х(М)
Рис. 2. Сигнальный граф полного скользящего алгоритма БТЧП Рейдера
для N = 8
Заключение. Поставлена теоретико-прикладная задача синтеза алгоритмов быстрого анализа теоретико-числового спектра Рейдера на скользящих интервалах времени. В рамках ее решения получены следующие научные и практические результаты. На основе скалярного представления теоретико-числовых преобразований приведено общее аналитическое описание статических быстрых преобразований Рейдера (БПР) для скользящих выборок на произвольных уровнях прореживания. Путем их модификации с учетом результатов анализа спектра на предыдущих шагах скольжения разработаны общие оригинальные алгоритмы скользящих БПР. Получены аналитические оценки вычислительной сложности этих алгоритмов и показана их высокая эффективность при больших объемах выборок обрабатываемых сигналов. Проиллюстрирована целесообразность наглядного графического представления скользящих БПР в виде специальных сигнальных графов, разработана их структура. Полученные теоретические результаты подтверждены конкретными примерами.
Разработанный в статье класс быстрых преобразований Рейдера ориентирован на обработку высокочастотных сигналов больших объемов по методу «скользящего окна» в вычислительных системах реального времени.
ЛИТЕРАТУРА
[1] Оппенгейм А., Шафер Р. Цифровая обработка сигналов. Москва, Техносфера, 2007, 856 с.
[2] Айфичер Э., Джервис Б. Цифровая обработка сигналов: практический подход. 2-е изд. Москва, Издательский дом «Вильямс», 2004, 992 с.
[3] Ипатов В. Широкополосные системы и кодовое разделение сигналов. Принципы и приложения. Москва, Техносфера, 2007, 488 с.
[4] Арслан Х., Чен Ши Нинг. Сверхширокополосная беспроводная связь. Москва, Техносфера, 2008, 550 с.
[5] Залманзон Л.А. Преобразования Фурье, Уолша, Хаара и их применение в управлении, связи и других областях. Москва, Наука, 1989, 496 с.
[6] Вариченко Л.В., Лабунец В.Г., Раков М.А. Абстрактные алгебраические системы и цифровая обработка сигналов. Киев, Наук. думка, 1986, 248 с.
[7] Нуссбаумер Г. Быстрое преобразования Фурье и алгоритмы вычисления сверток. Москва, Радио и связь, 1985, 248 с.
[8] Блейхут Р. Быстрые алгоритмы цифровой обработки сигналов. Москва, Мир, 1989, 448 с.
[9] Смирнов Ю.М., Воробьев Г.Н., Потапов Е.С., Сюзев В.В. Быстрые преобразования Уолша для скользящего анализа спектра. Радиотехника и электроника, 1979, т. 24, № 5, с. 950-957.
[10] Сюзев В.В. Быстрые преобразования Фурье для скользящего анализа спектра. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение, 1998, № 2, с. 29-38.
[11] Сюзев В.В. Быстрые преобразования Хаара на скользящих интервалах времени. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение, 2000, № 2, с. 106-111.
[12] Сюзев В.В. Теоретические основы спектрального анализа в базисе Хартли. Наука и образование, 2011, № 10. URL: http://technomag.edu.ru/doc/ 230816.html (77-30569/230816)
Статья поступила в редакцию 28.06.2013
Ссылку на эту статью просим оформлять следующим образом:
Сюзев В.В. Скользящие теоретико-числовые преобразования Рейдера. Инженерный журнал: наука и инновации, 2013, вып. 11. URL: http://engjournal.ru/catalog/ it/hidden/1062.html
Сюзев Владимир Васильевич — д-р техн. наук, профессор, заведующий кафедрой «Компьютерные системы и сети» МГТУ им. Н.Э. Баумана. Область научных интересов — цифровая обработка сигналов и компьютерные информационно-управляющие системы. е-mail: [email protected]