книжка умняшкина по моцос
.pdfСледствие. Обратная матрица W-1=W, и формула обратного ДПУ совпадает с формулой прямого ДПУ (3.19), т.е. Y=WX, X=WY,
1 2n −1
xk = ∑y j wk ( j / 2n ) .
2n j=0
Пример 5. Построим матрицу ДПУ для 4-точечного преобразования,
N=22.
◄ При
wk, j = w j,k
W = wk, j
доказательстве |
|
леммы |
2 |
получили |
общее |
выражение: |
|||||||||||||||
= |
|
1 |
wk |
|
j |
|
= |
1 |
n−1 |
j |
|
k |
m . В нашем случае, n=2: |
||||||||
|
2n |
|
2 |
n |
|
2n |
∏ |
(-1) |
n−1−m |
||||||||||||
|
|
|
|
|
|
|
|
m=0 |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
1 |
|
|
1 |
|
j k |
+ j k |
3 |
|
|
|
|
|
|
|
1 |
1 1 −1 −1 |
|
||||||
= |
|
(-1) 0 1 |
|
1 0 |
|
|
|
. Получаем: |
W = |
2 |
1 −1 |
1 |
−1 |
. ► |
|||||||
2 |
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
k |
, j=0 |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
−1 |
−1 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
|
3.8. Дискретное преобразование Хаара
Определение. Дискретным преобразованием Хаара (ДПХ) вектора X = (x0 , x1,K, x2n −1 ) назовем вектор Y = (y0 , y1,K, y2n −1 ), компоненты которого находятся по формуле:
|
= 1 |
2n −1 |
|
yk |
∑x jhk ( j / 2n ) , |
(20) |
|
|
2n |
j=0 |
|
где hk(t) – k-я функция системы Хаара (см. раздел 1.7).
Замечание. Положив, что xj – это отсчёты некоторой функции, xj=f(j/2n), определённой на отрезке t [0;1], формулу (20) также можно рассматривать как приближённое вычисление по формуле прямоугольников интеграла:
1 |
n |
1n |
= 1 yk |
ck = f (t), hk (t) = ∫ f (t)hk (t)dt ≈ |
2∑−1 x jhk ( j / 2n ) |
||
0 |
j=0 |
2 |
2n |
(с точностью до множителя 1 2n ), где ck представляет собой k-й коэффициент Фурье разложения функции f(t) по системе Хаара.
71
|
|
1 |
|
Теорема 5. Матрица |
|
|
|
H = |
|
|
|
|
|
2 |
n |
|
|
|
|
2n −1 |
|
|
j |
, определяющая ДПХ |
hk |
|
|
|
2n |
, j =0 |
|
k |
Y=HX – ортогональна, т.е. HT = H−1 .
◄ Обозначим U=HHT и покажем, что матрица U – единичная. Рассмотрим элемент k-ой строки j-ого столбца матрицы U, который представляет собой скалярное произведение k-ой строки матрицы H и j-ого столбца
|
T |
|
|
|
2n |
−1 |
m m 1 |
||||||||||||
матрицы H |
|
(т.е. j-ой строки матрицы H): |
uk, j = |
∑ hk |
|
|
|
|
h j |
|
|
|
|
|
. |
||||
|
2 |
n |
|
n |
2 |
n |
|||||||||||||
|
|
|
|
|
m=0 |
|
|
|
2 |
|
|
|
|
||||||
Поскольку k=0,…,2 |
n |
n m |
|
m +1 |
|
|
|
|
|
|
|
||||||||
-1: hk(t)=const при t ∆m = |
|
|
; |
|
|
|
(см. свойст- |
||||||||||||
2 |
n |
2 |
n |
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
во 1° системы Хаара, пример 1.12), то выражение для uk,j можем переписать:
|
n |
|
|
1 wk (t)w j (t)dt =< wk (t), w j (t)>= 1, приk = j |
|
|
uk , j = |
2∑−1 |
∫ |
hk (t)h j (t)dt = |
, |
||
|
|
14243 |
∫ |
0, приk ≠ j |
|
|
|
m=0 ∆n |
const |
0 |
|
|
|
|
|
m |
|
|
|
в силу ортонормированности системы Хаара (см. теорему 1.13). ►
Пример 6. Построим матрицу ДПХ для 4-точечного преобразования,
N=22.
◄ Построив по определению (см. пример 1.12) первые функции h0(t), h1(t), h2(t), h3(t), находим значения hj(j/4), k,j=0,1,2,3, и получаем сле-
1/ 2 |
1/ 2 |
1/ 2 |
1/ 2 |
|
|
||
|
1/ 2 |
1/ 2 |
−1/ 2 |
−1/ 2 |
|
|
|
дующую структуру матрицы ДПХ: H = |
|
. ► |
|||||
1 |
2 −1 2 |
0 |
0 |
|
|
||
|
|
0 |
0 |
1 2 −1 2 |
|
|
|
|
|
|
|
ДПХ и ДПУ также обладают быстрыми алгоритмами вычислений. Данные преобразования вычисляются намного быстрее ДПФ, так как реализуются только за счёт операций сложения и вычитания чисел, не требуя операций умножения или деления (за исключением окончательной нормировки коэффициентов, ~N умножений, которая на практике требуется не всегда).
72
3.9. Некоторые применения дискретных ортогональных преобразований
Кратко рассмотрим некоторые применения дискретных ортогональных преобразований.
Пример 7. Вычисление свёртки векторов с помощью БПФ.
Для |
вектора-свёртки |
|
C = (c0 ,c1,K, c2N −1 ) |
векторов |
|
A = (a0 , a1,K, aN −1 ) |
и |
|
B = (b0 ,b1,K,bN −1 ) |
была опреде- |
лена формула (14), расписав которую по отдельности для каждой компоненты (см. табл.), можем подсчитать число умножений, которое необходимо для вычисления всего вектора C. Получаем
2(1+ 2 +…+(N-1))+ N = N 2 (см.
табл.) умножений (вещественных или комплексных, в зависимости от характера векторов A, B).
Компонента свёртки, фор- |
Кол. |
мула вычисления |
умн. |
c0 = a0b0 |
1 |
c1 = a0b1 + a1b0 |
2 |
… |
… |
k |
|
ck = ∑a jbk − j |
k+1 |
j=0 |
|
… |
… |
N −1 |
|
cN −1 = ∑a jbN −1− j |
N |
j=0 |
|
N −1 |
|
cN = ∑a jbN − j |
N-1 |
j=1 |
|
N −1 |
|
cN +1 = ∑a jbN +1− j |
N-2 |
j=2 |
|
… |
|
c2N −3 = aN −2bN −1 + aN −1bN −2 |
2 |
c2N −2 = aN −1bN −1 |
1 |
Положим, что N=2n. Используя свойство ДПФ свёртки (см. свойство 5° ДПФ), можно вычислить вектор-свёртку следующим образом.
1. Сформируем |
|
векторы |
A = (a |
,K,a |
N −1 |
,0,K,0) , |
|||
|
|
|
|
|
|
0 |
|
123 |
|
|
|
|
|
|
|
|
|
|
N нулей |
B = (b ,K,b |
,0,K,0) , и с использованием алгоритма БПФ полу- |
||||||||
|
0 |
|
N −1 |
123 |
|
|
|
|
|
|
|
|
|
N нулей |
|
|
|
|
|
чим |
векторы |
ˆ |
= (aˆ0 ,aˆ1,K,aˆ2N −1) |
– ДПФ |
вектора |
A и |
|||
A |
|||||||||
ˆ |
ˆ |
ˆ |
ˆ |
|
– ДПФ вектора |
n |
|
|
|
B = |
(b0 |
,b1 |
,K,b2N −1) |
B . Если N=2 , то вычисление |
двух БПФ размерности 2N=2n+1 потребует (см. раздел 3.6) примерно
73
|
(n +1)2n |
комплексных |
умножений |
каждое, |
т.е. всего |
||||
|
(n +1)2n+1 = 2N log2 (2N ) умножений. |
|
|
|
|
||||
2. |
|
|
ˆ |
,cˆ1,K, cˆ2N −1) (ДПФ вектора С) перемно- |
|||||
Вычислим вектор C = (cˆ0 |
|||||||||
|
|
|
|
ˆ |
ˆ |
k |
cˆk = |
|
ˆ |
|
жением компонент векторов A и |
B : |
2N aˆk bk . Без учёта |
||||||
|
нормировки (умножения на 2N ) для этого необходимо 2N ком- |
||||||||
|
плексных умножений. |
|
|
|
|
|
|
||
3. |
Вектор-свёртку |
C = (c0 ,c1,K,c2N −1 ) |
получим далее |
в результате |
|||||
|
ОДПФ вектора |
ˆ |
|
по быстрому алгоритму, для че- |
|||||
|
C = (cˆ0 ,cˆ1,K, cˆ2N −1) |
||||||||
|
го необходимо примерно |
(n +1)2n = N log2 (2N ) |
комплексных ум- |
||||||
|
ножений. |
|
|
|
|
|
|
|
|
Таким образом, общее количество комплексных умножений, необходимых для вычисления свёртки по описанной схеме, составит величину ≈ 3N log2 (2N ) + 2N = N (2 + 3log2 (2N )), что при больших значениях N
существенно меньше, чем N2.
Пример 8. Сжатие данных с потерями информации.
Если необходимо закодировать дискретный сигнал, представленный в виде вектора данных X, то во многих случаях оказывается удобнее кодировать вектор Y=FX, полученный в результате ортогонального преобразования с матрицей F. При этом о многих коэффициентах {yk} заранее можно сказать, что их модули |yk| малы – при кодировании вектора Y эти коэффициенты отбрасываются, а при восстановлении заменяются нулями. Тем самым, хранение (передача) данных вектора Y, а не X, оказывается более экономной, однако за счёт того, что в декодированном
(
векторе Y имеется некоторое множество принудительно обнулённых
коэффициентов («зоны» нулей), восстановленный вектор X( = F−1Y( также отличается от исходного вектора данных X. Если характеризовать
потерю данных по евклидовой норме ошибки |
|
( |
|
, то в силу ортого- |
|||||||||||||||
|
X − X |
|
|||||||||||||||||
нальности используемого |
преобразования, так как |
( |
( |
||||||||||||||||
Y −Y = F(X − X), |
|||||||||||||||||||
имеем: |
|
( |
|
2 |
|
|
( |
|
2 |
= ∑ |
|
yk |
|
2 , где Ω – множество индексов обну- |
|||||
|
X − X |
|
|
= |
|
Y − Y |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
k Ω |
|
|
|
|
|
|
|
лённых компонент вектора Y. Поскольку величину ошибки кодирования
74
можно анализировать в области преобразованных векторов Y, Y , имен-
но ортогональные преобразования используются в основном для целей кодирования. Подробнее теоретические основы использования ортогональных преобразований для сжатия данных будут рассмотрены в шестой главе.
3.10. Квантование дискретных сигналов
До сих пор предполагалось, что полученные из непрерывного сигнала f(t) дискретные отсчёты {fk=f(k∆t)} могут принимать любые значения из некоторого диапазона [xmin;xmax]. Для представления сигнала в цифровом виде дискретный сигнал дополнительно необходимо проквантовать, т.е. заменить каждый отсчёт fk значением из некоторого
конечного множества Ω = {d j }Nj =−01
ветствии с некоторым правилом Q: fk →Q fˆk Ω . Возникает вопрос:
как выбрать правило квантования Q? Отсчёты дискретного сигнала часто описывают в терминах случайных величин, поэтому процесс квантования удобно представить как преобразование случайной величины не-
прерывного типа X в случайную величину дискретного типа: |
ˆ |
= Q( X ) . |
X |
В зависимости от того, насколько полна исходная информация о законе распределения случайной величины X и каковы технические возможности реализации квантователя (как устройства или программной процедуры), возможны и различные подходы к выбору правила (функции) Q, при заданном числе уровней квантования N.
Равномерное квантование
Обычно равномерное квантование используется тогда, когда о случайной величине X известно лишь то, что она попадает в некоторый
диапазон X [xmin;xmax] и (или) необходимо обеспечить простейшую аппаратную реализацию квантователя (т.е. устройства, реализующего пра-
вило Q). Для технического удобства изложения в качестве диапазона возможных значений случайной величины непрерывного типа выберем
полуинтервал X [xmin;xmax).
При равномерном квантовании диапазон [xmin;xmax) разбивается на N равных интервалов длины q=(xmax-xmin)/N: ∆j=[xmin+jq;xmin+(j+1)q), j=0,…,N-1. В качестве уровней квантования {d j }Nj=−01 выбираются середи-
75
ны интервалов, dj=xmin+(j+0,5)q. Правило квантования имеет простой вид: если X ∆j, то Q(X)=dj. Очевидно, что ошибка квантования при этом:
ˆ |
≤ q 2 . Часто ошибку квантования характеризуют некоторыми |
X − X |
средними значениями. В частности, для характеристики ошибки квантования используется величина
ε |
2 |
ˆ |
2 |
), |
(21) |
|
= M(( X − X ) |
|
где обозначение М используется для математического ожидания, а горизонтальная черта означает операцию усреднения. При достаточно малой
= − ˆ
величине дискрета квантования q ошибку квантования E X X можно считать случайной величиной, подчиняющейся равномерному закону распределения на отрезке [− q 2; q 2]. Тогда (21) представляет собой
дисперсию ошибки квантования. Как было установлено в курсе теории вероятностей, для равномерного закона распределения случайной величины E ~ R[− q 2; q 2] математическое ожидание М(E)=0, а дисперсия
ошибки квантования ε2 = D(E) = q2 12 .
Оптимальное квантование Ллойда-Макса
Вновь положим, что случайная величина непрерывного типа X принимает значения из какого-то диапазона [xmin;xmax), причем известна её функция плотности распределения вероятностей fX(x), fX(x)>0 при
X [xmin;xmax) и fX(x)=0 при X [xmin;xmax). Разобьём интервал [xmin;xmax) на N, вообще говоря, неравных частей: ∆j=[tj;tj+1), j=0,…,N-1, t0=xmin, tN=xmax. Внутри каждого подынтервала ∆j расположим точку dj – уровень кванто-
вания. Правило квантования имеет тот же вид, что и ранее: если X ∆j, то Q(X)=dj. Однако теперь параметры квантования – пороги {t j }Nj =−11 и уров-
ни {d j }Nj=−01 – будем искать с точки зрения минимизации величины (21)
как функции данных параметров:
ε 2 = g(t1 ,K,tN −1;d0 ,K, d N −1 ) = M[(X −Q( X ))2 ]=
tN
= ∫(x −
t0
Q(x))2 f X (x)dx =N∑−1t j∫+1(x − d j )2 f X (x)dx . |
(22) |
j=0 t j |
|
Необходимым условием минимума функции (22) является равенство нулю частных производных.
76
|
∂g(K) |
|
∂ |
|
t j |
|
|
t j+1 |
|
|
|
|
||||
|
= |
K+ ∫(x −d j−1 )2 f X (x)dx + ∫(x −d j )2 |
f X (x)dx +K |
= |
||||||||||||
|
|
|
||||||||||||||
|
∂t j |
∂t j |
t j−1 |
|
|
t j |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
= (t j −d j−1 )2 f X (t j ) −(t j −d j )2 f X (t j ) = 0 . |
|
|
|
|
|||||||||
Отсюда, так |
как |
fX(tj)≠0, получаем: |
|
t j − d j −1 |
|
= |
|
t j |
− d j |
|
. Поскольку |
|||||
|
|
|
|
|||||||||||||
dj-1≤tj≤dj, то раскрывая модули как t j −d j−1 = d j −t j , получаем: |
|
|||||||||||||||
|
|
|
|
|
t j = |
d j−1 + d j |
, |
|
|
|
|
|
|
|
(23) |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
||||
|
|
|
|
|
j =1,K, N −1. |
|
|
|
|
Для частных производных функции (22) по переменным
получаем:
∂g(K) = −2t ∫j+1(x −d j )f X (x)dx = 0 . |
|
∂d j |
t j |
Отсюда |
|
t j+1 |
t j+1 |
d j = ∫xf X (x)dx ∫ f X (x)dx , |
|
t j |
t j |
|
j = 0,K, N −1. |
{d j }Nj=−01
(24)
Заметим, что выражение (24) представляет собой среднее значение случайной величины X при условии, что последняя попала в интервал ∆j. То есть (24) – это условное математическое ожидание: d j = M( X | X ∆ j ) .
Решение системы уравнений (23), (24) определяет квантователь Ллойда-Макса и, как можно было бы показать, дает минимальное значение ошибки (22). В общем случае решение системы уравнений (23), (24) необходимо искать численными методами. Отметим также, что все приведённые рассуждения, которые привели к построению данной системы уравнений, сохраняются в силе и для общего случая, когда функция плотности распределения принимает ненулевые значения на всей числовой оси, т.е. когда t0= xmin=-∞, tN=xmax=+∞.
77
Пример 9. Найти параметры оптимального квантователя Ллойда-Макса для квантования с N уровнями для случайной величины, имеющей равномерное распределение на интервале [a,b], т.е. X~R[a,b].
◄ Функция плотности распределения имеет в данном случае вид:
|
1 |
|
|
|
, при x [a;b] . |
|
||
f X (x) = b −a |
||
|
0, |
при x [a;b] |
|
Тогда для уравнений (24) получаем:
|
t j+1 |
x |
|
t j+1 |
1 |
|
t2j+1 −t2j |
|
|
|
t j+1 |
+t j |
|
|
||
d j = |
∫ |
|
dx |
∫ |
|
dx = |
|
|
|
|
|
= |
|
|
, |
j=0,…,N-1. |
b −a |
b −a |
2(t |
j+1 |
−t |
j |
) |
2 |
|||||||||
|
t j |
|
|
t j |
|
|
|
|
|
|
|
|
|
|
С учётом (23) и условий t0=a, tN=b, для параметров оптимального квантователя Макса получаем окончательно следующую систему уравнений, которая в данном случае принимает линейный вид и легко разрешима:
|
t0 |
= a; |
tN = b; |
||||
|
|||||||
|
|
|
d j−1 + d j |
|
|
||
|
t j |
= |
|
, |
|||
|
|
|
|
|
|||
|
|
2 |
|
||||
|
|
|
|
|
|
|
|
|
d j |
= |
|
t j + t j+1 |
, |
||
|
|
|
2 |
||||
|
|
|
|
|
|
|
j = 1,K, N −1,
j = 0,K, N −1.
Решение системы – очевидное, определяет рассмотренный выше равномерный квантователь, который для равномерно распределённой случайной величины является также оптимальным в смысле минимизации ошибки (21). ►
Итак, процесс квантования отсчётов дискретного сигнала можно рассматривать как преобразование случайной величины непрерывного
ˆ =
типа X в случайную величину дискретного типа X Q( X ) . Трактуя уровни квантования {d j }Nj=−01 как символы некоторого алфавита, цифро-
вой сигнал можно считать словом, составленным из этого алфавита, буквы которого представляют собой проквантованные отсчёты дискретного сигнала. Такое слово, или «дискретное сообщение», можно представить в двоичном виде. Вопросы эффективного двоичного кодирования дискретных сообщений мы рассмотрим позднее в главе 5.
78
Глава 4. Линейные дискретные системы
В предыдущей главе мы рассмотрели вопросы преобразования ана-
логового сигнала в дискретный: f (t) → {fn = f (n∆t)}∞n=−∞ . Величина ∆t, фактически, характеризует масштаб по оси абсцисс, выбранный для представления дискретного сигнала во временной области. Реально выбирая интервал дискретизации ∆t, например, в соответствии с критерием (3.6), далее, не меняя общности рассуждений, можем для упрощения изложения считать ∆t=1 (проведя своего рода «нормировку» по оси времени дискретного сигнала). Тогда для спектра дискретного сигнала (3.8)
верхняя частота сигнала Fmax = 21∆t (см. (3.6)) будет соответствовать
нормированной частоте ν=1/2, а период спектральной функции (3.8) (см. рис. 3.2) будет единичным. Отличие шага дискретизации ∆t от единичного всегда можно учесть и в частотной области, воспользовавшись
свойством 3° преобразования Фурье: f (αt) ↔ Sα (t) = α1 S(ν α). При
дальнейшем изложении в данной главе будем полагать, что ∆t=1 и fn=f(n).
4.1. Z-преобразование
Определение. Z-преобразованием числовой (действительной или комплексной) последовательности {x(n)}∞n =0 назовём функцию ком-
плексной переменной X(z)=Z{x(n)}, которая определяется следующим образом:
|
∞ |
z > r = lim n |
x(n) |
|
ϕ(z) = ∑x(n)z−n для |
|
|||
X (z) = |
n=0 |
n→∞ |
|
.(1) |
|
|
|
|
≤ r |
ианалитическоепродолжениефункции ϕ(z) вкруг z |
Считается, что x(n)≡0 при n<0. Соответствие между последовательностью {x(n)}∞n =0 и её Z-образом X(z)=Z{x(n)} обозначаем: x(n)↔X(z).
∞
Поясним определение. Функция ϕ(z) = ∑x(n)z−n , фигурирующая
n=0
в (1), представляет собой частный случай ряда Лорана, который в общем
79
случае представляет собой сумму
∞ |
|
∑cn (z − z0 )n , |
(2) |
n=−∞
где z0 – точка комплексной плоскости, cn – комплексные числа. Напомним следующую теорему.
Теорема 1. Если |
коэффициенты ряда |
Лорана (2) таковы, что |
|||||
lim n c−n = r < R = |
1 |
, то областью сходимости ряда (2) является |
|||||
|
|||||||
n→∞ |
lim n |
cn |
|
||||
|
|
|
|
|
n→∞ |
|
|
|
|
|
|
|
|
|
∞ |
кольцо r < |
|
z − z0 |
|
< R , в котором сумма |
f (z) = ∑cn (z − z0 )n является |
||
|
|
n=−∞
аналитической функцией, а коэффициенты ряда выражаются с помощью контурных интегралов:
c |
= 1 |
f (z) |
dz , |
(3) |
n |
2πi γ∫(z − z0 )n+1 |
|
|
|
|
|
|
n Z, где γ – произвольный замкнутый контур (обход конура – в положи-
тельном направлении), |
целиком лежащий в кольце r < |
|
z − z0 |
|
< R и ох- |
||||
|
|
||||||||
ватывающий точку z0. |
|
|
|
|
|
|
|
|
|
В соответствии с |
теоремой 1 r = lim n x(n) и R=∞, т.е. ряд |
||||||||
|
|
|
|
|
n→∞ |
||||
∞ |
|
|
|
|
|
|
|
|
|
∑x(n)z−n сходится в области r < |
|
z |
|
, где его сумма ϕ(z) представляет |
|||||
|
|
||||||||
n=0 |
|
|
|
|
|
|
|
|
|
собой аналитическую функцию. Особые точки функции X(z) могут быть только в круге z ≤ r , в который аналитически продолжена функция
ϕ(z) .
Пример 1. Найти Z-преобразование последовательности x(n)=n, n=0,1,…
◄ Для z > lim n |
n |
=1 имеем: |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
n→∞ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∞ |
|
∞ |
d |
|
d |
∞ |
|
d |
z |
|
|
z |
|
|
|||
X (z) = ∑nz−n = −z ∑ |
|
z−n = −z |
|
|
∑z−n |
= −z |
|
|
|
|
|
= |
|
|
. |
||
|
|
|
|
|
(z −1) |
2 |
|||||||||||
n=0 |
|
n=0 dz |
|
dz n=0 |
|
dz z −1 |
|
|
|
|
Заметим, что использование формулы для суммы геометрической прогрессии возможно только для z >1. Однако мы считаем полученное
80