Ортогональные коды уолша. CDMA: сигналы и их свойства

Функциями Уолша называется семейство функций, образующих ортогональную систему, принимающих значения только 1 и -1 на всей области определения.

В принципе, функции Уолша могут быть представлены в непрерывной форме, но чаще их определяют как дискретные последовательности из 2^n {\displaystyle 2^{n}}22цув элементов. Группа из {\displaystyle 2^{n}}2^n функций Уолша образует матрицу Адамара.

Функции Уолша получили широкое распространение в радиосвязи, где с их помощью осуществляется кодовое разделение каналов (CDMA), например, в таких стандартах сотовой связи, как IS-95, CDMA2000 или UMTS.

Система функций Уолша является ортонормированным базисом и, как следствие, позволяет раскладывать сигналы произвольной формы в обобщённый ряд Фурье.

Обобщением функций Уолша на случай более чем двух значений являются функции функции Виленкина - Крестенсона.

М-последовательности. Способ формирования и свойства М-последовательностей. Применение М-последовательностей в системах связи

В настоящее время среди бинарных кодовых последовательностей большой длины наибольшее распространение получили М-последовательности, последовательности Лежандра, кодовые последовательности Голда и Кассами, кодовые последовательности Уолша, нелинейные кодовые последовательностей.

Преимущества М-последовательностей большой длины заключается в уменьшении уровня периодических боковых лепестков функции неопределенности М- последовательностей с ростом ее длины L . Максимальный уровень периодического бокового лепестка ВКФ М-последовательности обратно пропорционален длине последовательности (1/L).

M-последовательности

Выше было упомянуто, что оптимальными для расширения спектра сигнала являются последовательности максимальной длины или М-последовательностями. Такие последовательности формируются с помощью цифровых автоматов, основным элементом которых является сдвигающий регистр с ячейками памяти Т1 , Т2 , …, Т k (рисунок 2).

Рисунок 2 – Цифровой автомат формирования М-последовательности

Тактовые импульсы поступают на все ячейки одновременно с периодом , передвигая за один такт хранящиеся в этих ячейках символы в соседние справа ячейки. Обозначим буквами символы, хранящиеся в соответствующих ячейках на -ом такте. - символ на входе первой ячейки; значение этого символа формируется с помощью линейного рекуррентного соотношения

В соответствии с значение символа в ячейке с номером умножается на коэффициент и складывается с остальными аналогичными произведениями. Как символы , так и коэффициенты могут иметь значения 0 или 1; операции суммирования при этом выполняются по модулю 2. Если коэффициент , то символ ячейки в формировании значения суммы не участвует.

Если принять содержание ячеек регистра сдвига за исходное состояние, то через тактов это состояние вновь будет иметь место. Если при этом регистрировать последовательность символов -той ячейки, то длина этой последовательности будет равна . На последующих тактах эта последовательность вновь повторится и т.д. Число называется периодом последовательности. Значение при фиксированной длине регистра сдвига зависит от числа и расположения отводов. Для каждого значения можно указать число отводов и их положения, при которых период получаемой последовательности оказывается максимальным. В качестве исходного можно взять любое состояние регистра сдвига (кроме нулевой комбинации); изменение исходного состояния вызовет лишь сдвиг последовательности. Последовательности с максимально возможным периодом при фиксированной длине регистра называются М-последовательностями. Их период (длина) .

Структурную схему автомата, формирующего М-последовательности, принято задавать характеристическим многочленом:

в котором всегда , . В табл. 1 для указаны наборы значений коэффициентов этого полинома, определяющих последовательности максимальной длины. Знание вектора позволяет однозначно указать структуру цифрового автомата, формирующего соответствующую полиному (1.16) М-последовательность:

– если , то выход ячейки с номером регистра сдвига подключен к сумматору по модулю 2;

– если , то выход ячейки с номером регистра сдвига не подключен к сумматору по модулю 2. (длинный код для скремблирования и идентификации подвижных станций)

Курс: Теория информации и кодирования

Тема: ДВОИЧНО-ОРТОГОНАЛЬНЫЕ СИСТЕМЫ БАЗИСНЫХ ФУНКЦИЙ


Введение

1. ФУНКЦИИ РАДЕМАХЕРА

2. ФУНКЦИИ УОЛША

3. ПРЕОБРАЗОВАНИЕ УОЛША

4. ДИСКРЕТНОЕ ПРЕОБРАЗОВАНИЕ УОЛША

Список литературы


Введение

Широкое использование спектрально-частотного представления процессов при исследовании сигналов и систем (преобразование Фурье) связанно с тем, что при гармонических воздействиях колебания сохраняют свою форму при прохождении через линейные цепи (системы) и отличаются от входных только амплитудой и фазой. Это свойство используют ряд методов исследования систем (например, частотные методы).

Но при реализации алгоритмов, использующих преобразование Фурье на ЭВМ, необходимо выполнять большое количество операций умножения (миллионы и миллиарды), что занимает большое количество машинного времени.

В связи с развитием средств вычислительной техники и применения их для обработки сигналов широко используются преобразования, содержащие в качестве ортогонального базиса кусочно-постоянные, знакопеременные функции. Эти функции легко реализуются с помощью средств вычислительной техники (аппаратно или программно) и их использование позволяет свести к минимуму время машинной обработки (за счет исключения операции умножения).

К числу таких преобразований можно отнести преобразования Уолша и Хаара, которые широко используются в области управления и связи. В области компьютерной технике эти преобразования используются при анализе и синтезе устройств логического типа, комбинационных схем особенно использующих большие и сверхбольшие интегральные схемы (БИС и СБИС), содержащие сотни тысяч элементов, выполняющих различные логические функции. Преобразования Уолша и Хаара используют кусочно-постоянные функции Уолша, Радемахера, и др., принимающие значения ±1, либо Хаара, принимающие значения ±1 и 0 на интервале определения [-0,5, 0,5] либо .

