В.В. Сюзев. Основы спектральнго анализа в базисах Хаара

реклама
УДК 519.216.1/2
В.В. Сюзев
ОСНОВЫ СПЕКТРАЛЬНОГО АНАЛИЗА В БАЗИСАХ ХААРА
Системы функций Хаара находят широкое применение в самых
различных областях науки и техники при решении обширного класса
теоретических и прикладных задач [1]. Связано это с рядом замечательных
свойств
этих
базисных
функций
и
существованием
для
них
высокоэффективных вычислительных алгоритмов спектрального анализа
[1,2]. Немаловажное значение имеет и возможность обобщения данных
функций
на
случай
представления
чисел
в
системе
счисления
с
произвольным основанием. Основам спектрального анализа в базисах
простых и обобщенных функций Хаара и посвящена данная статья, в которой
наряду с известными сведениями
приводятся и новые оригинальные
результаты теории функций и преобразований Хаара.
1. Простые функции Хаара и их свойства
В 1909 г. А.Хаар (A. Haar)
ортонормированных
функций
[3] построил полную систему
меандрового
типа,
пригодную
для
спектрального представления интегрируемых функций, определенных на
интервале [0,1), разбиваемом на двоично-рациональное число N=2n, n=1, 2, …
подинтервалов знакопостоянства.
Все базисные функции h(k,z) этой
системы удобно разбивать на группы, в пределах которых они имеют
одинаковые амплитудные значения. Достигается это за счет двумерного
представления одномерного номера k:
k  2  m,   0,1,...; m  0,1,..., 2  1.
(1)
Здесь индекс  определяет номер группы, а индекс m – номер функции Хаара
в этой группе. Двумерное представление не распространяется на нулевую
функцию, которая выпадает из групп и задается отдельно. При конечном N
число групп тоже становится конечным и равным n=log2N . Поэтому индекс
группы  в этом случае изменяется от 0 до n-1.
Нормированные функции Хаара являются многозначными функциями.
Поэтому
для
практики
спектральной
обработки
более
удобными
оказываются ненормированные функции Хаара, принимающие всего три
простейших значения: 0, +1 и -1. Такие функции аналитически задаются
следующим выражением:
1 при 2m2 ( 1)  z  (2m  1)2 ( 1) ,

h(o, z )  1; h(k , z )  h( , m, z )  1 при (2m  1)2  ( 1)  z  (2m  2)2  ( 1) ,
0 при остальных z

(2)
и имеют знакопеременный характер, причем во внутренних точках разрывов
первого рода принимаются непрерывными справа.
Функции Хаара (2) ортогональны, т.к.
1
 h(k , z )h( p, z )dz  0
o
при k≠p. Мощности нулевой и первой функций равны по единице, а
мощности остальных функций равны
Pk  P ,m  2 , k  2,3,... .
Из этого выражения следует, что в пределах каждой группы собраны
функции Хаара одинаковой мощности.
Пример 1. Построить систему функций Хаара из восьми функций
( N  8, n  3,   0,1, 2, m  0,1,..., 2 1).
Решение. Нулевая функция h[0, z) по определению равна +1. Для
остальных функций в соответствии с правилом (2) получаем:
1, 0  z  0,5 ,
h(1, z )  h(0, 0, z )  
1, 0,5  z  1 ,
1, 0  z  0, 25 ,

h(2, z )  h(1, 0, z)  1, 0, 25  z  0,5 ,
 0, 0,5  z  1 ,

0, 0  z  0,5 ,

h(3, z )  h(1,1, z)  1, 0,5  z  0, 75 ,
1, 0, 75  z  1 ,

1, 0  z  0,125 ,

h(4, z )  h(2, 0, z)  1, 0,125  z  0, 25 ,
 0, 0, 25  z  1 ,

 0,
1,

h(5, z )  h(2,1, z )  
1,
 0,
0  z  0, 25 ,
0, 25  z  0,375 ,
0,375  z  0,5,
0,5  z  1,
 0,
1,

h(6, z )  h(2, 2, z )  
1,
 0,
0  z  0,5 ,
0,5  z  0, 625 ,
0, 625  z  0, 75,
0, 75  z  1,
 0, 0  z  0, 75 ,

h(7, z )  h(2,3, z)  1, 0, 75  z  0,875 ,
1, 0,875  z  1 .

Графики этих функций приведены на рис. 1.
_______________ . _______________
Функции Хаара можно связать с функциями Радемахера r (k , z ) [2,4].
Нулевые и первые функции этих систем совпадают, а для остальных
справедливо следующее соотношение:
r (  1, z ), m2  z  (m  1)2  ,
h( , m, z )  
, при остальных z .
0
(3)
Возможна и обратная связь
2 1
r (  1, z )  pal (2 , z )   h( , m, z ).

(4)
m0
Поскольку функции Уолша [2,4] также связаны с функциями Радемахера, то
функции Уолша можно выразить через функции Хаара. Можно показать, что
функции
Уолша являются
линейной
комбинацией
функций Хаара с весовыми коэффициентами ±1 [2].
ненормированных
h(0,z)
h(4,z)
+1
+1
0
0 1/8 1/4 3/8 1/2 5/8 3/4 7/8 1 z
1/8 1/4 3/8 1/2 5/8 3/4 7/8 1 z
-1
h(1,z)
h(5,z)
+1
+1
0
0
1z
-1
-1
h(6,z)
h(2,z)
+1
+1
0
0
1 z
1 z
-1
-1
h(3,z)
h(7,z)
+1
+1
0
-1
1 z
1z
0
1z
-1
Рис.1. Система функций Хаара для N=8
Функции Хаара из функций Уолша можно получить еще и следующим
образом. Выберем первую функцию Уолша wal(1,z) на интервале [0,1),
считая ее вне интервала равной нулю. Сожмем теперь эту функцию по оси z
вдвое на половинном интервале. При этом получится функция Хаара h(1,0,z).
Сдвинем сжатую функцию Уолша вправо по оси z на половину интервала
определения. В результате будет получена следующая функция Хаара первой
группы h(1,1,z). Если теперь сжать функцию Уолша wal(1,z) вчетверо (или
функцию Хаара h(1,0,z) вдвое), а затем последовательно сдвигать сжатую
функцию на четверть интервала, то будут получены все функции Хаара
второй группы. Процесс сжатия и сдвига сжатых функций можно
продолжать до построения полной системы функций Хаара для заданного
значения N.
Интересно, что описанный хааровский процесс сжатия и сдвига можно
применить и к другим функциям Уолша, получая системы, занимающие
промежуточное положение между системами Уолша и Хаара. Более того,
такой процесс можно применить и к другим базисным функциям, например,
тригонометрическим. Именно такой подход и используется при построении
вейвлетов [5].
Для представления сигналов функций времени x(t) переменная z в
функциях Хаара должна быть преобразована в переменную t. Для сигналов с
односторонним интервалом определения [0,T) формула преобразования
имеет
вид z=t/T. Пара непрерывных преобразований Фурье-Хаара
представляется следующими зависимостями:
 2 1

x(t )   X (k )h(k , t / T )  X (0)    X ( , m)h( , m, t / T ),
(5)
 0 m0
k 0
T
X (0) 
2
X (k )  X ( , m) 
T
(2 m  2)T 2 (  1)


x(t )dt ] 
(2 m 1)T 2 (  1)
1
1
x(t )dt  [(T )  (0)];

T 0
T
2
x
(
t
)
h
(

,
m
,
t
/
T
)
dt

