ホワイトガウスノイズ信号について考えます。
この信号をサンプリングして離散フーリエ変換を計算すると、結果のフーリエ振幅の統計はどうなりますか?
ホワイトガウスノイズ信号について考えます。
この信号をサンプリングして離散フーリエ変換を計算すると、結果のフーリエ振幅の統計はどうなりますか?
回答:
確率理論とフーリエ解析のいくつかの基本的な要素を使用して計算を行うことができます。3つの要素があります(確率変数の確率密度を表します) 価値あり なので ):
確率変数が与えられた 配布あり 、スケーリングされた変数の分布 です 。
2つの確率変数の合計の確率分布は、加数の確率分布のたたみ込みに等しくなります。つまり、 その後 どこ 畳み込みを示します。
2つの関数のたたみ込みのフーリエ変換は、これら2つの関数のフーリエ変換の積に等しくなります。言い換えると:
ランダムなプロセスを 。離散サンプリングは一連の値を生成します統計的に無相関であると仮定します。また、それぞれについて 標準偏差でガウス分布されています 。標準偏差でガウス関数を表します 記号で だから私たちはそれを言うでしょう 。
離散フーリエ変換の振幅は次のように定義されます
したがって、 関数に対する多重畳み込みです :
複数の畳み込みを行う方法は明らかではありませんが、ルール#3を使用すると簡単です。関数のフーリエ変換を 我々は持っています
幅のあるガウスのフーリエ変換 幅のある別のガウス なので、
したがって、フーリエ係数の実数部の確率分布を計算しました 。これは標準偏差でガウス分布されています。分布は周波数インデックスとは無関係であることに注意してください、これは相関のないノイズには意味があります。対称性により、虚数部はまったく同じように分布する必要があります。
直感的に、統合を追加すると、結果として生じるノイズ分布の幅が減少するはずであると予想しています。ただし、次の分布の標準偏差が 成長する。これは、離散フーリエ変換の正規化を選択したためです。代わりにこのように正規化した場合
import numpy as np; np.std(np.real(np.sum(np.random.normal(0, 1, (10000, 10000)) * np.exp(1.0j * 2 * np.pi * np.linspace(0, 1, 10000) * 50), axis=1)))
。これを行うと、次の出力が得られます70
。それがあるべきです。おそらく、シミュレーションをその行と比較できます。
@DanielSankの答えについてもう一度説明します。まず、 そして、その離散フーリエ変換は次のようになります:
の分布を計算したい まず、次のことに注意してください。 ホワイトガウスノイズであり、円対称であるため、フーリエ変換の実数部と虚数部は同じように分布します。したがって、実数部の分布を計算し、それを虚数部と組み合わせるだけで済みます。
だから私たちは分離します その実際と虚数の部分に。我々は持っています:
どこ:
そして:
Now we work on deriving the distribution of and . As in @DanielSank's answer, we define:
Thus we can write:
This allows us the easily apply the following facts about linear combinations of Gaussian random variables. Namely, we know that:
Together, these imply that . Now we work on the sum. We know that:
These imply that:
So we have shown that:
Now we apply the same argument to . Abusing our notation, we rewrite:
Repeating the same argument, and noting that the Gaussian is a symmetric distribution (so we can ignore the sign difference), gives us:
Since as well. So therefore since , we get:
So we have shown that:
By circular symmetry, we also know then that:
So since , we finally arrive at:
Therefore taking the DFT divides the variance by the length of the DFT window -- assuming the window is rectangular of course -- which is the same result as in @DanielSank's answer.
C(n,k)^2=N/2
?