Все эти системы взаимосвязаны и каждую из них можно получить как линейную комбинацию из другой (например: система Радемахера- составная часть системы Уолша). Обозначение функций связанных с авторами этих функций:

Уолша - Walsh - wal(n, Q),

Хаара- Haar- har(l, n ,Q),

Радемахера - Rademacher - rad(m, Q),

Адамара - Hadamard - had(h, Q),

Пели - Paley - pal(p, Q).

Все эти системы функции представляют собой системы двоично–ортогональных базисных функций.


1. Функции Радемахера

Функции Радемахера можно определить по формуле:

rad(m,Q) = sign, (1)

где 0 £ Q < 1 - интервал определения; m - номер функции; m = 0, 1, 2, ...

Для m = 0 функция Радемахера rad(0,Q) = 1.

Знаковая функция sign(x) определяется соотношением

Функции Радемахера это периодические функции с периодом 1, т. е.

rad(m,Q) = rad(m,Q+1) .

Первые четыре функции Радемахера показаны на рис. 1.


Рис. 1. Функции Радемахера

Дискретные функции Радемахера определяются дискретными значениями Q в точках отсчета. Например: Rad(2,Q) = 1, 1, -1, -1, 1, 1, -1, -1.

Функции Радемахера ортогональные, ортонормированные (3) но являются нечетными, а значит, не образуют полную систему функций, т. к. существуют и другие функции ортогональные функциям Радемахера (например: rad(m,Q) = sign) поэтому их применение ограничено.

(3)

Полными двоично-ортогональными системами базисных функций являются системы функций Уолша и Хаара.

2. Функции Уолша

Функции Уолша представляют собой полную систему ортогональных, ортонормированных функций. Обозначение: wal(n, Q) , где n - номер функции, при этом: n = 0, 1,... N-1; N = 2 i ; i = 1, 2,… .

Первые 8 функций Уолша приведены на рис. 2.

1

Рис. 2. Функции Уолша

Функция Уолша имеет ранг и порядок. Ранг –число единиц в двоичном представлении n. Порядок - максимальный из содержащих единицу номер разряда двоичного представления. Например, функция wal(5,Q) имеет ранг- 2 а порядок –3 (n = 5 Þ 101).

Функции Уолша обладают свойством мультипликативности. Это значит, что произведение любых двух функций Уолша также является функцией Уолша: wal(k,Q)wal(l,Q)= wal(p,Q), где p = k Å l. В связи с возможностью применения к функциям Уолша логических операций, они широко используются в многоканальной связи с разделением по форме (используется также временное, частотное, фазовое и т. д. разделение), а также аппаратуре формирования и преобразования сигналов на базе микропроцессорной техники.

Функции Уолша можно получить как произведение функций Радема-хера, номер которых соответствует коду Грея номера функции Уолша. Соответствия для первых 8 функций Уолша приведены в табл. 1.

Таблица 1

N

Двоичный

Соотношения
0 000 000 wal(0,Q)=1
1 001 001 wal(1,Q)=rad(1,Q)
2 010 011 wal(2,Q)=rad(1,Q)×rad(2,Q)
3 011 010 wal(3,Q)=rad(2,Q)
4 100 110 wal(4,Q)=rad(2,Q)×rad(3,Q)
5 101 111 wal(5,Q)=rad(1,Q)×rad(2,Q)×rad(3,Q)
6 110 101 wal(6,Q)=rad(1,Q)×rad(3,Q)
7 111 100 wal(7,Q)=rad(3,Q)

Существуют различные способы упорядочения функций Уолша: по Уолшу (естественное), по Пэли, по Адамару. Нумерация функций Уолша при различных способах упорядочения (n - по Уолшу; p - по Пэли; h - по Адамару) приведена в табл. 2.

При упорядочение по Пэли номер функции определяется, как номер двоичного кода Грея прочитанный, как обычный двоичный код. Такое упорядочение называется диадическим.

При упорядочение по Адамару номер функции определяется, как двоичное представление номера функции Уолша системы Пели, прочитанное в обратном порядке такое упорядочение называется естественным.

Таблица 2

n 0 1 2 3 4 5 6 7
p 0 1 3 2 6 7 5 4
h 0 4 6 2 3 7 5 1

Как видно из таблицы, различные системы используют одни и те же функции Уолша в различной последовательности, которые равнозначны для представления сигналов, но отличаются только свойства разложения (например, функции Уолша - Пэли сходятся быстрее). При этом, каждому виду упорядочений соответствуют определенные формулы.

3. Преобразование Уолша

Рассмотрим спектральное представление сигналов с использованием базиса Уолша. Аналогично с рядом Фурье ряд Уолша имеет вид:

, (4)

где спектр Уолша

. (5)

Для проверки правильности расчета спектральных коэффициентов может быть использовано равенство Парсеваля

.

Если ограничиться N членами в разложении, то получим усеченный ряд Уолша:

,(6)

где t Î ; N=T/ D t; t = a D t при t ® ¥ a ® ¥ , a - сдвиг по оси;

wal(n,Q) после преобразования аргументов.

Для практических расчетов можно использовать формулу:

.

где: ; (7)

r - ранг спектрального коэффициента с номером a (число двоичных разрядов числа a в которых имеются 1).

i - номер подынтервала определения функции x(t) ;

При этом Г i принимает значение ±1 или 0 в зависимости от того меняет ли W a (i/N) в точке i/N знак с "+" на "-",c "-" на " +" или знак не меняется.

Пример 1. Разложить функцию x(t) = at в ряд по упорядоченным по Пэли функциям Уолша при N=8, T=1, a=1.

