Березкин Основы теории информации и кодирования 2010
.pdf
|
1 |
|
2 |
|
|
1 |
|
2 |
|
x ( nT ) |
Ak e jk |
|
nT |
|
Ak e jk |
|
n . |
||
NT |
N |
||||||||
|
2 k |
|
|
|
2 k |
|
|
Правая часть не зависит от T . Поэтому вместо x(nT ) писать x(n) .
(4.8)
можно
j(k sN ) 2 n
Но N , где s – любое целое положительное число.
Следовательно, можно записать:
|
1 |
|
j ( k sN ) |
2 |
n |
|
x ( nT ) |
Ak e |
|
|
|||
N |
(4.9) |
|||||
|
|
|
. |
|||
|
2 k |
|
|
|
|
Сравнивая (4.8) и (4.9), приходим к выводу, что комплексные амплитуды при дискретизированных гармониках, кратных N , не отличаются друг от друга, и имеется только N различных состав-
ляющих дискретного спектра A0 , A1 , A2 ,..., AN 1 . Таким обра-
зом, получено важное свойство периодических дискретизированных во времени сигналов: их спектр также является периодическим и дискретным с периодом, равным N отсчетам частоты
( N ).
Поэтому бесконечные пределы в (4.8) можно заменить одним периодом:
x ( nT ) |
1 |
N 1 |
jk |
2 |
n |
|
N |
(4.10) |
|||||
2 |
Ak e |
|
|
. |
||
|
k 0 |
|
|
|
|
|
Для определения коэффициентов |
Ak |
умножим обе части этого |
||||
2 |
|
|
|
|
|
|
равенства на e jm N n , где |
m – целое число в пределах от 0 до |
|||||
N 1, и рассмотрим сумму по переменной |
n , содержащую N |
|||||
таких произведений: |
|
|
|
|
|
|
N 1 |
|
x ( nT )e |
|
n 0 |
|
Если k m , то e
|
2 |
|
|
1 |
N 1 |
N 1 |
2 |
|
jm |
|
n |
Ak e j ( k m ) |
|
n . |
|||
N |
N |
|||||||
|
|
|
|
2 |
k 0 |
n 0 |
|
|
j ( k m ) |
2 |
n |
1 независимо от величины n , |
|||||
N |
||||||||
|
|
|
|
101 |
|
|
|
при этом
N 1 |
2 |
|
e j ( k m ) |
|
n N . |
N |
||
n 0 |
|
|
При k m комплексная экспонента описывает единичный вектор, фаза которого при изменении величины n изменяется скачка-
ми на равноотстоящие углы 2N (k m) . Сумма этих векторов за N
отсчетов равна нулю. Учитывая это, получаем
1 |
N 1 |
|
N 1 |
2 |
|
1 |
|
|
|
Ak e j ( k m ) |
|
n |
NA m . |
|
|||||
N |
|
||||||||
2 |
k 0 |
|
n 0 |
|
|
2 |
|
|
|
Следовательно, |
|
|
|
|
2 |
|
|
||
|
|
2 |
N 1 |
|
|
|
|
||
|
|
|
jm |
|
n |
|
|
||
|
|
|
N |
|
|
||||
Am |
|
x ( nT )e |
|
|
|
. |
(4.11) |
||
N |
|
|
|
||||||
|
|
n 0 |
|
|
|
|
|
|
|
Объединяя (4.10) и (4.11) и заменяя в Am |
индекс m на индекс |
k , окончательно получаем:
|
|
2 |
|
Ak |
|||
N |
|||
|
|
||
|
|
|
|
|
x(nT ) |
||
|
|||
|
|
|
N 1 |
|
|
2 |
|
n ; |
x(nT )e |
jk N |
||||
n 0 |
|
|
2 |
|
(4.12) |
1 |
N 1 |
|
|
||
Ak e jk |
N |
n . |
|||
2 k 0 |
|
|
|
|
Эти соотношения называются прямым и обратным дискрет-
ными преобразованиями Фурье (ДПФ). ДПФ Ak , как и сама по-
следовательность x(nT ) , является периодической функцией по аргументу k с периодом N .
Характер зависимости модуля функции Ak |
от частоты приве- |
|
ден на рис. 4.6. |
|
2 . Заметим, |
Период спектра в масштабе частот равен |
N |
|
|
|
T |
что в пределах периода составляющие спектра симметричны отно-
сительно середины этого интервала, причем |
|
Ak |
|
|
|
AN k |
|
(это |
|
|
|
|
|||||
102 |
|
|
|
|
|
|
|
|
следует, |
например, из |
|
|
того |
|
факта, что |
|
Ak |
|
|
|
A k |
|
|
|
|
и |
|||||||||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
A k |
|
|
|
|
AN k |
|
, k 1,2,3,... ) и |
arg Ak arg AN k . |
Поэтому вся |
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||
полезная информация имеется уже в интервале частот, равном |
|
|
|
. |
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T |
||
|
|
|
|
|
|
|
|
|
|
|
|
Ak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
T |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
AN 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
|
|
|
A2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 2 … k … (N-1) |
|
|||||
|
N |
2 |
|
|
|
|
|
|
|
|
|
||
|
|
|||||
|
|
T |
|
|
Рис. 4.6. Спектр амплитуд дискретного периодического сигнала
Рассмотрим непериодический аналоговый сигнал x(t) , заданный на интервале T0 . Спектр сигнала x(t) получается в результате прямого преобразования Фурье
S ( j ) x (t )e j t dt .
Сам сигнал по его спектру вычисляется с помощью обратного преобразования Фурье
|
1 |
|
|
x(t ) |
S ( j )e j t d . |
||
2 |
|||
|
|
||
Пусть дискретный сигнал |
x(nT ) конечной длины N , опреде- |
ленный при n 0,1,2,..., N 1 и равный нулю вне интервала
[0, N 1] , получен дискретизацией непрерывного сигнала x(t) с интервалом T (рис. 4.7).
103
x(nT )
x(0)
x(T)
x(2T)
x(nT)
x[(N-1)T]
t 0 T 2T … nT … (N-1)T
NT
Рис. 4.7. Дискретный непериодический сигнал
Пара преобразований Фурье для дискретного сигнала имеет вид
|
|
|
|
|
N- 1 |
|
|
|
|
||
|
|
S ( e j T ) |
x ( nT |
) e j nT |
, |
(4.13) |
|||||
|
|
|
|
|
n 0 |
|
|
|
|
||
|
|
|
T |
/ T |
|
|
|
|
|||
x ( nT ) |
|
S ( e j T |
) e j nT d , |
(4.14) |
|||||||
2 |
|||||||||||
|
|
|
/ T |
|
|
|
|
||||
где S(e j T ) |
– спектр дискретного сигнала. Спектры |
S(e j T ) |
и |
||||||||
S ( j ) связаны соотношением |
|
, |
|
|
|||||||
|
|
S(e j T ) 1 S j( k D ) |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T |
k |
|
|
|
|
|
т.е. спектр |
последовательности x(nT ) равен |
с точностью |
до |
||||||||
множителя |
1 |
сумме спектров соответствующего сигнала x(t) , |
|||||||||
|
|||||||||||
|
T |
|
|
|
|
|
|
|
|
смещенных по оси частот на все возможные значения частоты, кратные частоте дискретизации D 2 / T .
S(e j T ) является периодической функцией по частоте с периодом, равным частоте дискретизации D 2 / T . Действительно,
104
S(e j T ) S(e j ( k 2 / T )T ), |
k 1,2,... . |
Именно поэтому при вычислении x(nT) |
интегрирование прово- |
дится в пределах [ / T , / T ] . Очевидно, что свойство периодич- |
ности спектра распространяется также на его модуль S(e j T ) и аргумент arg S(e j T ) .
Предположим, что спектр S( j ) непрерывного сигнала огра-
ничен частотой c . Тогда, для того чтобы спектр дискретизированного сигнала содержал наибольшее количество информации об исходном сигнале x(t) , необходимо выполнить соотношение
с T ,
т.е. условие теоремы Котельникова. В этом случае спектр S(e j T ) повторяет по форме спектр исходного сигнала (рис. 4.8),
только в отличие от последнего он имеет периодическую структуру.
S( j )
|
|
|
T |
T |
|
|
S(e j T ) |
|
|
|
|
T |
T |
|
Рис. 4.8. Спектр дискретного непериодического сигнала
Если же с T , происходит искажение x(t) вследствие вза-
105
имного наложения спектральных составляющих соседних участков
(рис. 4.9).
S( j )
|
3 |
3 |
|
2T |
2T |
|
S(e j T )
|
3 |
|
3 |
|
2T |
|
2T |
|
Рис. 4.9. Взаимное наложение спектральных составляющих
Таким образом, приступая к анализу, следует предварительно выбрать интервал дискретизации T в соответствии с критерием Котельникова.
Если сравнить спектр конечного дискретного сигнала, выражаемый формулой S(e j T ) , с ДПФ этого сигнала, то увидим, что ДПФ представляет собой N отсчетов спектра, взятых на периоде с интервалом дискретизации по частоте, равным NT2 . Из этого
следует, что свойства ДПФ аналогичны свойствам спектров. Следовательно, дискретное преобразование Фурье может быть
использовано и для представления последовательности x(nT ) конечной длины N , определенной при n 0,1,2,..., N 1 и равной нулю вне интервала [0, N 1] . Действительно, такую последова-
тельность можно рассматривать как один период соответствующей периодической последовательности и использовать преобразова-
ния ДПФ; следует только считать, что вне интервала [0, N 1] Ak и x(nT ) равны нулю.
106
Преобразования (4.13) и (4.14) в большей степени носят исключительно теоретический интерес.
4.4. БЫСТРОЕ ПРЕОБРАЗОВАНИЕ ФУРЬЕ
Для ДПФ (4.12), в принципе, справедливы все свойства интегральных преобразований Фурье, однако при этом следует учитывать периодичность дискретных функций и спектров.
Из выражений ДПФ можно видеть, что для вычисления каждой гармоники нужно N операций комплексного умножения и сложе-
ния и соответственно N 2 операций на полное выполнение ДПФ. При больших объемах массивов данных это может приводить к существенным временным затратам. Ускорение вычислений дос-
тигается при использовании быстрого преобразования Фурье
(БПФ).
БПФ базируется на том, что при вычислениях среди множителей (синусов и косинусов) есть много периодически повторяющихся значений (в силу периодичности функций). Алгоритм БПФ группирует слагаемые с одинаковыми множителями в пирамидальный алгоритм, значительно сокращая число умножений за счет исключения повторных вычислений. В результате быстродействие БПФ в зависимости от N может в сотни раз превосходить быстродействие стандартного алгоритма. При этом следует подчеркнуть, что алгоритм БПФ даже точнее стандартного, так как сокращая число операций, он приводит к меньшим ошибкам округления.
Алгоритмы БПФ основываются на свойствах комплексной экспоненты e j(2 / N )kn WNkn : ее симметрии WNkn WN ( N k )n WN ( N n)k
и периодичности WNkn WN(k lN )(n mN ) |
с периодом, |
равным длине |
|
обрабатываемой реализации сигнала N (числу точек БПФ). С уче- |
|||
том последнего свойства, экспоненте |
W pkn W kn |
соответствует |
|
|
N |
N / p |
|
период N / p , где p – целые числа, на которые делится N . Ис-
пользование данных свойств в алгоритмах БПФ исключает большое число повторяющихся при вычислении ДПФ операций.
Алгоритм БПФ заключается в разбиении ДПФ исходной последовательности на ДПФ подпоследовательностей меньшей длины,
107
вплоть до минимально возможной (равной основанию БПФ), через которые и вычисляется ДПФ исходной последовательности.
Разбиение означает прореживание последовательностей во временной или в частотной области. В связи с этим различают БПФ с прореживанием по времени и БПФ с прореживанием по частоте.
В отличие от ДПФ, БПФ может вычисляться только по определенному числу точек N mL , соответствующему целой степени L его основания m . Целая степень L определяет число этапов прореживания. К наиболее используемым относятся БПФ по основаниям m 2,4,8.
В качестве примера рассмотрим алгоритм БПФ с прореживани-
ем по времени по основанию 2. |
|
|
Пусть задана |
последовательность x(nT ) x(n)N конечной |
|
|
|
N 1 |
длины n 0,1,...N 1. Нужно найти ее ДПФ: |
X ( jk) x(n)WNkn |
|
для k 0,1,...N 1 |
|
n 0 |
(номера бинов ДПФ) с минимальным объемом |
вычислений.
Решение этой задачи в данном алгоритме БПФ находится сле-
дующим образом. |
|
|
|
N |
|
Исходную последовательность x(n) длиной |
разобьем на |
||||
две подпоследовательности |
длиной |
N / 2 |
(рис. |
4.10) – четную |
|
(включающую отсчеты |
x(n) |
с |
четными |
индексами |
|
n : x1 (n) x(2n) ) и нечетную: x2 (n) x(2n 1) , |
n 0,1,...N 1 . |
Это соответствует первому прореживанию сигнала по времени. x(nT )
|
n |
|
0 1 2 3 4 5 6 … (N-1) |
||
|
||
|
|
Рис. 4.10. Иллюстрация прореживания сигнала по времени
108
Обозначим их ДПФ, |
как X1 ( jk) |
и X 2 ( jk) . Выразим ДПФ ис- |
||||||||||||||
ходной последовательности x(nT ) x(n) N |
|
через ДПФ подпосле- |
||||||||||||||
довательностей x1 (n) N / 2 , x2 (n) N / 2 : |
|
|
|
|
|
|
|
|
|
|
||||||
N / 2 |
1 |
|
|
2 |
N / 2 1 |
|
|
|
|
|
2 |
2 |
||||
X ( jk ) x1 (n)e j |
|
kn |
x2 (n)e j |
|
|
kn e j |
|
k |
||||||||
N / 2 |
N / 2 |
N |
||||||||||||||
n 0 |
|
|
|
|
n 0 |
|
|
|
|
N |
|
|
(4.15) |
|||
X 1 ( jk ) WNk X 2 ( jk ), |
k 0,1,..., |
|
1 . |
|
|
|||||||||||
2 |
|
|
||||||||||||||
Это первые N / 2 частотных выборок ДПФ. |
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
||||||||||
Вторую |
половину |
частотных выборок |
X ( jk) для |
|||||||||||||
k N / 2,..., N 1 |
найдем с учетом свойства периодичности: |
|||||||||||||||
|
|
N |
|
|
|
(k |
N / 2) |
|
|
|
|
|
|
|
|
|
X j(k |
|
|
) X1 ( jk) WN |
|
X 2 |
( jk) |
|
|
||||||||
2 |
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(4.16) |
||
|
|
|
|
|
|
|
|
|
N |
|
|
|
|
|
||
X1 ( jk) WNk X 2 ( jk), |
k 0,1,..., |
|
1 . |
|
|
|||||||||||
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
Выражения (4.15) и (4.16) определяют базовую операцию БПФ (операцию объединения):
X ( jk) X1 ( jk) WNk X 2 ( jk),
X ( j(k N / 2)) X1 ( jk) WNk X 2 ( jk), k 0,1,..., |
N |
1. |
(4.17) |
|
|||
2 |
|
||
|
|
|
Входящий в (4.17) множитель WNk , равный по модулю единице,
называют поворачивающим. Вычисления в соответствии с (4.17) включают одно комплексное умножение и пару сложения – вычитания. Базовую операцию представляют графически с помощью сигнального графа (бабочки БПФ) (рис. 4.11).
X1 ( jk) |
|
|
X ( jk) |
|
WNk |
||
X 2 ( jk) |
|
|
X ( j(k N / 2)) |
|
|
Рис. 4.11. Сигнальный граф базовой операции БПФ
109
На нем узел означает операцию сложения (верхний выход) и вычитания (нижний выход), а стрелка соответствует умноже-
нию на поворачивающий множитель WNk .
Дальше каждую из последовательностей x1 (n) и x2 (n) можно разбить еще на две подпоследовательности вдвое меньшей длины:
x11 (n), x12 (n) и x21 (n), x22 (n) (четную и нечетную) и повторить вышеприведенные операции объединения их ДПФ с помощью базовых операций.
Такое прореживание выполняем L раз до получения N / 2 двухточечных последовательностей, ДПФ которых вычисляется в соответствии с базовой операцией (4.17).
На рис. 4.12 в качестве примера приведен полный граф БПФ для N 8 . В соответствии с графом на каждом из L этапов вычисле-
ния – объединения ДПФ выполняются N / 2 базовых операций, а общий объем вычислений для комплексных операций умножения и сложения – вычитания составляет
K умн (NL) / 2 (N log2 N ) / 2,
Kслож NL N log2 N.
x(0) |
WN0 |
X ( j0) |
|
|
|||
x(4) |
X ( j1) |
||
|
x(2) |
WN0 |
X ( j2) |
|
WN0 |
WN2 |
x(6) |
X ( j3) |
|
WN0 |
x(1) |
X ( j4) |
WN0 |
WN1 |
x(5) |
X ( j5) |
x(3) |
WN0 |
WN2 |
WN2 |
X ( j6) |
|
WN0 |
WN3 |
|
x(7) |
|
X ( j7) |
|
Рис. 4.12. Полный граф БПФ для N = 8 |
|
|
|
110 |