Если вы делаете FFT-график простого сигнала, например:
t = 0:0.01:1 ;
N = max(size(t));
x = 1 + sin( 2*pi*t ) ;
y = abs( fft( x ) ) ;
stem( N*t, y )
1 Гц синусоида + DC
БПФ выше
Я понимаю, что число в первом бине "сколько DC" есть в сигнале.
y(1) %DC
> 101.0000
Число во втором столбце должно быть «сколько 1 цикла за весь сигнал»:
y(2) %1 cycle in the N samples
> 50.6665
Но это не 101! Это около 50,5.
Есть еще одна запись в конце сигнала FFT, равная по величине:
y(101)
> 50.2971
Итак, снова 50,5.
У меня вопрос, почему FFT зеркально отражается так? Почему это не просто 101 дюйм y(2)
(что, конечно, означает, что все 101 бин вашего сигнала имеют синусоиду 1 Гц?)
Будет ли правильно сделать:
mid = round( N/2 ) ;
% Prepend y(1), then add y(2:middle) with the mirror FLIPPED vector
% from y(middle+1:end)
z = [ y(1), y( 2:mid ) + fliplr( y(mid+1:end) ) ];
stem( z )
Отразить и добавить вторую половину вектора БПФ
Теперь я подумал, что зеркальная часть с правой стороны добавлена правильно, давая мне желаемое «все 101 бин FFT содержат синусоиду 1 Гц»
>> z(2)
ans =
100.5943
Ответы:
Реальные сигналы «отражаются» в действительной и отрицательной половине преобразования Фурье из-за природы преобразования Фурье. Преобразование Фурье определяется следующим образом:
По сути, он соотносит сигнал с группой сложных синусоид, каждая из которых имеет свою частоту. Так как же выглядят эти сложные синусоиды? На рисунке ниже показана одна сложная синусоида.
«Штопор» - это вращающаяся сложная синусоида во времени, а две следующие за ним синусоиды - это извлеченные действительные и мнимые компоненты сложной синусоиды. Проницательный читатель заметит, что действительные и мнимые компоненты одинаковы, только они не в фазе друг с другом на 90 градусов ( ). Поскольку они смещены по фазе на 90 градусов, они ортогональны и могут «поймать» любой компонент сигнала на этой частоте.π2
Соотношение между экспонентой и косинусом / синусом определяется по формуле Эйлера:
Это позволяет нам изменить преобразование Фурье следующим образом:
На отрицательных частотах преобразование Фурье становится следующим:
Сравнение версии с отрицательной частотой с версией с положительной частотой показывает, что косинус одинаков, а синус инвертирован. Они все еще на 90 градусов не в фазе друг с другом, что позволяет им улавливать любой компонент сигнала на этой (отрицательной) частоте.
Поскольку как синусоиды положительной, так и отрицательной частоты имеют сдвиг по фазе на 90 градусов и имеют одинаковую величину, они оба будут реагировать на реальные сигналы одинаково. Вернее, величина их реакции будет одинаковой, но фаза корреляции будет другой.
РЕДАКТИРОВАТЬ: В частности, отрицательная частотная корреляция является сопряжением положительной частотной корреляции (из-за инвертированного мнимого синусоидального компонента) для реальных сигналов. В математических терминах это, как указал Дилип, следующее:
Еще один способ думать об этом:
Воображаемые компоненты - это просто .. Мнимые! Они представляют собой инструмент, который позволяет использовать дополнительную плоскость для наблюдения за вещами и делает возможной большую часть цифровой (и аналоговой) обработки сигналов, если не намного проще, чем использование дифференциальных уравнений!
Но мы не можем нарушить логические законы природы, мы не можем сделать что-либо «реальное» с воображаемым содержанием и поэтому оно должно эффективно уничтожить себя, прежде чем вернуться к реальности. Как это выглядит в преобразовании Фурье сигнала, основанного на времени (комплексная частотная область)? Если мы добавим / суммируем положительные и отрицательные частотные составляющие сигнала, которые мнимые части отменяют, это то, что мы имеем в виду, говоря, что положительные и отрицательные элементы сопряжены друг с другом. Обратите внимание, что, когда берется FT для сигнала времени, существуют эти сопряженные сигналы, причем «реальная» часть каждого делится величиной, половина в положительной области, половина в отрицательной, поэтому в действительности добавление конъюгатов вместе удаляет мнимый контент и предоставляет только реальный контент.†
5 я† То есть мы не можем создать напряжение вольт. Очевидно, что мы можем использовать мнимые числа для представления реальных сигналов с двумя векторами, таких как электромагнитные волны с круговой поляризацией.5i
источник
FFT (или быстрое преобразование Фурье) на самом деле алгоритм для вычисления дискретного преобразования Фурье или ДПФ. Типичная реализация достигает ускорения по сравнению с обычным вычислением ДПФ, используя тот факт, что , число точек данных, является составным целым числом, что здесь не так, поскольку является простым числом. (Хотя БПФ существуют для случая, когда - простое число, они используют другую формулировку, которая может или не может быть реализована в MATLAB). Действительно, многие люди сознательно выбирают в форме или чтобы ускорить вычисление DFT через FFT.N 101 N N 2k 4k
Обращаясь к вопросу о том, почему происходит зеркалирование, hotpaw2, по сути, изложил причину, поэтому следующее - это просто заполнение деталей. ДПФ последовательности из точек данных определяется как последовательность где где . Очевидно, что , в общем случае, является комплексной последовательностью, даже если является вещественной последовательностью. Но учтите, что когдаx=(x[0],x[1],x[2],…,x[N−1]) N X=(X[0],X[1],X[2],…,X[N−1])
Люди MATLABi должны будут перевести это, чтобы учесть тот факт, что массивы MATLAB пронумерованы от выше.1
Обращаясь к вашим фактическим данным, ваш является значением постоянного тока плюс чуть более одного периода синусоиды с частотой Гц. Действительно, вы получаете где . Таким образом, первая и последняя из выборки имеют одинаковое значение. Таким образом, вычисляемое вами ДПФ определяется как Несоответствие между и вызывает помехи в DFT: значенияx 1 1
t
источник
Обратите внимание, что результат БПФ отражается (как в симметричном сопряженном), только если входные данные являются реальными.
Для строго реальных входных данных два сопряженных зеркальных изображения в результате БПФ компенсируют мнимые части любых сложных синусоид и, таким образом, суммируют в строго реальные синусоиды (за исключением крошечных числовых шумов округления), таким образом, вы получаете представление строго настоящие синусоиды.
Если бы результат БПФ не был зеркально сопряженным, он представлял бы сигнал, который имел комплексные значения (ненулевые мнимые компоненты), а не что-то строго реальное.
источник