Решение: Определим Ф(t):

.

Определим спектральные коэффициенты с учетом функций Уолша упорядоченным по Пэли по формуле (7)

C 0 = aT/2;

C 1 = -aT/2 + 0 +0 + 0 +2(aT/4) + 0 + 0 + 0 = -aT/4;

C 2 = -aT/2 + 0 + 4aT/64) + 0 - 16aT/64 + 0 +36aT/64 +0 =-aT/8;

C 3 = aT/2 + 0 + 4aT/64) + 0 + 0 + 0 - 36aT/64 +0 = 0;

C 4 =-aT/2 + aT/64 - 4aT/64 + 9aT/64 - 16aT/64 + 25aT/64 –

- 36aT/64 + 49aT/64 =-aT/16;

C 5 =C 6 =C 7 =0.

Ряд Уолша - Пэли имеет вид:

.


Аппроксимация функции x(t) = at при а=1 и t=1 полученным рядом приведена на рис. 3.


Рис. 3. Аппроксимация функции x(t)=at рядом Уолша – Пэли

4. Дискретное преобразование Уолша

Дискретное преобразование Уолша (ДПУ) производится при использовании дискретных функций Уолша W a (i/N) Þ Wal(n, Q) и выполняется над решетчатыми сигналами x(i) , при этом число отсчетов N должно быть двоично -рациональным, т. е. N = 2 n , где n = 1, 2,... , i - определяет номер точки дискретного интервала определения a = 0, 1,..., N-1 .

Формулы дискретного ряда Уолша имеют вид:

,(9)

где дискретный спектр Уолша

. (10)

Для проверки правильности расчета спектральных коэффициентов может быть использовано равенство Парсеваля:

(11)

График дискретной функции Уолша, упорядоченных по Пели приведен на рис.


Пол Фейерабенд (р. 1924).

Томас Кун (р. 1922).

Имре Лакатош (1921–1974).

Функции Уолща являются естественным расширением системы функций Радемахера, получены Уолшем в 1923 г. и представляют полную систему ортонормированных прямоугольных функций.

Множество функций Уолша, упорядоченных по частости, обычно обозначают следующим образом:

Функции Уолша, упорядоченные по частости, аналогично тригонометрическим функциям можно подразделить на четные cal(i,t) и нечетные sal(i,t)

(17.3)

На рисунке 17.1 показаны первые восемь функций wal w (i,t).


а)
б)

Рисунок 17.1

При этом видно, что частость каждой последующей функции Уолша больше или равняется частости предыдущей функции Уолша и имеет на одно пересечение нулевого уровня больше в открытом интервале tÎ. Отсюда и следует название «упорядочение по частости».

Дискретизация функций Уолша, показанных на рисунке 17.1а, в восьми равноотстоящих точках приводит к матрице (8х8), показанной на рисунке 17.1б. Эту матрицу обозначают H w (n) где n=log 2 N и матрица будет иметь размер NxN.

Функции Уолша при упорядочении по частости в общем случае можно получать из функций Радемахера r k (x) по формуле:

(17.4)

где w номер функции Уолша; k – номер функции Радемахера; показатель степени функции Радемахера, который принимает значение 0 или 1 в результате суммирования по модулю два, т.е. по правилу: 1Å1=0Å0=0; 1Å0=0Å1=1 разрядов двоичного числа w . Например для шестой функции Уолша (w =6), входящей в систему размером N=2 3 =8 произведение (17.4) состоит из трех сомножителей вида: при k=1 при k=2 при k=3 . Число в двоичной системе записывается совокупностью нулей и единиц. В нашем случае значение w и его разрядов показаны в таблице 17.1

Таблица 17.1



w 0 – старший разряд числа, w 3 – младший разряд числа w .

Показатели степени функций Радемахера получаются равными: ; ; и следовательно,

wal(6,x)=r 1 1 (x)×r 2 0 (x)×r 3 1 (x)=r 1 (x)r 3 (x)

Правило получения показателей степеней для функции Радемахера схематически показано в таблице 17.1, где стрелками указаны суммируемые разряды числа w и функции Радемахера, к которым относится полученный показатель степени. Из рисунка 17.1 видно, что четные номера функций Уолша относятся к четным функциям, а нечетные к нечетным функциям. Другим способом упорядочения являются упорядочение по Пэли. При упорядочении по Пэли, аналитическая запись функции Уолша имеет вид:

p 1 – младший разряд двоичного числа, р n – старший разряд двоичного числа. При упорядочении по Пэли для формирования функций Уолша необходимо взять произведение возведенных в степень функций Радемахера, номера которых совпадают с номерами соответствующих разрядов двоихного представления числа р, а показатель степени каждой функции равен содержимому соответствующего разряда, т.е. 0 или 1. Причем младшей функции Радемахера соответствует младший разряд двоичной комбинации числа р. В соответствии с этим правилом в таблице 17.2 приведены значения функций Уолша упорядоченных по Пэли.

Таблица 17.2

р р 1 р 2 р 3 r 1 (x) × r 2 (x) × r 3 (x) wal p (i,x) = wal w (j,x)
r 1 0 (x) × r 2 0 (x) × r 3 0 (x) wal p (0,x) = wal w (0,x)
r 1 1 (x) × r 2 0 (x) × r 3 0 (x) wal p (1,x) = wal w (1,x)
r 1 0 (x) × r 2 1 (x) × r 3 0 (x) wal p (2,x) = wal w (3,x)
r 1 1 (x) × r 2 1 (x) × r 3 0 (x) wal p (3,x) = wal w (2,x)
r 1 0 (x) × r 2 0 (x) × r 3 1 (x) wal p (4,x) = wal w (7,x)
r 1 1 (x) × r 2 0 (x) × r 3 1 (x) wal p (5,x) = wal w (6,x)
r 1 0 (x) × r 2 1 (x) × r 3 1 (x) wal p (6,x) = wal w (4,x)
r 1 1 (x) × r 2 1 (x) × r 3 1 (x) wal p (7,x) = wal w (5,x)

