On Thu, Apr 22, 2010 at 12:19:27AM +0200, Arnold Krille wrote:
Attached is a small python script that generates some
sinus data at 0.5, 0.49
and 0.25 the sampling rate, phase shifted pi/2 to the sampling clock. But the
phase shift can be adapted in the first lines.
Then it does fft on these. While the nyquist frequency shows up as amplitude 0
(for phase = pi/2) and 2 (for phase 0), the others remain at amplitude 1 no
matter what the phase is.
Well done !! This is how you learn and understand things.
Sounds strange, especially when you see the perceived
amplitude-modulation for
f=0.49, but in the end its up to the analog filters to create a smaller than
nyquist frequency sinus from the steps returned by the dac...
The 'amplitude modulation' is an artefact of looking at a
graphical interpretation that doesn't do antialising. It's
the sum of f=0.49 and f=0.51. When the latter is removed,
the 'amplitude modulation' disappears.
It is also clear, why f=0.5, phase=0 shows an
amplitude of 2: All the
frequencies are endlessly mirrored to the left and right. And at f =
0.5*samplingrate, the mirror and the original are the same.
Right.
For f=FS/2 the alias and the original are the same except
that the alias has the imaginary 'sine' part inverted (by
symmetry). So the 'cosine' part (the one where the peaks
of the waveform coincide with the samples) is doubled, while
the 'sine' part (samples at zero crossings) gets cancelled.
Ciao,
--
FA
O tu, che porte, correndo si ?
E guerra e morte !