Decimation and Interpolation

23
Department of Digital Signal Processing Master of Science in Electronics Multirate Systems Homework 1 Decimation and interpolation Dr. Gordana Jovanovic Dolecek Ojeda Loredo Fernando June/15/2015 Sta. Ma. Tonantzintla, Puebla

Transcript of Decimation and Interpolation

Page 1: Decimation and Interpolation

Department of Digital SignalProcessing

Master of Science in Electronics

Multirate Systems

Homework 1

Decimation and interpolation

Dr. Gordana Jovanovic Dolecek

Ojeda Loredo Fernando

June/15/2015Sta. Ma. Tonantzintla, Puebla

Page 2: Decimation and Interpolation

Introduction

The decimator is a device that reduces the sampling rate by an integer factor of M,whereas the interpolator is used to increase the rate by L.

In many applications the sampling rate of a system needs to be changed for a lower orhigher sampling rate for an appropriate processing of the signal, for example in a digitalmobile receiver system, the received signal often presents a high frequency which cannot bedigitized by the ADC converter , so it needs to be first converted to a lower frequency usingan Rf analog downconversion, the resultant frequency is commonly known as intermedia-te frequency, after ADC a FIR filter is used to select a desired bandwidth and then it isdownsampled or upsampled to an appropriate sampling rate. In digital audio applications anumber of sampling rates coexist, for example, the sampling rate for studio work is 48KHz,whereas for cd production is 44.1KHz, and the broadcast rate is 32KHz.All this rate con-versions can be made using decimators and interpolators devices, systems that use differentsampling rates are known as multirate systems.[3]

Downsampling

The process of downsampling consist in reducing the sampling rate of a signal thatis already sampled, by an integer factor M, basically we are resampling the signal, butbecause we are reducing the sampling rate then we call this as subsampling. When a signalis downsampled we reduce the amount of data by taking only every M-th sample of thesignal and discarding all others as we can see in fig 2.

Figure 1: Downsampling.

Figure 2: Downsampling in time.

1

Page 3: Decimation and Interpolation

The downsamplig process can be described in time and frequency in two steps:

step 1. we obtain a signal x′(n) from x(n) by setting all samples whose indexes are notinteger multiples of M to zero. We can consider x′(n) as a multiplication of x(n) and CM(n)where M denotes the downsamplig factor, in this case we use M = 2 to explain the process.

x′(n) = x(n)CM(n) (1)

We express this signal in matlab as follows:

N = 26;n = 0:N-1;x = 0.8*sin(2*pi*0.0625*n)+0.3*sin(2*pi*0.2*n);cm = [zeros(1,26)];for k = 1:2:26cm(k) = 1;endx2 = x.*cm;

We can see the result of first step in the figure 3 where only every 2n samples of x(n) aretaken and the others are set to zero.

Figure 3: Step 1, time.

This operation does not change the content of the signal x’(n), the spectrum undergoesa replica every 2π/M as we can see in fig. 4, as M = 2 then the spectrum replicas appearsevery π, where π = 1 in normalized frequency. Because we removed samples in time, infrequency the spectrum is scaled by a factor of 2, we can see this scaling in fig. 4.b. Later inthis document we will present the effects of aliasing due to the overlapping of the frequencybands and how we can avoid this undesired effect that distorts the signal.

2

Page 4: Decimation and Interpolation

Figure 4: Step 1, frequency.

step 2. The next step is to remove the zeros in x′(n) and thus obtain y(m):

y = downsample(x,2);

This operation introduce time scaling by a factor of 1/M. Due to te principle of dualityin time-frequency, in time we get a compression so we expect an expansion in frequency aswe can see in fig 6. The frequency is scaled by a factor of 2.

Figure 5: Step 2, scaling in time. Figure 6: Scaling in frequency.

3

Page 5: Decimation and Interpolation

Aliasing

When a signal is downsampled, the replicas generated by the first step can overlap, thisoccurs if the original signal is not bandlimited to π/M . This overlapping effect is calledaliasing, to avoid this we use a low-pass digital filter that should precede the down-sampler,in fig 7 we can see this effect.

Figure 7: Aliasing with M = 4.

Properties of downsampling

A system is said to be linear if it complies whit the principle of superposition

T{αx1(n) + βx2(n)} = αTx1(n) + βTx2(n) (2)

We demonstrate this principle using MATLAB as follows:

N = 16 ;n = 0 :N−1;a = 2 ;b = 3 ;