[
0
T
T
(2 m 1)T 2

 (  1)
x(t )dt 
(6)
2 mT 2 (  1)
2
[2((2m  1)T 2 ( 1) )  ((2m  2)T 2  ( 1) )],
T
где коэффициенты X(0) и X (k )  X (2  m)  X ( , m) являются спектром Хаара
сигнала x(t), а (t )   x(t )dt есть первообразная сигнала x(t). При записи
выражения для спектра X ( , m) учтена зависимость изменения функций
Хаара (2). Конечная формула в (6) для X ( , m) особенно удобна при
вычислении спектра Хаара сигналов с известным аналитическим описанием.
Ряд
Хаара
(5)
обеспечивает
равномерную
и
среднеквадратическую
сходимость к сигналу x(t). Его удобно использовать для представления
разрывных сигналов, например, импульсных сигналов.
Так как система функций Хаара полная, то для нее выполняется
равенство Парсеваля, которое так же, как и ряд Хаара (5), можно записать в
двумерном виде


2 1
1 2
2

x
(
t
)
dt

X
(0)

2
X 2 ( , m).



T0
 0
m0
T
(7)
Функции Хаара не являются мультипликативными, т.к. произведение
двух таких функций дает результирующую функцию, не принадлежащую
системе Хаара. По этой причине спектры Хаара не обладают свойствами
спектров мультипликативных базисов. Тем не менее спектры Хаара
отдельных сигналов обладают целым рядом полезных свойств. Так,
например,
спектр
Хаара
рациональным числом
кусочно-постоянного
сигнала
с
двоично-
участков постоянства конечен и не содержит
составляющих с номерами k  N . Связано это с тем, что все функции Хаара с
номерами k  N будут иметь на участках постоянства равное число значений
+1 и -1. Для спектра Хаара степенных сигналов можно получить удобные
вычислительные
формулы.
Так
для
сигнала
x(t )  t  ,   0, 1, ...
его
первообразная (t )  t  1 /(   1) и спектр Хаара имеет следующий вид:
X
( )
(0)  T /(  1); X

( )
T  2 
( , m) 
[2(2m  1) 1  (2m) 1  (2m  2)  1 ] 

2(  1)2

T  !2  1 (2m) 1k  (2  2k )
.


2  2 k 2 k !(  1  k )!
(8)
Пример 2. Найти спектр Хаара степенных сигналов нулевой (  =0) и
первой (  =1) степени.
Решение. В соответствии с формулами (8) имеем:
- для сигнала x(t)=1:
X (0) (0)  1; X (0) ( , m) 
1
(2  1  1)  0;
2
- для сигнала x(t)=t:
X (1) (0)  T / 2; X (1) ( , m) 
T 
T
2 (8m 2  8m  2  4m 2  4m 2  8m  4)   2  .
8
4
_______________ . _______________
Результаты примера 2 позволяют записать ряд Хаара для линейного
сигнала

T   2 1
at  в  (aT / 2  в )     h( , m, t / T )  2 .
4  0  m 0


(9)
Пример 3. Найти спектр Хаара квадратичного сигнала x(t)=t2 .
Решение.
В
этом
случая
 =2
и,
выполнив
необходимые
преобразования по формулам (8), получим:
X
(2)
(0)  T / 3; X
2
(2)
T 2 2
( , m)   2 (2m  1).
4
(10)
Спектр Хаара квадратичного сигнала теряет чисто показательную форму
записи, которую имел спектр линейного сигнала.
_______________ . _______________
Как следует из общей формулы (8), в спектре Хаара степенного сигнала
t  присутствуют две составляющие: показательная с основанием два и
отрицательной
степенью,
равной
произведению
индексов
 ,
и
полиномиальная для индекса m с положительными степенями   1,   2,..., 0.
Поэтому модуль коэффициентов Хаара с возрастанием номера группы 
убывает, а в пределах группы с увеличением индекса m монотонно
возрастает. Спектральные коэффициенты, являющиеся первыми в группах
(т.е. с m=0) меняются только по показательному закону и достаточно быстро
сходятся к нулю. Скорость сходимости других коэффициентов существенно
сдерживается полиномиальной составляющей. Этот эффект проявляется и
для других гладких дифференцируемых сигналов. В этом смысле спектр
Хаара уступает спектру Уолша, который для таких сигналов описывается
только показательной функцией [2,4]. Спектральные коэффициенты Хаара с
k≠0 любого монотонно возрастающего положительного сигнала всегда
отрицательны, т.к. при их вычислении сумма отрицательных значений
превышает сумму положительных. Это следует из характера изменения
самих функций Хаара.
Для
спектрального
представления
дискретных
сигналов
x(i ), i  [0, N ) функции Хаара должны быть продискретизированы. Для этого
необходимо взять первые N функций непрерывной системы Хаара и
определить их значения в точках, кратных интервалу 1/N, начиная с 0, помня
при этом, что функции Хаара в точках разрыва непрерывны справа. В
результате будет получена полная, ортогональная, но не нормированная
система дискретных функций Хаара {h(k , i / N )}  {h(0, i / N ), h( , m, i / N )}, где
  0, 1, ..., n  1, а m  0, 1, ..., 2  1 . Связь одномерного номера функций с
двумерными индексами здесь остается прежней.
Дискретные функции Хаара можно записать аналитически с помощью
соотношений:
1 при 2m2n  1  i  (2m  1)2n  1  1,

h(0, i / N )  1; h( , m, i / N )  1 при (2m  1)2h  1  i  (2m  2)2h  1  1,
0 при остальных i,

(11)
которые следуют из соотношений (2) при z=i/N.
Пример 4. Получить дискретную систему Хаара для N=8.
Решение. Эту систему можно получить либо путем дискретизации
системы Хаара примера 1, либо с помощью соотношений (11). В обоих
случаях будет один и тот же результат, который можно представить в виде
следующей матрицы:
1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1


1 1 1 1 0 0 0 0 


0 0 0 0 1 1 1 1

{h(k , i )} 
.
1 1 0 0 0 0 0 0 


0 0 1 1 0 0 0 0 
0 0 0 0 1 1 0 0 


0 0 0 0 0 0 1 1
_______________ . _______________
Дискретные функции Хаара взаимосвязаны с дискретными функциями
Радемахера. При этом будут справедливы соотношения (3) и (4), если в них
заменить переменную z на i/N.
Условие
ортогональности
дискретных
функций
Хаара
имеет
классический вид
1
N
N 1
 h(k , i / N )h( p, i / N )  0,
p  k,
i 0
а их мощность остается такой же, как и в случае непрерывных функций.
Дискретный ряд Фурье – Хаара удобно записывать в двумерном виде
n 1 2 1
x(i )  X (0)    X ( , m)h( , m, i / N ),
(12)
 0 m 0
а для вычисления дискретного спектра использовать следующие формулы:
1
X (0) 
N
(2 m  2)2
1

2  (2 m 1)2 1
x
(
i
);
X
(

,
m
)

x
(
i
)

x
(
i
)

 . (13)



N  i  2 m 2n 1
i 0
i  (2 m 1)2n 1

n 1
N 1
n 1
Равенство Парсеваля в дискретном варианте также сохраняет двумерный вид:
1
N
N 1
x
i 0
n 1
2
(i )  X (0)   2
2
 0

2 1
X
2
( , m).
(14)
m0
Спектры Хаара дискретных сигналов с известным аналитическим
описанием в общем случае вычисляются сложнее, чем спектры Хаара
непрерывных сигналов и, как правило, не имеют законченных простых
выражений. Это связано с тем, что в дискретном варианте приходится вместо
интегралов сигналов определять их суммы (см. (13) и (14)), которые обычно
математически вычисляются и записываются гораздо сложнее интегралов.
Сказанное в полной мере касается и степенных сигналов. Однако для них в
случае малых степеней удается получить выражения, подобные тем, что
были найдены в примерах 2 и 3 для непрерывных сигналов.
Пример 5. Найти спектр Хаара дискретного степенного сигнала
нулевой и первой степени.
Решение. Для сигнала x(i)=1:
X (0) (0)  1; X (0) ( , m)  0;
Для сигнала x(i)=i:
X (1) (0)  ( N  1) / 2; X (1) ( , m)  
N 
2 .
4
_______________ . _______________
В соответствии с результатами примера 5 ряд Хаара дискретного
линейного сигнала ai+в примет следующий вид:
 
a( N  1)
Na n 1  2
ai  в 
в
  h( , m, i / N )  2

2
4  0  m 0

 1
(15)
и совпадает с соответствующим дискретным рядом Уолша-Пэли [4].
Пример 6. Найти спектр Хаара дискретного степенного сигнала второй
степени x(i)=i2 .
Решение. Вычисления по формулам (13) приводят в данном случае к
следующим результатам:
X (2) (0) 
( N  1)(2 N  1)
N
; X (2) ( , m)   2 [ N (2m  1)2  1].
6
4
При выводе этих зависимостей использована известная формула
конечной суммы квадратов натурального ряда чисел.
_______________ . _______________
Характер изменения спектра Хаара дискретных степенных сигналов
сохраняется таким же, как и у спектра Хаара непрерывных степенных
сигналов.
Так как функции Хаара имеют нулевые значения, то только первые два
коэффициента спектра Хаара учитывают поведение сигнала на всем
интервале его определения. Все остальные
коэффициенты учитывают
локальное поведение сигнала и на тем меньшем интервале, чем больше
номер группы функции Хаара. Коэффициенты последней группы вообще
определяются только по двум соседним значениям сигнала. Этим спектр
Хаара принципиально отличается от спектра Уолша, поскольку для базиса
Уолша каждый спектральный коэффициент учитывает поведение сигнала на
всем интервале определения. Избирательный характер спектра Хаара может
оказаться полезным при изучении локальных свойств сигнала. Наличие
нулевых значений у функций Хаара приводит так же к тому, что при
вычислении конкретных значений сигнала с помощью ряда Хаара (12) число
ненулевых слагаемых в нем будет равно n+1, где n=log2N и значительно
меньше максимально возможной величины N. Кроме того, несмотря на
немультипликативность функций Хаара, для них существуют экономные
алгоритмы быстрого анализа спектра, которые «быстрее» соответствующих
алгоритмов в базисах Уолша и комплексно-экспоненциальных функций.
2. Обобщенные функции Хаара и их свойства
С помощью соотношения (3) непрерывные функции Хаара выражаются
через обычные функции Радемахера. Если учесть, что функции Радемахера
являются функциями Уолша-Пэли первого ранга [4], то его можно
переписать в следующем виде:
h(0, z )  pal (0, z )  1;
 pal (2 , z )
h(2  m, z )  
0
при m2  z  (m  1)2 ,
при остальных значениях z;
(16)
  0, 1, ...; m  0, 1, ..., 2 1.
В такой форме записи взаимосвязь между функциями Хаара и Уолша может
быть обобщена и из функций Виленкина-Крестенсона-Пэли (ВКФ-Пэли)
первого ранга [6] получены базисные функции, которые будут являться
обобщением обычных функций Хаара.
Нулевая
обобщенная функция Хаара (ОФХ) H(0,z) принимается
равной нулевой ВКФ-Пэли Pal(0,z) и во всех точках своего интервала
определения [0,1) равна Wp0  1. Все остальные функции H (k , z ) с помощью
трехмерного представления их номера
k   p  m,   0, 1, ...;   1, 2, ..., p 1; m  0, 1, ..., p 1
(17)
могут быть разбиты на группы и следующим образом выражены через ВКФПэли первого ранга:
 Pal (  p , z ) при mp   z  (m  1) p  ,
H (k , z )  H (  p  m, z )  
0 при остальных значениях z.
(18)
Параметр  задает номер группы ОФХ, номер же конкретной функции в
группе определяется с помощью индексов  и m. В обычных функциях
Хаара номером функции в группе служил только индекс m.
Учитывая,
что
Pal ( p , z )  [ R(  1, z )] ,
ОФХ
можно
выразить
непосредственно через обобщенные функции Радемахера R(k,z) [6,7], точнее
– через соответствующие степени обобщенных функций Радемахера:
[ R(  1, z)] при mp   z  ( m  1) p  ,
H (  p  m, z )  
0 при остальных значениях z.
(19)
Выражения (18) и (19) определяют алгоритмы построения ОФХ для
произвольного значения параметра p. В частном случае при p=2 формула
(18) переходит в формулу (16), а формула (19) – в формулу (3) для обычных
функций Хаара. При этом трехмерное представление (17) номера функции k
переходит в его двумерную запись (1).
ОФХ являются ( p  1) значными кусочно-постоянными комплексными
функциями.
Ограничивая
величиной
n
число
разрядов
p-ичного
представления z , с помощью алгоритмов (18) и (19) можно получить первые
N  pn
обобщенных функций Хаара, содержащих на своем интервале
определения [0,1) N участков постоянства. При этом индекс  в выражениях
(17)÷(19) будет принимать n первых значений:   0, 1, ..., n  1, а аргумент z
можно представить в нормированном виде z=i/N, где индекс i, как и в случае
ВКФ, будет являться номером участка постоянства ОФХ. Алгоритм
вычисления ОФХ в этом случае примет следующий вид записи:
H (0, i / N )  Pal (0, i / N )  Wp0  1;
 Pal (  p , i / N )  [ R(  1, i / N )] , mp n  i  (m  1) p n ,
H (  p  m, i / N )  
0 при остальных значениях i;
(20)
  0, 1, ..., n  1;   1, 2, ..., p  1; m  0, 1, ..., p 1.
Пример 7. Записать первые девять обобщенных функций Хаара при
p=3.
Решение.
В
этом
случае
N=9,
n=2
и
k   3  m,
  0, 1;   1, 2; m  0 и m  0, 1, 2. Поэтому по алгоритму (20) получим:
k  0 : H (0, i / 9)  W30  1;
k  1   0,   1, m  0 :
H (1, i / 9)  Pal (1, i / 9)  R(1, i / 9);
k  2   0,   2, m  0 :
H (2, i / 9)  Pal (2, i / 9)  R2 (1, i / 9);
где
k  3    1,   1, m  0  :
 Pal (3, i / 9)  R(2, i / 9), 0  i  2,
H (3, i / 9)  
0 , 3  i  8;
k  4    1,   1, m  1 :
 Pal (3, i / 9)  R(2, i / 9), 3  i  5,
H (4, i / 9)  
0 , 0  i  2 и 6  i  8;
k  5    1,   1, m  2  :
 Pal (3, i / 9)  R(2, i / 9), 6  i  8,
H (5, i / 9)  
0 , 0  i  5;
k  6    1,   2, m  0  :
 Pal (6, i / 9)  R 2 (2, i / 9), 0  i  2,
H (6, i / 9)  
0 , 3  i  8;
k  7   1,   2, m  1 :
 Pal (6, i / 9)  R 2 (2, i / 9), 3  i  5,
H (7, i / 9)  
0 , 0  i  2 и 6  i  8;
k  8    1,   2, m  2  :
 Pal (6, i / 9)  R 2 (2, i / 9), 6  i  8,
H (8, i / 9)  
0 , 0  i  5.
Функции H (k , i / 9) принимают четыре значения: W30  1, W31  1/ 2  j 3 / 2,
W32  1/ 2  j 3 / 2
и 0.
_______________ . _______________
ОФХ являются ортогональными функциями, поскольку для них
1
 H (k , z ) H

( , z )dz  0 при k  
0
и
образуют полную базисную систему, пригодную для представления
математических функций x( z ) с интегрируемым квадратом на интервале [0,1) .
Они не удовлетворяют условию нормированности, поскольку их мощность
зависит от номера функции. Это связано с тем, что в системе ОФХ первые р
функций совпадают с первыми функциями системы ВКФ-Пэли, а остальные
функции совпадают со значениями ВКФ-Пэли только на соответствующих
подинтервалах общего интервала определения. Поэтому только первые p
ОФХ имеют ненулевые значения на всем интервале [0,1) . Это нулевая
функция H (0, z ) и функции нулевой группы (при   0 ) H (  , z ) . Функции
последующих
групп
(  1, 2, ...)
имеют
участки
нулевых
значений,
длительность которых увеличивается с возрастанием номера группы. Это
свойство ОФХ является обобщением аналогичного свойства обычных
функций Хаара, где только две первые функции
h(0, z ) и h(1, z ) не имеют
нулей на интервале [0,1) . По этой причине первые р ОФХ имеют единичную
мощность ( P0  P1  ...  Pp 1  1) , а мощность остальных функций можно
вычислить по формуле
( m 1) p  
P p  m 

2
Pal (  p , z ) dz  p  .
mp  
Здесь учтено, что модуль ВКФ равен 1. Мощность ОФХ так же, как и для
обычных функций Хаара, в пределах одной группы не меняется, а с
увеличением номера группы убывает.
Для представления сигналов, являющихся функциями времени x(t ) с
интервалом определения [0, T ) , аргумент z в ОФХ необходимо подстановкой
z  t / T преобразовать в переменную t. Пара непрерывных преобразований
Фурье-Хаара при этом запишется следующим образом:


p 1 p 1
x(t )   X (k ) H (k , t / T )  X (0)    X (  p   m) H (  p   m, t / T ),
(21)
  0  1 m  0
k 0
T
X (0) 
X ( k )  X (  p   m) 
p
T
T
 x(t ) H

1
x(t ) dt ,
T 0
(  p   m, t / T )dt 
0
(22)

 ( m 1)Tp
p
T

x(t ) Pal  (  p , t / T )dt.
mTp  
Равенство Парсеваля также можно представить в трехмерном виде:

p 1 p 1

1 2


x
(
t
)
dt

X
(0)
X
(0)

p
X (  p  m) X  (  p  m).



T 0
 0
 1 m 0
T
(23)
В выражениях (22) и (23) знаком  отмечены комплексно-сопряженные
величины.
Обобщенный
ряд
Хаара
(21)
обеспечивает
равномерную
и
среднеквадратическую сходимость к сигналу x(t ) и при конечном n
становится усеченным. При его использовании для вычисления конкретного
значения сигнала x(t1 ) в произвольной точке t1 интервала [0, T ) придется по
формуле (21) суммировать не N слагаемых, а значительно меньшее их число,
равное n( p  1)  1 . Это объясняется тем, что при t1 , принадлежащему любому
интервалу длительностью T / N , только n( p  1)  1 ОФХ будут отличны от
нуля. Это свойство обобщенных рядов Хаара является обобщением
подобного свойства обычных усеченных рядов Хаара и делает их более
экономичными по сравнению с рядами Виленкина-Крестенсона.
Наличие нулевых значений у ОФХ приводит к тому, что только первые
p коэффициентов обобщенного спектра Хаара
X ( k ) учитывают поведение
сигнала на всем интервале его определения. Все остальные коэффициенты
учитывают локальное поведение сигнала и на тем меньшем интервале, чем
большее значение индекса 
в номере ОФХ. В этом проявляется
избирательный характер обобщенного спектра Хаара, присущий также и
обычному спектру Хаара.
Для спектрального анализа дискретных сигналов x(i ) с i  [0, N ) могут
быть использованы только дискретные ОФХ H (k , i / N ) . Наиболее просто их
можно получить по алгоритму (20), если использовать в нем дискретные
ВКФ и под переменной i понимать не номер участка постоянства, а номер
отсчета дискретного сигнала (дискретное время).
Пример 8. Записать дискретную систему ОФХ для N=9.
Решение. В этом случае p  3 и n  2 , поэтому дискретные ОФХ по
форме записи совпадут с непрерывными ОФХ для нормированного
аргумента предыдущего примера. Используя в них значения дискретных
ВКФ-Пэли первого ранга [6], получим следующую матрицу значений
дискретных ОФХ:
1
1
1
1
1
1
1 
1 1
1 1
1
1
1
2
2
1 W3 W3 W3 W3 W3 W32 

1 1
1 W32 W32 W32 W31 W31 W31 


1
2
0
0
0
0
0
0 
1 W3 W3
H  0 0
0
1 W31 W32 0
0
0 .


0
0
0
0
1 W31 W32 
0 0
1 W 2 W 1 0
0
0
0
0
0 
3
3


0
1 W32 W31 0
0
0 
0 0
0 0
0
0
0
0
1 W32 W31 

_______________ . _______________
Если систему дискретных ОФХ представлять в матричном виде, то для
матрицы значений ОФХ можно сформулировать ряд характерных свойств.
1. Матрица ОФХ содержит N строк и N столбцов и образуется из ( p  1)
различных элементов: Wp0 , Wp1 , ...Wpp1, 0 , где
Wpk  exp( j 2 k / p). Комплексные
элементы попарно сопряжены. Нумерация строк и столбцов в матрице
начинается с нуля. Каждая ее строка совпадает с соответствующей функцией
Хаара.
2. Нулевая строка матрицы ОФХ содержит только элементы Wp0 ,
равные 1. Следующие ( p  1) ее строк содержат все различные элементы,
кроме нулевых и совпадают со значениями ВКФ-Пэли первого ранга
Pal (  , i / N ),   1, 2, ..., n  1 . Все последующие строки содержат все элементы,
включая и нулевые. Эти строки можно разбить на ( n  1) групп, причем
каждая строка, принадлежащая группе с номером
 (  1, 2, ..., n  1) , будет
содержать p n ненулевых элементов и, следовательно, ( p n  p n ) элементов,
равных нулю. Общее число нулевых элементов в
матрице ОФХ равно
p n ( p n  np  n  1) .
3. Сумма элементов всех строк матрицы, кроме нулевой, равна нулю.
Сумма элементов нулевой строки равна N . Это говорит о том, что среднее
значение всех ОФХ, кроме нулевой, равно нулю. Среднее значение нулевой
функции равно единице.
4. Средние суммы произведений комплексно-сопряженных элементов
первых p строк матрицы ОФХ равны по единице, а остальных строк,
принадлежащих каждой  -й группе, - p  . Отсюда следует, что мощности
первых p ОФХ равны единице, а мощности остальных функций зависят от
номера группы, к которой они принадлежат. С увеличением номера группы
мощность убывает по закону показательной функции с основанием p .
5. Матрица ОФХ является унитарной и несимметрической.
Дискретный ряд Фурье в базисе ОФК можно записать в многомерном
виде

n 1 p 1 p 1
x(i )  X (0)    X (  p   m) H (  p   m, i / N ),
  0  1 m  0
(24)
а для вычисления дискретного обобщенного спектра Хаара использовать
следующие соотношения:
1 N 1
p

X (0)   x(i); X (  p  m) 
N i 0
N
( m 1) p n

x(i ) Pal  (  p , i / N ) ,
(25)
i  mp n
  0, 1, ..., n  1;   1, 2, ..., p  1; m  0, 1, ..., p  1 .
Равенство Парсеваля в дискретном варианте сохраняет многомерный вид:
1
N
N 1
x
i 0
2
n 1
(i )  X (0) X (0)   p


 0
p 1 p 1
X ( p   m) X




(  p   m).
(26)
1 m  0
Его выполнение подтверждает полноту системы дискретных ОФХ и служит
гарантией правильности вычислений по формулам (24) и (25).
Дискретный ряд Хаара (24) обладает таким же
свойством, что и
усеченный непрерывный ряд Хаара (21), а именно: при его использовании
для вычисления значения сигнала в конкретной точке необходимо
просуммировать только n( p  1)  1 сомножителей вида X (k ) H (k , i / N ). Это
связано с наличием большого числа нулевых значений в ОФХ. Данное
свойство существенно повышает вычислительную эффективность базиса
дискретных ОФХ, которая еще больше увеличивается за счет существования
для него специальных процедур быстрого преобразования Фурье [2].
ОФХ являются немультипликативными функциями, поэтому для их
спектров не выполняются фундаментальные теоремы спектрального анализа
(теоремы о сдвиге, модуляции, свертке и т.д.). Однако обобщенный
дискретный спектр Хаара так же, как и его непрерывный аналог, обладает
полезным избирательным свойством. Только первые p его спектральные
коэффициенты X (0), X (1), ..., X ( p  1) носят глобальный характер и учитывают
значения
сигнала
на
всем
интервале
определения.
коэффициенты используют значения сигнала только
подинтервалах,
Все
остальные
на отдельных
длительность которых уменьшается с ростом
номера
группы функций Хаара, и в этом смысле являются локальными. В частности,
спектральные коэффициенты последней группы функций вычисляются
только по
p соседним отсчетам сигнала. Это свойство в работе [2]
эффективно используется при анализе и синтезе дискретных устройств
многозначной логики.
Свойства спектров конкретных сигналов в базисе ОФК практически не
изучены.
Рассмотрим
спектры
сигналов,
описываемых
степенными
функциями.
Для постоянного сигнала x(i)  1 обобщенный спектр Хаара
1,
X (0) (k )  
0,
k  0,
k 0
и совпадает с соответствующим спектром ВКФ. Такой вид X (0) (k ) следует из
свойства о среднем ОФК.
Для линейного сигнала x(i)  i аналитическая запись обобщенного
спектра Хаара зависит от номера k его спектрального коэффициента.
Спектральный коэффициент
X (1) (0) 
1
N
N 1
 iH (0, i / N ) 
i 0
1 N 1
 i  ( N  1) / 2.
N i 0
(27)
Все остальные коэффициенты, соответствующие ОФХ определенных групп,
в пределах одной группы имеют равные действительные составляющие и
равные модули мнимых составляющих. Сами мнимые составляющие в
пределах группы располагаются в кососимметричном порядке:
Im[ X (1) (  p  m)]   Im[ X (1) (( p   ) p  m)].
При этом в случае нечетного значения p все мнимые составляющие попарно
сопряжены, а в случае его четного значения мнимые составляющие
коэффициентов с   p / 2 к тому же равны нулю. Кроме того, спектральные
коэффициенты
каждой
последующей
группы
в
p
раз
меньше
соответствующих коэффициентов предыдущей группы, т.е.
X (1) (  p 1  m)  X (1) (  p  m) / p,   1, 2, ..., n  2,
что приводит к равенству
X (1) ( p  m)  X (1) ( ) / p ,
  1, 2, ..., n 1.
Таким образом, из всего этого следует, что для получения полного спектра
Хаара достаточно найти только спектральные коэффициенты
X (1) ( ),
принадлежащие нулевой группе и соответствующие функциям H (  , i / N ). Но
функция H (  , i / N )  Pal (  , i / N ), а спектр линейного сигнала по ВКФ-Пэли
первого ранга приведен в работе [7]. Поэтому в соответствии с полученными
там результатами
X (1) (  )   N[1  jctg ( / p)]/(2 p)
и для ОФХ получаем:
X (1) ( p  m)   N[1  jctg ( / p)]/(2 p 1 ),
(28)
  0, 1, ..., n  1;   1, 2, ..., p  1; m  0, 1, ..., p 1 .

Выражения (27) и (28) дают полное описание всего обобщенного спектра
Хаара линейного дискретного сигнала. Этот спектр не зависит от параметра
m и по форме записи близок к спектру ВКФ-Пэли первого ранга этого же
сигнала. (см. [7]).
Пример 9. Найти спектр ОФХ линейного сигнала
x(i)=i для
p  3, n  2 и p  4, n  2 .
Решение. Результаты расчетов по формулам (27) и (28) приведены в
табл. 1. Результаты, приведенные в табл. 1, совпадают с результатами,
получаемыми путем непосредственного вычисления спектра Хаара сигнала
x(i)=i по формуле (25) прямого преобразования Фурье в базисе ОФХ для
N=9 и
N=16. Найденные спектры полностью удовлетворяют всем ранее
перечисленным свойствам.
_______________ . _______________
Ряд Фурье по ОФХ для линейного сигнала будет иметь следующий вид
N 1 N
i

2
2
n 1
p


0
 (  1)
p 1 p 1

1 m  0
p

 [1  jctg (

)]H (  p   m, i / N ).
(29)
Таблица 1.
p
n


m
0
0
0
k
0
1
0
1
3(1  j / 3) / 2
2
0
2
3(1  j / 3) / 2
0
3
(1  j / 3) / 2
1
4
(1  j / 3) / 2
2
5
(1  j / 3) / 2
0
6
(1  j / 3) / 2
1
7
(1  j / 3) / 2
2
8
0
0
0
(1  j / 3) / 2
7,5
1
0
1
2(1  j )
2
0
2
2
3
0
3
2(1  j )
0
4
(1  j ) / 2
1
5
(1  j ) / 2
2
6
(1  j ) / 2
3
7
(1  j ) / 2
0
8
1/ 2
1
9
1/ 2
2
10
1/ 2
3
11
1/ 2
0
12
(1  j ) / 2
1
13
(1  j ) / 2
2
14
(1  j ) / 2
3
15
(1  j ) / 2
0
1
3
1
2
0
0
1
4
2
1
2
X(1)(k)
4
ОФХ (18) и (20) используют ВКФ-Пэли и позиционные системы
счисления с одним основанием. Можно значительно увеличить число систем
с нулевыми значениями базисных функций (Хааро-подобных систем) за счет
применения функций Крестенсона, обобщенных на случай многоосновных
систем счисления [6] .
3. Быстрые преобразования Хаара на статических интервалах времен
И обычные, и обобщенные функции Хаара не обладают свойством
мультипликативности, поэтому к ним не применима общая теория БПФ
Кули-Тьюки
по
малому
основанию.
Однако
эффективные
быстрые
алгоритмы анализа спектра можно получить и в этих базисах, о чем
свидетельствуют алгоритмы Карповского-Москалева, приведенные в 1973 г.
без вывода в работе [2]. Выведем эти алгоритмы.
Начнем с обычных функций Хаара и воспользуемся прямым ДПХ (13),
реализация которого приводит к затратам
AП  N log 2 N
вещественных
алгебраических
сложений.
Перепишем
это
ДПХ
без
нормирующих множителей 2n :
2n 1
X (0)   x(i ), X (2  m) 

(2 m 1)2n1 1
i 0

x(i) 
i  2 m 2n1
(2 m  2)2n1 1

x(i),
i  (2 m 1)2n1
  0, 1, ..., n  1; m  0,1, ..., 2  1.
Затем с помощью линейных преобразований индексов   n   и i    2m  21
сведем обе суммы последнего выражения к одинаковым пределам
суммирования, что позволит спектр X (2  m) представить в следующем виде:
X (2
n 
 m) 
21 1
 x (  2 m  2
 0
1
)
21 1
 x[  (2m  1)2
1
],
 0
(30)
  1, 2, ..., n; m  0, 1, ..., 2n  1.
Если теперь принять
S1 (b) 
21 1
 x (  b  2
1
),
(31)
 0
то можно записать, что
X (2n   m)  S1 (2m)  S1 (2m  1),
(32)
т.е. спектр Хаара легко вычисляется через элементы S1 (2m) и S1 (2m  1) . Для
получения полного алгоритма
быстрого преобразования Хаара (БПХ)
остается только найти способ простого определения самих этих элементов.
В соответствии с выражением (31) элемент S (b) на  -м шаге
вычислений равен
2 1
21 1
 0
 0
S (b)   x(  b  2 ) 
 x(  2b  2
1
)
21 1
  x[  (2b  1)21 ]  S1 (2b)  S1 (2b  1) .
 0
Это соотношение позволяет рекурсивно вычислять все значения элементов
S (b) с   1, 2, ..., n при начальных значениях
S0 (b)  x(b),
получаемых из общей формулы (31) при   1 и   0 .
Объединяя полученные результаты, приходим к выводу, что полный
спектр Хаара может быть вычислен за
n этапов рекуррентного решения
уравнений
X (2n   m)  S1 (2m)  S1 (2m  1),
S (m)  S1 (2m)  S1 (2m  1),
(33)
  1, 2, ..., n; m  0, 1, ..., 2n  1
при начальных условиях
S0 (2m)  x(2m), S0 (2m  1)  x(2m  1).
(34)
Нулевой спектральный коэффициент Хаара X (0) при этом будет равен
нулевому значению элемента S (0) на последнем шаге, т.е.
X (0)  Sn (0)  Sn1 (0)  Sn1 (1).
(35)
Число операций алгебраического сложения, которое необходимо
производить по этому алгоритму, равно
AБ  2(2n  1)  2( N  1),
(36)
что более чем в 0,5log 2 N раз меньше по сравнению с числом таких операций
в прямом алгоритме ДПХ. Алгоритм БПХ (33) можно проиллюстрировать с
помощью соответствующего сигнального графа, который в этом случае
содержит
2( N  1)
трапециидальный вид.
вычислительных
узлов
и
имеет
усеченный
Пример 10. Записать алгоритм БПХ и простроить его сигнальный граф
для N=8.
Решение. В этом случае n=3 и алгоритм БПХ будет содержать три
этапа:
Этап 1 (  1, m  0, 1, 2, 3) :
X (4  m)  S0 (2m)  S0 (2m  1)  x(2m)  x(2m  1),
S1 (m)  S0 (2m)  S0 (2m  1)  x(2m)  x(2m  1),
X (4)  x(0)  x(1), X (5)  x(2)  x(3),
S1 (0)  x(0)  x(1), S1 (1)  x(2)  x(3),
X (6)  x(4)  x(5), X (7)  x(6)  x(7),
S1 (2)  x(4)  x(5), S1 (3)  x(6)  x(7).
Этап 2 (  2, m  0, 1) :
X (2  m)  S1 (2m)  S1 (2m  1), S2 (m)  S1 (2m)  S1 (2m  1),
X (2)  S1 (0)  S1 (1);
S2 (0)  S1 (0)  S1 (1),
X (3)  S1 (2)  S1 (3);
S2 (1)  S1 (2)  S1 (3).
Этап 3 (  3, m  0) :
X (1)  S2 (0)  S2 (1),
x(0)
x(1)
x(2)
x(3)
x(4)
x(5)
x(6)
x(7)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Х(4)
Х(5)
Х(6)
X (0)  S3 (0)  S2 (0)  S2 (1).
.
.
.
.
.
Х(0)
Х(2)
.
Х(3)
Х(7)
Рис. 2. Сигнальный граф алгоритма
БПХ для N=8
Х(1)
Сигнальный граф этого алгоритма приведен на рис. 2. Отсчеты сигнала в нем
располагаются в естественном прядке следования, а спектр – в прореженном
порядке.
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Х(0)
Х(1)
Х(2)
Х(3)
Х(4)
Х(5)
Х(6)
Х(7)
Рис. 3. Модифицированный сигнальный граф
алгоритма БПХ для N=8
Эквивалентной перестановкой узлов и ветвей этого графа его можно
модифицировать
так,
что
отсчеты
сигнала
будут
располагаться
с
прореживанием по времени, а спектральные коэффициенты – в естественном
порядке (рис. 3). На такой модификации графа БПХ его усеченный характер
виден наиболее наглядно.
_______________ . _______________
Рассмотрим теперь обобщенное преобразование Хаара (25). Исключим
из него нормирующие множители p n  и с помощью линейных подстановок
  n  , i    p 1  mp 
приведем его к следующему виду:
X (p
n 
p 1 p 1 1
 m)  

x[  ( pm  ) p 1 ]Pal  (p n  ,[  ( pm  ) p 1 ] / N ),
 0  0
  1, 2, ..., n;   1, 2, ..., p  1; m  0, 1, ..., p n 1.
Функция
Pal  (pn , i / N )  Wpi ,
где i является обозначением  -го разряда p -ичного кода аргумента i . При
i    ( pm  ) p 1
величина i   . Поэтому выражение для обобщенного
спектра Хаара упрощается:
X (p
n 
p 1 p 1 1
 m)  

 0  0
При p  2 параметр   1, W20  1,
а
x[  ( pm  ) p 1 ]W p .
W21  1
(37)
и формула (37) переходит в
формулу (30) для спектра обычных функций Хаара.
Введем обозначение
S1 ( pm  ) 
p1 1

x[  ( pm  ) p 1 ].
(38)
 0
Тогда
p 1
X (p n  m)   S1 ( pm  )Wp ,
 0
(39)
  1, 2, ..., n;   1, 2, ..., p  1; m  0, 1, ..., p n 1.
Теперь для окончательного получения алгоритма быстрого обобщенного
преобразования Хаара (БОПХ), необходимо найти взаимосвязь между
соседними элементами последовательности S (b) . Для этого рассмотрим
величину
S ( pq  r ) 
p  1
 x[  ( pq  r ) p

],
 0
r  0, 1, ..., p  1; q  0, 1, ..., p n1  1.
Выразив в ней переменную  в виде     p 1 ,   0, 1, ..., p  1;   0, 1, ...,
p n1  1, можно записать, что
p 1 p1 1
S ( pq  r )  

 0  0
x[  (  p 2 q  pr ) p 1 ] 
p 1
S
 0
1
(  p 2 q  pr ).
(40)
Это рекуррентное соотношение и задает алгоритм вычисления элементов
S (b) .
Объединяя выражения (39) и (40), получим общий алгоритм БОПХ


 0

n 
  1, 2, ..., p  1;   1, 2..., n; m  0, 1, ..., p  1, 

p 1
2

S ( pq  r )   S1 (  p q  pr ),

 0

r  0,1,..., p  1; q  0,1,..., p n 1  1,

p 1
X (p n   m)   S1 ( pm  )W p ,
(41)
представляющий собой содержащий n этапов итерационный процесс с
начальными условиями
S0 ( pm  )  x( pm  ),   0, 1, ..., p  1; m  0, 1, ..., p n 1  1.
(42)
Нулевой спектральный коэффициент в этом случае равен
p 1
X (0)  S n (0)   S n 1 ().
(43)
 0
Для выполнения алгоритма БОПХ (41) в общем случае необходимо
затратить
AБ  p ( p n  1)  p( N  1),
(44)
M Б  ( p  1)( p n  1)  ( p  1)( N  1)
комплексных
сложений
и
умножений.
Ему
будет
соответствовать
сигнальный гриф, содержащий p( N  1) вычислительных узлов и имеющий
усеченный трапециидальный вид.
Пример 11. Записать алгоритм БОПХ и построить его сигнальный граф
для N=9.
Решение. В этом случае N  32 и n=2, поэтому алгоритм БОПХ будет
содержать всего два этапа:
Этап 1 (  1,   1, 2; m  0, 1, 2; r  0,1, 2; q  0) :
2
2
 0
 0
X (3  m)   x(  3m)W3 , S1 (r )   x(  3r ),
X (3)  x(0)  x(1)W31  x(2)W32 ,
X (4)  x(3)  x(4)W31  x(5)W32 ,
X (5)  x(6)  x(7)W31  x(8)W32 ,
X (6)  x(0)  x(1)W32  x(2)W31 ,
X (7)  x(3)  x(4)W32  x(5)W312 ,
X (8)  x(6)  x(7)W32  x(8)W31 ,
S1 (0)  x(0)  x(1)  x(2), S1 (1)  x(3)  x(4)  x(5), S1 (2)  x(6)  x(7)  x(8).
Этап 2 (  2,   1, 2; m  0) :
2
X ()   S1 ()W3 ,
 0
X (1)  S1 (0)  S1 (1)W31  S1 (2)W32 ,
X (2)  S1 (0)  S1 (1)W32  S1 (2)W31 ,
2
X (0)  S 2 (0)   S1 () S1 (0)  S1 (1)  S1 (2).
 0
Алгоритм требует для своей реализации выполнения 24 комплексных
сложений и 16 комплексных умножений, что совпадает с оценками (44) при
N=9. Граф, его иллюстрирующий, приведен на рис. 4а. Так же, как и в случае
обычных функций Хаара, этот граф можно модифицировать таким образом,
чтобы отсчеты сигнала располагались прореженными по времени, а отсчеты
спектра – в естественном порядке (рис. 4б).
x(0)
x(1)
x(2)
x(3)
x(4)
x(5)
x(6)
x(7)
x(8)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Х(0)
x(0)
x(3)
Х(3)
.
Х(6)
x(6)
Х(1)
x(1)
x(4)
Х(4)
.
Х(7)
x(7)
Х(2)
x(2)
Х(5)
x(5)
Х(8)
x(8)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
а)
.
.
.
Х(0)
Х(1)
Х(2)
Х(3)
Х(4)
Х(5)
Х(6)
Х(7)
Х(8)
б)
Рис. 4. Немодифицированный (а) и модифицированный (б)
сигнальные графы алгоритма БОПХ для N=9
_______________ . _______________
При p  2 алгоритм БОПХ (41) переходит в алгоритм БПХ (33).
Получаемые с помощью БПХ и БОПХ спектры Хаара являются
ненормированными, поскольку в алгоритмах этих преобразований не
выполняются
умножения
на
нормирующие
множители
2n и
p n 
соответственно, присутствующие в прямых ДПХ. Если для обработки
требуются только нормированные коэффициенты, то необходимо эти
умножения выполнить отдельно после завершения быстрых преобразований.
Это приведет к дополнительным затратам в общем случае в N вещественных
умножений (для БОПХ – N умножений комплексных величин на
вещественные константы).
4. Быстрые преобразования Хаара на скользящих интервалах времени
Методика синтеза быстрых алгоритмов анализа скользящего спектра
Хаара отличается от методики синтеза скользящих БПФ [4], хотя так же
основывается
на
статических
БПХ
и
использует
взаимосвязь
промежуточных вычислительных данных на различных шагах скольжения.
Рассмотрим ее сначала применительно к обычным функциям Хаара.
Перепишем статическое БПХ (33) для скользящей выборки входного
сигнала:
X j (2n   m)  Sj 1 (2m)  Sj 1 (2m  1), 

