
Шпоры и задачи 2012 (Саломатин) [7171 вопросов] / scr / pdf / 58
.pdf
58.Вычисление дискретного преобразования Фурье на основе алгоритмов свертки и корреляции.
ДПФ – оператор корреляции |
|
nk |
1 |
(n2 |
k 2 |
(n k)2 ) |
|
|
|||
• Воспользуемся тождеством |
|
|
|
||||||||
2 |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
• Выражение для ДПФ после подстановки |
|
|
|
|
|
|
|
|
|||
|
|
N 1 |
|
|
|
2 |
N 1 |
2 |
|
2 |
|
|
X (k) x[n] nk k |
2 |
n |
2 x[n] (n k ) |
2 |
||||||
|
|
n 0 |
|
|
|
|
n 0 |
|
|
|
•примитивный элемент циклической группы
•W = exp(–j 2 / N)
Алгоритм ЛЧМ-Z преобразования
•Алгоритм позволяет эффективно вычислить Z-преобразование последовательности {x[n]}.
•Пусть N-точечная последовательность {x[n]} имеет образ Z-преобразования
N 1
X z x n z n
n 0
•По определению ДПФ заданной последовательности связано с Z-преобразованием выражением
X (z) z exp( j (2 N )k , k 0,..., N 1
•Зададим контур преобразования общего вида
z |
k |
AW k , |
|
A A e j 2 0 |
, |
|
|
|
0 |
|
|
W W e j 2 0 |
, |
k 0,1,..., M 1 |
|||
|
|
0 |
|
|
|
•где M-произвольное целое число (необязательно равное N), а A и W – произвольные комплексные числа.
•Обозначим через Xk искомые значения Z-преобразования при z = zk
N 1 |
N 1 |
X k x n zk |
n x n A n Wnk , |
n 0 |
n 0 |
k0,1,..., M 1
•Подстановка в эту формулу выражения для произведения nk дает
|
N 1 |
|
|
|
X k x n A n W[n2 k 2 (k n)2 ]/ 2 |
|
|
||
|
n 0 |
|
|
|
|
N 1 |
|
2 |
|
|
[x n A n W[n2 ]/ 2 ](Wk |
2 )W (k n)2 / 2 |
||
|
n 0 |
|
|
|
Формула свертки |
|
|
|
|
|
|
|
|
|
|
|
N 1 |
|
|
|
X k Wk 2 |
2 s[n]h[k n] |
|
|
|
|
n 0 |
|
|
|
|
|
|
|

•где
s[n] x[n]A n Wn2 2 , h[n] Wn2 2
Алгоритм ЛЧМ-Z
•Задача. Вычисление N –точечного ДПФ через свертку
•Вход: N отсчетов сигнала { f[n]; n = 0,1,…, N –1}.
•Выход: N –коэффициентов {F(k), k = 0,1,…, N– 1}
•ДПФ сигнала f[n].
|
Алгоритм |
|
|
|
|
|
• |
Выбираем NF 2N – 1. Для БПФ NF = 2m |
y[n] y[N |
|
n] e j n |
2 |
/ N |
• |
Формируем множество {y[n]; n = 0,1,…, NF –1} |
F |
|
|||
• |
y[0] =1; для n = 1,2,…, N – 1; NF –N,…, NF –1 |
|
|
|
|
|
|
|
|
|
|
•в остальных случаях y[n] =0.
• |
Вычисляется БПФ от {y[n]} |
Y(k`) = БПФ{y[n]}; k` = 0,1,… NF –1. |
x[n] f [n]e |
j n2 |
/ N |
• |
Формируется множество {x[n]; n = 0,1,…, NF –1} для n = 0,…,N – 1 |
|
|
||
|
|
|
|||
• |
для n = N,…, NF –1 x[n] = 0. |
|
|
|
|
•Вычисляется БПФ от {x[n]}
•X(k`) = БПФ{x[n]}; k` = 0,1,… NF –1.
•Производится покомпонентное умножение коэффициентов БПФ
•V(k`) = Y(k`) X(k`);
•k` = 0,1,… NF –1.
•Вычисляется обратное БПФ от V(k`),
•k` = 0,1,… NF –1.
•С[k`] = БПФ{ V(k`)}.
•Выделяются первые N элементов множества { С[k`]}, которые умножаются на весовой коэффициент
F(k) C[k]e j k 2 / N