x1 = 0.8∗ s i n (2∗ pi ∗0.0625∗n ) ;x2 = 0.3∗ s i n (2∗ pi ∗0.2∗n ) ;

xs = a .∗ x1 + b .∗ x2 ;xsd = downsample ( xs , 2 ) ; % Structure 1

xd1 = downsample ( x1 , 2 ) ;xd2 = downsample ( x2 , 2 ) ;x12d = a .∗ xd1 + b .∗ xd2 ; % Struc ture 2

4

Page 6: Decimation and Interpolation

We observe in fig. 8 that xsd and x12 are equal, thus we prove the linearity of the down-sampling process.

Figure 8: linear property.

We can also demonstrate this principle using Simulink.

Figure 9: Structure 1. Figure 10: Structure 2.

If an input signal undergoes a transformation through a system we get a transformedoutput signal, also if the same input signal is shifted in time k samples then we expect thesame transformed output signal but shifted k samples in time, if this is accomplished thenwe say that the system is time invariant. we will demonstrate the time variance or timeinvariance of a downsampling process as follows:

N = 32;n = 0:N-1;k = 4;x = 0.8*sin(2*pi*0.0625*n);xs = 0.8*sin(2*pi*0.0625*(n - k));

xd = downsample(x,2);xsd = downsample(xs,2);

5

Page 7: Decimation and Interpolation

We observe in fig. 12 that the downsampled shifted signal xsd does not present the sameshift as the input signal xs, thus we conclude downsampling is a time varying operation.

Figure 11: Delayed signal by 4 samples. Figure 12: Downsampled delayed signal.

When the relation K/M is not an integer the downsampled delayed signal will havea fractional delay, this means that the downsampled signal with no input delay and thedownsampled delayed signal will have a different shape as we can see in fig 13.

Figure 13: Downsampled signals with fractional delay.

6

Page 8: Decimation and Interpolation

Downsampling identities

First identity

This identity follows directly from the principle of superposition, as previously discussed.

Second identity

Establishes that the delay of M samples before the downsampler is equivalent to a delayof one sample after the downsampler. We will show this second identity using Simulink, asfollows:

Figure 14: Structure 1. Figure 15: Structure 2.

Comparing the two graphics in fig. 16 and fig 17 it follows that structure 1 and structure2 are equivalent.

Figure 16: Structure 1 plot. Figure 17: Structure 2 plot.

7

Page 9: Decimation and Interpolation

Third identity

This identity is related to cascade connection of a linear time invariant system H(Z) anda downsampler. Filtering with H(ZM) and downsampling by M is equal to the downsamplingby M and filtering with H(Z).

Figure 18: Third identity structures.

The third identity is demonstrated using a filter expanded with M = 4 which precedesthe downsampler as can be seen in structure 1 in figure 18. Another filter is designed toimplement structure 2, and finally the graphs in figure 19, show this identity, the Matlabimplementation is as follows:

n = 0 : 6 0 ; % Time indexx = cos (2∗ pi ∗0.05∗n ) ; % Generating the o r i g i n a l s i g n a lh = f i r 1 ( 1 0 , 0 . 5 ) ; % Designing the f i l t e r t r a n s f e r func t i on H( z )hu = upsample (h , 4 ) ; % Trans fe r func t i on H( zˆM)y1 = f i l t e r (hu , 1 , x ) ; % F i l t e r i n gy = downsample ( y1 , 4 ) ; % Down−samplingm = 0 : l ength ( y)−1; % Time index

f i g u r e (1 )subplot ( 3 , 2 , 1 ) , stem (n , x ) , y l a b e l ( ’ x [ n ] ’ )t i t l e ( ’ Figure 18( a ) ’ )subplot ( 3 , 2 , 3 ) , stem (n , y1 ) , y l a b e l ( ’ y 1 [ n ] ’ )subplot ( 3 , 2 , 5 ) , stem (m, y ) , y l a b e l ( ’ y [m] ’ )x l a b e l ( ’ Time index ’ )

y2 = downsample (x , 4 ) ; % down−samplingy = f i l t e r (h , 1 , y2 ) ; % f i l t e r i n g

subplot ( 3 , 2 , 2 ) , stem (n , x , ’ r ’ ) , y l a b e l ( ’ x [ n ] ’ )t i t l e ( ’ Figure 18(b ) ’ )subplot ( 3 , 2 , 4 ) , stem (m, y2 , ’ r ’ ) , y l a b e l ( ’ y 2 [m] ’ )subplot ( 3 , 2 , 6 ) , stem (m, y , ’ r ’ ) , y l a b e l ( ’ y [m] ’ )x l a b e l ( ’ Time index ’ )