Sj (m)  Sj 1 (2m)  Sj 1 (2m  1),


n 
  1, 2, ..., n, m  0, 1, ..., 2  1. 

(45)
Здесь запись величин Sj (m) с индексом j означает их
принадлежность к
j -му моменту текущего времени. Алгоритм (45) описывает итерационный
вычислительный
процесс,
начальными
данными
которого
являются
величины
S0j (2m)  x( j  2m),
Для
получения
S0j (2m  1)  S0j 1 (2m)  x( j  2m  1).
скользящего
алгоритма
БПХ
(46)
рассмотрим
последовательно несколько итераций статического БПХ (45). На первой
итерации
(  1, m  0,1,..., 2n 1  1)
вычисляются
величины
S1j ( m)
по
соотношению
S1j (m)  S0j (2m)  S0j (2m  1)  S0j (2m)  S0j 1 (2m)  x( j  2m)  x( j  1  2m)
и спектральные составляющие X j (2n1  m) по формуле
(47)
X j (2n1  m)  S0j (2m)  S0j (2m  1).
Величины S1j (m) необходимы для вычисления спектра Хаара с номерами
2n  2  m , вычисляемого на второй итерации. Спектральные составляющие
X j (2n1  m) разделим на две группы
k  0,1,..., 2 n1  2 . Для
m0
со значениями m  0 и m  k  1,
в группе будет один только коэффициент
X j (2n1  m) , который запишется так:
X j (2n1 )  S0j (0)  S0j (1)  S0j (0)  S0j (0)  x( j)  x( j 1),
(48)
а для m  k  1 таких коэффициентов будет (2n1  1) и они будут равны
X j (2n1  k  1)  S0j (2k  2)  S0j (2k  2  1)  S0j 2 (2k )  S0j 2 (2k  1)  X j 2 (2n1  k ).
Из
последнего выражения следует, что спектральные
коэффициенты с
номерами 2n 1  k  1 на j -м шаге скольжения совпадают со спектральными
коэффициентами с номерами 2n 1  k на ( j  2) -м шаге скольжения. Если
последние хранить в памяти, то на первой итерации алгоритма необходимо
будет вычислить только один спектральный коэффициент X j (2n1 ) по
формуле (48) и вспомогательные величины S1j (m) по формуле (47).
На второй итерации (  2, m  0, 1, ..., 2n2  1) определяются величины
S2j (m)  S1j (2m)  S1j (2m  1),
(49)
необходимые для вычисления спектра на третьей итерации, и спектральные
коэффициенты с номерами 2n  2  m :
X j (2n2  m)  S1j (2m)  S1j (2m  1).
Но в соответствии с соотношением (47)
S1j (2m  1)  S0j [2(2m  1)]  S0j [2(2m  1)  1)]  S0j (4m  2)  S0j (4m  3) 
 x[( j  2)  4m]  x[( j  2)  (4m  1)]  S0j  2 (4m)  S0j  2 (4m  1)  S1j  2 (2m).
