FFTが「ミラーリング」されるのはなぜですか?


36

次のような単純な信号のFFTプロットを行う場合:

t = 0:0.01:1 ;
N = max(size(t));
x = 1 + sin( 2*pi*t ) ;
y = abs( fft( x ) ) ;
stem( N*t, y )

1Hz正弦波+ DC

1Hz

上記のFFT

fft

最初のビンの数値は、信号に「DCがどれだけあるか」であることを理解しています。

y(1)  %DC
  > 101.0000

2番目のビンの数は、「信号全体の1サイクル」である必要があります。

y(2)  %1 cycle in the N samples
  > 50.6665

しかし、それは101ではありません!約50.5です。

大きさが等しい、ftt信号の最後に別のエントリがあります。

y(101)
  > 50.2971

だから再び50.5。

私の質問は、なぜFFTはこのようにミラーリングされていますか? なぜそれだけではないのですかy(2)(もちろん、信号の101ビンすべてに1 Hzの正弦波が含まれているということです)。

それは正確ですか:

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 )

FFTベクトルの後半を反転してアドインする

ここに画像の説明を入力してください

右側のミラーリングされた部分が正しく追加され、目的の「FFTの101ビンすべてに1Hzの正弦波が含まれている」ことがわかりました

>> z(2)

ans =

  100.5943

:同様の質問はここで回答されているdsp.stackexchange.com/questions/3466/...
pichenettes

しかし、これは特に信号の対称性(エルミート対称性と呼ばれていると思いますか?)です。
ボボボボ

純粋な実信号F(k)= conj(F(Nk))の場合、これが純粋な実信号のフーリエ変換が対称的である理由です。
-WebMonster

自問してください:信号が1 + cos(2 * pi t)...および1 + i cos(2 * pi t)...および1 + i sin(2 * pi * t)の場合、どのような結果が期待できますか...
pichenettes

2
フーリエ変換は信号を複素指数に分解し、正弦波は2つの複素指数の合計であるためです。dsp.stackexchange.com/a/449/29
endolith

回答:


39

フーリエ変換の性質により、実信号はフーリエ変換の実数と負の半分で「ミラーリング」されます。フーリエ変換は次のように定義されます

H(f)=h(t)ej2πftdt

基本的には、信号を、それぞれ独自の周波数を持つ一連の複雑な正弦波と相関させます。それでは、これらの複雑な正弦波はどのように見えますか?以下の図は、1つの複雑な正弦波を示しています。

ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください

「コルク抜き」は時間的に回転する複雑な正弦波であり、それに続く2つの正弦波は複雑な正弦波の抽出された実数成分と虚数成分です。賢明な読者は、実数成分と虚数成分がまったく同じであることに気付くでしょう。それらは互いに90度位相がずれています()。位相が90度ずれているため、直交しており、その周波数で信号の成分を「キャッチ」できます。π2

指数関数とコサイン/サインの関係は、オイラーの公式によって与えられます。

ejx=cos(x)+jsin(x)

これにより、フーリエ変換を次のように変更できます

H(f)=h(t)ej2πftdt=h(t)(cos(2πft)jsin(2πft))dt

負の周波数では、フーリエ変換は次のようになります

H(f)=h(t)(cos(2π(f)t)jsin(2π(f)t))dt=h(t)(cos(2πft)+jsin(2πft))dt

負の周波数バージョンを正の周波数バージョンと比較すると、サインが反転している間、コサインは同じであることがわかります。ただし、それらは互いに90度位相がずれているため、その(負の)周波数の信号成分をキャッチできます。

正と負の両方の周波数の正弦波は位相が90度ずれており、同じ大きさであるため、実信号に同じように応答します。むしろ、それらの応答の大きさは同じになりますが、相関フェーズは異なります。

編集:具体的には、負の周波数相関は、実信号の正の周波数相関(逆虚数正弦成分による)の共役です。数学的に言えば、これは、ディリップが指摘したように、次のとおりです。

H(f)=[H(f)]

それについて考える別の方法:

想像上のコンポーネントはそれだけです。これらは、微分方程式を使用するよりも簡単ではないにしても、余分なプレーンを使用して物事を表示し、デジタル(およびアナログ)信号処理の多くを可能にするツールです!

