Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 59

Advanced Digital Signal Processing

Lecture 5
Multirate Digital Signal Processing

Assist. Prof. Dr. Mohammed Najm Abdullah


https://itswtech.academia.edu/MohammedAlSalam
Multirate digital signal processing
Problems to be solved:
If sampling rate conversion within the digital domain is possible, how
to design a decimator or an interpolator ?
Can we simply apply downsampling or upsampling in the digital
domain ? If not, why ?
Is it possible to change the sampling rate of a discrete signal without
converting the signal to the analog domain ?
How to obtain sampling rate conversion at any rational factor ?
Is there any computational efficient way to implement these
converters ?
What is a polyphase filter ? How to use polyphase filters to implement
a digital converter ?
Conversion Approach
• Analog approach
• Digital approach (multirate DSP system)
Analog Approach

y  m   xc  t  t mT    x n  h  mT   nT 
I
Advantages n  
Simple
Straightforward
Arbitrary sampling rate
Disadvantages
D/A & A/D converter are needed
Ideal (near perfect) lowpass filter is needed
Introduced noise and distortion
Digital Approach
Sampling rate conversion
Decimation
• Decrease the sampling rate
Interpolation
• Increase the sampling rate
► Sampling-rate conversion

► Change sample-rate using discrete-time processing


Multirate systems have gained popularity since the early 1980s
and they are commonly used for audio and video processing,
communications systems, and transform analysis to name but a
few. In most applications multirate systems are used to improve
the performance, or for increased computational efficiency. The
two basic operations in a Multirate system are decreasing
(decimation) and increasing (interpolation) the sampling-rate of
a signal. Multirate systems are sometimes used for sampling-
rate conversion, which involves both decimation and
interpolation.
Decimation is based on the notion
that some discrete-time signal of
interest exists in a form that is
significantly oversampled. There
may be some noise and
interference throughout the
entire bandwidth of ± FS /2 that
is supported by the sample rate,
FS , but the signal of interest has
a spectrum that is confined to a
bandwidth much smaller than ±
FS /2.
Sampling Rate Reduction by an Integer Factor
The process of reducing a sampling rate by an integer factor is
referred to as downsampling of a data sequence. We also refer to
downsampling as ‘‘decimation’’. The term ‘‘decimation’’ used for
the downsampling process has been accepted and used in many
textbooks and fields. To downsample a data sequence x(n) by an
integer factor of M, we use the following notation:

y(m) = x(mM)

where y(m) is the downsampled sequence, obtained by taking a


sample from the data sequence x(n) for every M samples
(discarding M-1 samples for every M samples).
As an example, if the original sequence with a sampling period T = 0.1
second (sampling rate = 10 samples per sec) is given by:
x(n):8 7 4 8 9 6 4 2 2 5 7 7 6 4 . . .

and we downsample the data sequence by a factor of 3, we obtain the


downsampled sequence as
y(m):8 8 4 5 6...,

with the resultant sampling period T = 3 *0.1 = 0.3 second (the sampling
rate now is 3.33 samples per second). Although the example is
straightforward, there is a requirement to avoid aliasing noise.
From the Nyquist sampling theorem, it is known that aliasing can
occur in the downsampled signal due to the reduced sampling rate.
After downsampling by a factor of M, the new sampling period
becomes MT, and therefore the new
sampling frequency is

where fs is the original sampling rate.


Hence, the folding frequency after downsampling becomes
This tells us that after downsampling by a factor of M, the new folding
frequency will be decreased M times. If the signal to be downsampled has
frequency components larger than the new folding frequency, f > fs/(2M),
aliasing noise will be introduced into the downsampled data.

To overcome this problem, it is required that the original signal x(n) be


processed by a lowpass filter H(z) before downsampling, which should
have a stop frequency edge at fs/(2M) (Hz). The corresponding normalized
stop frequency edge is then converted to be
In this way, before downsampling, we can guarantee that the maximum
frequency of the filtered signal satisfies

such that no aliasing noise is introduced after downsampling. A


general block diagram of decimation is given in Fig.1, where the
filtered output in terms of the z-transform can be written as

where X(z) is the z-transform of the sequence to be decimated, x(n), and


H(z) is the lowpass filter transfer function. After anti-aliasing filtering,
the downsampled signal y(m) takes its value from the filter output as:
Homework 1
Write the detail of MATLAB program for implementation of decimation.
Sampling Rate Increase by an Integer Factor
Increasing a sampling rate is a process of upsampling by an integer
factor of L. This process is described as follows:
The next step is to smooth the upsampled data sequence via an interpolation filter. The
process is illustrated in Figure.5a.
Homework 2
Write the detail of MATLAB program for implementation of interpolation.
 Equivalent forms :
Interchange filter and decimation/interpolation
Changing Sampling Rate by a Non-Integer Factor L/M

With an understanding of the downsampling and upsampling processes, we


now study the sampling rate conversion by a non-integer factor of L/M. This
can be viewed as two sampling conversion processes.
Step 1: we perform the upsampling process by a factor of integer L following
application of an interpolation filter H1(z);
Step 2: we continue filtering the output from the interpolation filter via an
anti-aliasing filter H2(z), and finally operate downsampling. The entire
process is illustrated in Figure8.
Homework 3
Write the detail of MATLAB program for changing sampling rate with a
noninteger factor.

You might also like