Chapter 3
Sampling Rate Conversion

U. Zölzer

Several different sampling rates are established for digital audio applications. For broadcasting, professional, and consumer audio, sampling rates of 32, 48, and 44.1 kHz are used, respectively. Moreover, other sampling rates are derived from different frame rates for film and video. In connecting systems with different uncoupled sampling rates, there is a need for sampling rate conversion. In this chapter, synchronous sampling rate conversion with rational factor upper L slash upper M for coupled clock rates and asynchronous sampling rate conversion will be discussed where the different sampling rates are not synchronized with each other.

3.1 Basics

Sampling rate conversion consists of upsampling and downsampling and anti‐imaging and antialiasing filtering [Cro83, Vai93, Fli00, Opp99]. The discrete‐time Fourier transform of the sampled signal x left-parenthesis n right-parenthesis with sampling frequency f Subscript upper S Baseline equals 1 slash upper T (omega Subscript upper S Baseline equals 2 pi f Subscript upper S) is given by

(3.1)upper X left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis equals StartFraction 1 Over upper T EndFraction sigma-summation Underscript k equals negative infinity Overscript infinity Endscripts upper X Subscript a Baseline left-parenthesis j omega plus j k ModifyingBelow StartFraction 2 pi Over upper T EndFraction With presentation form for vertical right-brace Underscript omega Subscript upper S Baseline Endscripts right-parenthesis with normal upper Omega equals omega upper T

with the Fourier transform upper X Subscript a Baseline left-parenthesis j omega right-parenthesis of the continuous‐time signal x left-parenthesis t right-parenthesis. For ideal sampling, the condition

(3.2)upper X left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis equals StartFraction 1 Over upper T EndFraction upper X Subscript a Baseline left-parenthesis j omega right-parenthesis comma StartAbsoluteValue normal upper Omega EndAbsoluteValue less-than-or-equal-to pi

holds.

3.1.1 Upsampling and Anti‐Imaging Filtering

For upsampling, the signal

(3.3)x left-parenthesis n right-parenthesis ring em-dash bullet upper X left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis

by factor upper L between consecutive samples upper L minus 1, zero samples will be included (see Fig. 3.1). This leads to the upsampled signal

(3.4)w left-parenthesis m right-parenthesis equals Start 2 By 2 Matrix 1st Row 1st Column x left-parenthesis StartFraction m Over upper L EndFraction right-parenthesis 2nd Column m equals 0 comma plus-or-minus upper L comma plus-or-minus 2 upper L comma period period period comma 2nd Row 1st Column 0 2nd Column otherwise comma EndMatrix

with sampling frequency f prime Subscript upper S Baseline equals 1 slash upper T Superscript prime Baseline equals upper L dot f Subscript upper S Baseline equals upper L slash upper T (normal upper Omega prime equals normal upper Omega slash upper L) and the corresponding Fourier transform

(3.5)upper W left-parenthesis e Superscript j normal upper Omega Super Superscript prime Superscript Baseline right-parenthesis equals sigma-summation Underscript m equals negative infinity Overscript infinity Endscripts w left-parenthesis m right-parenthesis e Superscript minus j m normal upper Omega Super Superscript prime Superscript Baseline equals sigma-summation Underscript m equals negative infinity Overscript infinity Endscripts x left-parenthesis m right-parenthesis e Superscript minus j m upper L normal upper Omega Super Superscript prime Superscript Baseline equals upper X left-parenthesis e Superscript j upper L normal upper Omega Super Superscript prime Superscript Baseline right-parenthesis period

The suppression of the image spectra is achieved by anti‐imaging filtering of w left-parenthesis m right-parenthesis with h left-parenthesis m right-parenthesis, such that the output signal is given by

(3.6)StartLayout 1st Row 1st Column y left-parenthesis m right-parenthesis 2nd Column equals w left-parenthesis m right-parenthesis asterisk h left-parenthesis m right-parenthesis comma EndLayout
(3.7)StartLayout 1st Row 1st Column upper Y left-parenthesis e Superscript j normal upper Omega prime Baseline right-parenthesis 2nd Column equals upper H left-parenthesis e Superscript j normal upper Omega Super Superscript prime Superscript Baseline right-parenthesis dot upper X left-parenthesis e Superscript j normal upper Omega prime upper L Baseline right-parenthesis period EndLayout

For adjusting the signal power in the baseband, the Fourier transform of the impulse response

(3.8)upper H left-parenthesis e Superscript j normal upper Omega prime Baseline right-parenthesis equals Start 2 By 2 Matrix 1st Row 1st Column upper L 2nd Column StartAbsoluteValue normal upper Omega Superscript prime Baseline EndAbsoluteValue less-than-or-equal-to pi slash upper L comma 2nd Row 1st Column 0 2nd Column otherwise comma EndMatrix
Schematic illustration of upsampling by L and anti-imaging filtering in the time and frequency domains.

Figure 3.1 Upsampling by L and anti‐imaging filtering in the time and frequency domains.

needs a gain factor upper L in the passband, such that the output signal y left-parenthesis m right-parenthesis has the Fourier transform given by

(3.9)StartLayout 1st Row 1st Column upper Y left-parenthesis e Superscript j normal upper Omega prime Baseline right-parenthesis 2nd Column equals upper L upper X left-parenthesis e Superscript j normal upper Omega prime upper L Baseline right-parenthesis EndLayout
(3.10)StartLayout 1st Row 1st Column Blank 2nd Column equals upper L ModifyingBelow StartFraction 1 Over upper T EndFraction sigma-summation Underscript k equals negative infinity Overscript infinity Endscripts upper X Subscript a Baseline left-parenthesis j omega plus j upper L k StartFraction 2 pi Over upper T EndFraction right-parenthesis With presentation form for vertical right-brace Underscript with Eqs period 3.1 and 3.5 Endscripts EndLayout
(3.11)StartLayout 1st Row 1st Column Blank 2nd Column equals upper L StartFraction 1 Over upper L upper T prime EndFraction sigma-summation Underscript k equals negative infinity Overscript infinity Endscripts upper X Subscript a Baseline left-parenthesis j omega plus j upper L k StartFraction 2 pi Over upper L upper T prime EndFraction right-parenthesis EndLayout
(3.12)StartLayout 1st Row 1st Column Blank 2nd Column equals ModifyingBelow StartFraction 1 Over upper T Superscript prime Baseline EndFraction sigma-summation Underscript k equals negative infinity Overscript infinity Endscripts upper X Subscript a Baseline left-parenthesis j omega plus j k StartFraction 2 pi Over upper T Superscript prime Baseline EndFraction right-parenthesis With presentation form for vertical right-brace Underscript spectrum of signal with f prime Subscript upper S Baseline equals upper L f Subscript upper S Baseline Endscripts period EndLayout

The output signal represents the sampling of the input x left-parenthesis t right-parenthesis with sampling frequency f prime Subscript upper S Baseline equals upper L f Subscript upper S.

3.1.2 Downsampling and Antialiasing Filtering

For downsampling a signal x left-parenthesis n right-parenthesis by upper M, the signal has to be band limited to pi slash upper M to avoid aliasing after the downsampling operation (see Fig. 3.2). Band limiting is achieved by filtering with upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis according to

(3.13)StartLayout 1st Row 1st Column w left-parenthesis m right-parenthesis 2nd Column equals x left-parenthesis m right-parenthesis asterisk h left-parenthesis m right-parenthesis comma EndLayout
(3.14)StartLayout 1st Row 1st Column upper W left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis 2nd Column equals upper X left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis dot upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis comma EndLayout
(3.15)StartLayout 1st Row 1st Column upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis 2nd Column equals Start 2 By 2 Matrix 1st Row 1st Column 1 2nd Column StartAbsoluteValue normal upper Omega EndAbsoluteValue less-than-or-equal-to pi slash upper M comma 2nd Row 1st Column 0 2nd Column otherwise period EndMatrix EndLayout

Downsampling of w left-parenthesis m right-parenthesis is performed by taking every upper Mth sample, which leads to the output signal

(3.16)y left-parenthesis n right-parenthesis equals w left-parenthesis upper M n right-parenthesis

with the Fourier transform

(3.17)upper Y left-parenthesis e Superscript j normal upper Omega Super Superscript prime Superscript Baseline right-parenthesis equals StartFraction 1 Over upper M EndFraction sigma-summation Underscript l equals 0 Overscript upper M minus 1 Endscripts upper W left-parenthesis e Superscript j left-parenthesis normal upper Omega prime minus 2 pi l right-parenthesis slash upper M right-parenthesis Baseline right-parenthesis period

For the baseband spectrum (StartAbsoluteValue normal upper Omega prime EndAbsoluteValue less-than-or-equal-to pi and l equals 0), we get

(3.18)upper Y left-parenthesis e Superscript j normal upper Omega prime Baseline right-parenthesis equals StartFraction 1 Over upper M EndFraction upper H left-parenthesis e Superscript j normal upper Omega prime slash upper M Baseline right-parenthesis dot upper X left-parenthesis e Superscript j normal upper Omega prime slash upper M Baseline right-parenthesis equals StartFraction 1 Over upper M EndFraction upper X left-parenthesis e Superscript j normal upper Omega prime slash upper M Baseline right-parenthesis StartAbsoluteValue normal upper Omega Superscript prime Baseline EndAbsoluteValue less-than-or-equal-to pi