しかし、自然の論理法則を破ることはできません。架空のコンテンツ「本物」を行うことはできないため、現実に戻る前にそれを効果的にキャンセルする必要があります。これは、時間ベースの信号のフーリエ変換(複雑な周波数領域)でどのように見えますか?虚数部が相殺する信号の正と負の周波数成分を加算/合計する場合、これは正と負の要素が互いに共役であると言うことを意味します。FTが時間信号から取得されると、これらの共役信号が存在し、それぞれの「実」部分が大きさを共有し、半分が正のドメイン、半分が負であることに注意してください。架空のコンテンツであり、実際のコンテンツのみを提供します。

つまり、ボルトの電圧を作成することはできません。明らかに、虚数を使用して、円偏光EM波などの2つのベクトル値を持つ実世界の信号を表すことができます。5i


良い答え-ちょっとしたちょっとした選択ですが、私は「どちらも相関するものは同じであるため、もう一方もまったく同じ大きさと90度の位相シフトを伴います」とオンボードしていません。あなたが言おうとしていることは知っていますが、(ご存じのように)サインはサインと相関しますが(スコア1)、コサインとはまったく相関しません(スコア0)。それらは同じ信号ですが、結局異なる位相を持っています。
スペイシー

あなたが正しい。さらに深刻な問題もあります。後で修正します。
ジム・クレイ

フーリエ変換の一般的な理論を与えるのではなく、DFTに関する質問(タイトルではFFTと言います)に応答するように回答を編集できると便利です。
ディリップサルウェート

@DilipSarwate私の目標は質問者が理解するのを助けることであり、私のアプローチはそのために最適だと思います。しかし、離散数学を行うことに対するあなたの答えを支持しました。
ジム・クレイ

H(f)=[H(f)]|H(f)|=|H(f)|x(t)これは実数値の信号であり、これがOPが求めていた「ミラーリング」であるということです。言い換えれば、実際に尋ねられた質問に応答するように回答を編集することを要求します(以前のコメントで要求したように)。
ディリップサルワテ

20

N101NN2k4k FFTを介したDFT計算を高速化するため。

x=(x[0],x[1],x[2],,x[N1])NX=(X[0],X[1],X[2],,X[N1])

X[m]=n=0N1x[n](exp(j2πmN))n,m=0,1,,N1
j=1XxxX[0]=n=0N1x[n]Nexp(jπ)=1
X[N2]=n=0N1x[n](exp(j2πN/2N))n=n=0N1x[n](1)n
NXx m1mN1
X[m]=n=0N1x[n](exp(j2πmN))nX[Nm]=n=0N1x[n](exp(j2πNmN))n=n=0N1x[n](exp(j2π+j2πmN))n=n=0N1x[n](exp(j2πmN))n=(X[m])
1mN1X[Nm]=(X[m])m=N/2NX[N/2]=(X[N/2])X[N/2]

mNm

1


バツ11

バツ[n]=1+2π0.01n 0n100
バツ[0]=バツ[100]=1101
バツ[m]=n=01001+2πn100expj2πm101n
100101X[m]2m99t100t=0,0.01,0.02,,0.99
x[n]=1+sin(2π(0.01n)), 0n99.
X[m]=n=099(1+sin(2π(n100)))(exp(j2πm100))n,
X=(100,50j,0,0,,0,50j)0n99
x[n]=1100m=099X[m](exp(j2πn100))m=1100[10050jexp(j2πn100)1+50j(exp(j2πn100))99]=1+12j[exp(j2πn100)exp(j2πn100)]=1+sin(2π(0.01n))

だから、信号が周期的であるかどうかを FFTから伝えることは可能ですか?
DisplayNameに

@displaynameそれは、それ自体で尋ねられるべきである(そしておそらく既に質問され、答えられている)別の質問です。
ディリップサルウェート

共役対称ビンを慎重にこじ開けて[0 + 0iを書き込む]、ifftを使用して時間領域信号を再構築すると、再構築された時間領域信号の振幅は半分になります。これは自然ですか、それともツールの問題ですか?iFFTの後、FFT出力の正規化とその逆の処理を行います。
ラジ

14

入力データが実数である場合にのみ、FFTの結果が(共役対称のように)ミラーリングされることに注意してください。

厳密に実数の入力データの場合、FFT結果の2つの共役鏡像は、複雑な正弦波の虚数部を打ち消すため、厳密に実数の正弦波(小さな数値の丸めノイズを除く)になります。実際の正弦波。

FFTの結果が共役鏡像化されていない場合、厳密な実数値ではなく、複素数値(非ゼロの虚数成分)を持つ波形を表します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.