Функции Радемахера в таблице показаны в форме: . Сравнение произведений и степеней функций Радемахера, записанных в таблицах 17.1 и 17.2 показывает., что между функциями Уолша, упорядоченными по Пэли и по Уолшу существует соответствие, которое отражено в последнем столбце таблицы 17.2. В соответсвии с функциями Уолша упорядоченными по Пэли также может быть построена матрица отсчетов H p (n), аналогичная показанной на рисунке 17.1б.

wal h (0,x)=wal w (0,x); wal h (2,x)=wal w (3,x); wal h (4,x)=wal w (1,x); wal h (6,x)=wal w (2,x); wal h (1,x)=wal w (7,x); wal h (3,x)=wal w (4,x); wal h (5,x)=wal w (6,x); wal h (7,x)=wal w (5,x). (17.9)

Сжатие навигационых таблиц в базисе Уолша C.B. Пашенцев

Судоводительский факультет МГТУ, кафедра судовождения

Аннотация. В работе рассмотрена возможность использования функционального базиса Уолша-Пэли для сжатия линейных и прямоугольных таблиц. Приведены все необходимые для этого формулы и на некоторых примерах продемонстрирован реальный эффект сжатия информации. Метод может использоваться как для предварительного сжатия информации, так и при ее обработке в реальном масштабе времени.

Abstract. A possibility of the using of the Wolsh-Paly functional base for the linear and rectangular tables compression has been considered in the work. All the formulas, necessary for it, are given and the actual effect of information compression has been shown on some examples. The method can be used both for preliminary compression of information, and by its processing in a real time scale.

1. Введение

В многих автоматических и автоматизированных устройствах, связанных с судовождением, используются табличные данные, занесенные в память решающих устройств и выбираемые из нее по мере надобности. При этом расходуется важнейший ресурс - память, а выборка из нее потребляет и еще более важный ресурс - время, влияя на быстродействие всей системы обработки информации. Поэтому важны любые методы, позволяющие уменьшать объем хранения. Одним из таких методов может быть метод сжатия табличной информации за счет ее спектрального разложения в некотором функциональном базисе. В момент потребления значение функции восстанавливается обратным преобразованием. По сравнению с разложением Фурье, более выгодным является использование для разложения базиса Уолша, так как для гладких функций коэффициенты разложения Уолша быстрее стремятся к нулю. Это допускает большую степень сжатия информации в базисе Уолша. Кроме того, при восстановлении табличных значений в базисе Уолша требуется меньшее время. Связано это с более простым вычислением функций Уолша сравнительно с вычислениями тригонометрических функций. Ести же эти функции генерируются аппаратно, то выгода от применения функций Уолша еще больше, так как их возможные значения +1 и -1 легко реализуются вычислительными устройствами. В работе на численных примерах показаны преимущества применения базиса Уолша для некоторых типов гладких функций и табличных данных. Вычислительный процесс строится на программах быстрых преобразований Фурье и Уолша, написанных автором, и сравнении получаемых спектров.

2. Теоретические основания сжатия

Общие теоретические положения, на основании которых производится преобразование в выбранном функциональном базисе, хорошо известны (Голд, Райдер, 1993; Трахтман А., Трахтман В., 1978). Следует выделить дискретные преобразования при конечности исходного числового ряда. Поскольку речь идет о сжатии таблиц, т.е. о принципиально конечном ряде чисел, то далее будем говорить только о дискретных преобразованиях. Если задан ряд из N чисел

X2, Xk, , XN (1)

то и функциональный базис следует выбрать из конечного набора N функций

Фа(Х), а= 1, 2,„., N, (2)

существующих на совокупности точек Xk. Тогда дискретное преобразование в этом базисе даст ровно N коэффициентов Ca, Koropbie находятся с помощью формального суммирования:

C„ = ЪкХк Фа(Хк), а= 1, 2,„„ N. (3)

Совокупность N коэффициентов Ca и составляет дискретное представление ряда чисел (1) в

функциональном базисе (2). Часто эту совокупность чисел Ca называют линейчатым спектром в выбранном базисе. Другой интерпретацией разложения (3) является рассмотрение его как линейного преобразования исходной системы координат Хк. Коэффициенты Ca становятся тогда координатами в новой координатной системе 0JX). Если спектр (набор коэффициентов Ca) известен, то породивший его ряд чисел можно восстановить с точностью до погрешностей вычислений с помощью обратного дискретного преобразования

Xk = (1/N) T.aCa0JXk), k = 1, 2,..., N. (4)

Для справедливости простых и почти симметричных преобразований (3) и (4) необходимо, чтобы набор функций базиса обладал свойствами ортогональности и определенной нормировки. Условие ортогональности выглядит как совокупность равенств

Zk Фр(Хк) Ф(Хк) = 0, р Ф q, (5)

а условия нормировки - как совокупность равенств

Zk ФрХк) Фр(Хк) = Ек Фр\Хк) = 1. (6)

Кроме того, система базисных функций называется полной, если невозможно указать более ни одной функции, которая ортогональна ко всем функциям базиса.