In figure 19 the left-hand side shows the signals for structure 1, and the right-hand sidepresents the signals for structure 2. This results shown in fig. 19 demonstrate the equivalenceof the cascade connections defined by the third identity.

8

Page 10: Decimation and Interpolation

Figure 19: Illustration of the third identity.

Polyphase decimation

The decimation structure consists of two block as can be seen in figure 20, a low-passfilter which discard all frequencies above π/M to avoid aliasing, and the downsamplign blockwhich reduce the sampling rate of the signal.

Figure 20: Decimation structure.

Usually H(z) is a FIR filter, which consist of N coefficients. If N is a integer multiple ofM we can obtain M different discretely sampled components of the impulse response. Thatmeans that the corresponding Z-transform ca be partitioned into M sub-signals

H(z) =M−1∑k=0

z−kHk(zM) (3)

where

Hk(zM) =N/M−1∑n=0

h(nM + k)(zM)−n) (4)

9

Page 11: Decimation and Interpolation

The filter shown in the structure from figure 20, can be decomposed as we can observe infigure 21.a this is a direct application of the first identity, now in figure 21.b we can see anapplication of the third identity. With this implementation we obtain a more efficient versionin which both the number of filter operations as well the amount of memory required arereduced by a factor of M.

Figure 21: Polyphase decimation.

Now we present an example in Matlab with a FIR filter which consist of N = 64 coeffi-cients, an a decimation factor of M = 4, so we expect 4 polyphase components.

% Polyphase decomposit ionc l e a r a l l , c l o s e a l l% Input s i g n a ln = 0 : 6 3 ;h = ze ro s ( s i z e (n ) ) ; h ( 1 1 : 3 9 ) = 0 . 9 5 . ˆ ( 1 : 2 9 ) ; % Generating the sequence ’h ’

% Polyphase down−sampling with the phase o f f s e t

10

Page 12: Decimation and Interpolation

h0 = downsample (h , 4 ) ;h1 = downsample (h , 4 , 1 ) ;h2 = downsample (h , 4 , 2 ) ;h3 = downsample (h , 4 , 3 ) ;

subp lot ( 4 , 1 , 1 ) , stem ( 0 : l ength ( h0)−1 ,h0 ) , y l a b e l ( ’ h0 [m] ’ )subplot ( 4 , 1 , 2 ) , stem ( 0 : l ength ( h1)−1 ,h1 ) , y l a b e l ( ’ h1 [m] ’ )subplot ( 4 , 1 , 3 ) , stem ( 0 : l ength ( h2)−1 ,h2 ) , y l a b e l ( ’ h2 [m] ’ )subplot ( 4 , 1 , 4 ) , stem ( 0 : l ength ( h3)−1 ,h3 ) , y l a b e l ( ’ h3 [m] ’ )x l a b e l ( ’ Time index m’ )

The original signal is shown in figure 22 and the polyphase components are given in 23.

Figure 22: Filter Coefficients. Figure 23: Polyphase components.

Upsampling

Upsampling increases the sampling rate by an integer factor L, by inserting L-1 equallyspaced zeros between each pair of samples.

y[m] =

