# Sampling Theorem – Bandpass or Intermediate or Under Sampling

### Intermediate Sampling or Under-Sampling

If the signal is a bandpass signal with bandwidth Fb (Bandwidth is simply the difference between the lowest and the highest frequency present in the signal).

$latex F_s \geq 2F_b &s=2&fg=0000A0$ |

Consider a bandpass signal extending from 150Hz to 200Hz. The bandwidth of this signal is Fb=200Hz-150Hz=50Hz. In order to faithfully represent the above signal in the digital domain the sampling frequency must be Fs>=100Hz (2*Fb). Note that the sampling frequency 100Hz is far below the maximum content of the signal (which is 200Hz). That is why the bandpass sampling is also called “under-sampling”. As long as the sampling frequency is greater than or equal to twice the bandwidth of the signal, the reconstruction back to analog domain will be error free.

Going back to the aliasing zone figure, if the signal of interest is in the zone other than zone 1, it is called a bandpass signal and the sampling operation is called **“Intermediate Sampling”** or **“Harmonic Sampling”** or **“Under Sampling”** or **“Bandpass Sampling”**.

Note that zone 1 is a mirror image of zone 2 (with frequency reversal). Similarly zone 3 is a mirror image of zone 4 etc.., Also, any signal in zone 1 will be reflected in zone 2 with frequency reversal which inturn will be copied in zone 3 and so on.

Lets say the signal of interest lies in zone 2. This will be copied in all the other zones. Zone 1 also contains the sampled signal with frequency reversal which can be correct by reversing the order of FFT in digital domain.

No matter in which zone the signal of interest lies, zone 1 always contains the signal after sampling operation is performed. If the signal of interest lies in any of the even zones, zone 1 contains the sampled signal with frequency reversal. If the signal of interest lies in any of the odd zones, zone 1 contains the sampled signal without frequency reversal.

#### Example:

Consider an AM signal centered at carrier frequency 1MHz, with two components offset by 10KHz – 0.99 MHz and 1.01 MHz. So the AM signal contains three frequency components at 0.99 MHz, 1 MHz and 1.01 MHz.

Our desire is to sample the AM signal. As with the usual sampling theorem (baseband), we know that if we sample the signal at twice the maximum frequency i.e Fs>=2*1.01MHz=2.02 MHz there should be no problem in representing the analog signal in digital domain.

By the bandpass sampling theorem, we do not need to use a sampler running at Fs>=2.02 MHz. Faster sampler implies more cost. By applying the bandpass sampling theorem, we can use a slower sampler and reduce the cost of the system. The bandwidth of the signal is 1.01MHz-0.99 MHz = 20 KHz. So, just sampling at Fs>=2*20KHz=40KHz will convert the signal to digital domain properly and we can also avoid using an expensive high rate sampler (if Fs >= 2.02 MHz used according to baseband sampling theorem).

Lets set the sampling frequency to be Fs=120KHz (which is 3 times higher than the minimum required sampling rate of 40KHz or oversampling rate =3).

Now we can easily find the position of the spectral components in the sampled output by using the aliasing zone figure as given above. Since Fs=120 KHz, Fs/2 will be 60KHz. So the zone 1 will be from 0 to 60 KHz, zone 2 -> 60-120KHz and so on. The three spectral components at 0.99MHz, 1MHz and 1.01 MHz will fall at zone 17 ( how ? 0.99 MHz/60 KHz = 16.5 , 1MHz/60KHz = 16.67 and 1.01MHz/60KHz = 16.83 , all figures approximating to 17). By the aliasing zone figure, zone 16 contains a copy of zone 17, zone 15 contains a copy of zone 16, zone 14 contains a copy of zone 15 and so on… Finally zone 1 contains the copy of zone 2 (Frequency reversal also exist at even zones). In effect, zone 1 contains a copy of zone 17. Since the original spectral components are at zone 17, which is an odd zone, zone 1 contains the copy of spectral components at zone 17 without frequency reversal.

Since there is no frequency reversal, in zone 1 the three components will be at 30KHz, 40KHz and 50KHz (You can easily figure this out ).

This operation has downconverted our signal from zone 17 to zone 1 without distorting the signal components. The downconverted signal can be further processed by using a filter to select the baseband downconverted components. Following figure illustrates the concept of bandpass sampling.

Consider the same AM signal with three components at 0.99MHz, 1MHz and 1.01 MHz. Now we also have an “unwanted” fourth component at 1.2 MHz along with the incoming signal. If we sample the signal at 120 KHz, it will cause aliasing (because the bandwidth of the entire signal is 1.2-0.99 = 0.21 MHz = 210 KHz and the sampling frequency of 120KHz is below twice the bandwidth). In order to avoid anti-aliasing and to discard the unwanted component at 1.2 MHz, an anti-aliasing bandpass filter has to be used to select those desired component before performing the sampling operation at 120KHz. This is also called “pre-filtering”. The following figure illustrates this concept.

### See also:

[1] Oversampling, ADC – DAC Conversion,pulse shaping and Matched Filter[2] Sampling Theorem Basics and Baseband Sampling

### Recommended Books:

### External Resources:

[1] Video Lectures on Signals and Systems, Filter Design and Transforms[2] A Guide on Frequency Analysis and Manipulation using MATLAB

[3] A short presentation on Quantization

[4] Useful Matlab Functions and Scripts for Audio Signals and Systems

[5] Mathworks – Designing a Sigma-Delta ADC from Behavioral Model to Verilog and VHDL

[6] Anti-aliasing and quantization of audio signals and digital images using Matlab

Pingback: Oversampling, ADC – DAC Conversion,pulse shaping and Matched Filter | GaussianWaves()

Pingback: Natural Binary Codes and Gray Codes | GaussianWaves()

Pingback: Colored Noise Generation in Matlab | GaussianWaves()

Pingback: Sampling Theorem – Baseband Sampling | GaussianWaves()

Pingback: Estimation of Impulse Response of a LTI System | GaussianWaves()

Pingback: Relation between Eb/N0 and SNR » GaussianWaves()