Очевидно, что при такой постановке вопроса никакого сжатия не происходит, так как количество членов исходного ряда и количество спектральных коэффициентов одинаково. Возможность сжатия информации появляется, если число коэффициентов спектра можно сделать меньше числа N. Например, когда часть коэффициентов спектра равна нулю или близка к нему. Тогда этими коэффициентами можно пренебречь, и полученный спектр окажется короче. В первом случае, когда мы пренебрегаем только нулевыми коэффициентами спектра, исходный ряд чисел будет восстановлен с точностью до погрешностей вычислений. Если же мы пренебрежем коэффициентами спектра, в указанной степени близкими к нулю, то восстановленные значения исходного ряда будут включать в себя не только погрешности вычислений, но и погрешности от неточного представления спектра. Чем большую погрешность восстановления членов исходного ряда мы flonyœaeM, TeM большим числом коэффициентов спектра можно пренебречь.

Если обозначить через n число коэффициентов спектра, которыми мы пренебрегли, то отношение в процентах

sq = (n / N) -100 % (7)

можно назвать степенью сжатия исходной информации. Ведь в этом случае мы представляем ее N-n коэффициентами спектра вместо N значений исходного ряда. При sq = 0 сжатие вообще не происходит, а при sq = 100 % оно достигает предельной гипотетической величины. Реальные случаи лежат в пределах от 0 % до 100 %.

Практическая сторона реализации этой идеи несколько сложнее. Если нулевыми или малыми в указанной степени являются конечные (финальные) спектральные коэффициенты, то не составляет труда отбросить n из них и тем самым добиться сжатия sq.

Если же среди коэффициентов спектра имеются нулевые или близкие к нулю в заданной степени, но они не являются финальными, то возникает сложность в представлении такого спектра с позиций сжатия информации. В этом случае надо либо приводить все коэффициенты спектра, включая нулевые и близкие к ним, и тогда сжатия не происходит. Либо задавать группы нулевых спектральных коэффициентов номером начального элемента в группе и количеством элементов группы. Это, естественно, уменьшает степень сжатия исходного ряда чисел. Если нулевые элементы спектра не являются финальными или не составляют группы, а их номера не обнаруживают простой закономерности, то сжатие информации этим путем не достигается.

Итак, возможность сжатия информации и степень ее сжатия зависят как от самого ряда чисел (1), так и от набора функций (2), составляющих базис спектрального разложения Ca. Поскольку ряд чисел Хк нам задан, то управлять степенью сжатия мы можем, изменяя базис спектрального разложения. Но при выбранном базисе Ф(х) характер заданной информации будет сказываться как на самой

возможности сжатия, так и на степени ее сжатия. Существует достаточно много функциональных базисов, которые успешно используются для различных задач представления информации. Среди наиболее известных назовем базисы степенных функции и их полиномиальные варианты в виде полиномов Чебышева и Лежандра, а также базисы Кравчука, Шарлье и Мейснера. Но наиболее знакомым нам является базис тригонометрических функций:

sin(2nax) и со s(2n«x), (7)

или соответствующий экспоненциальный базис в комплексной форме:

exp(-j 2nax). (8)

В этом случае спектр коэффициентов Ca является спектром в его обычном физическом смысле как совокупности амплитуд некоторого набора частот ограниченного диапазона и определенного частотного разрешения. Поскольку в этом случае базис уже выбран, то возможности сжатия теперь связаны только с характером исходной информации. Если она адекватна по характеру выбранному базису (8), т.е. состоит из линейной комбинации конечного числа периодических функций, то спектр будет содержать лишь конечное число отличных от нуля коэффициентов, и возникает возможность сжатия информации.

3. Система функций Уолша-Пэли

Если же исходная информация имеет другой характер, например, изменяется по степенному, показательному или логарифмическому закону, то в спектре все его коэффициенты не являются достаточно малыми, и сжатие либо невозможно, либо степень сжатия мала. В этих случаях разумно использовать другой функциональный базис. Поскольку для других базисов нет отчетливого физического представления спектра, то можно интерпретировать (2) как формулы перехода от координатной системы Xk к другой координатной системе Фа(Х). Равенство нулю части коэффициентов означает, что вектор, заданный координатами в виде исходного ряда чисел, в новой системе координат располагается в координатной гиперплоскости размерности N-n. Среди существующих возможностей имеются несколько базисов, порождаемых функциями Радемахера при Z е (0,1):

R0(z) = 1, Rk(z) = sign (sin (2k nz)), k = 1,2,..., (9)

которые в соответствии с входящей в них функцией sign() принимают только два значения: +1 или -1.

Система функций (9) ортогональная и нормированная, но не является полной. К ней можно добавить функции вида sign(cos2knz), которые также ортогональны к функциям системы (9). Поэтому на базе представлений (9) формируют иные полные системы, используя произведения функций Радемахера и внося в получаемые таким образом новые функции определенное упорядочивание.

Наиболее интересной для навигационных применений в плане сжатия информации является система функций Уолша-Пэли. Образование этой системы тесно связано с двоичными номерами составляющих ее функций. Конкретно, функция Уолша-Пэли с номером а есть произведение функций Радемахера с номерами тех двоичных разрядов а, в которых расположены 1. Если записать номер а в двоичном представлении с n = log N разрядами

а = Zk 2k-1 ak, (10)

то функции системы Уолша-Пэли можно представить так:

Wa(z) = Пк М. Сам номер } можно представлять подобно (12) в двоичной форме:

} = Ек 2к-1]к. (15)

Тогда система функций Уолша-Пэли окончательно представится в виде

ЯГа}/Щ = WJ {а/К) = (-1)"как1""к + \ (16)

который используется во всех последующих вычислениях. Программная функция WolshPaly() на языке Паскаль для генерации функций Уолша-Пэли с помощью формул (16) приведена ниже. Для N = 8 значения функций Уолша-Пэли №(/) даны в табл. 1.

Таблица 1. Значения функций Уолша-Пэли для N = 8

] 0 1 2 3 4 5 6 7

0 1 1 1 1 1 1 1 1