{x[m/L], m = 0,±L,±2L, ...0, Otherwise

(5)

Where L is called an interpolator factor. The symbol for this operation is a box with anupward-pointing arrow, followed by the interpolator factor.[2]

Figure 24: Upsampler.

11

Page 13: Decimation and Interpolation

The following Matlab code illustrates an example of the upsampler with L = 2.

N = 21 ; % Length o f the o r i g i n a l sequencen=0:N−1; % Time index

x=0.7∗ s i n (2∗ pi ∗0.0625∗n)+0.3∗ s i n (2∗ pi ∗0.2∗n ) ; % Or i g i na l s i g n a lL= 2 ; % Up−sampling f a c t o ry=ze ro s (1 ,L∗ l ength ( x ) ) ;y ( [ 1 : L : l ength ( y ) ] )= x ; % Up−sampled s i g n a lNy = length ( y)−L+1; % Length o f the up−sampled s i g n a lf i g u r e (2 )subplot ( 2 , 1 , 1 )stem ( 0 : 2 0 , x ( 1 : 2 1 ) )x l a b e l ( ’ Time index n ’ ) , y l a b e l ( ’ x [ n ] ’ )subplot ( 2 , 1 , 2 )stem ( 0 : 4 0 , y ( 1 : 4 1 ) )x l a b e l ( ’ Time index m’ ) , y l a b e l ( ’ y [m] ’ )

We can see in figure 25, how the sampling rate is increased also we can see how L-1equally space zeros are inserted between each pair of samples.

Figure 25: upsampling by L = 2.

12

Page 14: Decimation and Interpolation

Imaging

The interpolator consist of two stages as we can see in figure 26, the upsampler blockthat was previously discussed and a low pass filter that is after the upsampler.

Figure 26: Interpolator

The process of upsampling introduces the replicas of the main spectra at every 2π/L.This is called imaging, since there are L-1 replicas (images) in 2π. We illustrate this effectnext:

F = [ 0 , 0 . 2 , 0 . 9 , 1 ] ;A = [ 0 , 1 , 0 , 0 ] ;x = f i r 2 (128 ,F ,A) ;X = f f t (x , 1 0 2 4 ) ;

f = 0:1/1024:(512−1)/1024 ;

y1 = upsample (x , 2 ) ;y2 = upsample (x , 3 ) ;y3 = upsample (x , 4 ) ;

Y1 = f f t ( y1 , 1 0 2 4 ) ;Y2 = f f t ( y2 , 1 0 2 4 ) ;Y3 = f f t ( y3 , 1 0 2 4 ) ;

subplot ( 4 , 1 , 1 ) , p l o t (2∗ f , abs (X( 1 : 5 1 2 ) ) ) , t i t l e ( ’ o r i g i n a l s i gna l ’ )subplot ( 4 , 1 , 2 ) , p l o t ( f ∗2 , abs (Y1 ( 1 : 5 1 2 ) ) ) , t i t l e ( ’ upsampled s i g n a l L = 2 ’ )subplot ( 4 , 1 , 3 ) , p l o t (2∗ f , abs (Y2 ( 1 : 5 1 2 ) ) ) , t i t l e ( ’ upsampled s i g n a l L = 3 ’ )subplot ( 4 , 1 , 4 ) , p l o t ( f ∗2 , abs (Y3 ( 1 : 5 1 2 ) ) ) , t i t l e ( ’ upsampled s i g n a l L = 4 ’ )

In figure 27 we can observe the different replicas for L = 2,3,4. We use the low pass filterto remove these replicas, this filter is called an anti-imaging filter. In Matlab we can showthe use of this filter by using the command interp, like the command decimate, this alreadyincludes the filter unlike the commands downsample and upsample which do not include it.

13

Page 15: Decimation and Interpolation

Figure 27: Interpolator

Next code show the use of interp, to remove the replicas for L = 4.

F = [ 0 , 0 . 2 , 0 . 9 , 1 ] ;A = [ 0 , 1 , 0 , 0 ] ;x = f i r 2 (128 ,F ,A) ;X = f f t (x , 1 0 2 4 ) ;f = 0:1/1024:(512−1)/1024 ;

L = 4 ;xu = upsample (x , L ) ;y = i n t e r p (x , L ) ;Xu = f f t (xu , 1 0 2 4 ) ;Y = f f t (y , 1 0 2 4 ) ;

subplot ( 3 , 1 , 1 ) , p l o t (2∗ f , abs (X( 1 : 5 1 2 ) ) ) , t i t l e ( ’ o r i g i n a l s i gna l ’ )subplot ( 3 , 1 , 2 ) , p l o t ( f ∗2 , abs (Xu( 1 : 5 1 2 ) ) ) , t i t l e ( ’ upsampled s i g n a l L = 4 ’ )subplot ( 3 , 1 , 3 ) , p l o t (2∗ f , abs (Y( 1 : 5 1 2 ) ) ) , t i t l e ( ’ i n t e r p o l a t e d s i gna l ’ )

f i g u r esubplot ( 3 , 1 , 1 ) , stem ( 5 4 : 74 , x ( 5 5 : 7 5 ) ) ;subp lot ( 3 , 1 , 2 ) , stem (4∗55−1:4∗74−1 ,xu(4∗55−1:4∗74−1));subplot ( 3 , 1 , 3 ) , stem (4∗55−1:4∗74−1 ,y (4∗55−1:4∗74−1));

14

Page 16: Decimation and Interpolation

In the following figure we observe the effect of imaging also is necessary to say that theupsampling process consist of the increase in the sampling rate of the signal, this is knownas an expansion in time, by the principle of duality, in the frequency domain we expect acompression as shown in figure 28.

Figure 28: Imaging and interpolation in frequency

In time something very interesting happens due to the filter, the zeros that are insertedby the upsampler are interpolated, for this reason we call this filter an interpolation filter, wecan see it in figure 29, also the frequency spectrum is scaled by a factor of L this is presentedin figure 28.c.

Figure 29: Interpolation in time

15

Page 17: Decimation and Interpolation

Properties of upsampling

Now we show the linearity of the upsample operation, just like in downsampling we willuse the same code but now we use the command upsample instead of downsample as shownnext.

N = 16 ;n = 0 :N−1;a = 2 ;b = 3 ;

x1 = 0.8∗ s i n (2∗ pi ∗0.0625∗n ) ;x2 = 0.3∗ s i n (2∗ pi ∗0.2∗n ) ;

xs = a .∗ x1 + b .∗ x2 ;xsd = upsample ( xs , 2 ) ; % Structure 1

xd1 = upsample ( x1 , 2 ) ;xd2 = upsample ( x2 , 2 ) ;x12d = a .∗ xd1 + b .∗ xd2 ; % Structure 2

We observe in figure 30 that xsd and xsd12 are equal so we can conclude that upsamplingis a linear operation.

Figure 30: Upsampling linear property

16

Page 18: Decimation and Interpolation

We also demonstrate this property using Simulink as follows:

Figure 31: Structure 1 Figure 32: Structure 2

Now we will show the time varying property of the upsampling block. We suppose thatthe input of the upsampler has a delay of D samples.

x(m−D) (6)

The upsampled signal will be:

y((m−D)L) = y(mL−DL) = y(n−DL) 6= y(n−D) (7)

Consequently, upsampling is a time-dependent operation.

N = 32 ;n = 0 :N−1;k = 9 ;x = 0.8∗ s i n (2∗ pi ∗0.0625∗n ) ;xs = 0.8∗ s i n (2∗ pi ∗0 .0625∗ ( n − k ) ) ;

xu = upsample (x , 2 ) ;xsu = upsample ( xs , 2 ) ;

f i g u r esubplot ( 2 , 1 , 1 ) , stem (x , ’ LineWidth ’ , 2 ) , gr id , t i t l e ( ’ x ’ ) , g r i d ;subplot ( 2 , 1 , 2 ) , stem ( xs , ’ LineWidth ’ , 2 ) , gr id , t i t l e ( ’ xs ’ ) , g r i d ;

f i g u r esubplot ( 2 , 1 , 1 ) , stem (xd , ’ r ’ , ’ LineWidth ’ , 2 ) , gr id , t i t l e ( ’ xu ’ ) , g r i d ;subplot ( 2 , 1 , 2 ) , stem ( xsd , ’ r ’ , ’ LineWidth ’ , 2 ) , gr id , t i t l e ( ’ xsu ’ ) , g r i d ;

In figure 33 xs represent a shifted version of x by 9 samples, in figure 34 xu is theupsampled signal by L = 2 of x and xsu is the upsampled signal of xs. We expect the sameamount of delay in xsu and xs, but xsu is shifted by 14 samples unlike xs which is shiftedby 9 samples, thus we prove that upsampling is a time-varying operation.

17

Page 19: Decimation and Interpolation

It is important to mention that unlike downsampling, the upsampled delayed signal andthe upsampled signal with no delay will always have the same shape, this is because thedelay DL is always an integer.

Figure 33: Delayed signal by 9 samples Figure 34: Upsampled delayed signal

Upsampling identities

We have already seen three useful identities of the downsampled signals, and now we willstate the corresponding identities associated with upsampling.

Fourth identity

We have already demonstrated the fourth identity as it follows from the principle ofsuperposition.

Fifth identity

This identity states that a delay of one sample before upsampling is equivalent to thedelay of L samples after upsampling.

Figure 35: Structure 1 Figure 36: Structure 2

18

Page 20: Decimation and Interpolation

Figure 37 and 38 are equal, so the equivalence of the two structures is confirmed.

Figure 37: Structure 1 plot Figure 38: Structure 2 plot

Sixth identity

States that the filtering followed by upsampling is equivalent to having upsampling firstfollowed by expanded filtering.

Figure 39: Sixth identity structures

n = 0 : 1 5 ; % Time indexx = cos (0 . 2∗ pi ∗n ) ; % Generating the o r i g i n a l s i g n a lh = f i r 1 ( 1 0 , 0 . 5 ) ; % Designing the f i l t e r t r a n s f e r func t i on H( z )hu = upsample (h , 2 ) ; % Trans fe r func t i on H( zˆL)y1 = f i l t e r (h , 1 , x ) ; % F i l t e r i n gy = upsample ( y1 , 2 ) ; % Up−samplingm = 0 : l ength ( y)−1; % Time indexf i g u r e (1 )subplot ( 3 , 2 , 1 ) , stem (n , x ) , y l a b e l ( ’ x [ n ] ’ )subplot ( 3 , 2 , 3 ) , stem (n , y1 ) , y l a b e l ( ’ y 1 [ n ] ’ )subplot ( 3 , 2 , 5 ) , stem (m, y ) , y l a b e l ( ’ y [m] ’ )x l a b e l ( ’ Time index ’ )a x i s ( [ 0 , 30 , −1 ,1 ] )y2 = upsample (x , 2 ) ; % Up−samplingy = f i l t e r (hu , 1 , y2 ) ; % F i l t e r i n g

19

Page 21: Decimation and Interpolation

subplot ( 3 , 2 , 2 ) , stem (n , x , ’ r ’ ) , y l a b e l ( ’ x [ n ] ’ )subplot ( 3 , 2 , 4 ) , stem (m, y2 , ’ r ’ ) , y l a b e l ( ’ y 2 [m] ’ )a x i s ( [ 0 , 30 , −1 ,1 ] )subplot ( 3 , 2 , 6 ) , stem (m, y , ’ r ’ ) , y l a b e l ( ’ y [m] ’ )x l a b e l ( ’ Time index ’ )a x i s ( [ 0 , 30 , −1 ,1 ] )

In figure 40 the left-hand side shows the signals for structure 1, and the right-hand sidepresents the signals for structure 2. This results shown in fig. 40 demonstrate the equivalenceof the cascade connections defined by the sixth identity.

Figure 40: Illustration of the sixth identity

Polyphase interpolation

The convolution at the higher sampling rate can be replaced by independent convolutionsat the lower input sampling rate using polyphase decomposition.[1]

H(z) =L−1∑k=0

z−kHk(zL) (8)

In figure 41 we can see the polyphase components of the signal.

20

Page 22: Decimation and Interpolation

Next we will show the implementation of the sixth identity in Matlab.

n = 0 : 6 3 ;h = ze ro s ( s i z e (n ) ) ; h ( 1 1 : 3 9 ) = 0 . 9 5 . ˆ ( 1 : 2 9 ) ; % F i l t e r c o e f f i c i e n t s

hd0 = downsample (h , 4 ) ;hd1 = downsample (h , 4 , 1 ) ;hd2 = downsample (h , 4 , 2 ) ;hd3 = downsample (h , 4 , 3 ) ;

% Up−sampling polyphase components with the phase o f f s e th0 = upsample ( hd0 , 4 ) ;h1 = upsample ( hd1 , 4 , 1 ) ;h2 = upsample ( hd2 , 4 , 2 ) ;h3 = upsample ( hd3 , 4 , 3 ) ;

subp lot ( 4 , 1 , 1 ) , stem ( 0 : l ength ( h0)−1 ,h0 ) , y l a b e l ( ’ h0 [m] ’ )subplot ( 4 , 1 , 2 ) , stem ( 0 : l ength ( h1)−1 ,h1 ) , y l a b e l ( ’ h1 [m] ’ )subplot ( 4 , 1 , 3 ) , stem ( 0 : l ength ( h2)−1 ,h2 ) , y l a b e l ( ’ h2 [m] ’ )subplot ( 4 , 1 , 4 ) , stem ( 0 : l ength ( h3)−1 ,h3 ) , y l a b e l ( ’ h3 [m] ’ )x l a b e l ( ’ Time index m’ )

Figure 41: Polyphase components

21

Page 23: Decimation and Interpolation

References

[1] Jovanovic-Dolecek, G. (2001). Multirate Systems: Design and Applications: Design andApplications. IGI Global.

[2] Milic, L. (2009). Multirate Filtering for Digital Signal Processing: MATLAB Applications:MATLAB Applications. IGI Global.

[3] Vaidyanathan, P. P. (1993). Multirate systems and filter banks. Pearson Education India.

22