Применение рекуррентного дискретного преобразования Фурье

advertisement
УДК 004.9(06) Автоматизированные системы обработки информации и управления
А.Л. ЗОРИН
Московский инженерно-физический институт (государственный университет)
ПРИМЕНЕНИЕ РЕКУРРЕНТНОГО ДИСКРЕТНОГО
ПРЕОБРАЗОВАНИЯ ФУРЬЕ В ЦИФРОВЫХ СИСТЕМАХ
РЕАЛЬНОГО МАСШТАБА ВРЕМЕНИ
Приводится рекуррентный алгоритм вычисления ДПФ для «скользящего» окна, обеспечивающий многократное сокращение требуемых ресурсов.
В системах реального масштаба времени при решении задач цифровой фильтрации и измерения параметров сигналов в узкой полосе часто применяют дискретное преобразование Фурье (ДПФ), а для одновременного анализа во многих полосах – быстрое преобразование Фурье (БПФ). Ряд задач требуют применения
«скользящего» окна, а объемы выборок N при достаточно узких полосах доходят до нескольких тысяч. С
другой стороны, требования реального масштаба времени накладывают жесткие временные ограничения,
что приводит к высоким аппаратурным затратам, а, в отдельных случаях, к нереализуемости системы.
Например, при объеме выборки N=1000 для реализации ДПФ необходимо использовать 2000 коэффициентов и выполнить две свертки, каждая из которых требует суммирования 1000 произведений входных отсчетов сигнала на соответствующие коэффициенты.
Существенного снижения количества вычислительных операций и необходимых коэффициентов можно
добиться, если использовать на (i+1)-м этапе вычисления комплексного значения k –го частотного отсчета
Xi+1(k), предыдущего значения Xi(k), полученного на i-м этапе вычисления ДПФ. Для получения рекуррентного алгоритма вычисления ДПФ (РДПФ) обозначим отсчеты сигнала во временной области через xi+j ,
(j=0,1,…,N-1), где индекс i соответствует номеру этапа, а индекс j – порядковому номеру временного отсчета сигнала в выборке. Тогда для k –го частотного отсчета Xi(k) на i-м этапе вычисления ДПФ имеем соотношение
j
2 0 k
j
2  1k
j
2 ( N 1) k
N
N
Xi(k)=xi e N + xi+1 e
+ … + xi+N-1 e
.
(1)
Аналогично, при использовании «скользящего» окна (наихудший случай с точки зрения вычислительных
затрат), для вычисления Xi+1(k) имеем
j
2 0 k
2  1k
j
j
2 ( N 1) k
N
N
Xi+1(k)=xi+1 e N + xi+2 e
+ … + xi+N e
.
Для получения рекуррентного алгоритма проведем тождественное преобразование
Xi+1(k)  Xi+1(k) 
e
e
 { xi e
- xi
e
e
j
2 0 k
N
2  1k
j
N
2 0 k
j
N
1
=
e
2 1k
j
N
{ xi e
j
2 1k
N
2 1k
j
N
+ +xi+1 e
j
2 0 k
N
+xi 
e
2  1k
j
N
+ xi+1 e
e
j
j
2 0 k
N
2  1k
j
N
- xi 
e
+ … + xi+N-1 e
2  1k
N
e
j
2 0 k
N
2  1k
j
N
2 ( N 1) k
j
N
.
+ … + xi+N-1 . e
j
1
=
e
j
+ xi+N e
2 ( N 1) k
N
2 1k
N
j
2Nk
N
(2)

}-
}+ +xi+N
e
e
.
Выражение в фигурных скобках в (3) совпадает с (1), тогда
Xi+1(k) = e
j
2k
N
2Nk
N
2 1k
j
N
1
- xi
e
j
2 1k
N
(3)
{ Xi(k)- xi}+ xi+N e
Используя свойство симметричности коэффициентов ДПФ в (4) e
тельно
j
j
j
2 ( N 1) k
j
N
2k
j
2 ( N 1) k
N
=e
2k
j
N
.
(4)
, получим оконча-
2k
Xi+1(k) = e N { Xi(k)- xi}+ xi+N e N .
(5)
Для непосредственного вычисления (5) на средствах цифровой обработки используют соотношение Эйлера
Xi+1(k) = cos
2k
2k
{Re Xi(k)+jIm Xi(k))- xi}+jsin
{Re Xi(k)+jIm Xi(k))- xi}+
N
N
2k
2k
+ cos
xi+N-j sin
,
N
N
ISBN 978-5-7262-0883-1. НАУЧНАЯ СЕССИЯ МИФИ-2008. Том 13
1
УДК 004.9(06) Автоматизированные системы обработки информации и управления
где Re Xi(k) и Im Xi(k) – соответственно действительная и мнимая квадратурные составляющие комплексных
значений Xi(k) на i-м этапе преобразования. Окончательно для вычисления квадратурных составляющих
ReXi+1(k) и Im Xi+1(k) (i+1)-го этапа преобразования получим
Re Xi+1(k)= cos
2k
2k
{Re Xi(k)- xi +xi+N}- sin
Im Xi(k)
N
N
2k
2k
Im Xi+1(k)= cos
Im Xi(k)+ sin
{Re Xi(k)- xi +xi+N} .
N
N
Анализ (6) показывает, что для реализации РДПФ требуется только два коэффициента cos
sin
(6)
2k
и
N
2k
, четыре операции типа сложения и четыре операции умножения. Таким образом, выигрыш алгоN
ритма РДПФ по сравнению с классическим алгоритмом ДПФ составляет в разах:
N
(для N=1000 Кумн=500);
2
2N  2
- по операциям сложения Ксл=
(для N=1000 Ксл=500);
4
N
- по количеству участвующих коэффициентов Ккоэфф=
(для N=1000 Ккоэфф =500).
2
- по операциям умножения Кумн=
Необходимо сделать несколько замечаний по применению РДПФ: 1) при запуске преобразователя необходимо задать начальные условия по предыстории – первые (несуществующие) N отсчетов сигнала должны
быть положены равными 0; 2) в качестве первого корректного отсчета Xi+1(k) желательно брать отсчет, соответствующий поступлению N-го отсчета сигнала (в этом случае методическая погрешность равна 0), хотя
при поступлении уже нескольких отсчетов сигнала погрешность вычисления можно считать приемлемой; 3)
в зависимости от анализируемого интервала необходимо предварительно оценить требуемую разрядность
коэффициентов и результатов из-за возможности накопления вычислительной погрешности. Разрядность
входных отсчетов сигнала не влияет на процесс накопления вычислительной погрешности. При разрядностях коэффициентов и результатов 32 бита практически отсутствует накопление вычислительной погрешности; 4) возникшие в процессе вычислений РДПФ сбои во входных данных или результатов не приводят к
неустойчивости решения и являются локальными, не влияющими на вычислительный процесс, искажениями.
ISBN 978-5-7262-0883-1. НАУЧНАЯ СЕССИЯ МИФИ-2008. Том 13
2
Download