Не обсуждая детали, просто упомянем о существовании систем функций Адамара и Хармута, которые отличаются от подробно рассмотренной системы функций Уолша-Пэли только способом упорядочивания одних и тех же функций. Именно порядок функций Уолша-Пэли обеспечивает наибольшее число финальных коэффициентов спектра, нулевых или близких к нулю в заданной степени.

4. Сходимость рядов Уолша-Пэли

Функции Уолша обладают рядом полезных свойств, среди которых приведем используемое в вычислениях свойство симметрии:

Щ (а/Щ. (17)

Двоичное представление номеров функций Уолша с п = logN разрядами определяет порядок р и ранг г функции. Порядком называется наибольший номер двоичного разряда, который равен 1. Рангом Я функции называется число ненулевых двоичных разрядов, например, функция Уолша с номером а = 9 для N = 16 и п = 4 представляется в двоичной форме как 1001, и, следовательно, ее ранг г = 2 (два

ненулевых разряда) и порядок р = 3 (старший ненулевой разряд - третий, т. к. счет идет от нуля). Если функция с номером а имеет ранг г, то ее номер можно представить в виде:

а (Я = г) = 2М1 + 21"2 + ... + 2Мг, (18)

где цк (к = 1, 2,..., г) - номера ненулевых разрядов двоичного представления номера а. Например, номер 9 можно представить как 23 + 20, учитывая двоичное представление 1001. Непосредственно для проблемы сжатия исходной информации важна скорость убывания коэффициентов Са разложения в базисе Уолша при росте номера а. Если функция, представляемая рядом (1), обладает непрерывной производной до даго порядка, и максимальное значение модуля производной |А"(т)| есть М, то коэффициенты спектра с номерами а, ранг которых не меньше порядка производной (г > да), удовлетворяет неравенству (Проектирование специализированных..., 1984):

| Са(г>ш) | < М/ 2ш(ш+3)/2. (19)

Именно это важное неравенство гарантирует быструю сходимость спектральных коэффициентов Са с ростом номера а и открывает перспективы сжатия табличной информации. Действительно, ранг г функции Уолша увеличивается с ростом номера функции а так, что условие г > ш выполняется для больших номеров а. Это значит, что оценка (19) действует для финальных коэффициентов разложения.

Таблица 2. Коэффициенты спектрального разложения степенных функций в базисе Уолша

ПОРЯДОК РАНГ СТЕПЕНЬ ФУНКЦИИ

0 0 4.68 3.03 2.20 1.37

1 0 -2.50 -2.34 -1.96 -1.34

2 1 -1.25 -1.17 -1.10 -0.95

3 1 0 0.63 0.88 0.92

4 2 -0.63 -0.59 -0.56 -0.52

5 2 0 0.31 0.44 0.49

6 2 0 0.16 0.22 0.31

7 3 0 0 -0.12 -0.29

8 3 -0.31 -0.29 -0.28 -0.26

9 3 0 0.16 0.22 0.25

10 3 0 0.08 0.11 0.15

11 3 0 0 -0.06 -0.15

12 3 0 0.04 0.05 0.08

13 3 0 0 -0.03 -0.07

14 3 0 0 -0.01 -0.04

15 3 0 0 0 -0.03

од % 43.8 18.8 6.3 0

Если к тому же функция имеет конечное число отличных от нуля производных (например, степенная функция), то все коэффициенты с номерами, чьи ранги больше этой степени, тождественно равны нулю. Но для этого необходимо, чтобы число N было достаточно велико, и ранг "успел" стать больше номера старшей производной. В качестве примера рассмотрим спектральное разложение степенной функции, представленной рядом (1), с числом отсчетов, равным 16 ^ = 16, п = 4). Малое число отсчетов выбрано только для обозримости результатов примера. Выше в табл. 2 приведены с округлением до двух знаков спектральные коэффициенты разложения для различных степенных функций: линейной, квадратической, кубической и пятой степени - с одновременным указанием номера а спектра и его ранга г.

На этом примере видно, что чем меньше степень функции, которая порождает ряд чисел (1), тем большей степени сжатия од можно достичь при разложении. Если ряд короткий, а степень велика, то сжатие вообще не достигается, как это происходит при пятой степени функции. Если при той же степени функции увеличивать число членов ряда и, следовательно, число коэффициентов спектра, то степень

сжатия растет. Так, при N = 64 sq = 7.8 %, при N = 128 sq = 18.0 %, при N = 256 sq = 23.8 %.

Заметим попутно, что в случае спектра Фурье ни в одном из приведенных случаев никакого сжатия не достигается - налицо неадекватность тригонометрического базиса степенным функциям.

4. Основные формулы дискретного преобразования Уолша-Пэли

Обычно говорится о представлениях заданной функции в выбранном базисе, но, работая с дискретным спектральным преобразованием, мы имеем дело с набором ее дискретных значений. Эти дискретные значения представлены рядом чисел (1).

Итак, мы выберем в качестве функционального базиса систему функций Уолша-Пэли (16) и приведем для этой системы основные формулы, выражающие свойства ортогональности и нормировки функций в этой системе, и формулы преобразования для нее:

Формула прямого дискретного преобразования Уолша для получения спектра

Са = (1/N) ZkXkWa(k/N).

Формула обратного дискретного преобразования Уолша для восстановления исходного ряда значений

Xk = EaCaWa (k/N).

Условие ортогональности и нормировки функций Уолша на дискретном множестве точек

No = (1/N)Zk Wp(k/N) W(k/N) = 0, если p Ф q и No = 1, если p = q. Равенство Парсеваля

(1/N) ZkXk2= ЪаСа,

которое представляет собой равенство квадрата модуля вектора в исходной Xk и новой Са системах координат.

5. Элементы программной реализации

