Понимание результатов анализа dft при обработке цифровых сигналов

Понимание результатов анализа dft при обработке цифровых сигналов
Понимание результатов анализа dft при обработке цифровых сигналов
Anonim

Анализ результатов анализа DFT в обработке цифровых сигналов

Лучшее понимание интерпретации анализа DFT (прямого преобразования Фурье) требует распознавания последствий двух операций: неизбежного окна при применении DFT и того факта, что DFT дает только некоторые образцы DTFT сигнала.

В первой части этой серии «Введение в дискретное преобразование Фурье» мы получили N-точечное уравнение ДПФ для конечной последовательности $$ x (n) $$, так как

$$ X (k) = \ sum \ limits_ {n = 0} ^ {N-1} {x (n) {{e} ^ {- j \ tfrac {2 \ pi} {N} kn}}} $ $

Уравнение 1

и обратный ДПФ как

$$ x (n) = \ frac {1} {N} sum \ limits_ {k = 0} ^ {N-1} {X (k) {{e} ^ {j \ tfrac {2 \ pi} { N} кп}}} $$

Уравнение 2

Мы обсудили пример, который показал, как ДПФ помогает нам представить конечную последовательность в терминах комплексных экспонент. Мы видели, что каждый из коэффициентов 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, мы можем использовать этот код:

x = (0, 2165 0, 8321 0, 7835 0, 5821 0, 2165 -0, 5821 -1, 2165 -0, 8321)

Х = FFT (х)

Тогда получим X, как указано в следующей таблице:

$$ $$ K $$ 0 $$ $$ 1 $$ $$ 2 $$ $$ 3 $$ $$ 4 $$ $$ 5 $$ $$ 6 $$ $$ 7 $$
$$ Х (к) $$ $$ 0 $$ $$ - 4к $$ $$ 0.866-0.5j $$ $$ 0 $$ $$ 0 $$ $$ 0 $$ $$ 0, 866 + 0.5j $$ $$ 4к $$

Теперь, используя ifft (X), мы можем вернуться во временную область и получить $$ x (n) $$ от этих коэффициентов DFT.

Неизбежное окно при применении DFT

Предположим, что $$ x (t) $$ - это сигнал непрерывного времени, который нам нужно проанализировать, а $$ x '(n) $$ - последовательность, полученная путем выборки этого непрерывного сигнала (см. Рис. 1 (a) и (б)).

Обратите внимание, что на рисунке 1 (b) показаны первые восемь выборок в красном, чтобы выделить, что DFT использует оконную версию входной последовательности.

Image
Image
Рисунок 1 (а). Оригинальный сигнал непрерывного времени, $$ x (t) $$, который мы хотим проанализировать
Image
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
Image
Рисунок 1 (с). Функция прямоугольного окна, $$ w (n) $$, для $$ N = 8 $$
Image
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}}) = {{e} ^ {- j \ tfrac { omega} {2} (N-1)}} tfrac {Sin (N \ tfrac { \ omega} {2})} {Sin ( tfrac { omega} {2})} $$

Уравнение 4

Величина $$ 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
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) $$ как

$$ {{х} _ {1}} влево (п \ справа) = {{х} _ {1}} ^ { простое число} влево (п \ справа) ж \ влево (п \ справа) $$

Уравнение 5

где $$ x_1 '(n) = sin ( tfrac {2n \ pi} {8}) $$. Используя формулу Эйлера, мы можем переписать уравнение 5 как

$$ {{x} _ {1}} (n) = \ tfrac {{{e} ^ {j \ tfrac {2n \ pi} {8}}} - {{e} ^ {- j \ tfrac {2n \ pi} {8}}}} {2j} w \ left (n \ right) $$

Уравнение 6

Учитывая свойство сдвига частоты 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
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
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
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 неизбежна.