This question already has an answer here:

If for an arbitrary signal H(f) = 1 for 300-f-3700 Hz; 0 otherwise, what should be the minimum sampling rate? 7400 Hz or 6800 Hz and why?


marked as duplicate by Lorenzo Donati, AndrejaKo, CL., Andrew, uint128_t Feb 13 '17 at 16:08

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


The minimum sampling rate you theoretically can reconstruct a signal from is different to the sampling rate that's convenient to use to reconstruct a signal from.

Nyquist (the theoretical rate) says >= 2*BW. As the bandwidth of the signal here is 3400Hz, then by applying sufficient signal processing, you can sample and reconstruct a 300Hz to 3700Hz signal using a real sample rate of slightly above 6800Hz.

However, it's a lot of hard work. For instance one way to do it would be to frequency shift the signal in a the analogue domain so it's symmetrical about 1700Hz, then sample with I and Q at slightly more than 3400Hz, which equates to more than 6800 real samples per second. A better way would be to sample at some higher rate like 20kHz or so, then use DSP to do the frequency shift and resample down to just above 6800Hz.

However, what's practically required is a higher sampling rate.

As we've seen, you can take the DC to 300Hz section out of the sampling equation. But it's hard work to do, and only accounts for 10% of the bandwidth. Far easier to leave it in, and sample at >= 2x the highest frequency, rather than 2x the bandwidth.

Secondly, if you want to approach the Nyquist bound of 2x, then the transition band of your anti-alias and reconstruction filters needs to approach zero width. Difficult with analogue filters, increasingly resource hungry with digital filters. Obviously (is it obvious?) you can never get zero transition width, exactly equal to 2x oversampling, you just spend reciprocally increasing levels of resources (multipliers and latency) to get closer and closer to it.

It's far better to choose a ratio well above 2, to allow those filters to have a reasonable transition band, and therefore a cheap and stable implementation. Telephone signals in the 300-3400Hz band use 8kHz. Audio signals to 20kHz use 44.1kHz on CDs/mp3s. However, increasingly, higher sampling rates are being used because it makes the filter implementation easier, especially as costs of storing and transmitting data come down, 48kHz on DAT and some mp3 files, 96kHz on many PC sound cards.

  • \$\begingroup\$ 2 x 3700 = 7400 according to my calculator -- so 6800 would not be enough. \$\endgroup\$ – ghellquist May 3 at 18:00
  • \$\begingroup\$ @ghellquist Nyquist talks about bandiwth, not highest frequency. The bandwidth of 300-3700 is 3400, so 2x that is 6800. However, it's more complicated to reconstruct bandpass data than lowpass data, so most people do 2x3700 = 7400, which with 'plus a bit' becomes 8kHz for telephones. When there's only 300Hz to throw away at low frequencies, it's worth simplifying. But if you had (let's say) a PCS channel with 300kHz bandwidth and 2.1GHz centre frequency, you would always digitise at 2x300kHz plus a bit, than 2x2.1GHz plus a bit, the extra complication is worth it in data rate and volume. \$\endgroup\$ – Neil_UK May 3 at 19:11

In theory, 2 x BW as per nyquist. In industry, most people use 2.5 x BW. Hence for your case, the sampling rate is 3400 x 2.5 = 8500 Hz.

All sampled signal has sinx/x roll off. The reason of not sampling at nyquist is because the roll off is far too high at the band-edge.

You will need to compensate the roll of, either mathematically in waveform file or using hardare.

enter image description here

Above sinx/x roll off


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