Vous ne faites rien de mal, mais vous ne réfléchissez pas non plus à ce que vous devriez vous attendre à voir, c'est pourquoi vous êtes surpris du résultat. Pour la question 1, votre conjecture est proche, mais vous avez en fait des choses en arrière; c'est le bruit numérique qui afflige votre deuxième, pas votre premier.
Les photos peuvent aider. Voici des graphiques de l'ampleur et de la phase du premier essai:
x = Cos[2.0 \[Pi] 200 Range[0, 1, 1/1000]];
fx = Fourier[x];
ListLinePlot[Abs[fx], PlotRange -> All]
ListLinePlot[Arg[fx], PlotRange -> All]
Et le second:
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
En général, je pense que les graphiques de l'angle de phase seuls sont une très mauvaise idée pour transmettre des informations, précisément pour cette raison; premièrement, vous ne pouvez pas dire si vous regardez la phase de déchets de faible amplitude ou de signal réel, et deuxièmement, ce n'est pas invariant à la traduction, et il est facile d'obtenir des graphiques complètement déroutants pour des entrées simples. Beaucoup mieux, si vous cherchez toujours quelque chose qui transmet des informations de phase, est un graphique qui représente simultanément les informations de phase et d'amplitude de la même manière visuelle, comme un tracé où la phase est codée en teinte et l'amplitude est codée en luminosité.
ADDENDA: Voici quelques photos de Mathematica qui illustrent le principe que j'ai énoncé dans le paragraphe précédent:
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 × 500je- 1- jecorrespond au violet. C'est ce que je veux dire quand je dis que les spectres de phase sont invariants sans décalage, et donc ne se prêtent pas à la compréhension visuelle humaine. Par exemple, avec un décalage cyclique de 200 points de données, il est complètement impossible de dire ce qui se passe dans la phase, car cela ressemble à de la statique, mais le signal d'entrée n'est pas plus compliqué que les autres cas d'entrée.