Именно этот набор формул был положен автором в основу при составлении программы на языке Паскаль для сравнительного анализа результатов дискретных преобразований Фурье и Уолша (свидетельство на программный продукт РОСАПО № 950347 от 02.10.1995). При этом дискретные преобразования были реализованы как быстрые преобразования Фурье (БПФ) и Уолша (БПУ) с основанием 2 и прореживанием по времени (Рабиндер, Голд, 1978). Это не имеет значения для сжатия табличной информации, так как преобразование в этом случае производится один раз, но очень важно при обработке информации в реальном масштабе времени для возможности прогонки большего числа различных числовых рядов (таблиц, функций) за минимальное время. Подобная программа практически без изменений была с успехом применена при оперативном спектральном анализе на борту летающей лаборатории ИЛ18-ДОРР ПИНРО. Два основных фрагмента этой программы приведены ниже. Это процедура быстрого преобразования Уолша и функция вычисления значения функции Уолша по заданному номеру и аргументу. Вся программа занимает слишком много места и потому здесь не приводится.

Function WolshPaly(Alf, l: integer) : integer; var J, K, x, y, w, maskl, mask2: integer; begin

w:=l; mask1:=l; mask2:=N div 2; for K:=0 to N-l do begin

if (Alf and mask2)<>0 and (I and mask1)<>0 then w:=-w; mask1:=mask1*2; mask2:=mask2 div 2; end;

WolshPaly:=w; end;

Эта функция принимает два параметра - номер Alf и аргумент I функции Уолша и возвращает само значение функции Уолша.

Procedure FastWolshTrans(var ml, m2, m3, m4: masdat); var L, LE, LE1, I, J, IP: integer; T1,T2: real;

begin LE:=1; for L:=1 to M do begin LE1:=LE; LE:=LE*2;

for J:=1 to LE1 do begin I:=J; repeat IP:=I+LEl; T1:=m1; T2:=m2;

If L=M then begin

m3:=m1[I]-T1; m4:=m2[I]-T2; m3[I]:=m1[I]+T1; m4[I]:=m2[I]+T2;

m1:=m1[I]-T1; m2:=m2[I]-T2; m1[I]:= m1[I]+T1; m2[I]:=m2[I]+T2;

I:=I+LE; until I>N; end; end;

/* "D" - знак прямого преобразования */

if TIP="D" then begin for L:=1 to N do begin m3[L]:=m3[L]/N; m4[L]:=m4[L]/N; end;

Процедура производит быстрое преобразование Уолша данных, которые передаются процедуре в массивах ml и m2. Результат преобразования - спектр Уолша возвращается процедурой в массивах m3 и m4. Если данные передаются процедуре в обычном порядке следования, то результат возвращается в двоично-инвертированном порядке. Если же мы хотим получить обычный порядок коэффициентов спектра, то исходные данные для обработки следует двоично инвертировать. Двоичным инвертированием номера считается номер, в котором порядок его двоичных разрядов изменен на обратный, например, инверсия числа 6 = 110 есть 3 = 011. Для инверсии любых номеров предлагается процедура на языке Pascal:

Procedure MASINVERSION(sw: integer; var m1, m2: masdat); var I, J, K, NV2: integer; T: real; begin NV2:=N div 2;

for I:=1 to N-1 do begin

if I

else begin K:=NV2; while K

6. Сжатие таблиц с двумя аргументами

Выше были рассмотрены преобразования и сжатие одномерных, линейных таблиц. Но большинство применяемых в судовождении таблиц являются двумерными - прямоугольными матрицами. Вопрос об их сжатии можно решить двумя путями. Первый путь - преобразование таблицы как линейной, считая, что она образована последовательным размещением строк таблицы-матрицы, начиная с первой строки. Этот путь вполне обычен, ведь именно так хранится двумерный массив в линейно организованной памяти ЭВМ. Преимущество такого способа состоит в том, что размер такой линейной таблицы будет достаточно большим, и можно надеяться на эффективность сжатия. Но в нем скрыты и возможные неприятности. После выстраивания в линию строк матрицы мы наверняка получим скачки функции при переходе от конца одной строки к началу следующей. Эту трудность можно обойти изменением порядка элементов в каждой четной строке - инвертированием этой строки. Соответственно, изменится и порядок спектральных коэффициентов. Но это не усложнит, а только изменит порядок номеров при восстановлении значений самой функции. Так, если номер значения восстанавливаемой функции был Npq = (р - 1) М + q, где р - номер строки с числом М элементов в ней, а q - номер столбца, то после инвертирования для четных строк этот номер станет равным (р - 1) М + (М- q + 1).

Второй путь - сначала спектральное преобразование строк таблицы, а затем преобразование полученного промежуточного спектра по столбцам. Недостатком этого способа можно считать малую степень сжатия из-за малой длины строк и столбцов. Правда, эффект сжатия усиливается за счет двойного преобразования и строк, и столбцов. Например, при сжатии строк и столбцов всего на 10 % общий эффект сжатия будет равен 1 - 0.9x0.9 = 0.19 = 19 %. Если, например, строки таблицы изменяются по квадратическому закону, а столбцы по кубическому, то общий эффект сжатия по данным табл. 2 равен 1-(1-0.188)х(1-0.63) = 0.24 = 24 %.

В качестве конкретного примера приведем результаты преобразования таблицы интегральной функции Лапласа (Кондрашихин, 1969), которую применяют в судовождении при оценке надежности мореплавания. Здесь она представлена в виде матрицы 30x10, т.е. состоит из 30 строк и 10 столбцов. Преобразовывать ее как двумерную нет никакого смысла: слишком мало (10) элементов в строках. Поэтому преобразуем ее как линейную таблицу из 300 значений. В примере будем считать, что значений 256 = 28. Но можно было бы дополнить таблицу нулями и считать число значений 512 = 29. Ив том, и в другом случаях получен одинаковый результат: финальное число нулей с степенью близости к нулю порядка 0.01 % от максимального коэффициента составляет 46.5 %. Восстановление функции по сжатой до 53.5 % совокупности коэффициентов спектра дало погрешности: среднюю квадратическую в 0.005 и максимальную в 0.057. Пример показывает эффективность проведенного преобразования таблицы.