Поэтому выражение (49) можно представить следующим образом:
S2j (m)  S1j (2m)  S1j  2 (2m).
(50)
Спектр X j (2n2  m) также рассмотрим раздельно для двух значений
m  0 и m  k  1, k  0, 1, ..., 2n2 . Для m  0 имеем
X j (2n2 )  S1j (0)  S1j 2 (0),
а для m  k  1 X j (2n2  k  1)  S1j (2k  2)  S1j (2k  3)  S0j [2(2k  2)]  S0j [2(2k  2)  1] 
 S0j [2(2k  3)]  S0j [2(2k  3)  1]  S0j  4 (4k )  S0j  4 (4k  1)  S0j  4 (4k  2)  S0j  4 (4k  3) 
 X j 4 (2n2  k ).
Таким образом, и на второй итерации необходимо вычислять только один
спектральный коэффициент X j (2n2 ), а остальные можно заимствовать с
-го шага скольжения. Кроме того, поскольку при вычислении
( j  4)
коэффициента
X j (2n2 ) на
второй итерации используется только одна
величина S1j (0) , вычисляемая
на первой итерации, то, следовательно,
остальные значения S1j (m) не нужны и выражение (47) следует использовать
только один раз для m=0.
К
аналогичному
результату
приводит
последующих итераций, что позволяет
рассмотрение
и
всех
скользящие БПХ математически
записать в виде другого, боле простого в реализации, итерационного
вычислительного процесса:


