Анализ результатов анализа DFT в обработке цифровых сигналов
Лучшее понимание интерпретации анализа DFT (прямого преобразования Фурье) требует распознавания последствий двух операций: неизбежного окна при применении DFT и того факта, что DFT дает только некоторые образцы DTFT сигнала.
В первой части этой серии «Введение в дискретное преобразование Фурье» мы получили N-точечное уравнение ДПФ для конечной последовательности $$ x (n) $$, так как
Мы обсудили пример, который показал, как ДПФ помогает нам представить конечную последовательность в терминах комплексных экспонент. Мы видели, что каждый из коэффициентов DFT, $$ X (k) $$, соответствует сложной экспоненте при нормированной частоте $$ \ frac {2 \ pi} {N} k $$.
В этой статье мы подробно рассмотрим интерпретацию $$ X (k) $$ в уравнении 1. Мы увидим, что для лучшего понимания интерпретации вывода DFT мы должны признать последствия двух операций: неизбежное окно при применении ДПФ и в том, что ДПФ дает только некоторые образцы преобразования Фурье с дискретным временем (ДТФТ) конечной последовательности.
В конце статьи мы кратко рассмотрим феномен утечки DFT.
Функции MATLAB для анализа DFT
Прежде чем продолжить, обратите внимание, что существуют функции MATLAB, которые помогают нам избежать утомительной математики уравнений 1 и 2. Эти функции являются fft (x) и ifft (X), которые могут, соответственно, эффективно вычислять уравнения 1 и 2. Давайте используем эти функции для поиска DFT $$ x (n) $$, который обсуждался в предыдущей статье этой серии. Там, $$ x (n) $$ было указано как
$$ п $$
$$ 0 $$
$$ 1 $$
$$ 2 $$
$$ 3 $$
$$ 4 $$
$$ 5 $$
$$ 6 $$
$$ 7 $$
$$ х (п) $$
$$ 0, 2165 $$
$$ 0, 8321 $$
$$ 0, 7835 $$
$$ 0, 5821 $$
$$ 0, 2165 $$
$$ - 0, 5821 $$
$$ - 1, 2165 $$
$$ - 0, 8321 $$
Чтобы найти коэффициенты DFT, мы можем использовать этот код:
Теперь, используя ifft (X), мы можем вернуться во временную область и получить $$ x (n) $$ от этих коэффициентов DFT.
Неизбежное окно при применении DFT
Предположим, что $$ x (t) $$ - это сигнал непрерывного времени, который нам нужно проанализировать, а $$ x '(n) $$ - последовательность, полученная путем выборки этого непрерывного сигнала (см. Рис. 1 (a) и (б)).
Обратите внимание, что на рисунке 1 (b) показаны первые восемь выборок в красном, чтобы выделить, что DFT использует оконную версию входной последовательности.
Image
Рисунок 1 (а). Оригинальный сигнал непрерывного времени, $$ x (t) $$, который мы хотим проанализировать
Image
Рисунок 1 (b). $$ x '(n) $$, которая является выборочной версией сигнала на рисунке 1 (a)
Теоретически $$ x (t) $$ и $$ x '(n) $$ могут распространяться на положительную и отрицательную бесконечность на оси времени. Однако для выполнения N-точечного DFT мы можем использовать только конечную последовательность, такую как $$ x (n) $$, которая равна $$ x '(n) $$ только для $$ n = 0, 1, \ dots, N-1 $$. Это эквивалентно умножению $$ x '(n) $$ на прямоугольное окно $$ w (n) $$, равное единице для $$ n = 0, 1, \ dots, N-1 $$ и ноль в противном случае.
Рисунок 1 (c) и (d) показывают функцию окна и $$ x (n) $$ для $$ N = 8 $$.
Image
Рисунок 1 (с). Функция прямоугольного окна, $$ w (n) $$, для $$ N = 8 $$
Image
Рисунок 1 (d). Конечная последовательность, полученная при помощи окна $$ x '(n) $$
Следует отметить, что, хотя мы первоначально искали спектр $$ x (t) $$ через его образцы $$ x '(n) $$, мы фактически изучаем оконную версию $$ x' (n) $$ при применении ДПФ. Другими словами, мы получим спектр оконного сигнала вместо исходного сигнала $$ x '(n) $$.
Возникает вопрос: как эта операция окна изменит спектр исходного сигнала «text-align: center;»> $$ X \ left ({{e} ^ {j \ omega}} right) = \ frac {1 } {2 \ pi} int \ limits_ {2 \ pi} {{X} '\ left ({{e} ^ {j \ theta}} right)} * W \ left ({{e} ^ {j \ left ( omega - \ theta \ right)}} right) d \ theta $$
Уравнение 3
где $$ X '(e ^ {j \ omega}) $$ и $$ W (e ^ {j \ omega}) $$ обозначают DTFT $$ x' (n) $$ и $$ w (n) $$, соответственно. Вышеприведенное уравнение предполагает, что спектр оконного сигнала может полностью отличаться от спектра исходного сигнала.
Читатель может проверить, что DTFT $$ w (n) $$ длины $$ N $$ задается формулой
Величина $$ W (e ^ {j \ omega}) $$ для $$ N = 8 $$ показана на рисунке 2. На этом рисунке показано важное свойство DTFT $$ w (n) $$: для $$ \ omega = \ tfrac {2k \ pi} {N} $$ и $$ k $$ отличное от нуля целое число, величина $$ W (e ^ {j \ omega}) $$ равна нулю и для $$ k = 0 $$ имеем $$ W (e ^ {j \ omega}) = N $$. Мы увидим, как это свойство может привести к ошибочной интерпретации анализа DFT.
Image
Рисунок 2. Величина спектра прямоугольного окна $$ w (n) $$
Чтобы прояснить наше обсуждение, рассмотрим два простых примера. Мы применяем ДПФ для нахождения спектра $$ {{x} _ {1}} left (t \ right) = Sin \ left (2 \ pi \ times 1000 ^ \ text {Hz} times t \ right) $$ и $$ {{x} _ {2}} left (t \ right) = Sin \ left (2 \ pi \ times 1500 ^ \ text {Hz} times t \ right) $$. Предположим, что наша частота дискретизации составляет $$ 8000 $$ samples / second, и мы берем восемь выборок каждого из этих двух сигналов.
Пример 1: восьмиточечный ДПФ $$ x_ {1} (n) $$
Сэмплирование $$ x_ {1} (t) $$ приводит к $$ x_ {1} '(n) $$. Применяя оконную функцию к $$ x_ {1} '(n) $$, получаем $$ x_ {1} (n) $$ как
Учитывая свойство сдвига частоты DTFT, которое дает пару DTFT $$ {{e} ^ {j {{ omega} _ {0}} n}} x (n) to X \ left ({{ e} ^ {j \ left ( omega - {{ omega} _ {0}} right)}} right) $$, получим
$$ {{X} _ {1}} ({{e} ^ {jw}}) = \ tfrac {1} {2j} left (W \ left ({{e} ^ {j \ left ( omega - \ tfrac {2 \ pi} {8} right)}} right) -W \ left ({{e} ^ {j \ left ( omega + \ tfrac {2 \ pi} {8} right) }} right) right) $$
Уравнение 7
Теперь мы можем использовать уравнение 4 с $$ N = 8 $$ для построения величины DTFT, заданной уравнением 7. Это показано на рисунке 3. Эта цифра дает спектр оконной версии исходного сигнала. В то время как $$ x_ {1} '(n) $$ является суммой двух комплексных экспонент с частотами $$ \ tfrac { pi} {4} $$ и $$ - \ tfrac { pi} {4} $ $, спектр оконного сигнала представляет собой комбинацию двух функций типа sinc, заданных уравнением 4. Центр функций sinc смещается в $$ \ tfrac { pi} {4} $$ и $$ \ tfrac { 7 \ р} {4} $$.
Заметим, что из-за периодического поведения комплексных экспонент дискретного времени две частоты $$ - \ tfrac { pi} {4} $$ и $$ \ tfrac {7 \ pi} {4} $$ являются одна и та же. Другими словами, $$ e ^ {j \ tfrac {7 \ pi} {4}} = e ^ {- j \ tfrac { pi} {4}} $$.
Таким образом, хотя входной сигнал был чистой синусоидой, спектр оконного сигнала содержит почти все частотные составляющие.
Image
Рисунок 3. Величина спектра, заданная уравнением 7
Основываясь на приведенном выше обсуждении, мы ожидаем, что почти все частотные компоненты будут присутствовать в анализе ДПФ синусоидальных сигналов. Однако, когда разрешение анализа ДПФ недостаточно велико, можно ошибочно заключить, что конечная последовательность состоит всего из нескольких частотных составляющих.
Например, если мы вычисляем восьмиточечный ДПФ $$ x_ {1} (n) $$, мы рассматриваем значения DTFT только в восьми одинаковых частотных точках, т. Е. При $$ \ omega = k \ tfrac {2 \ pi} {8} $$ где $$ k = 0, 1, \ dots, 7 $$. На рисунке 4 сравнивается величина выходов ДПФ, полученных с помощью fft (x) и () $$ X_ {1} (e ^ {j \ omega}) $ MATLAB), вычисляемых по уравнению 7. В этом конкретном примере частотные точки DFT анализ точно на частотах, когда $$ W (e ^ {j \ omega}) $$ обращается в нуль.
Image
Рисунок 4. Величина выходов DFT (в красном) и $$ | X_ {1} (e ^ {j \ omega}) | $$, рассчитанная по уравнению 7 (синим цветом)
Следовательно, на основе этого DFT-анализа можно ошибочно заключить, что $$ x_ {1} (n) $$ состоит только из двух частотных составляющих в $$ \ tfrac { pi} {4} $$ и $$ \ tfrac { 7 \ р} {4} $$. Это, в частности, вводит в заблуждение из-за того, что исходный дискретный сигнал $$ x_ {1} '(n) $$ был суммой двух комплексных экспонент на этих частотах.
Однако мы должны помнить, что DFT дает только некоторые образцы DTFT, а оконный синусоидальный сигнал обычно содержит почти все частотные составляющие. Метод, называемый нулевым заполнением, может быть использован для поиска более частотных точек для заданного количества выборок $$ x_ {1} (t) $$. Однако эта статья не будет охватывать эту технику из-за нехватки места.
Пример 2: DFT с восьмью точками $$ x_ {2} (n) $$
Процедура анализа $$ x_ {2} (n) $$ аналогична процедуре $$ x_ {1} (n) $$; однако $$ {{x} _ {2}} ^ { prime} left (n \ right) = Sin \ left ( frac {3n \ pi} {8} right) $$ и уравнение 7 изменится в
$$ {{X} _ {2}} ({{e} ^ {j \ omega}}) = \ tfrac {1} {2j} left (W \ left ({{e} ^ {j \ left ( omega - \ tfrac {3 \ pi} {8} right)}} right) -W \ left ({{e} ^ {j \ left ( omega + \ tfrac {3 \ pi} {8} right)}} right) right) $$
Уравнение 8
Величина DTFT и DFT $$ x_ {2} (n) $$ показана на рисунке 5.
Image
Рисунок 5. Величина выходов DFT (красным) и $$ | X_ {2} (e ^ {j \ omega}) | $$, вычисленная по уравнению 8 (синим цветом)
На этом рисунке центр функций sinc смещается в $$ \ frac {3 \ pi} {8} $$ и $$ \ frac {13 \ pi} {8} $$. Следовательно, нули функций типа sinc не совпадают с точками частоты ДПФ. Фактически, для данного N частотные точки ДПФ фиксированы и расположены в $$ \ frac {2 \ pi} {N} k $$, $$ k = 0, 1, \ dots, N-1 $ $ независимо от частоты входной последовательности; однако центр функций sinc определяется входной частотой.
Когда частота входной последовательности точно совпадает с точкой частоты DFT, нули соответствующей функции sinc будут совпадать с частотами DFT. Например, нормализованная частота $$ x_ {1} ^ { prime} (n) $$ в первом примере была $$ \ frac { pi} {4} $$, которая была равна $$ \ frac { 2 \ pi} {N} k $$ для $$ N = 8 $$ и $$ k = 1 $$.
Краткое введение в утечку DFT
Когда мы выполняем ДПФ, мы вычисляем равные интервалы выборок DTFT оконного сигнала. Следовательно, мы фактически анализируем оконный сигнал.
С этой точки зрения ДПФ, полученный на рисунке 4, вводит в заблуждение, поскольку результат DFT предполагает наличие только двух частотных компонентов, в то время как DTFT показывает, что оконный сигнал содержит много других частотных компонентов. Однако, если учесть, что первоначальной целью было проанализировать сигнал непрерывного времени $$ x (t) $$ через его выборки, $$ x ^ { prime} (n) $$, а не анализировать оконные сигнала, мы видим, что ДПФ, показанный на рис. 5, вводит в заблуждение. Это связано с тем, что в этом случае DFT не может точно предсказать частоту входной последовательности, $$ x ^ { prime} (n) $$.
В то время как $$ x ^ { prime} (n) $$ может быть записано через две компоненты в $$ \ pm \ frac {3 \ pi} {8} $$, результат DFT предполагает наличие частотных составляющих в $ $ \ frac {2 \ pi} {8} k $$, $$ k = 0, 1, \ dots, 7 $$. Этот последний случай, когда частота входной последовательности точно не соответствует точке DFT-частоты, приводит к утечке DFT. Это означает, что энергия, которая была первоначально на частотах $$ \ pm \ frac {3 \ pi} {8} $$, просачивалась почти на все другие частоты, и мы не можем предсказать частотные составляющие исходного сигнала успешно.
Когда мы сталкиваемся с утечкой DFT, мы можем использовать разные типы окон для смягчения проблемы и более точно оценить частоту сигнала непрерывного времени. Однако при выполнении анализа DFT на реальных последовательностях конечной длины утечка DFT неизбежна.