あなたは何も悪いことをしていませんが、あなたが見ることを期待すべきであるものについて注意深く考えていません。それが結果に驚いている理由です。質問1では、推測は近いですが、実際には逆のことが起こります。最初のノイズではなく、2番目のノイズを悩ませているのは数値ノイズです。
写真が役立つ場合があります。以下は、最初の試行の振幅と位相のプロットです。
x = Cos[2.0 \[Pi] 200 Range[0, 1, 1/1000]];
fx = Fourier[x];
ListLinePlot[Abs[fx], PlotRange -> All]
ListLinePlot[Arg[fx], PlotRange -> All]
そして2番目のもの:
x = Cos[2.0 \[Pi] 200 Range[0, 1 - 1/1000, 1/1000]];
fx = Fourier[x];
ListLinePlot[Abs[fx], PlotRange -> All]
ListLinePlot[Arg[fx], PlotRange -> All]
k / 10000 ≤ K ≤ 999
k / 10010 ≤ K ≤ 1000年200 / 1000k / 1001
一般に、位相角のグラフだけでは、まさにこの理由から、情報を伝達するための非常に悪い考えだと思います。最初に、低振幅のガベージの位相と実際の信号のどちらを見ているのかがわかりません。次に、変換不変ではなく、単純な入力に対して完全に当惑するグラフを取得するのは簡単です。さらに良いのは、位相情報を伝えるものを探している場合は、位相と振幅の情報を同じ視覚的な方法で同時に表現するグラフです。たとえば、位相が色相としてエンコードされ、大きさが輝度としてエンコードされるプロットなどです。
補遺:これは、前の段落で述べた原理を説明するMathematicaからの写真です。
hue = Compile[{{z, _Complex}}, {(1.0 Arg[-z] + \[Pi])/(2 \[Pi]),
Exp[1 - Max[Abs[z], 1]], Min[Abs[z], 1]},
CompilationTarget -> "C", RuntimeAttributes -> {Listable}];
L = 500;
data = Table[Boole[x <= 11 && y <= 11], {x, L}, {y, L}];
Image[hue@
RotateRight[
10 RotateRight[Fourier[RotateRight[data, {-5, -5}]], {L/2, L/2}]],
ColorSpace -> Hue, Magnification -> 1]
Image[hue@
RotateRight[
10 RotateRight[Fourier[RotateRight[data, {-4, -4}]], {L/2, L/2}]],
ColorSpace -> Hue, Magnification -> 1]
Image[hue@
RotateRight[
10 RotateRight[Fourier[RotateRight[data, {0, 0}]], {L/2, L/2}]],
ColorSpace -> Hue, Magnification -> 1]
11 × 11500 × 500私− 1− 私は紫にマップします。これは、位相スペクトルが非シフト不変であり、したがって人間の視覚的理解を受け入れられないと言うとき、私が意味することです。たとえば、200データポイントの循環シフトでは、静的に見えるため、フェーズで何が起こっているかを知ることは完全に不可能ですが、入力信号は他の入力ケースよりも複雑ではありません。