j
j
j  21

X  (0)  S1 (0)  S1 (0),

X j (2n   k  1)  X j  2 (2n   k ), 

X j (0)  Snj (0),


n 
  1, 2, ..., n; k  0,1, ..., 2  2 
1
X j (2n  )  Sj 1 (0)  Sj 12 (0),
(51)
при начальных значениях
S0j (0)  x( j ), S0j 1 (0)  x( j  1).
(52)
Поскольку на каждой итерации такого процесса выполняется всего две
операции сложения, то их общее число в скользящем БПХ (51) составит
Ac  2n  2log 2 N ,
что почти в N / log 2 N раз меньше
(52а)
по сравнению со статическим БПХ и
скользящим БПУ. Сигнальный граф этого алгоритма имеет еще более
усеченный вид, причем часть узлов графа используется только для
отображения факта хранения данных без выполнения вычислительных
операций. Объем дополнительных данных, подлежащих запоминанию, в
этом алгоритме равен
Qc  N (n  1)  N (log 2 N  1).
(53)
В скользящем БПХ (51) из всех отсчетов входного сигнала
используются только два отсчета x( j ) и x( j  1) , играющие роль начальных
данных (52). Это позволяет уменьшить область памяти, отводимую под
отсчеты входного сигнала.
Пример 12. Записать алгоритм скользящего БПХ для N=8.
Решение. Так как в этом случае n=3, то алгоритм (51) будет иметь три
итерации.
Итерация 1 (λ=1, k=0, 1, 2):
S1j (0)  x( j )  x( j 1), X j (4)  x( j)  x( j 1), X j (5)  X j 2 (4),
X j (6)  X j  2 (5), X j (7)  X j  2 (6).
Итерация 2 (λ=2, k=0):
S2j (0)  S1j (0)  S1j 2 (0), X j (2)  S1j (0)  S1j 2 (0), X j (3)  X j 4 (2).
Итерация 3 (λ=3):
X j (0)  S3j (0)  S2j (0)  S2j 4 (0), X j (1)  S2j (0)  S2j 4 (0).
.
.
x(j)
x(j-1)
.
.
.
.
.
.
S1j(0)
Хj(4)
Хj(2)
S1j-2(0)
Хj-2(4)
Хj-2(5)
Хj-2(6)
.
.
.
.
S2j(0)
Хj(5)
Хj(6)
S2j-4(0)
Хj-4(2)
.
Хj(0)
.
Хj(1)
Хj(3)
Хj(7)
Рис. 5. Сигнальный граф скользящего БПХ для N=8
Сигнальный граф скользящего алгоритма для этого примера приведен
на рис. 5. Реализация его потребует выполнения 6 сложений и хранения 16
данных.
_______________ . _______________
С целью получения скользящего БП в базисе обобщенных функций
Хаара воспользуемся статическим БОПХ (41), которое запишем для
скользящей выборки входного сигнала:


 0