and for the Fourier transform of the output signal, we can derive

(3.19)StartLayout 1st Row 1st Column upper Y left-parenthesis e Superscript j normal upper Omega prime Baseline right-parenthesis 2nd Column equals StartFraction 1 Over upper M EndFraction upper X left-parenthesis e Superscript j normal upper Omega prime slash upper M Baseline right-parenthesis equals StartFraction 1 Over upper M EndFraction ModifyingBelow StartFraction 1 Over upper T EndFraction sigma-summation Underscript k equals negative infinity Overscript infinity Endscripts upper X Subscript a Baseline left-parenthesis j omega plus j k StartFraction 2 pi Over upper M upper T EndFraction right-parenthesis With presentation form for vertical right-brace Underscript with Eq period 3.1 Endscripts EndLayout
Schematic illustration of antialiasing filtering and downsampling by M in the time and frequency domains.

Figure 3.2 Antialiasing filtering and downsampling by M in the time and frequency domains.

(3.20)StartLayout 1st Row 1st Column Blank 2nd Column equals ModifyingBelow StartFraction 1 Over upper T Superscript prime Baseline EndFraction sigma-summation Underscript k equals negative infinity Overscript infinity Endscripts upper X Subscript a Baseline left-parenthesis j omega plus j k StartFraction 2 pi Over upper T Superscript prime Baseline EndFraction right-parenthesis With presentation form for vertical right-brace Underscript spectrum of signal with f prime Subscript upper S Baseline equals f Subscript upper S Baseline slash upper M Endscripts comma EndLayout

which represents a sampled signal y left-parenthesis n right-parenthesis with f prime Subscript upper S Baseline equals f Subscript upper S Baseline slash upper M.

3.2 Synchronous Conversion

Sampling rate conversion for coupled sampling rates by a rational factor upper L slash upper M can be performed by the system shown in Fig. 3.3. After upsampling by a factor upper L, anti‐imaging filtering at upper L f Subscript upper S is done followed by downsampling by factor upper M. Because after upsampling and filtering only every upper Mth sample is used, it is possible to develop efficient algorithms that reduce the complexity. In this respect, two methods are in use; one is based on a time‐domain interpretation [Cro83] and the other [Hsi87] uses Z‐domain fundamentals. Owing to its computational efficiency, only the method in the Z‐domain will be considered.

Schematic illustration of sampling rate conversion by factor L/M.

Figure 3.3 Sampling rate conversion by factor L/M.

Starting with the finite impulse response h left-parenthesis n right-parenthesis of length upper N and its Z‐transform

(3.21)upper H left-parenthesis z right-parenthesis equals sigma-summation Underscript n equals 0 Overscript upper N minus 1 Endscripts h left-parenthesis n right-parenthesis z Superscript negative n Baseline comma

the polyphase representation [Cro83, Vai93, Fli00] with upper M components can be expressed as

(3.23)with e Subscript k Baseline left-parenthesis n right-parenthesis equals h left-parenthesis n upper M plus k right-parenthesis comma k equals 0 comma 1 comma period period period comma upper M minus 1

or

(3.25)with r Subscript k Baseline left-parenthesis n right-parenthesis equals h left-parenthesis n upper M minus k right-parenthesis comma k equals 0 comma 1 comma period period period comma upper M minus 1 period

The polyphase decomposition as given in Eqs. (3.22) and (3.24) is denoted as type 1 and 2, respectively. The type‐1 polyphase decomposition corresponds to a commutator model in the anticlockwise direction, whereas the type 2 is in the clockwise direction. The relationship between upper R left-parenthesis z right-parenthesis and upper E left-parenthesis z right-parenthesis is described by

(3.26)upper R Subscript k Baseline left-parenthesis z right-parenthesis equals upper E Subscript upper M minus 1 minus k Baseline left-parenthesis z right-parenthesis period

