УДК 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 2Nk N (2) }- }+ +xi+N e e . Выражение в фигурных скобках в (3) совпадает с (1), тогда Xi+1(k) = e j 2k N 2Nk 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 2k j 2 ( N 1) k N =e 2k j N . (4) , получим оконча- 2k Xi+1(k) = e N { Xi(k)- xi}+ xi+N e N . (5) Для непосредственного вычисления (5) на средствах цифровой обработки используют соотношение Эйлера Xi+1(k) = cos 2k 2k {Re Xi(k)+jIm Xi(k))- xi}+jsin {Re Xi(k)+jIm Xi(k))- xi}+ N N 2k 2k + 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 2k 2k {Re Xi(k)- xi +xi+N}- sin Im Xi(k) N N 2k 2k Im Xi+1(k)= cos Im Xi(k)+ sin {Re Xi(k)- xi +xi+N} . N N Анализ (6) показывает, что для реализации РДПФ требуется только два коэффициента cos sin (6) 2k и N 2k , четыре операции типа сложения и четыре операции умножения. Таким образом, выигрыш алго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