p 1

Sj (m)   Sj 1 ( pm   ),

  0


p 1

X j (0)  S nj (0)   S nj1 (),

 0

  1, 2, ..., p  1; m  0, 1, ..., p n   1;   1, 2, ..., n.
X j (p
n 
p 1
 m)   S j 1 ( pm  )W p ,
Алгоритм (54) выполняется за n итераций,
вычисляется
определенная
группа
(54)
на каждой из которых
спектральных
коэффициентов
и
вспомогательных величин. Начальными данными вычислительного процесса
являются величины
S0j (m)  x( j  m)  S0j  m (0), m  0, 1, ..., p n  1.
(55)
Для вывода скользящего варианта алгоритма БОПХ рассмотрим
сначала процедуру вычисления спектров на каждой итерации. Начнем с
самой первой итерации
(  1, m  0, 1, ..., p n1  1) .
На ней вычисляются
спектральные коэффициенты с номерами (p n1  m) . Разделим их на две части
со значениями m=0 и m  k  1, k  0, 1, ..., p n1  2 . Для m=0 имеем
p 1
X j (p n1 )   S0j ()Wp
 0
или, учитывая выражение (55),
p 1
p 1
0
 0
X j (p n1 )   S0j  (0)Wp   x( j  )Wp .
Для m  k  1 из (54) получаем
p 1
p 1
0
0
X j (p n1  k  1)   S0j [ p(k  1)  ]Wp   x[ j  p(k  1)  ]Wp 
p 1
p 1
 0
 0
  x[( j  p)  ( pk  )]Wp   S0j  p ( pk  )Wp  X j  p (p n1  k ).
