0
$\begingroup$

I have sampling problem that I am trying to solve analytically

  1. I have sampling frequency, let say 1kHz.

  2. I have number of target frequencies, let say 10kHz,100kHz,1MHz

For each target frequency I need to find nearest frequency so that after 20 cycles of sampling I will have 20 points that will be evenly distributed within cycle of sampled signal. I mean that for each sample sampling point will be shifted 1/20 of period of sampled signal. The target is to get approximation of amplitude of fast signal with slow sampling.

Do anyone have any idea how can i solve it?

$\endgroup$

2 Answers 2

1
$\begingroup$

In practice it sounds difficult to measure the amplitude of a 1 MHz signal (or some other very high frequency) with a 1 kHz sampler; in general, the 1 kHz analog-to-digital converter will probably rely on the input voltage being stable for some small fraction of the 1 ms sampling period; if the signal is oscillating 1000 times within that period, it's likely that the sample-and-hold will effect some smoothing/low-pass filtering, or that the conversion may be completely wrong because the signal changed so much during the conversion process.

Assuming you really do have some very fast sample-and-hold so you can record the level of your high-frequency signal "instantaneously", then your best strategy might be to sample at random times (preferably without any quantization of the sampling instant). If you sample at a fixed rate, you run the risk of sampling at an exact multiple of the high-frequency signal's period. So if you were taking a snapshot of a 1 MHz signal every 1 ms (i.e., every 1000 cycles) -- so your signal periods were exactly 1000:1 -- you'd see the same part of the cycle every time, and you'd have no idea what the actual waveform looked like.

However, this is statistically unlikely. In general, when undersampling a sinusoid, you see what looks like a sinusoid with frequency $\Omega_{alias} = |\Omega_{true} - r.\Omega_{sampling}|$ rad/sec, where $r$ is the integer that makes the result of the expression less than or equal to the nyquist rate, $\Omega_{sampling}/2$ . Except in the case where some value of $r$ makes this evaluate to zero (aliased signal appears as a constant value), you'll sample a sinusoid whose amplitude follows the true amplitude of the underlying high-frequency signal. But of course you have no idea what the value of $r$ actually is, so you don't know the true frequency.

In general, if you want to know the peak amplitude, you're going to need to observe for a complete cycle of $\Omega_{alias}$, which could be arbitrarily small (or zero, as discussed). But assuming it's somewhat uniformly distributed, the chance of getting an $\Omega_{alias}$ smaller than 1 Hz with 1 kHz sampling is only 1 in 500 (because we have to include -1..1 Hz, i.e. 1/500th of the 1 kHz interval), so for almost every case we'd be fine just taking the largest value over 1 sec. You could reduce the chance of error by increasing the observation period.

Or you could have multiple, irrationally-related sampling periods, on the assumption that even if one of them happens to be close to an exact subdivision of the high-frequency period, the others will not. There will always be a frequency that is the product of each of the individual sampling frequencies that they are all exact submultiples of, but you can make that pretty large if you have more than a few sampling systems.

$\endgroup$
0
$\begingroup$

I think you could work this out by expressing the difference between your target frequency and some 'n' multiples of your sampling frequency (i.e. modulo the sampling frequency).

For example, if your target frequency was 1.1kHz and sampling frequency 1kHz, the difference would be a tenth of the sampling frequency, hence you would have a complete periodic representation of the target waveform every 10 cycles.

I think you would observe the same thing if the target frequency was 2.1kHz, as the difference (modulo sampling frequency) is a tenth of the sampling frequency.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.