Sampling Rate Conversion
Sampling Rate Conversion
DOWNSAMPLING
What is Sampling Rate Conversion?
As the name suggests, the process of converting the sampling rate of a
digital signal from one rate to another is Sampling Rate Conversion.
Increasing the rate of already sampled signal is Upsampling whereas
decreasing the rate is called downsampling.
Why to do it?
Many practical applications require to transmit and receive digital
signals with different sampling rates. So at many stages in application we
need to do sampling rate conversion.
How to do it?
There are two ways in which we can achieve sampling rate
conversion:
1. First approach is to do D/A conversion to recover back original
analog signal. Then we can do A/D conversion with desired
sampling rate. The advantage of this technique is that the second
sampling rate need not hold any special relationship with old one.
But the problem is signal distortion introduced by D/A and
quantization effects of A/D.
2. Second approach is to work in digital domain only. So well have
to predict the digital signal with desired rate using the already
sampled signal in hand.
Now for this lecture, well look at the second choice of sampling rate
conversion.
UPSAMPLING
Lets consider, simplest case of upsampling. We want to double the
sampling rate of signal. So what we do is insert 0s in between two
successive samples. As shown:
Method-2: Interpolation
The intermediate sample value will be the average of its
neighboring values.
The filter kernel will be:
Now this a very good method but it produces, two aliases of each
frequency in frequency domain . So we should cut the high frequency
contents to avoid aliasing.
Why to cut?
Because they dont contain any new information. They are just
repeating information. We also know that maximum frequency
content in original signal cannot be greater than Fs/2 so there is
definitely no more information in baseband. So we can afford to cut
high frequency contents.
How to cut it?
Use a perfect low pass filter. That is we will keep slow moving
spirals and reject fast moving spirals in frequency domain.
e0 d = /2 (/2)=
/ 2
/2
ej d = 1/j(ej/2 - e-j/2 )= 2
/ 2
/2
e2j d = 0
/ 2
/2
/ 2
e3j d = 2/3
Thus the perfect interpolator is an Infinite Impulse Response (IIR) filter. The
filter is not causal hence cannot model using ARMA. We cannot implement
the filter because its infinite.
There is a class of functions called Analytic functions. According to
Taylor, all the information in the analytical function is at zero, so you dont
have to go far. We can express these functions as Lauriant series and model
them. But for this, the function should be continuous at all points. But our
perfect interpolator filter kernel is discontinuous at - /2 and /2.
One interesting observation is that, we are getting zeros at previously
sampled points in the filter kernel.
So to do upsampling faster we can use Multi-channel Polyphase
Multi-sampler with two filter banks.
1. 1st filter bank doing nothing (corresponding to already sampled
points).
2. 2nd filter bank with half sample delay.
UPSAMPLING BY 4
Here the filter kernel will look like this:
In this case, well have to predict three new samples, between already
present pair of samples. We now will have 4-filter banks.
1. Bank with 0 sample delay.
2. Bank with 1/4 sample delay.
3. Bank with 1/2 sample delay.
4. Bank with 3/4 sample delay.
DOWNSAMPLING:
As said, Downsampling is decreasing the sampling rate of a signal.
Lets consider a simple case of downsampling a signal to half of its original
sampling rate.
Simplest way to do this is to forget every other sample and well have
the desired sampling rate.
But if we reduce the sampling rate just by selecting every other sample of
x(n), the resulting with folding frequency Fs/2 . The frequency spectrum
tries to spread up but it cannot do so. Hence it winds up on itself.