Из полученных результатов следует, что на первой итерации необходимо
вычислять только коэффициенты X j (pn1 ) , а остальные коэффициенты
X j (p n1  k  1) можно заимствовать с ( j  p) -го шага скольжения. Кроме того,
при вычислении коэффициентов X j (pn1 ) используются только p нулевых
значений вспомогательной величины
S0j  (0) на текущем и предыдущих
шагах скольжения, равные соответствующим значениям входного сигнала.
На второй итерации (  2, m  0, 1, ..., p n2  1) вычисляются спектральные
коэффициенты X j (pn2  m) , которые так же можно разделить по значениям m
на две части: с m  0 и с m  k  1, k  0, 1, ..., p n2  2 . Для m=0
p 1
X j (p n2 )   S1j ()Wp ,
(56)
0
а для m  k  1
p 1
p 1 p 1
0
0 0
X j (pn2  k  1)   S1j [ p(k  1)  ]Wp   S0j [ p( pk  )  p 2  ]Wp 
p 1 p 1
  S0j  p [ p( pk  )  ]Wp  X j  p2 (p n2  k ).
2
 0  0
Из этого следует, что и на второй итерации алгоритма необходимо вычислять
только коэффициенты с номерами p n  2 , а остальные коэффициенты можно
брать с ( j  p 2 ) -го шага скольжения. Кроме того, формула (56) показывает,
что для вычисления спектра X j (p n2 ) необходимы не все вспомогательные
величины S1j (m) , а только p первые из них. Рассмотрим их.
При m   из алгоритма (54) получим
p 1
p 1
p 1
 0
 0
 0