With the help of the identities [Vai93] shown in Fig. 3.4 and the decomposition (Euclid's theorem)

it is possible to move the inner delay elements of Fig. 3.5. Equation (3.27) is valid if upper M and upper L are prime numbers. In a cascade of upsampling and downsampling, the order of functional blocks can be exchanged (see Fig. 3.5b).

Schematic illustration of identities for sampling rate conversion.

Figure 3.4 Identities for sampling rate conversion.

The use of polyphase decomposition can be demonstrated with the help of an example for upper L equals 2 and upper M equals 3. This implies a sampling rate conversion from 48 kHz to 32 kHz. Figures 3.6 and 3.7 show two different solutions for polyphase decomposition of sampling rate conversion by 2 slash 3. Further decompositions of the upsampling decomposition of Fig. 3.7 are demonstrated in Fig. 3.8. First, interpolation is implemented with a polyphase decomposition and the delay z Superscript negative 1 is decomposed to z Superscript negative 1 Baseline equals z Superscript negative 2 Baseline z cubed. Then, the downsampler of factor 3 is moved through the adder into the two paths (Fig. 3.8b) and the delays are moved according to the identities of Fig. 3.4. In Fig. 3.8c, the upsampler is exchanged with the downsampler and in a last step (Fig. 3.8d), another polyphase decomposition of upper E 0 left-parenthesis z right-parenthesis and upper E 1 left-parenthesis z right-parenthesis is carried out. The actual filter operations upper E Subscript 0 k Baseline left-parenthesis z right-parenthesis and upper E Subscript 1 k Baseline left-parenthesis z right-parenthesis with k equals 0 comma 1 comma 2 are performed at one third of the input sampling rate.

Schematic illustration of decomposition in accordance with Euclid's theorem.

Figure 3.5 Decomposition in accordance with Euclid's theorem.

Schematic illustration of polyphase decomposition for downsampling L/M =2/3.

Figure 3.6 Polyphase decomposition for downsampling L/Mequals 2 slash 3.

Schematic illustration of polyphase decomposition for upsampling L/M =2/3.

Figure 3.7 Polyphase decomposition for upsampling L/Mequals 2 slash 3.

Schematic illustration of sampling rate conversion by factor 2/3.

Figure 3.8 Sampling rate conversion by factor 2 slash 3.

3.3 Asynchronous Conversion

Plesiochronous systems consist of partial systems with different and uncoupled sampling rates. Sampling rate conversion between such systems can be achieved through a DA conversion with the sampling rate of the first system followed by an AD conversion with the sampling rate of the second system. A digital approximation of this approach is made with a multi‐rate system [Lag81, Lag82a, Lag82b, Lag82c, Lag83, Ram82, Ram84]. Figure 3.9a shows a system for increasing the sampling rate by a factor upper L followed by an anti‐imaging filter upper H left-parenthesis z right-parenthesis and a resampling of the interpolated signal y left-parenthesis k right-parenthesis. The samples y left-parenthesis k right-parenthesis are held for a clock period (see Fig. 3.9c) and then sampled with output clock period upper T Subscript upper S Sub Subscript upper O Baseline equals 1 slash f Subscript upper S Sub Subscript upper O. The interpolation sampling rate must be increased so that the difference of two consecutive samples y left-parenthesis k right-parenthesis is smaller than the quantization step upper Q. The sample‐and‐hold function applied to y left-parenthesis k right-parenthesis suppresses the spectral images at multiples of upper L f Subscript upper S (see Fig. 3.9b). The obtained signal is a band‐limited continuous‐time signal which can be sampled with output sampling rate f Subscript upper S Sub Subscript upper O.

For the calculation of the necessary oversampling rate, the problem is considered in the frequency domain. The sinc function of a sample‐and‐hold system (see Fig. 3.9b) at frequency f overTilde equals left-parenthesis upper L minus one half right-parenthesis f Subscript upper S is given by

(3.28)upper E left-parenthesis f overTilde right-parenthesis equals StartStartFraction sine left-parenthesis StartFraction pi f overTilde Over upper L f Subscript upper S Baseline EndFraction right-parenthesis OverOver StartFraction pi f overTilde Over upper L f Subscript upper S Baseline EndFraction EndEndFraction equals StartStartFraction sine left-parenthesis StartFraction pi left-parenthesis upper L minus one half right-parenthesis f Subscript upper S Baseline Over upper L f Subscript upper S Baseline EndFraction right-parenthesis OverOver StartFraction pi left-parenthesis upper L minus one half right-parenthesis f Subscript upper S Baseline Over upper L f Subscript upper S Baseline EndFraction EndEndFraction equals StartStartFraction sine left-parenthesis pi minus StartFraction pi Over 2 upper L EndFraction right-parenthesis OverOver pi minus StartFraction pi Over 2 upper L EndFraction EndEndFraction period
Schematic illustration of approximation of DA/AD conversions.

Figure 3.9 Approximation of DA/AD conversions.

With sine left-parenthesis alpha minus beta right-parenthesis equals sine left-parenthesis alpha right-parenthesis cosine left-parenthesis beta right-parenthesis minus cosine left-parenthesis alpha right-parenthesis sine left-parenthesis beta right-parenthesis, we derive

This value of Eq. (3.29) should be lower than StartFraction upper Q Over 2 EndFraction and allows the computation of the interpolation factor upper L. For a given word length w and quantization step upper Q, the necessary interpolation rate upper L is calculated by

(3.30)StartFraction upper Q Over 2 EndFraction greater-than-or-equal-to StartFraction 1 Over 2 upper L EndFraction
(3.31)StartFraction 2 Superscript minus left-parenthesis w minus 1 right-parenthesis Baseline Over 2 EndFraction greater-than-or-equal-to StartFraction 1 Over 2 upper L EndFraction
(3.32)right-arrow with hook upper L greater-than-or-equal-to 2 Superscript w minus 1 Baseline period

For a linear interpolation between upsampled samples y left-parenthesis k right-parenthesis, we can derive

(3.33)StartLayout 1st Row 1st Column upper E left-parenthesis f overTilde right-parenthesis 2nd Column equals StartStartFraction sine squared left-parenthesis StartFraction pi f overTilde Over upper L f Subscript upper S Baseline EndFraction right-parenthesis OverOver left-parenthesis StartFraction pi f overTilde Over upper L f Subscript upper S Baseline EndFraction right-parenthesis squared EndEndFraction EndLayout
(3.34)StartLayout 1st Row 1st Column Blank 2nd Column equals StartStartFraction sine squared left-parenthesis StartFraction pi left-parenthesis upper L minus one half right-parenthesis f Subscript upper S Baseline Over upper L f Subscript upper S Baseline EndFraction right-parenthesis OverOver left-parenthesis StartFraction pi left-parenthesis upper L minus one half right-parenthesis f Subscript upper S Baseline Over upper L f Subscript upper S Baseline EndFraction right-parenthesis squared EndEndFraction EndLayout
(3.35)StartLayout 1st Row 1st Column Blank 2nd Column almost-equals StartFraction 1 Over left-parenthesis 2 upper L right-parenthesis squared EndFraction period EndLayout

With this, it is possible to reduce the necessary interpolation rate to

(3.36)upper L 1 greater-than-or-equal-to 2 Superscript StartFraction w Over 2 EndFraction minus 1 Baseline period

Figure (3.10) demonstrates this with a two‐stage block diagram. First, interpolation up to a sampling rate upper L 1 f Subscript upper S is performed by conventional filtering. In the second stage, upsampling by factor upper L 2 is done by linear interpolation. The two‐stage approach must satisfy the sampling rate upper L f Subscript upper S Baseline equals left-parenthesis upper L 1 upper L 2 right-parenthesis f Subscript upper S.

Schematic illustration of linear interpolation before virtual sample-and-hold function.

Figure 3.10 Linear interpolation before virtual sample‐and‐hold function.

The choice of the interpolation algorithm in the second stage enables the reduction of the first oversampling factor.

3.3.1 Single‐stage Methods

Direct conversion methods implement the block diagram [Lag83, Smi84, Par90, Par91a, Par91b, Ada92, Ada93] shown in Fig. 3.9a. The calculation of a discrete sample on an output grid of sampling rate f Subscript upper S Sub Subscript upper O from samples x left-parenthesis n right-parenthesis at sampling rate f Subscript upper S Sub Subscript upper I can be written as

where 0 less-than-or-equal-to alpha less-than 1. With the transfer function

(3.38)upper H Subscript alpha Baseline left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis equals e Superscript minus j alpha normal upper Omega

and the properties

(3.39)upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis equals Start 2 By 2 Matrix 1st Row 1st Column 1 2nd Column 0 less-than-or-equal-to StartAbsoluteValue normal upper Omega EndAbsoluteValue less-than-or-equal-to normal upper Omega Subscript c Baseline comma 2nd Row 1st Column 0 2nd Column normal upper Omega Subscript c Baseline less-than StartAbsoluteValue normal upper Omega EndAbsoluteValue less-than pi comma EndMatrix

the impulse response is given by

(3.40)h Subscript alpha Baseline left-parenthesis n right-parenthesis equals h left-parenthesis n minus alpha right-parenthesis equals StartFraction normal upper Omega Subscript c Baseline Over pi EndFraction StartFraction sine left-bracket normal upper Omega Subscript c Baseline left-parenthesis n minus alpha right-parenthesis right-bracket Over normal upper Omega Subscript c Baseline left-parenthesis n minus alpha right-parenthesis EndFraction period

From Eq. (3.37), we can express the delayed signal

(3.41)StartLayout 1st Row 1st Column x left-parenthesis n minus alpha right-parenthesis 2nd Column equals sigma-summation Underscript m equals negative infinity Overscript infinity Endscripts x left-parenthesis m right-parenthesis h left-parenthesis n minus alpha minus m right-parenthesis EndLayout

as the convolution between x left-parenthesis n right-parenthesis and h left-parenthesis n minus alpha right-parenthesis. Figure 3.11 illustrates this convolution in the time domain for a fixed alpha. Fig. 3.12 shows the coefficients h left-parenthesis n minus alpha Subscript i Baseline right-parenthesis for discrete alpha Subscript i (i equals 0 comma ellipsis comma 3) which are obtained from the intersection of the sinc function with the discrete samples x left-parenthesis n right-parenthesis.

To limit the convolution sum, the impulse response is windowed, which gives

(3.43)h Subscript upper W Baseline left-parenthesis n minus alpha Subscript i Baseline right-parenthesis equals w left-parenthesis n right-parenthesis StartFraction normal upper Omega Subscript c Baseline Over pi EndFraction StartFraction sine left-bracket normal upper Omega Subscript c Baseline left-parenthesis n minus alpha Subscript i Baseline right-parenthesis right-bracket Over normal upper Omega Subscript c Baseline left-parenthesis n minus alpha Subscript i Baseline right-parenthesis EndFraction n equals 0 comma ellipsis comma 2 upper M period
Schematic illustration of convolution sum (3.42) in the time domain.

Figure 3.11 Convolution sum (3.42) in the time domain.

Schematic illustration of convolution sum (3.42) for different αi.

Figure 3.12 Convolution sum (3.42) for different alpha Subscript i.

From this, the sample estimate

(3.44)ModifyingAbove x With caret left-parenthesis n minus alpha Subscript i Baseline right-parenthesis equals sigma-summation Underscript m equals negative upper M Overscript upper M Endscripts x left-parenthesis m right-parenthesis h Subscript upper W Baseline left-parenthesis n minus alpha Subscript i Baseline minus m right-parenthesis

results. A graphical interpretation of the time‐variant impulse response which depends on alpha Subscript i is shown in Fig. 3.13. The discrete segmentation between two input samples into upper N intervals leads to upper N partial impulse responses of length 2 upper M plus 1.

Schematic illustration of sinc function and different impulse responses.

Figure 3.13 Sinc function and different impulse responses.

If the output sampling rate is smaller than the input sampling rate (f Subscript upper S Sub Subscript upper O Baseline less-than f Subscript upper S Sub Subscript upper I), band limiting (antialiasing) to the output sampling rate has to be done. This can be achieved with factor beta equals StartFraction f Subscript upper S Sub Subscript upper O Subscript Baseline Over f Subscript upper S Sub Subscript upper I Subscript Baseline EndFraction and leads, with the the scaling theorem of the Fourier transform, to

(3.45)h left-parenthesis n minus alpha right-parenthesis equals StartFraction beta normal upper Omega Subscript c Baseline Over pi EndFraction StartFraction sine left-bracket beta normal upper Omega Subscript c Baseline left-parenthesis n minus alpha right-parenthesis right-bracket Over beta normal upper Omega Subscript c Baseline left-parenthesis n minus alpha right-parenthesis EndFraction period

This time scaling of the impulse response has the consequence that the number of coefficients of the time‐variant partial impulse responses is increased. The number of required states also increases. Figure 3.14 shows the time‐scaled impulse response and elucidates the increase of the number upper M of the coefficients.

Schematic illustration of time-scaled impulse response.

Figure 3.14 Time‐scaled impulse response.

3.3.2 Multistage Methods

The basis of a multistage conversion method [Lag81, Lag82a, Lag82b, Lag82c, Kat85, Kat86] is shown in Fig. 3.15a and will be described in the frequency domain, as shown in Fig. 3.15b–d. The increase of the sampling rate up to the rate upper L f Subscript upper S before the sample‐and‐hold function is done in four stages. In the first two stages, the sampling rate is increased by a factor of two followed by an anti‐imaging filter (see Fig. 3.15b,c), which leads to a four‐times oversampled spectrum (Fig. 3.15d). In the third stage, the signal is upsampled by a factor of 32 and the image spectra are suppressed (see Fig. 3.15d,e). In the fourth stage (Fig. 3.15e), the signal is upsampled to a sampling rate of upper L f Subscript upper S by a factor of 256 and a linear interpolator. The sinc Superscript 2‐function of the linear interpolator suppresses the images at multiples of 128 f Subscript upper S up to the spectrum at upper L f Subscript upper S. The virtual sample‐and‐hold function is shown in Fig. 3.15f, where resampling at the output sampling rate is performed. A direct conversion of this kind of cascaded interpolation structure requires anti‐imaging filtering after every upsampling with the corresponding sampling rate. Although the necessary filter order decreases owing to a decrease of requirements for filter design, an implementation of the filters in the third and fourth stages is not possible directly. After a suggestion by Lagadec [Lag82c], the measurement of the ratio of input to output rate is used to control the polyphase filters in the third and fourth stages (see Fig. 3.16a, CON = control) to reduce complexity. Figure 3.16b–d illustrate an interpretation in the time domain. Figure 3.16b shows the interpolation of three samples between two input samples x left-parenthesis n right-parenthesis with the help of the first and second interpolation stages. The abscissa represents the intervals of the input sampling rate and the sampling rate is increased by a factor of four. In Fig. 3.16c, the four‐times oversampled signal is shown. The abscissa shows the four‐ times oversampled output grid. It is assumed that the output sample y left-parenthesis m equals 0 right-parenthesis and input sample x left-parenthesis n equals 0 right-parenthesis are identical. The output sample y left-parenthesis m equals 1 right-parenthesis is now determined in such a form that, with the interpolator in the third stage, only two polyphase filters just before and after the output sample need to be calculated. Hence, only two out of a total of 31 possible polyphase filters are calculated in the third stage. Fig. 3.16d shows these two polyphase output samples. Between these two samples, the output sample y left-parenthesis m equals 1 right-parenthesis is obtained with a linear interpolation on a grid of 255 values.

Schematic illustration of multistage conversion - frequency-domain interpretation.

Figure 3.15 Multistage conversion – frequency‐domain interpretation.

Instead of the third and fourth stages, special interpolation methods can be used to calculate the output y left-parenthesis m right-parenthesis directly from the four‐times oversampled input signal (see Fig. 3.17) [Sti91, Cuc91, Liu92]. The upsampling factor upper L 3 equals 2 Superscript w minus 3 for the last stage is calculated according to upper L equals 2 Superscript w minus 1 Baseline equals upper L 1 upper L 2 upper L 3 equals 2 squared upper L 3. Section 3.4 is devoted to different interpolation methods which allow a real‐time calculation of filter coefficients. This can be interpreted as time‐variant filters in which the filter coefficients are derived from the ratio of sampling rates. The calculation of one filter coefficient set for the output sample at the output rate is done by measuring the ratio of input to output sampling rate as described in the next section.

Schematic illustration of time-domain interpretation.

Figure 3.16 Time‐domain interpretation.

Schematic illustration of sampling rate conversion with interpolation for calculating coefficients of a time-variant interpolation filter.

Figure 3.17 Sampling rate conversion with interpolation for calculating coefficients of a time‐variant interpolation filter.

3.3.3 Control of Interpolation Filters

The measurement of the ratio of input and output sampling rates is used to control the interpolation filters [Lag82a]. By increasing the sampling rate by a factor of upper L, the input sampling period is divided into upper L equals 2 Superscript w minus 1 Baseline equals 2 Superscript 15 parts for a signal word‐length of w equals 16 bits. The time instant of the output sample is calculated on this grid with the help of the measured ratio of sampling periods upper T Subscript upper S Sub Subscript upper O Baseline slash upper T Subscript upper S Sub Subscript upper I as follows.

A counter is clocked with upper L f Subscript upper S Sub Subscript upper I and reset by every new input sampling clock. A sawtooth curve of the counter output versus time is obtained, as shown in Fig. 3.18. The counter runs from 0 to upper L minus 1 during one input sampling period. At time t Subscript i minus 2, which corresponds to counter output z Subscript i minus 2, the output sampling period upper T Subscript upper S Sub Subscript upper O starts, and stops at time t Subscript i minus 1 with counter output z Subscript i minus 1. The difference between both counter measurements allows for the calculation of the output sampling period upper T Subscript upper S Sub Subscript upper O with a resolution of upper L f Subscript upper S Sub Subscript upper I.

Schematic illustration of calculation of ti.

Figure 3.18 Calculation of t Subscript i.

The new counter measurement is added to the difference of the previous counter measurements. As a result, the new counter measurement is obtained as

(3.46)t Subscript i Baseline equals left-parenthesis t Subscript i minus 1 Baseline plus upper T Subscript upper S Sub Subscript upper O Subscript Baseline right-parenthesis circled-plus upper T Subscript upper S Sub Subscript upper I Subscript Baseline period

The modulo operation can be carried out with an accumulator of word length w minus 1 equals 15. The resulting time t Subscript i determines the time instant of the output sample at the output sampling rate and therefore the choice of the polyphase filter in a single‐stage conversion or the time instant for a multistage conversion.

The measurement of upper T Subscript upper S Sub Subscript upper O Baseline slash upper T Subscript upper S Sub Subscript upper I is illustrated in Fig. 3.19.

  • The input sampling rate f Subscript upper S Sub Subscript upper I is increased to upper M Subscript upper Z Baseline f Subscript upper S Sub Subscript upper I using a frequency multiplier, where upper M Subscript upper Z Baseline equals 2 Superscript w. This increased input clock by the factor upper M Subscript upper Z triggers a w‐bit counter. The counter output z is evaluated every upper M Subscript upper O output sampling periods.
  • Counting of upper M Subscript upper O output sampling periods.
  • Simultaneous counting of the upper M Subscript upper I input sampling periods.

The time intervals d 1 and d 2 (see Fig. 3.19) are given by

(3.47)d 1 equals upper M Subscript upper I Baseline upper T Subscript upper S Sub Subscript upper I Subscript Baseline plus StartFraction z minus z 0 Over upper M Subscript upper Z Baseline EndFraction upper T Subscript upper S Sub Subscript upper I Subscript Baseline equals left-parenthesis upper M Subscript upper I Baseline plus StartFraction z minus z 0 Over upper M Subscript upper Z Baseline EndFraction right-parenthesis upper T Subscript upper S Sub Subscript upper I Subscript Baseline comma
(3.48)d 2 equals upper M Subscript upper O Baseline upper T Subscript upper S Sub Subscript upper O Subscript Baseline comma
Schematic illustration of measurement of TSO/TSI.

Figure 3.19 Measurement of normal upper T Subscript normal upper S Sub Subscript normal upper O Baseline slash normal upper T Subscript normal upper S Sub Subscript normal upper I.

and with the requirement d 1 equals d 2, we can write

(3.49)StartLayout 1st Row 1st Column upper M Subscript upper O Baseline upper T Subscript upper S Sub Subscript upper O 2nd Column equals 3rd Column left-parenthesis upper M Subscript upper I Baseline plus StartFraction z minus z 0 Over upper M Subscript upper Z Baseline EndFraction right-parenthesis upper T Subscript upper S Sub Subscript upper I 2nd Row 1st Column StartFraction upper T Subscript upper S Sub Subscript upper O Subscript Baseline Over upper T Subscript upper S Sub Subscript upper I Subscript Baseline EndFraction 2nd Column equals 3rd Column StartFraction upper M Subscript upper I Baseline plus left-parenthesis z minus z 0 right-parenthesis slash upper M Subscript upper Z Baseline Over upper M Subscript upper O Baseline EndFraction equals StartFraction upper M Subscript upper Z Baseline upper M Subscript upper I Baseline plus left-parenthesis z minus z 0 right-parenthesis Over upper M Subscript upper Z Baseline upper M Subscript upper O Baseline EndFraction period EndLayout
  • Example 1: w equals 0 right-arrow upper M Subscript upper Z Baseline equals 1,
    (3.50)StartFraction upper T Subscript upper S Sub Subscript upper O Subscript Baseline Over upper T Subscript upper S Sub Subscript upper I Subscript Baseline EndFraction equals StartFraction upper M Subscript upper I Baseline Over 2 Superscript 15 Baseline EndFraction period

    With a precision of 15 bits, the averaging number is chosen as upper M Subscript upper O Baseline equals 2 Superscript 15 and the number upper M Subscript upper I has to be determined.

  • Example 2: w equals 8 right-arrow upper M Subscript upper Z Baseline equals 2 Superscript 8,
    (3.51)StartFraction upper T Subscript upper S Sub Subscript upper O Subscript Baseline Over upper T Subscript upper S Sub Subscript upper I Subscript Baseline EndFraction equals StartFraction 2 Superscript 8 Baseline upper M Subscript upper I Baseline plus left-parenthesis z minus z 0 right-parenthesis Over 2 Superscript 8 Baseline 2 Superscript 7 Baseline EndFraction period

    With a precision of 15 bits, the averaging number is chosen as upper M Subscript upper O Baseline equals 2 Superscript 7 and the number upper M Subscript upper I, as well as the counter outputs, has to be determined.

The sampling rates at the input and output of a sampling rate converter can be calculated by evaluating the 8‐bit increment of the counter for each output clock with

(3.52)z equals StartFraction upper T Subscript upper S Sub Subscript upper O Subscript Baseline Over upper T Subscript upper S Sub Subscript upper I Subscript Baseline EndFraction upper M Subscript upper Z Baseline equals StartFraction f Subscript upper S Sub Subscript upper I Subscript Baseline Over f Subscript upper S Sub Subscript upper O Subscript Baseline EndFraction 256 comma

as seen from Table 3.1.

Table 3.1 Counter increments for different sampling rate conversions.

Conversion/kHz8‐bit counter increment
32right-arrow48170
44.1right-arrow48235
32right-arrow44.1185
48right-arrow44.1278
48right-arrow32384
44.1right-arrow32352

3.4 Interpolation Methods

In the following sections, special interpolation methods are discussed. These methods enable the calculation of time‐variant filter coefficients for sampling rate conversion and need an oversampled input sequence as well as the time instant of the output sample. A convolution of the oversampled input sequence with time‐variant filter coefficients gives the output sample at the output sampling rate. This real‐time computation of filter coefficients is not based on popular filter design methods. On the contrary, methods are presented for calculating filter coefficient sets for every input clock cycle where the filter coefficients are derived from the distance of output samples to the time grid of the oversampled input sequence.

3.4.1 Polynomial Interpolation

The aim of a polynomial interpolation [Liu92] is to determine a polynomial

(3.53)p Subscript upper N Baseline left-parenthesis x right-parenthesis equals sigma-summation Underscript i equals 0 Overscript upper N Endscripts a Subscript i Baseline x Superscript i

of upper Nth order representing exactly a function f left-parenthesis x right-parenthesis at upper N plus 1 uniformly spaced x Subscript i, i.e. p Subscript upper N Baseline left-parenthesis x Subscript i Baseline right-parenthesis equals f left-parenthesis x Subscript i Baseline right-parenthesis equals y Subscript i for i equals 0 comma ellipsis comma upper N. This can be written as a set of linear equations:

(3.54)Start 4 By 5 Matrix 1st Row 1st Column 1 2nd Column x 0 3rd Column x 0 squared 4th Column midline-horizontal-ellipsis 5th Column x 0 Superscript upper N Baseline 2nd Row 1st Column 1 2nd Column x 1 3rd Column x 1 squared 4th Column midline-horizontal-ellipsis 5th Column x 1 Superscript upper N Baseline 3rd Row 1st Column vertical-ellipsis 2nd Column vertical-ellipsis 3rd Column vertical-ellipsis 4th Column Blank 5th Column vertical-ellipsis 4th Row 1st Column 1 2nd Column x Subscript upper N Baseline 3rd Column x Subscript upper N Superscript upper N Baseline 4th Column midline-horizontal-ellipsis 5th Column x Subscript upper N Superscript upper N Baseline EndMatrix Start 4 By 1 Matrix 1st Row a 0 2nd Row a 1 3rd Row vertical-ellipsis 4th Row a Subscript upper N Baseline EndMatrix equals Start 4 By 1 Matrix 1st Row y 0 2nd Row y 1 3rd Row vertical-ellipsis 4th Row y Subscript upper N Baseline EndMatrix period

The polynomial coefficients a Subscript i as functions of y 0 ellipsis y Subscript upper N are obtained with the help of Cramer's Rule according to

(3.55)a Subscript i Baseline equals ContinuedFraction StartLayout 1st Row i th column 2nd Row Start 4 By 7 Matrix 1st Row 1st Column 1 2nd Column x 0 3rd Column x 0 squared 4th Column midline-horizontal-ellipsis 5th Column y 0 6th Column midline-horizontal-ellipsis 7th Column x 0 Superscript upper N Baseline 2nd Row 1st Column 1 2nd Column x 1 3rd Column x 1 squared 4th Column midline-horizontal-ellipsis 5th Column y 1 6th Column midline-horizontal-ellipsis 7th Column x 1 Superscript upper N Baseline 3rd Row 1st Column vertical-ellipsis 2nd Column vertical-ellipsis 3rd Column vertical-ellipsis 4th Column Blank 5th Column vertical-ellipsis 6th Column midline-horizontal-ellipsis 7th Column vertical-ellipsis 4th Row 1st Column 1 2nd Column x Subscript upper N Baseline 3rd Column x Subscript upper N Superscript 2 Baseline 4th Column midline-horizontal-ellipsis 5th Column y Subscript upper N Baseline 6th Column midline-horizontal-ellipsis 7th Column x Subscript upper N Superscript upper N Baseline EndMatrix 3rd Row Blank EndLayout Over StartLayout 1st Row Blank 2nd Row Start 4 By 5 Matrix 1st Row 1st Column 1 2nd Column x 0 3rd Column x 0 squared 4th Column midline-horizontal-ellipsis 5th Column x 0 Superscript upper N Baseline 2nd Row 1st Column 1 2nd Column x 1 3rd Column x 1 squared 4th Column midline-horizontal-ellipsis 5th Column x 1 Superscript upper N Baseline 3rd Row 1st Column vertical-ellipsis 2nd Column vertical-ellipsis 3rd Column vertical-ellipsis 4th Column Blank 5th Column vertical-ellipsis 4th Row 1st Column 1 2nd Column x Subscript upper N Baseline 3rd Column x Subscript upper N Superscript 2 Baseline 4th Column midline-horizontal-ellipsis 5th Column x Subscript upper N Superscript upper N Baseline EndMatrix EndLayout comma i equals 0 comma 1 comma ellipsis comma upper N period

For uniformly spaced x Subscript i Baseline equals i with i equals 0 comma 1 comma ellipsis comma upper N, the interpolation of an output sample with distance alpha gives

(3.56)y left-parenthesis n plus alpha right-parenthesis equals sigma-summation Underscript i equals 0 Overscript upper N Endscripts a Subscript i Baseline left-parenthesis n plus alpha right-parenthesis Superscript i Baseline period

To determine the relationship between the output sample y left-parenthesis n plus alpha right-parenthesis and y Subscript i, a set of time‐variant coefficients c Subscript i needs to be determined such that

(3.57)StartLayout 1st Row y left-parenthesis n plus alpha right-parenthesis equals sigma-summation Underscript i equals negative upper N slash 2 Overscript upper N slash 2 Endscripts c Subscript i Baseline left-parenthesis alpha right-parenthesis y left-parenthesis n plus i right-parenthesis period EndLayout

The calculation of time‐variant coefficients c Subscript i Baseline left-parenthesis alpha right-parenthesis will be illustrated by an example.

3.4.2 Lagrange Interpolation

Lagrange interpolation for upper N plus 1 samples makes use of the polynomials l Subscript i Baseline left-parenthesis x right-parenthesis which have the following properties (see Fig. 3.21):

(3.65)l Subscript i Baseline left-parenthesis x Subscript k Baseline right-parenthesis equals delta Subscript i k Baseline equals Start 2 By 2 Matrix 1st Row 1st Column 1 2nd Column i equals k comma 2nd Row 1st Column 0 2nd Column elsewhere period EndMatrix
Schematic illustration of lagrange polynomial.

Figure 3.21 Lagrange polynomial.

Based on the zeros of the polynomial l Subscript i Baseline left-parenthesis x right-parenthesis, it follows that

With l Subscript i Baseline left-parenthesis x Subscript i Baseline right-parenthesis equals 1, the coefficients are given by

(3.67)a Subscript i Baseline left-parenthesis x Subscript i Baseline right-parenthesis equals StartFraction 1 Over left-parenthesis x Subscript i Baseline minus x 0 right-parenthesis ellipsis left-parenthesis x Subscript i Baseline minus x Subscript i minus 1 Baseline right-parenthesis left-parenthesis x Subscript i Baseline minus x Subscript i plus 1 Baseline right-parenthesis ellipsis left-parenthesis x Subscript i Baseline minus x Subscript upper N Baseline right-parenthesis EndFraction period

The interpolation polynomial is expressed as

(3.68)StartLayout 1st Row 1st Column p Subscript upper N Baseline left-parenthesis x right-parenthesis 2nd Column equals 3rd Column sigma-summation Underscript i equals 0 Overscript upper N Endscripts l Subscript i Baseline left-parenthesis x right-parenthesis y Subscript i 2nd Row 1st Column Blank 2nd Column equals 3rd Column l 0 left-parenthesis x right-parenthesis y 0 plus ellipsis plus l Subscript upper N Baseline left-parenthesis x right-parenthesis y Subscript upper N Baseline period EndLayout

With a equals product Underscript j equals 0 Overscript upper N Endscripts left-parenthesis x minus x Subscript j Baseline right-parenthesis, Eq. (3.66) can be written as

(3.69)StartLayout 1st Row 1st Column l Subscript i Baseline left-parenthesis x right-parenthesis 2nd Column equals 3rd Column a Subscript i Baseline StartFraction a Over x minus x Subscript i Baseline EndFraction equals StartFraction 1 Over product Underscript j equals 0 comma j not-equals i Overscript upper N Endscripts x Subscript i Baseline minus x Subscript j Baseline EndFraction StartFraction product Underscript j equals 0 Overscript upper N Endscripts x minus x Subscript j Baseline Over x minus x Subscript i Baseline EndFraction 2nd Row 1st Column Blank 2nd Column equals 3rd Column product Underscript j equals 0 comma j not-equals i Overscript upper N Endscripts StartFraction x minus x Subscript j Baseline Over x Subscript i Baseline minus x Subscript j Baseline EndFraction period EndLayout

For uniformly spaced samples,

(3.70)x Subscript i Baseline equals x 0 plus i h comma

and with the new variable alpha, as given by

(3.71)x equals x 0 plus alpha h comma

we get

(3.72)StartFraction x minus x Subscript j Baseline Over x Subscript i Baseline minus x Subscript j Baseline EndFraction equals StartFraction left-parenthesis x 0 plus alpha h right-parenthesis minus left-parenthesis x 0 plus j h right-parenthesis Over left-parenthesis x 0 plus i h right-parenthesis minus left-parenthesis x 0 plus j h right-parenthesis EndFraction equals StartFraction alpha minus j Over i minus j EndFraction

and hence

(3.73)l Subscript i Baseline left-parenthesis x left-parenthesis alpha right-parenthesis right-parenthesis equals product Underscript j equals 0 comma j not-equals i Overscript upper N Endscripts StartFraction alpha minus j Over i minus j EndFraction period

For even upper N, we can write

(3.74)l Subscript i Baseline left-parenthesis x left-parenthesis alpha right-parenthesis right-parenthesis equals product Underscript j equals minus StartFraction upper N Over 2 EndFraction comma j not-equals i Overscript StartFraction upper N Over 2 EndFraction Endscripts StartFraction alpha minus j Over i minus j EndFraction

and for odd upper N,

(3.75)l Subscript i Baseline left-parenthesis x left-parenthesis alpha right-parenthesis right-parenthesis equals product Underscript j equals minus StartFraction upper N minus 1 Over 2 EndFraction comma j not-equals i Overscript StartFraction upper N plus 1 Over 2 EndFraction Endscripts StartFraction alpha minus j Over i minus j EndFraction period

The interpolation of an output sample is given by

(3.76)StartLayout 1st Row y left-parenthesis n plus alpha right-parenthesis equals sigma-summation Underscript i equals negative upper N slash 2 Overscript upper N slash 2 Endscripts l Subscript i Baseline left-parenthesis alpha right-parenthesis y left-parenthesis n plus i right-parenthesis period EndLayout

3.4.3 Spline Interpolation

The interpolation using piecewise‐defined functions that only exist over finite intervals is called spline interpolation [Cuc91]. The goal is to compute the sample y left-parenthesis n plus alpha right-parenthesis equals sigma-summation Underscript i equals negative upper N slash 2 Overscript upper N slash 2 Endscripts b Subscript i Superscript upper N Baseline left-parenthesis alpha right-parenthesis y left-parenthesis n plus i right-parenthesis from weighted samples y left-parenthesis n plus i right-parenthesis.

A B‐spline upper M Subscript k Superscript upper N Baseline left-parenthesis x right-parenthesis of upper Nth order using m plus 1 samples is defined in the interval left-bracket x Subscript k Baseline comma ellipsis comma x Subscript k plus m Baseline right-bracket by

with the truncated power functions

(3.78)phi Subscript i Baseline left-parenthesis x right-parenthesis equals left-parenthesis x minus x Subscript i Baseline right-parenthesis Subscript plus Superscript upper N Baseline equals Start 2 By 2 Matrix 1st Row 1st Column 0 2nd Column x less-than x Subscript i Baseline comma 2nd Row 1st Column left-parenthesis x minus x Subscript i Baseline right-parenthesis Superscript upper N Baseline 2nd Column x greater-than-or-equal-to x Subscript i Baseline period EndMatrix

In the following, upper M 0 Superscript upper N Baseline left-parenthesis x right-parenthesis equals sigma-summation Underscript i equals 0 Overscript m Endscripts a Subscript i Baseline phi Subscript i Baseline left-parenthesis x right-parenthesis will be considered for k equals 0, where upper M 0 Superscript upper N Baseline left-parenthesis x right-parenthesis equals 0 for x less-than x 0 and upper M 0 Superscript upper N Baseline left-parenthesis x right-parenthesis equals 0 for x greater-than-or-equal-to x Subscript m. Figure 3.22 shows the truncated power functions and the B‐spline of upper Nth order. With the definition of the truncated power functions, we can write

(3.79)StartLayout 1st Row 1st Column upper M 0 Superscript upper N Baseline left-parenthesis x right-parenthesis 2nd Column equals 3rd Column a 0 phi 0 left-parenthesis x right-parenthesis plus a 1 phi 1 left-parenthesis x right-parenthesis plus ellipsis plus a Subscript m Baseline phi Subscript m Baseline left-parenthesis x right-parenthesis 2nd Row 1st Column Blank 2nd Column equals 3rd Column a 0 left-parenthesis x minus x 0 right-parenthesis Subscript plus Superscript upper N plus a 1 left-parenthesis x minus x 1 right-parenthesis Subscript plus Superscript upper N plus ellipsis plus a Subscript m Baseline left-parenthesis x minus x Subscript m Baseline right-parenthesis Subscript plus Superscript upper N EndLayout

and after some calculations, we get

Schematic illustration of truncated power functions and the B-spline of Nth order.

Figure 3.22 Truncated power functions and the B‐spline of Nth order.

With the condition upper M 0 Superscript upper N Baseline left-parenthesis x right-parenthesis equals 0 for x greater-than-or-equal-to x Subscript m, the following set of linear equations can be written with Eq. (3.80) and the coefficients of the powers of x:

(3.81)Start 5 By 4 Matrix 1st Row 1st Column 1 2nd Column 1 3rd Column midline-horizontal-ellipsis 4th Column 1 2nd Row 1st Column x 0 2nd Column x 1 3rd Column midline-horizontal-ellipsis 4th Column x Subscript m Baseline 3rd Row 1st Column x 0 squared 2nd Column x 1 squared 3rd Column midline-horizontal-ellipsis 4th Column x Subscript m Superscript 2 Baseline 4th Row 1st Column vertical-ellipsis 2nd Column vertical-ellipsis 3rd Column Blank 4th Column vertical-ellipsis 5th Row 1st Column x 0 Superscript upper N Baseline 2nd Column x 1 Superscript upper N Baseline 3rd Column midline-horizontal-ellipsis 4th Column x Subscript m Superscript upper N Baseline EndMatrix Start 5 By 1 Matrix 1st Row a 0 2nd Row a 1 3rd Row a 2 4th Row vertical-ellipsis 5th Row a Subscript m Baseline EndMatrix equals Start 5 By 1 Matrix 1st Row 0 2nd Row 0 3rd Row 0 4th Row vertical-ellipsis 5th Row 0 EndMatrix period

The homogeneous set of linear equations has nontrivial solutions for m greater-than upper N. The minimum requirement results in m equals upper N plus 1. For m equals upper N plus 1, the coefficients [Boe93] can be obtained as follows:

Setting the ith column of the determinant in the numerator of Eq. (3.82) equal to zero corresponds to deleting the column. Computing both determinants of Vandermonde matrices [Bar90] and division leads to the coefficients

and hence

(3.84)upper M 0 Superscript upper N Baseline left-parenthesis x right-parenthesis equals sigma-summation Underscript i equals 0 Overscript upper N plus 1 Endscripts StartFraction left-parenthesis x minus x Subscript i Baseline right-parenthesis Subscript plus Superscript upper N Baseline Over product Underscript j equals 0 comma i not-equals j Overscript upper N plus 1 Endscripts left-parenthesis x Subscript i Baseline minus x Subscript j Baseline right-parenthesis EndFraction period

For some k, we obtain

(3.85)upper M Subscript k Superscript upper N Baseline left-parenthesis x right-parenthesis equals sigma-summation Underscript i equals k Overscript k plus upper N plus 1 Endscripts StartFraction left-parenthesis x minus x Subscript i Baseline right-parenthesis Subscript plus Superscript upper N Baseline Over product Underscript j equals 0 comma i not-equals j Overscript upper N plus 1 Endscripts left-parenthesis x Subscript i Baseline minus x Subscript j Baseline right-parenthesis EndFraction period

Because the functions upper M Subscript k Superscript upper N Baseline left-parenthesis x right-parenthesis decrease with increasing upper N, a normalization of the form upper N Subscript k Superscript upper N Baseline left-parenthesis x right-parenthesis equals left-parenthesis x Subscript k plus upper N plus 1 Baseline minus x Subscript k Baseline right-parenthesis upper M Subscript k Superscript upper N is done, such that for equidistant samples, we get

The next example illustrates the computation of B‐splines.

A linear combination of B‐splines is called a spline. Figure 3.24 shows the interpolation of sample y left-parenthesis n plus alpha right-parenthesis for splines of second and third orders. The shifted B‐splines upper N Subscript i Superscript upper N Baseline left-parenthesis x right-parenthesis are evaluated at the vertical line representing the distance alpha. With sample y left-parenthesis n right-parenthesis and the normalized B‐splines upper N Subscript i Superscript upper N Baseline left-parenthesis x right-parenthesis, the second‐ and third‐order splines are expressed as

(3.87)y left-parenthesis n plus alpha right-parenthesis equals sigma-summation Underscript i equals negative 1 Overscript 1 Endscripts y left-parenthesis n plus i right-parenthesis upper N Subscript n minus 1 plus i Superscript 2 Baseline left-parenthesis alpha right-parenthesis comma
(3.88)y left-parenthesis n plus alpha right-parenthesis equals sigma-summation Underscript i equals negative 1 Overscript 2 Endscripts y left-parenthesis n plus i right-parenthesis upper N Subscript n minus 2 plus i Superscript 3 Baseline left-parenthesis alpha right-parenthesis period

The computation of a second‐order B‐spline at the sample index alpha is based on the symmetry properties of the B‐spline, which is depicted in Fig. 3.25. With (Eqs. 3.77) and (3.86), and with the symmetry properties shown in Fig. 3.25, the B‐splines can be written in the form of

(3.89)StartLayout 1st Row 1st Column upper N 2 squared left-parenthesis alpha right-parenthesis equals upper N 0 squared left-parenthesis alpha right-parenthesis 2nd Column equals 3rd Column 3 sigma-summation Underscript i equals 0 Overscript 3 Endscripts a Subscript i Baseline left-parenthesis alpha minus x Subscript i Baseline right-parenthesis Subscript plus Superscript 2 2nd Row 1st Column upper N 1 squared left-parenthesis 1 plus alpha right-parenthesis equals upper N 0 squared left-parenthesis 1 plus alpha right-parenthesis 2nd Column equals 3rd Column 3 sigma-summation Underscript i equals 0 Overscript 3 Endscripts a Subscript i Baseline left-parenthesis 1 plus alpha minus x Subscript i Baseline right-parenthesis Subscript plus Superscript 2 3rd Row 1st Column upper N 0 squared left-parenthesis 2 plus alpha right-parenthesis equals upper N 0 squared left-parenthesis 1 minus alpha right-parenthesis 2nd Column equals 3rd Column 3 sigma-summation Underscript i equals 0 Overscript 3 Endscripts a Subscript i Baseline left-parenthesis 2 plus alpha minus x Subscript i Baseline right-parenthesis Subscript plus Superscript 2 4th Row 1st Column Blank 2nd Column equals 3rd Column 3 sigma-summation Underscript i equals 0 Overscript 3 Endscripts a Subscript i Baseline left-parenthesis 1 minus alpha minus x Subscript i Baseline right-parenthesis Subscript plus Superscript 2 Baseline period EndLayout
Schematic illustration of third-order B-spline.

Figure 3.23 Third‐order B‐spline (normal upper N equals 3, normal m equals 4, five samples).

Schematic illustration of interpolation with B-splines of second and third orders.

Figure 3.24 Interpolation with B‐splines of second and third orders.

With Eq. (3.83), we get the coefficients

(3.90)StartLayout 1st Row 1st Column a 0 2nd Column equals 3rd Column StartFraction 1 Over left-parenthesis 0 minus 1 right-parenthesis left-parenthesis negative 2 right-parenthesis left-parenthesis negative 3 right-parenthesis EndFraction equals negative one sixth comma 2nd Row 1st Column a 1 2nd Column equals 3rd Column StartFraction 1 Over left-parenthesis 1 minus 0 right-parenthesis left-parenthesis 1 minus 2 right-parenthesis left-parenthesis 1 minus 3 right-parenthesis EndFraction equals one half comma 3rd Row 1st Column a 2 2nd Column equals 3rd Column StartFraction 1 Over left-parenthesis 2 minus 0 right-parenthesis left-parenthesis 2 minus 1 right-parenthesis left-parenthesis 2 minus 3 right-parenthesis EndFraction equals negative one half comma EndLayout

and thus

(3.91)StartLayout 1st Row 1st Column upper N 2 squared left-parenthesis alpha right-parenthesis 2nd Column equals 3rd Column 3 left-bracket a 0 alpha squared right-bracket equals minus one half alpha squared comma 2nd Row 1st Column upper N 1 squared left-parenthesis alpha right-parenthesis 2nd Column equals 3rd Column 3 left-bracket a 0 left-parenthesis 1 plus alpha right-parenthesis squared plus a 1 alpha squared right-bracket equals minus one half left-parenthesis 1 plus alpha right-parenthesis squared plus three halves alpha squared comma 3rd Row 1st Column upper N 0 squared left-parenthesis alpha right-parenthesis 2nd Column equals 3rd Column 3 left-bracket a 0 left-parenthesis 1 minus alpha right-parenthesis squared right-bracket equals minus one half left-parenthesis 1 minus alpha right-parenthesis squared period EndLayout

Owing to the symmetrical properties of the B‐splines, the time‐variant coefficients of the second‐order B‐spline can be derived as

(3.92)StartLayout 1st Row 1st Column upper N 2 squared left-parenthesis alpha right-parenthesis 2nd Column equals h left-parenthesis 1 right-parenthesis equals minus one half alpha squared comma EndLayout
(3.93)StartLayout 1st Row 1st Column upper N 1 squared left-parenthesis alpha right-parenthesis 2nd Column equals h left-parenthesis 2 right-parenthesis equals minus one half left-parenthesis 1 plus alpha right-parenthesis squared plus three halves alpha squared comma EndLayout
(3.94)StartLayout 1st Row 1st Column upper N 0 squared left-parenthesis alpha right-parenthesis 2nd Column equals h left-parenthesis 3 right-parenthesis equals minus one half left-parenthesis 1 minus alpha right-parenthesis squared period EndLayout
Schematic illustration of exploiting the symmetry properties of a second-order B-spline.

Figure 3.25 Exploiting the symmetry properties of a second‐order B‐spline.

In the same way, the time‐variant coefficients of a third‐order B‐spline are given by

(3.95)StartLayout 1st Row 1st Column upper N 3 cubed left-parenthesis alpha right-parenthesis 2nd Column equals h left-parenthesis 1 right-parenthesis equals one sixth alpha cubed comma EndLayout
(3.96)StartLayout 1st Row 1st Column upper N 2 cubed left-parenthesis alpha right-parenthesis 2nd Column equals h left-parenthesis 2 right-parenthesis equals one sixth left-parenthesis 1 plus alpha right-parenthesis cubed minus two thirds alpha cubed comma EndLayout
(3.97)StartLayout 1st Row 1st Column upper N 1 cubed left-parenthesis alpha right-parenthesis 2nd Column equals h left-parenthesis 3 right-parenthesis equals one sixth left-parenthesis 2 minus alpha right-parenthesis cubed minus two thirds left-parenthesis 1 minus alpha right-parenthesis cubed comma EndLayout
(3.98)StartLayout 1st Row 1st Column upper N 0 cubed left-parenthesis alpha right-parenthesis 2nd Column equals h left-parenthesis 4 right-parenthesis equals one sixth left-parenthesis 1 minus alpha right-parenthesis cubed period EndLayout

Higher‐order B‐splines are given by

(3.99)y left-parenthesis n plus alpha right-parenthesis equals sigma-summation Underscript i equals negative 2 Overscript 2 Endscripts y left-parenthesis n plus i right-parenthesis upper N Subscript n minus 2 plus i Superscript 4 Baseline left-parenthesis alpha right-parenthesis comma
(3.100)y left-parenthesis n plus alpha right-parenthesis equals sigma-summation Underscript i equals negative 2 Overscript 3 Endscripts y left-parenthesis n plus i right-parenthesis upper N Subscript n minus 3 plus i Superscript 5 Baseline left-parenthesis alpha right-parenthesis comma
(3.101)y left-parenthesis n plus alpha right-parenthesis equals sigma-summation Underscript i equals negative 3 Overscript 3 Endscripts y left-parenthesis n plus i right-parenthesis upper N Subscript n minus 3 plus i Superscript 6 Baseline left-parenthesis alpha right-parenthesis period

Similar sets of coefficients can be derived here as well. Figure 3.26 illustrates this for fourth‐ and sixth‐order B‐splines.

Generally, for even orders, we get

(3.102)StartLayout 1st Row y left-parenthesis n plus alpha right-parenthesis equals sigma-summation Underscript i equals negative upper N slash 2 Overscript upper N slash 2 Endscripts upper N Subscript upper N slash 2 plus i Superscript upper N Baseline left-parenthesis alpha right-parenthesis y left-parenthesis n plus i right-parenthesis comma EndLayout

and for odd orders,

(3.103)StartLayout 1st Row y left-parenthesis n plus alpha right-parenthesis equals sigma-summation Underscript i equals minus left-parenthesis upper N minus 1 right-parenthesis slash 2 Overscript left-parenthesis upper N plus 1 right-parenthesis slash 2 Endscripts upper N Subscript left-parenthesis upper N minus 1 right-parenthesis slash 2 plus i Superscript upper N Baseline left-parenthesis alpha right-parenthesis y left-parenthesis n plus i right-parenthesis period EndLayout
Schematic illustration of interpolation with B-splines of fourth and sixth order.

Figure 3.26 Interpolation with B‐splines of fourth and sixth order.

For the application of interpolation, the properties in the frequency domain are important. The zero‐order B‐spline is given by

(3.104)upper N 0 Superscript 0 Baseline left-parenthesis x right-parenthesis equals sigma-summation Underscript i equals 0 Overscript 1 Endscripts a Subscript i Baseline phi Subscript i Baseline left-parenthesis x right-parenthesis equals Start 3 By 2 Matrix 1st Row 1st Column 0 2nd Column x less-than 0 comma 2nd Row 1st Column 1 2nd Column 0 less-than-or-equal-to x less-than 1 comma 3rd Row 1st Column 0 2nd Column x greater-than-or-equal-to 1 comma EndMatrix

and the Fourier transform gives the sinc function in the frequency domain. The first‐order B‐spline, given by

(3.105)upper N 0 Superscript 1 Baseline left-parenthesis x right-parenthesis equals 2 sigma-summation Underscript i equals 0 Overscript 2 Endscripts a Subscript i Baseline phi Subscript i Baseline left-parenthesis x right-parenthesis equals Start 4 By 2 Matrix 1st Row 1st Column 0 2nd Column x less-than 0 comma 2nd Row 1st Column one half x 2nd Column 0 less-than-or-equal-to x less-than 1 comma 3rd Row 1st Column 1 minus one half x 2nd Column 1 less-than-or-equal-to x less-than 2 comma 4th Row 1st Column 0 2nd Column x greater-than-or-equal-to 2 comma EndMatrix

leads to a sinc Superscript 2 function in the frequency domain. Higher‐order B‐splines can be derived by repeated convolution [Chu92] as given by

(3.106)upper N Superscript upper N Baseline left-parenthesis x right-parenthesis equals upper N Superscript 0 Baseline left-parenthesis x right-parenthesis asterisk upper N Superscript upper N minus 1 Baseline left-parenthesis x right-parenthesis period

Thus, the Fourier transform leads to

(3.107)FT left-bracket upper N Superscript upper N Baseline left-parenthesis x right-parenthesis right-bracket equals sinc Superscript upper N plus 1 Baseline left-parenthesis f right-parenthesis period

With the help of the properties in the frequency domain, the necessary order of the spline interpolation can be determined. Owing to the attenuation properties of the sinc Superscript upper N plus 1 Baseline left-parenthesis f right-parenthesis function and the simple real‐time calculation of the coefficients, spline interpolation is well suited to time‐variant conversion in the last stage of a multistage sampling rate conversion system [Zöl94].

3.5 Exercises

1. Basics

Consider a simple sampling rate conversion system with a conversion rate of four thirds. The system consists of two upsampling blocks, each by a factor of 2, and one downsampling block by a factor of 3.

  1. What are anti‐imaging and anti‐aliasing filters and where do we need them in our system?
  2. Sketch the block diagram.
  3. Sketch the input, intermediate, and output spectra in the frequency domain.
  4. How is the amplitude affected by the up‐ and downsampling and where does it come from?
  5. Sketch the frequency response of the anti‐aliasing and anti‐imaging filters needed for this upsampling system.

2. Synchronous Conversion

Our system will now be upsampled directly by a factor of 4 and again downsampled by the factor of 3, but with linear interpolation and decimation methods. The input signal is x left-parenthesis n right-parenthesis equals sine left-parenthesis StartFraction n pi Over 6 EndFraction right-parenthesis comma n equals 0 comma ellipsis comma 48.

  1. What are the impulse responses of the two interpolation filters? Sketch their magnitude responses.
  2. Plot the signals (input, intermediate, and output signal) in the time domain using Matlab.
  3. What is the delay resulting from the causal interpolation/decimation filters?
  4. Show the error introduced by this interpolation/decimation method in the frequency domain.

3. Polyphase Representation

Now we extend our system using a polyphase decomposition of the interpolation/decimation filters.

  1. Sketch the idea of polyphase decomposition using a block diagram. What is the benefit of such decomposition?
  2. Calculate the polyphase filters for up‐ and downsampling (using interpolation and decimation).
  3. Plot with Matlab all resulting signals in the time and frequency domains.

4. Asynchronous Conversion

  1. What is the basic concept of asynchronous sampling rate conversion?
  2. Sketch the block diagram and discuss the individual operations.
  3. What is the necessary oversampling factor upper L for a 20‐bit resolution?
  4. How can we simplify the oversampling operations?
  5. How can we make use of polyphase filtering?
  6. Why are half‐band filters an efficient choice for the upsampling operation?
  7. Which parameters determine the interpolation algorithms in the last stage of the conversion?

References

  1. [Ada92] R. Adams, T. Kwan: VLSI Architectures for Asynchronous Sample‐Rate Conversion, Proc. 93rd AES Convention, San Francisco, Preprint No. 3355, October 1992.
  2. [Ada93] R. Adams, T. Kwan: Theory and VLSI Implementations for Asynchronous Sample‐Rate Conversion, Proc. 94th AES Convention, Berlin, Preprint No. 3570, March 1993.
  3. [Bar90] S. Barnett: Matrices ‐ Methods and Applications, Oxford University Press, 1990.
  4. [Boe93] W. Boehm, H. Prautzsch: Numerical Methods, AK Peters/Vieweg, 1993.
  5. [Chu92] C.K. Chui (ed.): Wavelets: A Tutorial in Theory and Applications, Volume 2, Academic Press, Boston, 1992.
  6. [Cro83] R.E. Crochiere, L.R. Rabiner: Multirate Digital Signal Processing, Prentice‐Hall, Englewood Cliffs, 1983.
  7. [Cuc91] S. Cucchi, F. Desinan, G. Parladori, G. Sicuranza: DSP Implementation of Arbitrary Sampling Frequency Conversion for High Quality Sound Application, Proc. IEEE ICASSP‐91, Toronto, pp. 3609–3612, May 1991.
  8. [Fli00] N. Fliege: Multirate Digital Signal Processing, J. Wiley & Sons, Chichester, 2000.
  9. [Hsi87] C.‐C. Hsiao: Polyphase Filter Matrix for Rational Sampling Rate Conversions, Proc. IEEE ICASSP‐87, Dallas, pp. 2173–2176, April 1987.
  10. [Kat85] Y. Katsumata, O. Hamada: A Digital Audio Sampling Frequency Converter Employing New Digital Signal Processors, Proc. 79th AES Convention, New York, Preprint No. 2272, October 1985.
  11. [Kat86] Y. Katsumata, O. Hamada: An Audio Sampling Frequency Conversion Using Digital Signal Processors, Proc. IEEE ICASSP‐86, Tokyo, pp. 33–36, 1986.
  12. [Lag81] R. Lagadec, H.O. Kunz: A Universal, Digital Sampling Frequency Converter for Digital Audio, Proc. IEEE ICASSP‐81, Atlanta, pp. 595–598, April 1981.
  13. [Lag82a] R. Lagadec, D. Pelloni, D. Weiss: A Two‐Channel Professional Digital Audio Sampling Frequency Converter, Proc. 71st AES Convention, Montreux, Preprint No. 1882, March 1982.
  14. [Lag82b] D. Lagadec, D. Pelloni, D. Weiss: A 2‐Channel, 16‐Bit Digital Sampling Frequency Converter for Professional Digital Audio, Proc. IEEE ICASSP‐82, Paris, pp. 93–96, May 1982.
  15. [Lag82c] R. Lagadec: Digital Sampling Frequency Conversion, Digital Audio, Collected Papers from the AES Premier Conference, pp. 90–96, June 1982.
  16. [Lag83] R. Lagadec, D. Pelloni, A. Koch: Single‐Stage Sampling Frequency Conversion, Proc. 74th AES Convention, New York, Preprint No. 2039, October 1983.
  17. [Liu92] G.‐S. Liu, C.‐H. Wei: A New Variable Fractional Delay Filter with Nonlinear Interpolation, IEEE Trans. Circuits and Systems‐II: Analog and Digital Signal Processing, Vol. 39, No.2, pp. 123–126, February 1992.
  18. [Opp99] A.V. Oppenheim, R.W. Schafer, J.R. Buck: Discret‐time Signal Processing, Prentice‐Hall, 2nd Edition, 1999.
  19. [Par90] S. Park, R. Robles: A Real‐Time Method for Sample‐Rate Conversion from CD to DAT, Proc. IEEE Int. Conf. Consumer Electronics, Chicago, pp. 360–361, June 1990.
  20. [Par91a] S. Park: Low Cost Sample Rate Converters, Proc. NAB Broadcast Engineering Conference, Las Vegas, April 1991.
  21. [Par91b] S. Park, R. Robles: A Novel Structure for Real‐Time Digital Sample‐Rate Converters with Finite Precision Error Analysis, Proc. IEEE ICASSP‐91, Toronto, pp. 3613–3616, May 1991.
  22. [Ram82] T.A. Ramstad: Sample‐Rate Conversion by Arbitrary Ratios, Proc. IEEE ICASSP‐82, Paris, pp. 101–104, May 1982.
  23. [Ram84] T.A. Ramstad: Digital Methods for Conversion Between Arbitrary Sampling Frequencies, IEEE Transactions on Acoustics, Speech and Signal Processing, vol. ASSP‐ 32, no. 3, pp. 577–591, June 1984.
  24. [Smi84] J.O. Smith, P. Gossett: A Flexible Sampling‐Rate Conversion Method, Proc. IEEE ICASSP‐84, pp. 19.4.1–19.4.4, 1984.
  25. [Sti91] E.F. Stikvoort: Digital Sampling Rate Converter with Interpolation in Continuous Time, Proc. 90th AES Convention, Paris, Preprint No. 3018, Feb. 1991.
  26. [Vai93] P.P. Vaidyanathan: Multirate Systems and Filter Banks, Prentice‐Hall, Englewood Cliffs, 1993.
  27. [Zöl94] U. Zölzer, T. Boltze: Interpolation Algorithms: Theory and Application, Proc. 97th AES Convention, San Francisco, Preprint No. 3898, November 1994.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset