Rate increase by an integer factor L {\displaystyle L} can be explained as a 2-step process, with an equivalent implementation that is more efficient:4
In this application, the filter is called an interpolation filter, and its design is discussed below. When the interpolation filter is an FIR type, its efficiency can be improved, because the zeros contribute nothing to its dot product calculations. It is an easy matter to omit them from both the data stream and the calculations. The calculation performed by a multirate interpolating FIR filter for each output sample is a dot product:5
y [ j + n L ] = ∑ k = 0 K x [ n − k ] ⋅ h [ j + k L ] , j = 0 , 1 , … , L − 1 , {\displaystyle y[j+nL]=\sum _{k=0}^{K}x[n-k]\cdot h[j+kL],\ \ j=0,1,\ldots ,L-1,} and for any n , {\displaystyle n,}
where the h {\displaystyle h} sequence is the impulse response of the interpolation filter, and K {\displaystyle K} is the largest value of k {\displaystyle k} for which h [ j + k L ] {\displaystyle h[j+kL]} is non-zero.
The interpolation filter output sequence is defined by a convolution:
The only terms for which x L [ m − r ] {\displaystyle x_{L}[m-r]} can be non-zero are those for which m − r {\displaystyle m-r} is an integer multiple of L . {\displaystyle L.} Thus: m − r = ⌊ m L ⌋ L − k L {\displaystyle m-r={\bigl \lfloor }{\tfrac {m}{L}}{\bigr \rfloor }L-kL} for integer values of k , {\displaystyle k,} and the convolution can be rewritten as:
In the case L = 2 , {\displaystyle L=2,} function h {\displaystyle h} can be designed as a half-band filter, where almost half of the coefficients are zero and need not be included in the dot products. Impulse response coefficients taken at intervals of L {\displaystyle L} form a subsequence, and there are L {\displaystyle L} such subsequences (called phases) multiplexed together. Each of L {\displaystyle L} phases of the impulse response is filtering the same sequential values of the x {\displaystyle x} data stream and producing one of L {\displaystyle L} sequential output values. In some multi-processor architectures, these dot products are performed simultaneously, in which case it is called a polyphase filter.
For completeness, we now mention that a possible, but unlikely, implementation of each phase is to replace the coefficients of the other phases with zeros in a copy of the h {\displaystyle h} array, and process the x L [ n ] {\displaystyle x_{L}[n]} sequence at L {\displaystyle L} times faster than the original input rate. Then L − 1 {\displaystyle L-1} of every L {\displaystyle L} outputs are zero. The desired y {\displaystyle y} sequence is the sum of the phases, where L − 1 {\displaystyle L-1} terms of the each sum are identically zero. Computing L − 1 {\displaystyle L-1} zeros between the useful outputs of a phase and adding them to a sum is effectively decimation. It's the same result as not computing them at all. That equivalence is known as the second Noble identity.6 It is sometimes used in derivations of the polyphase method.
Let X ( f ) {\displaystyle X(f)} be the Fourier transform of any function, x ( t ) , {\displaystyle x(t),} whose samples at some interval, T , {\displaystyle T,} equal the x [ n ] {\displaystyle x[n]} sequence. Then the discrete-time Fourier transform (DTFT) of the x [ n ] {\displaystyle x[n]} sequence is the Fourier series representation of a periodic summation of X ( f ) : {\displaystyle X(f):} 7
∑ n = − ∞ ∞ x ( n T ) ⏞ x [ n ] e − i 2 π f n T ⏟ DTFT = 1 T ∑ k = − ∞ ∞ X ( f − k T ) . {\displaystyle \underbrace {\sum _{n=-\infty }^{\infty }\overbrace {x(nT)} ^{x[n]}\ e^{-i2\pi fnT}} _{\text{DTFT}}={\frac {1}{T}}\sum _{k=-\infty }^{\infty }X{\Bigl (}f-{\frac {k}{T}}{\Bigr )}.}
When T {\displaystyle T} has units of seconds, f {\displaystyle f} has units of hertz (Hz). Sampling L {\displaystyle L} times faster (at interval T / L {\displaystyle T/L} ) increases the periodicity by a factor of L : {\displaystyle L:} 8
L T ∑ k = − ∞ ∞ X ( f − k ⋅ L T ) , {\displaystyle {\frac {L}{T}}\sum _{k=-\infty }^{\infty }X\left(f-k\cdot {\frac {L}{T}}\right),}
which is also the desired result of interpolation. An example of both these distributions is depicted in the first and third graphs of Fig 2.9
When the additional samples are inserted zeros, they decrease the sample-interval to T / L . {\displaystyle T/L.} Omitting the zero-valued terms of the Fourier series, it can be written as:
which is equivalent to Eq.2, regardless of the value of L . {\displaystyle L.} That equivalence is depicted in the second graph of Fig.2. The only difference is that the available digital bandwidth is expanded to L / T {\displaystyle L/T} , which increases the number of periodic spectral images within the new bandwidth. Some authors describe that as new frequency components.10 The second graph also depicts a lowpass filter and L = 3 , {\displaystyle L=3,} resulting in the desired spectral distribution (third graph). The filter's bandwidth is the Nyquist frequency of the original x [ n ] {\displaystyle x[n]} sequence.11 In units of Hz that value is 0.5 T , {\displaystyle {\tfrac {0.5}{T}},} but filter design applications usually require normalized units. (see Fig 2, table)
Let L/M denote the upsampling factor, where L > M.
Upsampling requires a lowpass filter after increasing the data rate, and downsampling requires a lowpass filter before decimation. Therefore, both operations can be accomplished by a single filter with the lower of the two cutoff frequencies. For the L > M case, the interpolation filter cutoff, 0.5 L {\displaystyle {\tfrac {0.5}{L}}} cycles per intermediate sample, is the lower frequency.
Oppenheim, Alan V.; Schafer, Ronald W.; Buck, John R. (1999). "4.6.2". Discrete-Time Signal Processing (2nd ed.). Upper Saddle River, N.J.: Prentice Hall. p. 172. ISBN 0-13-754920-2. 0-13-754920-2 ↩
Crochiere, R.E.; Rabiner, L.R. (1983). "2.3". Multirate Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall. pp. 35–36. ISBN 0136051626. 0136051626 ↩
Poularikas, Alexander D. (September 1998). Handbook of Formulas and Tables for Signal Processing (1 ed.). CRC Press. pp. 42–48. ISBN 0849385792. 0849385792 ↩
Harris, Frederic J. (2004-05-24). "2.2". Multirate Signal Processing for Communication Systems. Upper Saddle River, NJ: Prentice Hall PTR. pp. 20–21. ISBN 0131465112. The process of up sampling can be visualized as a two-step progression. The process starts by increasing the sample-rate of an input series x(n) by resampling [expansion]. The zero-packed time series is processed by a filter h(n). In reality the processes of sample-rate increase and bandwidth reduction are merged in a single process called a multirate filter. 0131465112 ↩
Crochiere and Rabiner "2.3". p 38. eq 2.80, where m ≜ j + n L , {\displaystyle m\triangleq j+nL,} which also requires n = ⌊ m L ⌋ , {\displaystyle n={\bigl \lfloor }{\tfrac {m}{L}}{\bigr \rfloor },} and j = m − n L . {\displaystyle j=m-nL.} ↩
Strang, Gilbert; Nguyen, Truong (1996-10-01). Wavelets and Filter Banks (2 ed.). Wellesley, MA: Wellesley-Cambridge Press. p. 101. ISBN 0961408871. the Noble Identities apply to each polyphase component ... they don't apply to the whole filter. 0961408871 ↩
Harris 2004. "2.2". p 23. fig 2.12 (top). ↩
Harris 2004. "2.2". p 23. fig 2.12 (bottom). ↩
Tan, Li (2008-04-21). "Upsampling and downsampling". eetimes.com. EE Times. Retrieved 2024-06-27. chapter 12.1.2, figure 12-5B https://www.eetimes.com/multirate-dsp-part-1-upsampling-and-downsampling/ ↩
Lyons, Rick (2015-03-23). "Why Time-Domain Zero Stuffing Produces Multiple Frequency-Domain Spectral Images". dsprelated.com. Archived from the original on 2023-09-30. Retrieved 2024-01-31. https://www.dsprelated.com/showarticle/761.php ↩
Realizable low-pass filters have a transition band where the response diminishes from near unity to near zero. So in practice the cutoff frequency is placed far enough below the theoretical cutoff that the filter's transition band is contained below the theoretical cutoff. /wiki/Transition_band ↩