7. Заключение

Проведенные исследования, связанные с выбором функционального базиса Уолша-Пэли, показывают, что этот функциональный базис может успешно применяться в различных системах обработки информации, не носящей выраженного периодического характера. В этом случае преимущества такого функционального базиса перед базисом Фурье очевидны. Кроме того, базис Уолша-Пэли дает хороший эффект при сжатии информации. Это показано на примере характерной для задач надежности навигации таблицы интегральной функции Лапласа, где эффект сжатия достиг 53.5 %.

Литература

Голд Б., Рейдер Ч. Цифровая обработка сигналов. М., Сов.радио, 367 е., 1993. Кондрашихин В.Т. Теория ошибок. М., Транспорт, 256 е., 1969.

Проектирование специализированных информационно-вычислительных систем. Под ред.

Смирнова Ю.Н. М., Высшая школа, 359 е., 1984. Рабиндер Л., Голд Б. Теория и приложения цифровой обработки сигналов. М., Мир, 528 е., 1978. Трахтман А.Н., Трахтман В.А. Введение в общую спектральную теорию сигналов. М., Сов.радио, 312 е., 1978.

При решении многих задач анализа сложный сигнал удобно представить в виде совокупности элементарных сигналов. На практике наибольшее применение нашло представление сигнала s(t), заданного на интервале , в виде линейной комбинации некоторых элементарных функций (p t (t ), / = 0,1,2,..., называемых базисными

- норма базисной функции.

Представление сигнала в таком виде называется обобщенным рядом Фурье. Часто в качестве базисных функций используют систему тригонометрических функций

или систему комплексных экспоненциальных функций

Однако по мере развития цифровых методов передачи и обработки сигналов в последние годы в качестве базисных функций начинают использовать дискретные ортогональные последовательности в виде функций Радемахера, Уолша, Хаара и др.

Введем безразмерное время 0 = t / Т . Функции Радемахера образуются из синусоидальных функций с помощью соотношения

Иначе говоря, функции Радемахера, принимающие значения ±1, можно трактовать как функции «прямоугольного синуса». Графики первых четырех функций Радемахера имеют вид, представленный на рисунке 4.12.


Система функций Радемахера r k (0) является ортонормированной на интервале 0

Система функций Уолша является расширением системы функций Радемахера до полной системы и определяется как

где kf - значение j -го разряда в записи числа к в коде Грея. Например,

так как 5=>101 2 =>111 г. Графики первых четырех функций Уолша показаны на рисунке 4.13.


Рис. 4.13.

Функции Уолша обладают следующими свойствами:

  • 1. wal k (®) = ± 1.
  • 2. | wal k (0)| = 1, 2 = 1.
  • 3. Функции Уолша являются периодическими wal k (©) = wal k (0 +1).
  • 4. Функции Уолша являются ортогональными

5. Умножение функций Уолша дает функцию Уолша, но другого порядка wal k (0) wal n (0) = walj (0), j = к ® n ,

wal k (0 2) wal k (0 2) = wal k (0 3), 0 3 = 0j ® 0 2 , где © - сложение по модулю два.

В некоторых случаях используют функции Уолша вида

При использовании в качестве базисных функций системы функций Уолша сигнал можно представить в виде

Совокупность коэффициентов Уолша-Фурье {q} или {а к ф к } и совокупность порядковых номеров функций образуют спектр сигнала в базисе Уолша, который для краткости иногда называют S-спектром.

Например, сигнал, представляющий собой периодическую последовательность прямоугольных импульсов (рис. 4.14), имеет S-спектр, определяемый по выражению (4.39).

Рис. 4.14.

прямоугольных импульсов

Пусть п= 3, тогда получим S-спектр для данного случая, показанный на рисунке 4.15.

Рис. 4.15.

Таким образом, в отличие от обычного частотного спектра S-спектр последовательности прямоугольных импульсов оказывается конечным. Следует отметить, что сдвиг импульсов во времени приводит к изменению структуры S- спектра. В частности, появляются новые составляющие. Например, для последовательности из п= 3 импульсов, сдвинутой на 0=1/16, S-спектр имеет вид, как на рисунке 4.16, в то время как при использовании тригонометрической системы функций сдвиг во времени изменяет только фазовый спектр.

В связи с возможностью применения к функциям Уолша логических операций они находят применение при разработке устройств формирования и преобразования сигналов на базе микропроцессорной техники. Сигналы на основе функций Уолша используются в цифровых многоканальных системах передачи информации.

Рис. 4.16.

сдвинутых на 0=1/16

Система функций Хаара состоит из кусочно-постоянных функций har k (0), задаваемых на интервале 0

где т - номер старшего ненулевого разряда в двоичном представлении числа

к mod2 w - величина к по модулю 2 т, это наименьший остаток от деления числа к на 2 т . Графики нескольких функций Хаара даны на рисунке 4.17.

Рис. 4.17.

Если рассматривать спектр сигнала в базисе Хаара, то, как и в случае S- спектра, при сдвиге сигнала во времени меняется структура его спектра.

Функции Хаара находят применение в системах управления и связи, при разработке цифровых фильтров, при сжатии информации - это, например, различные методы сжатия черно-белых фотографий на основе функций Хаара для последующей передачи сжатых изображений по каналам связи или их архивирования.