S1j ()   S0j ( p  )   x[( j  p)  ]   S0j  p ()  S1j  p (0),
что позволяет упростить запись алгоритма (56) вычисления спектра X j (p n2 ) :
X j (p
n2
p 1
)   S1j  p (0)Wp ,
0
сделав его похожим на алгоритм вычисления спектра X j (pn1 ) на первой
итерации.
Продолжая рассмотрение итераций алгоритма (54), можно показать,
что на  -й итерации будет вычисляться только спектр
p 1
X j (p n )   Sj 1p
 0
а спектр
1

(0)Wp ,
X j (pn  k  1)  X j  p (pn  k ).
1
При этом вспомогательные величины Sj 1p  (0),   1, 2, ..., p  1, используемые
при расчете спектра X j (p n ) , вычисляются на предыдущем ( j  p1 ) -м шаге
скольжения, а на текущем шаге нужна только одна величина
p 1
Sj 1 (0)   Sj 2p
 2

(0).
 0
Полученные результаты позволяют процесс анализа скользящего
спектра
в
обобщенном
базисе
Хаара
представить
в
виде
нового
итерационного процесса


 0

p 1

1
S (0)   Sj 1p  (0),

 0

n 
n 

X j (p  k  1)  X j  p (p  k ),


  1, 2, ..., p  1;   1, 2, ..., n  1; k  0, 1, ..., p n 1  2; 

p 1
j  p n  2


X j ()   Sn 1 (0)W p ,

 0

p 1
j
j  p n  2

X j (0)  S n (0)   S n 1 (0)

 0

p 1
X j (p n  )   Sj 1p
1

(0)W p ,
(57)
при начальных данных
S0j  (0)  x( j  ).
(58)
На каждой итерации этого процесса будут выполняться p( p  1) сложений и
( p  1)2 умножений, поэтому общее число вычислительных операций в
скользящем алгоритме (57) будет равно
Ac  p( p  1)n  p( p  1) log p N ,
(59)
M c  ( p 1)2 n  ( p 1)2 log p N.
(60)
Число дополнительных данных, которые необходимо хранить в нем на
каждом текущем шаге скольжения составит
Qc  ( p  1)(n  1) N .
(61)
Пример 13. Записать алгоритм скользящего БОПХ для N=9.
Решение. В этом случае n  2 и n  3 , поэтому алгоритм скользящего
БОПХ (57) будет иметь всего две итерации.
Итерация 1 (λ = 1, k = 0, 1, μ = 1, 2):
S j (3)  S0j (0)  S0j 1 (0)W31  S0j 2 (0)W32  x( j )  x( j 1)W31  x( j  2)W32 ,
S j (6)  S0j (0)  S0j 1 (0)W32  S0j 2 (0)W31  x( j )  x( j 1)W32  x( j  2)W31,
S1j (0)  S0j (0)  S0j 1 (0)  S0j  2 (0)  x( j )  x( j  1)  x( j  2),
X j (4)  X j 3 (3), X j (5)  X j 3 (4), X j (7)  X j 3 (6), X j (8)  X j 3 (7).
Итерация 2 (λ = 1, μ = 1, 2):
X j (1)  S1j (0)  S1j 3 (0)W31  S1j 6 (0)W32 , X j (2)  S1j (0)  S1j 3 (0)W32  S1j 6 (0)W31,
X j (0)  S2j (0)  S1j (0)  S1j 3 (0)  S36 (0).
Сигнальный граф этого алгоритма приведен на рис. 6. На его
реализацию потребуется затратить 8 умножений и 6 сложений, что
соответствует оценкам (59) и (60) при N=9. По сравнению со статическим
алгоритмом примера 11
использование
скользящего алгоритма этого
примера приведет к экономии 8 умножений и 8 сложений. Число
дополнительных данных здесь равно 18, что также совпадает с оценкой (61)
при N=9.
.
.
.
x(j)
x(j-1)
x(j-2)
.
.
.
.
.
.
.
.
.
.
Хj(3)
S1j-3(0)
Хj(6)
S1j-6(0)
Хj-3(3) Хj(4)
Хj-3(6) Хj(7)
Хj-3(4) Хj(5)
Хj-3(7) Хj(8)
.
.
.
Хj(0)
Хj(1)
Хj(2)
Рис. 6. Сигнальный граф скользящего БОПХ для N=9
_______________ . _______________
Скользящий алгоритм (57) носит общий характер,
справедлив для
любых целых положительных p и n и при p  2 переходит в алгоритм (51)
скользящего БПХ. Оценки
сложности (59) и (61) в этом случае так же
переходят в оценки (52а) и (53).
СПИСОК ЛИТЕРАТУРЫ
1. Залманзон Л.А. Преобразования Фурье,
Уолша, Хаара и их
применение в управлении, связи и других областях. – М.: Наука, 1989.
– 496 с.
2. Карповский М.Г., Москалев Э.С. Спектральные методы анализа и
синтеза дискретных устройств. – Л. Энергия, 1973. – 141 с.
3. Соболь И.М. Многомерные квадратурные формулы и функции Хаара. –
М.: Наука, 1969. – 288 с.
4. Смирнов
Ю.М.
и
др.
Проектирование
специализированных
информационно-вычислительных систем: Учебное пособие. – М.:
Высш. школа, 1984. – 359 с.
5. Чуи К. Введение в вэйвлеты: Пер с англ. – М.: Мир, 2001. – 412 с.
6. Трахтман А.М., Трахтман В.А. Основы теории дискретных сигналов на
конечных интервалах. – М.: Сов. радио, 1975.- 208 с.
7. Кулибаба А.Я., Сюзев В.В. Свойства спектров степенных сигналов в
базисе функций Виленкина-Крестенсона // Компьютерные системы и
технологии. Сборник трудов кафедры «Компьютерные системы и сети»
МГТУ им. Н.Э. Баумана. – М.: Эликс+, 2007. – с. 122-130.
Скачать
Учебные коллекции