> Hi,
>
> Suppose I have a (hypothetic, real) periodic, sign alternating function:
> The alternations take place at rate f_nyq ("Nyquist rate") and the
> pattern repeats every, say, 200 alternations. So the function is
> periodic with f_nyq/200.
>
> If I want to obtain the Fourier coefficients (magnitude) I can sample
> the function with an oscilloscope and measure the peaks (which are
> spaced by f_nyq/200). I tried this - they perfectly match.
>
> Now I oversample by factor 100 - the pattern with the coefficients
> repeats now 100 times but each of them repitition becomes lower and lower.
>
> When I measure the peaks in the first block the coefficients do not
> match anymore. I can downsample the data by a 100 again (using MATLABs
> downsample) and the coefficients perfectly match again. But is there a
> way to obtain the coefficients directly from the oversampled spectrum?
> By combining the peaks from the different blocks? Do they help to
> provide a more accurate estimate?
>
> This leads to the following question: Now suppose this function is not
> ideal anymore but is distorted by noise, low-pass effects and jitter. If
> I use MATLABs downsample() now the last coefficients are within the
> noise floor. The big question is now: Can I obtain more accurate
> measurements by using the oversampled spectrum? How?
>
> I hope you can follow me. If not I could provide some MATLAB plots ...
>
>
> Regards,
> Peter
>
>
Some general observations without bringing in Matlab or "oscilloscope"
I think you mean that f_nyq is fa/2 but it's better to say so explicitly
as f-nyq can mean more than one thing.
If you are talking about a *function* that changes from +1 to -1
infinitely fast then the sampling frequency has to be infinite or
something has to change .. analytically speaking. So, I'm going to
assume that you are talking about a sequence of samples that already
exists and "it is what it is".
Do note that .... +1 -1 +1 -1 +1 -1 +1 +1 -1 +1 -1 +1 -1 +1 -1 ...
is a particularly anomalous sequence where there are 2 +1 terms in the
middle. I will assume that yours is more well behaved with some
trepidation. I will state that if the sequence is identically:
.... +1 -1 +1 -1 +1 -1 +1 -1 +1 -1 +1 -1 +1 -1 ...
and nothing more than that, then I'm not interested in such a contrived
thingy and view this as a waste of time. Others may not....
You say:
"the pattern repeats every, say, 200 alternations. So the function is
periodic with f_nyq/200"
So, I take it that it's not the trivial sequence I mention above.
And, I take it that the function is periodic with fundamental frequency
of fs/400; i.e. (fs/2)/200.
I am also going to assume that you've taken ONE period of this sequence
so that the time window is 400/fs so there is a sample of the spectrum
at intervals of fs/400.
You've not stated what the number of samples are so I will call that
number "N". Since the first sample is at fs/400 then there must be 400
samples to get from zero to fs/400*(N-1). So, I guess that N=400.
If this doesn't agree with what you understand then there may be a
problem. That's because there can be TWO "periods". There is the
period inherent in the data and there is the period imposed by the
sample rate and number of samples in the time window = the number of
samples in the spectral period over fs.
OK so now you want to increase something by 100X but it's not clear
whether you mean
1) the temporal window length or
2)the spectral period over fs
If you increase the temporal window length by 100X then that can be done
2 ways:
a) append 99N zeros to the original sequence
b) get 99N more samples from the source of the sequence.
If it's 1(a) then the original spectral samples will be interpolated by
100X and there will be evident spectral spreading ... the interim added
samples of the spectrum won't be zero.
If it's 1(b) and if there is now a sequence with 100 periods of the
underlying periodic sequence and IF each period is the same then the
interim added samples of the spectrum will be zero-valued.
In either case the spectrum will rather "look the same" except for the
interim samples. It won't repeat from zero to fs.
If you increase fs by 100X and don't change the temporal window at all
then the spectral samples will appear at intervals of fs/40,000 which
are exactly the same frequencies as before. But now, the frequency
range to the new fs is 100x greater. So, you will "see" more frequency
samples and those added samples will be at relatively higher
frequencies. If those samples happen to appear to be periodic in some
fashion I'd call that an "accident" and not something expected. But,
you could convince one of that with some analysis of the actual
sequence. Of course this then assumes that there *is* an underlying
"function" to be sampled.
As you can tell, you might define things better.....
Fred
Reply by Peter Mairhofer●June 26, 20112011-06-26
Hi,
Suppose I have a (hypothetic, real) periodic, sign alternating function:
The alternations take place at rate f_nyq ("Nyquist rate") and the
pattern repeats every, say, 200 alternations. So the function is
periodic with f_nyq/200.
If I want to obtain the Fourier coefficients (magnitude) I can sample
the function with an oscilloscope and measure the peaks (which are
spaced by f_nyq/200). I tried this - they perfectly match.
Now I oversample by factor 100 - the pattern with the coefficients
repeats now 100 times but each of them repitition becomes lower and lower.
When I measure the peaks in the first block the coefficients do not
match anymore. I can downsample the data by a 100 again (using MATLABs
downsample) and the coefficients perfectly match again. But is there a
way to obtain the coefficients directly from the oversampled spectrum?
By combining the peaks from the different blocks? Do they help to
provide a more accurate estimate?
This leads to the following question: Now suppose this function is not
ideal anymore but is distorted by noise, low-pass effects and jitter. If
I use MATLABs downsample() now the last coefficients are within the
noise floor. The big question is now: Can I obtain more accurate
measurements by using the oversampled spectrum? How?
I hope you can follow me. If not I could provide some MATLAB plots ...
Regards,
Peter