Anda tidak melakukan kesalahan, tetapi Anda juga tidak berpikir hati-hati tentang apa yang seharusnya Anda lihat, itulah sebabnya Anda terkejut dengan hasilnya. Untuk pertanyaan 1, dugaan Anda dekat, tetapi Anda benar-benar memiliki banyak hal; itu suara numerik yang mengganggu yang kedua, bukan yang pertama.
Gambar dapat membantu. Berikut ini plot besarnya dan fase untuk percobaan pertama:
x = Cos[2.0 \[Pi] 200 Range[0, 1, 1/1000]];
fx = Fourier[x];
ListLinePlot[Abs[fx], PlotRange -> All]
ListLinePlot[Arg[fx], PlotRange -> All]
Dan yang kedua:
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 ≤ 1000200 / 1000k / 1001
Secara umum, saya pikir grafik sudut fasa saja adalah ide yang sangat buruk untuk menyampaikan informasi, justru karena alasan ini; pertama, Anda tidak tahu apakah Anda melihat fase sampah amplitudo rendah atau sinyal aktual, dan kedua, itu bukan terjemahan-invarian, dan mudah untuk mendapatkan grafik yang membingungkan untuk input sederhana. Jauh lebih baik, jika Anda masih mencari sesuatu yang menyampaikan informasi fase, adalah grafik yang secara simultan menggambarkan informasi fase dan amplitudo dalam cara visual yang sama, seperti plot di mana fase dikodekan sebagai rona dan besarnya dikodekan sebagai kecerahan.
TAMBAHKAN: Berikut adalah beberapa gambar dari Mathematica yang menggambarkan prinsip yang saya nyatakan dalam paragraf sebelumnya:
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 × 500saya- 1- sayapeta menjadi ungu. Inilah yang saya maksud ketika saya mengatakan bahwa spektrum fase adalah non-shift invarian, dan dengan demikian tidak dapat diterima oleh pemahaman visual manusia. Misalnya, dengan pergeseran siklik 200 titik data, sama sekali tidak mungkin untuk mengetahui apa yang terjadi dalam fase, karena itu hanya terlihat seperti statis, tetapi sinyal input tidak lebih rumit daripada kasus input lainnya.