top of page

   На данной странице коснемся всем известной, очень мощной и полезной операции в теории цифровой обработки сигналов (ЦОС) - дискретное преобразование Фурье. В качестве инструментария в котором мы отработаем алгоритм ДПФ выберем LabVIEW. Данная среда обладает удобной библиотекой функций широкого назначения, в том числе - Signal Processing. Данная библиотека понадобиться, чтобы проверить адекватность результатов собственного алгоритма ДПФ.

   В сети (Internet) можно найти множество описаний и статей посвященных среде разработки прикладных программ LabVIEW (Laboratory Virtual Instruments Engineering Workbench) компании National Instruments. Описывать преимущества и недостатки среды, а также пресловутые примеры для базовых основ здесь не будем. Такого рода материала тоже достаточно в сети. Подчеркну одно - LabVIEW ориентирована больше на инженеров, стиль блок-диаграмм интуитивно понятен техническим специалистам, они сильно походят на своеобразные функциональные или электрические схемы.

    С теорией ЦОС можно познакомиться прочитав замечательную книгу - Ричард Лайонс Цифровая обработка сигналов: Второе издание. Пер. с англ. - М.: ООО "Бином-Пресс", 2006 г. - 656 с.: ил.

     Тригонометрическая форма ДПФ:

(1)

     где: Х(m) - компонент из результата ДПФ с индексом m;

     m - индекс ДПФ в частотной области, 0,1,2,...N-1;

     х(n) - массив входных отсчетов;

     n - временной индекс входных отсчетов, 0,1,2,...N-1;

     N - количество входных отсчетов.         

   Перед тем как начать с написания программы алгоритма ДПФ в LabVIEW условимся, что в нем же мы параллельно используем уже готовую подпрограмму измерения спектра, т.е. Express VI (Virtual Instruments) Spectral Measurements. Её можно найти в библиотеке Signal Processing, в категории Waveform Measurements. В начале программы или просто VI формируется последовательность отсчетов смешанного гармонического сигнала содержащих в себе несколько тонов (гармоник) частота которых кратно условной частоте дискретизации fs = 10 кГц, с произвольной фазой и амплитудой не больше 1. Хотя на рис. 1 представленному ниже можно наблюдать, что фазы всех тонов равны 0. Как фаза тонов влияет на результат ДПФ мы рассмотрим позже, чтобы не загромождать данный пример. Сформировать такую последовательность возможно с помощью subVI Multitone Generator. А для наглядной демонстрации такого свойства ДПФ как утечка к выше описанной последовательности суммируем гармонический сигнал, частота которого не кратна fs. Результат будет выведен на специализированный инструмент отображения графиков - Waveform Graphs. В нем наглядно отобразятся две последовательности отсчетов: быстрое преобразование Фурье (БПФ, FFT) Express VI Spectral Measurements под названием "LabVIEW FFT"; алгоритм ДПФ под названием "My DFT".

    Мы условились, что fs = 10 кГц, берем количество отсчетов N = 200. В этом случае шаг частоты анализа fanalys = fs / N = 50 Гц. Далее на рис. 1 представлен внешний вид VI - Front Panel.

Рис. 1. Лицевая панель виртуального прибора.

    На рисунке отдельно выделены массивы амплитуд, частот и фаз для subVI Multitone Generator, на выходе которого формируется смешанный сигнал. Обратите внимание на отдельный тон с амплитудой 1 и частотой 4150 Гц. Она кратна частоте анализа ДПФ и никакой утечки не наблюдается, т.е. амплитуда гармоники соответствуют заявленной. Если указать частоту, например, 4120 Гц, то явно будет наблюдаться растекание амплитуды (мощности) по соседним ближним гармоникам кратным частоте анализа (Рис. 2).

Рис. 2. Утечка ДПФ на частоте 4120 Гц при частоте анализа 50 Гц.

    В данной реализации ДПФ наблюдалось еще одно свойство - симметрия, так как операция применялась к действительному сигналу. В связи с этим количество итераций цикла For Loop, в котором идет вычисление каждого отсчета ДПФ равно половине количества входных данных. Для сохранения масштаба амплитуд в выходной последовательности ДПФ, каждый отсчет умножался на 2, а затем был разделен на количество входных данных. Блок диаграмма исходного VI приведена на рис. 3.

Рис. 3. Блок диаграмма виртуального прибора ДПФ.

bottom of page