Advanced Implementation and Realization of TFDs

In Time-Frequency Signal Analysis and Processing (Second Edition), 2016

6.6.3.2 Algorithm: Decimated TFD with Doppler-independent kernel

This algorithm, however, differs from the separable and nonseparable algorithms as the decimated TFD is of the form ρ[n i ,bk], where {n i } is any combination of the set {0,1,…,N − 1}. Thus, we can select any combination of time slices and manipulate the frequency sampling rate by the integer b.

Input:

Analytic signal z[n] of length 2N ; frequency-decimation factor b (integer); subset of time samples {n i |1 ≤ iU}; lag-window g 2[m] of length P.

Output:

U × (N freq/b) TFD ρ[n i ,bk].

1.

Let N fh = ⌈N freq/(2b)⌉ and P h = ⌈P/2⌉; iterate over i = 1,2,…,U:

(a)

Generate time slice: R i [m] = z[n i + m]z*[n i m]g 2[m] for 0 ≤ mP h − 1.

(b)

Zero-pad and recover the negative-lag values:

R i [ m ] = 0 , P h m N freq P h R i [ N freq m ] = R i * [ m ] , 1 m P h 1 .

(c)

Fold in the lag direction: R fold [ n i , m ] = p = 0 b 1 R i [ p N freq / b + m ] for 0 ≤ mN fh. And again zero-pad and recover the negative-lag values:

R fold [ n i , m ] = 0 , N fh + 1 m N freq N fh R fold [ n i , N freq / b m ] = R fold * [ n i , m ] , 1 m N fh 1 .

2.

Transform to the time-frequency domain; iterate over i = 0,2,4,…,U − 2:

ρ [ n i , k ] = Re B [ n i , k ] and ρ [ n i + 1 , k ] = Im B [ n i , k ] where B [ n i , k ] = DFT m k R fold [ n i , m ] + j R fold [ n i + 1 , m ] .

The algorithm folds in the lag direction, using the property from Eq. (6.6.3), to decimate in frequency for a specific set of time slices. The lag-independent algorithm is similar but folds in the Doppler direction to decimate in time for a specific set of frequency slices.Table 6.6.3 lists computational costs for the four algorithms.

Table 6.6.3. Computational Cost for Decimated TFDs, Using Metrics From Table 6.6.2

Kernel Type Computation Memory Grid
Nonseparable N 2 2 log 2 N + N 2 2 a b log 2 N b N 2 a b ρ[an,bn]
Lag-independent V N time 2 a log 2 N time a N time V a ρ[an,k i ]
Doppler-independent U N freq 2 b log 2 N freq b U N freq b ρ[n i ,bk]
Separable N N freq b log 2 N + N time N freq a b log 2 N time N freq a b N time N freq a b ρ[an,bn]

Notes: Parameters: N, signal length; a, integer decimation factor in time direction; b, integer decimation factor in the frequency direction; {n i | 1 ≤ iU}, subset of time samples, with 0 ≤ n i N − 1 and U < N; {k i |1 ≤ iV}, subset of frequency samples, with 0 ≤ k i N − 1 and V < N; N time and N freq, defined in Table 6.6.2. Parameters U,V,a,b control the degree of TFD decimation and hence influence the computation and memory loads for the algorithms.

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780123984999000066

Multirate Digital Signal Processing, Oversampling of Analog-to-Digital Conversion, and Undersampling of Bandpass Signals

Lizhe Tan , Jean Jiang , in Digital Signal Processing (Third Edition), 2019

11.7 Problems

11.1

For a single-stage decimator with the following specifications:

Original sampling rate   =   1   kHz

Decimation factor M  =   2

Frequency of interest   =   0–100   Hz

Passband ripple   =   0.015   dB

Stopband attenuation   =   40   dB,

(a)

Draw the block diagram for the decimator;

(b)

Determine the window type, filter length, and cutoff frequency if the window method is used for the anti-aliasing FIR filter design.

11.2

For a single-stage interpolator with the following specifications:

Original sampling rate   =   1   kHz

Interpolation factor L  =   2

Frequency of interest   =   0–150   Hz

Passband ripple   =   0.02   dB

Stopband attenuation   =   45   dB,

(a)

Draw the block diagram for the interpolator;

(b)

Determine the window type, filter length, and cutoff frequency if the window method is used for the anti-image FIR filter design.

11.3

For a single-stage decimator with the following specifications:

Original sampling rate   =   8   kHz.

Decimation factor M  =   4

Frequency of interest   =   0–800   Hz

Passband ripple   =   0.02   dB

Stopband attenuation   =   46   dB,

(a)

Draw the block diagram for the decimator;

(b)

Determine the window type, filter length, and cutoff frequency if the window method is used for the anti-aliasing FIR filter design.

11.4

For a single-stage interpolator with the following specifications:

Original sampling rate   =   8   kHz.

Interpolation factor L  =   3

Frequency of interest   =   0–3400   Hz

Passband ripple   =   0.02   dB

Stopband attenuation   =   46   dB,

(a)

Draw the block diagram for the interpolator;

(b)

Determine the window type, filter length, and cutoff frequency if the window method is used for the anti-image FIR filter design.

11.5

For the sampling conversion from 4 to 3   kHz with the following specifications:

Original sampling rate   =   4   kHz.

Interpolation factor L  =   3

Decimation factor M  =   2

Frequency of interest   =   0–400   Hz

Passband ripple   =   0.02   dB

Stopband attenuation   =   46   dB,

(a)

Draw the block diagram for the interpolator;

(b)

Determine the window type, filter length, and cutoff frequency if the window method is used for the combined FIR filter H(z).

11.6

For the design of a two-stage decimator with the following specifications:

Original sampling rate   =   32   kHz

Frequency of interest   =   0–250   Hz

Passband ripple   =   0.05 (absolute)

Stopband attenuation   =   0.005 (absolute)

Final sampling rate   =   1000   Hz,

(a)

Draw the decimation block diagram;

(b)

Specify the sampling rate for each stage;

(c)

Determine the window type, filter length, and cutoff frequency for the first stage if the window method is used for anti-aliasing FIR filter design (H 1(z));

(d)

Determine the window type, filter length, and cutoff frequency for the second stage if the window method is used for the anti-aliasing FIR filter design (H 2(z)).

11.7

For the sampling conversion from 6 to 8   kHz with the following specifications:

Original sampling rate   =   6   kHz

Interpolation factor L  =   4

Decimation factor M  =   3

Frequency of interest   =   0–2400   Hz

Passband ripple   =   0.02   dB

Stopband attenuation   =   46   dB,

(a)

Draw the block diagram for the processor;

(b)

Determine the window type, filter length, and cutoff frequency if the window method is used for the combined FIR filter H(z).

11.8

For the design of a two-stage decimator with the following specifications:

Original sampling rate   =   320   kHz

Frequency of interest   =   0–3400   Hz

Passband ripple   =   0.05 (absolute)

Stopband attenuation   =   0.005 (absolute)

Final sampling rate   =   8000   Hz

(a)

Draw the decimation block diagram;

(b)

Specify the sampling rate for each stage;

(c)

determine the window type, filter length, and cutoff frequency for the first stage if the window method is used for anti-aliasing FIR filter design (H 1(z));

(d)

determine the window type, filter length, and cutoff frequency for the second stage if the window method is used for anti-aliasing FIR filter design (H 2(z)).

11.9
(a)

Given an interpolator filter as

H z = 0.25 + 0.4 z 1 + 0.5 z 2 ,

draw the block diagram for interpolation polyphase filter implementation for the case of L  =   2.

(b)

Given a decimation filter as

H z = 0.25 + 0.4 z 1 + 0.5 z 2 + 0.6 z 3 ,

draw the block diagram for the decimation polyphase filter implementation for the case of M  =   2.
11.10

Using the commutative models for the polyphase interpolation and decimation filters,

(a)

draw the block diagram for the interpolation polyphase filter implementation for the case of L  =   2, and H(z)   =   0.25   +   0.4z   1  +   0.5z   2;

(b)

draw the block diagram for the decimation polyphase filter implementation for the case of M  =   2, and H(z)   =   0.25   +   0.4z   1  +   0.5z   2  +   0.6z   3.

11.11
(a)

Given an interpolator filter as

H z = 0.25 + 0.4 z 1 + 0.5 z 2 + 0.6 z 3 + 0.7 z 4 + 0.6 z 5 ,

draw the block diagram for the interpolation polyphase filter implementation for the case of L = 4.

(b)

Given a decimation filter as

H z = 0.25 + 0.4 z 1 + 0.5 z 2 + 0.6 z 3 + 0.5 z 3 + 0.4 z 4 ,

draw the block diagram for decimation polyphase filter implementation for the case of M  =   4.
11.12

Using the commutative models for the polyphase interpolation and decimation filters,

(a)

Draw the block diagram for interpolation polyphase filter implementation for the case of L  =   4, and H(z)   =   0.25   +   0.4z   1  +   0.5z   2  +   0.6z   3  +   0.7z   4  +   0.6z   5;

(b)

Draw the block diagram for decimation polyphase filter implementation for the case of M  =   4, and H(z)   =   0.25   +   0.4z   1  +   0.5z   2  +   0.6z   3  +   0.5z   3  +   0.4z   4.

11.13

Given a speech system with the following specifications:

Speech input frequency range: 0–4   kHz.

ADC resolution   =   16 bits.

Current sampling rate   =   8   kHz,

(a)

Determine the oversampling rate if a 12-bit ADC chip is used to replace the speech system;

(b)

Draw the block diagram.

11.14

Given a speech system with the following specifications:

Speech input frequency range: 0–4   kHz.

ADC resolution   =   6 bits.

Oversampling rate   =   4   MHz,

(a)

Draw the block diagram;

(b)

Determine the actual effective ADC resolution (number of bits per sample).

11.15

Given an audio system with the following specifications:

Audio input frequency range: 0–15   kHz.

ADC resolution   =   16 bits.

Current sampling rate   =   30   kHz,

(a)

Determine the oversampling rate if a 12-bit ADC chip is used to replace the audio system;

(b)

Draw the block diagram.

11.16

Given an audio system with the following specifications:

Audio input frequency range: 0–15   kHz.

ADC resolution   =   6 bits.

Oversampling rate   =   45   MHz,

(a)

Draw the block diagram;

(b)

Determine the actual effective ADC resolution (number of bits per sample).

11.17

Given the following specifications of an oversampling DSP system:

Audio input frequency range: 0–4   kHz

First-order SDM with a sampling rate of 128   kHz

ADC resolution in SDM   =   1 bit,

(a)

draw the block diagram using the DSP model;

(b)

determine the equivalent (effective) ADC resolution.

11.18

Given the following specifications of an oversampling DSP system:

Audio input frequency range: 0–20   kHz

Second-order SDM with a sampling rate of 160   kHz

ADC resolution in SDM   =   10 bits,

(a)

Draw the block diagram using the DSP model;

(b)

Determine the equivalent (effective) ADC resolution.

11.19

Given the following specifications of an oversampling DSP system:

Signal input frequency range: 0–500   Hz

First-order SDM with a sampling rate of 128   kHz

ADC resolution in SDM   =   1 bit,

(a)

Draw the block diagram using the DSP model;

(b)

Determine the equivalent (effective) ADC resolution.

11.20

Given the following specifications of an oversampling DSP system:

Signal input frequency range: 0–500   Hz

Second-order SDM with a sampling rate of 16   kHz

ADC resolution in SDM   =   8 bits,

(a)

Draw the block diagram using the DSP model;

(b)

Determine the equivalent (effective) ADC resolution.

11.21

Given a bandpass signal with its spectrum shown in Fig. 11.46, and assuming the bandwidth B  =   5   kHz, select the sampling rate, and sketch the sampled spectrum ranging from 0   Hz to the carrier frequency for each of the following carrier frequencies:

(a)

f c   =   30   kHz

(b)

f c   =   25   kHz

(c)

f c   =   33   kHz

Fig. 11.46

Fig. 11.46. Spectrum of the bandpass signal in Problem 11.21.

11.22

Given a bandpass signal with a spectrum shown in Fig. 11.46, and assuming f s   =   10   kHz, select the sampling rate and sketch the sampled spectrum ranging from 0   Hz to the carrier frequency for each of the following carrier frequency f c

(a)

f c   =   15   kHz

(b)

f c   =   20   kHz

11.23

Given a bandpass signal with a spectrum shown in Fig. 11.46, and assuming B  =   5   kHz, select the sampling rate and sketch the sampled spectrum ranging from 0   Hz to the carrier frequency for each of the following carrier frequency f c

(a)

f c   =   35   kHz,

(b)

f c   =   40   kHz,

(c)

f c   =   22   kHz.

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780128150719000117

Multirate Digital Signal Processing

Tony J. Rouphael , in RF and Digital Signal Processing for Software-Defined Radio, 2009

10.1.1.2 Multistage Decimation

In certain SDR applications, the received signal waveform is oversampled by several orders of magnitude over the Nyquist rate. In this case, decimating the signal in a single stage may result in a very costly and complex filtering arrangement. In this case, it may be more efficient to implement the sampling rate conversion in multiple decimation stages as shown in Figure 10.6 [4]. The gradual decrease in sampling rate results in a simplified design of the various filter stages. The ensuing design can still meet the overall decimation and filtering requirements. The savings are accomplished by reducing the number of multiples and adds (MADs) per second.

Figure 10.6. A conceptual K-stage decimator

The condition for allowing multiple stage decimation is that M, the total decimation factor, is not a prime number and that it can be written as the product:

(10.22) M = i = 1 K M i = M 1 × M 2 × M K

where M 1, M 2, …, MK are the decimation factors associated with the respective stages in a multistage decimator. This in turn implies that the original sampling rate Fs and the final sampling rate Fs,K are related according to:

(10.23) F s , K = F s M = F s i = 1 K M i

The relationship between two successive sampling rates can be expressed as

(10.24) F s , i = F s , i - 1 M i

Before delving into the mathematical details, let's first illustrate the multistage decimation process from a spectral perspective. A spectral depiction of a three-stage decimation process showing the desired frequency response of each stage is presented in Figure 10.7. Assume that the data is given at a sampling rate Fs ,1 and that the desired final sampling rate is Fs ,3. The passband frequency of the desired signal is fpass and the ultimate desired stopband frequency is fstop . The purpose of the last stage of the decimation filter is clear and that is to limit the signal bandwidth such that fstop Fs ,3/2. In general, this implies that, in order to prevent any degradation due to aliasing, the stopband frequency of the last stage must obey the sampling theorem, that is

Figure 10.7. Frequency response of a three-stage decimator

(10.25) f stop F s , K 2

In general, the passband and stopband frequencies of the ith stage filter can then be defined according to Figure 10.8. The passband characteristics of the ith stage filter must be flat between DC and fpass in order to prevent any distortion to the passband signal. On the other hand, in order to ensure that no aliasing components fall into the desired signal band, the stopband cutoff frequency of the ith stage filter must conform to the relation:

Figure 10.8. Frequency response of i th stage lowpass filter

(10.26) f stop , i F s , i - f stop

The result in (10.26) implies what was discussed earlier: that the stopband cutoff frequency of the last stage is fstop,K =Fs,K fstop =2fstop fstop =fstop .

At this point it is instructive to discuss the passband and stopband ripples of each stage. It is desired that the overall passband ripple of the composite K-stage filter be within 1+δpass . This imposes even tighter constraints on the tolerable passband ripple in individual cascade stages. A simple, but not unique, way of specifying the passband is to require that each stage passband ripple 1+δpass,i be specified such that δpass,i =δpass /K. Note that this does not guarantee that the peaks and valleys of the overall response will align such that a precise ripple characteristic is produced. Similarly, the stopband ripple δstop specifies the overall multistage stopband ripple, or the cumulative multistage stopband filter ripple. The stopband ripple is imposed on all the individual stages of the cascade, that is δstop,i  ≅δstop . This is particularly important since aliasing does not necessarily add up coherently and sufficient attenuation is required to avoid aliasing in each stage. However, it is up to the designer and the nature of the design to specify this parameter. The interesting question then becomes: what is the optimum number of decimation stages and amount by which to decimate in each stage in order to achieve maximum efficiency? The answer lies in minimizing the computational complexity of the overall filter, as will be shown herein.

In order to estimate the required order of an optimal lowpass FIR filter, define the transition band, say for a given decimation stage Δf whose width is normalized by the sampling frequency at that particular stage, that is

(10.27) Δ f i = ( F s , i - f stop ) - f pass F s , i - 1

where fstop is the stopband frequency, fpass is the passband frequency, Fs,i is the sampling rate at the output of the ith stage, and Fs,i −1 is the sampling rate frequency at the input to the ith stage. Then the optimum number of taps is given by [5] and [6]:

(10.28) N i , optimum D ( δ pass , i δ stop , i ) Δ f i - f ( δ pass , i δ stop , i ) Δ f i + 1

where

(10.29) D ( δ p a s s , i δ s t o p , i ) = [ 5.309 × 10 - 3 (log 10 δ p a s s , i ) 2 + 7.114 × 10 - 2 (log 10 δ p a s s , i ) - 0.4761 ] × log 10 δ s t o p , i - [ 2.66 × 10 - 3 (log 10 δ p a s s , i ) 2 + 0.5941 (log 10 δ p a s s , i ) + 0.4278 ]

and

(10.30) f ( δ pass , i δ stop , i ) = 0.51244 log 10 ( δ pass , i δ stop , i ) + 11.01217

δpass,i =Linear peak passband ripple at ith stage

δstop,i=Linear peak stopband ripple at ith stage

Note that, for a large overall decimation ratio where the transition band is small, the relation in (10.28) can be simplified as

(10.31) N i , optimum D ( δ pass , i δ stop , i ) Δ f i

The objective of a multistage decimator will be to minimize the total number of MADS Rtotal. Let Ri be the number of MADS in the ith decimation stage; then Rtotal is given as

(10.32) R total = i = 1 K R i

Minimizing Rtotal minimizes the overall amount of computation required. Given the filter length Noptimum,i for the ith stage, 1 then Ri can be expressed as the product of Noptimum,i times the sampling rate of the filter Fs,i divided by the decimation factor Mi :

(10.33) R i = N optimum , i F s , i M i

From (10.24), (10.31), and (10.33), it was found in [6] that (10.33) can be further expressed as

(10.34) R i D ( δ pass , i K , δ stop ) M i F s , i 2 F s , i - f stop - f pass

and the total computation for all stages can also be expressed in the following form:

(10.35) R t o t a l D ( δ p a s s , i K , δ s t o p ) i = 1 K M i F s , i 2 F s , i - f s t o p - f p a s s MADS = D ( δ p a s s , i K , δ s t o p ) F s i = 1 K M i ( j = 1 i M j ) ( 1 - f s t o p + f p a s s F s j = 1 i M j ) MADS

Recall that Fs in (10.35) is the initial sampling rate. To further simplify the relationship in (10.35), let ΔF be defined as the transition-band ratio

(10.36) Δ F = f stop - f pass f stop

and rewrite (10.35) as

(10.37) R total D ( δ pass K , δ stop ) F s Ψ

where

(10.38) Ψ = 2 ( Δ F j = 1 K - 1 M j ) + i = 1 K - 1 M i ( j = 1 i M j ) ( 1 - 2 - Δ F 2 M j = 1 i M i )

Note that for a two-stage cascaded decimator where K=2 and M >10, the authors in [4] have provided an optimal solution for choosing the decimation factors M 1 and M 2. This is done by minimizing Rtotal in (10.37) for a given K. Recall that, in this case, the total decimation factor is M=M 1×M 2. The optimal solution yields:

(10.39) M 1 , optimal = 2 M ( 1 - M Δ F 2 - Δ F ) 2 - Δ F ( M + 1 ) , K = 2

and

(10.40) M 2 , optimal = M / M 1 , optimal , K = 2

Note that the relation in (10.39) will result in most cases with a noninteger number. The choice for M 1 ,optimal then would be rounded to the nearest integer such that:

(10.41) M = M 1 , optimal × M 2 , optimal

From (10.37), it can be observed that the choice of the optimum number of stages K is strongly influenced by ΔF and M, much more so than the passband and stopband ripples.

Example 10-1: Two-Stage Decimator for LTE 1.4-MHz Channel

Consider the sampling rate at the output of a Δ∑-converter to be 124.8MHz. Assume that the desired sampling rate before any further fractional rate conversion is 1.418182MHz (corresponding to decimation by an integer factor M = 88). Note that 1.4MHz is the smallest channel bandwidth supported by UMTS-LTE. Assume that you are designing the last two stages of the decimation process. The data rate of the input signal to the two-stage decimator is 17.018018MHz. Assume that the passband is 0.54MHz, which is the bandwidth of the signal-occupied subcarriers. Compare the complexity of the two-stage decimator to that of a single-stage decimator. Assume that the overall linear passband ripple is 0.5dB and that the linear stopband rejection is 30dB. Note that in this example, the effect of blockers is ignored. In actuality, the blocker signals after filtering and data conversion must be accommodated, which could have profound effects on the design.

In order to prevent aliasing, the stopband frequency must be less than 1.418182   MHz/2. In this case, let's assume that the stopband frequency is ½ the Nyquist rate, that is fstop =0.7   MHz. The transition band ratio as defined in (10.36) is given as

(10.42) Δ F = f stop - f pass f stop = 0.7 MHz - 0.54 MHz 0.7 MHz = 0.2286

Recall that the total decimation ratio required by the two-stage decimation process is 17.0181018   MHz/1.418182   MHz=12:

(10.43) M 1 , o p t i m a l = 2 M ( 1 - M Δ F 2 - Δ F ) 2 - Δ F ( M + 1 ) = 2 × 12 ( 1 - 12 × 0.2286 2 - 0.2286 ) 2 - 0.2286 ( 12 + 1 ) = 6.0365

The nearest integer to 6.0365 is 6 and hence M 1,optimal =6 and M 2,optimal =2.

Next, let's determine δpass,i and δstop,i . To determine the linear passband ripple and stopband attenuation, we know that

(10.44) 10 log ( 1 + δ p a s s , i / K ) = 0.5 , K = 2 , i = 1 , 2 δ p a s s , i = 0.061 10 log ( δ s t o p , i ) = - 30 δ s t o p , i = 0.001

For the first stage, the sampling rate changes from Fs, 1 = 17.018018   MHz to Fs ,2= 17.018018/6   MHz = 2.8363   MHz. From (10.26), the stopband frequency of the first stage is given as fstop ,1= Fs ,1fstop = 17.018018/6 − 0.7 = 2.1363   MHz. Therefore, from (10.27), the transition band ratio of the first stage is given as

(10.45) Δ f 1 = ( F s , 1 - f s t o p ) - f p a s s F s , 0 = ( 2.8363 - 0.7 ) - 0.54 17.018018 = 0.0938

From (10.28), it turns out that the number of taps required is ceil{20.7116}=21 taps. Next, we turn our attention to the second stage. The transition band ratio for the second stage is given as

(10.46) Δ f 2 = ( F s , 2 - f s t o p ) - f p a s s F s , 1 = ( 1.4182 - 0.7 ) - 0.54 2.8363 = 0.0628

Again, using (10.28), results in the number of required taps to be ceil{31.3565}=32 taps.

In order to compare the complexity of the two-stage decimation process to that of a single stage, apply (10.28) with passband ripple 2×δpass, i= 0.1220, we obtain the optimum number of taps to be ceil{164.5529} = 165 taps.

Note that, given that the filters are implemented in each case before the decimator, then the single-stage filter case with 165 taps results in Γ = 165 × 17.018018   MHz= 2.8080e+009 multiplies per second. Comparing this to the two-stage approach, we obtain:

(10.47) Γ = 21 taps × 17.018018 MHz + 32 taps × 17.018018 6 MHz Γ = 4.4814 e 8 multiplies per second

It is evident from (10.47) that the two-stage solution has significantly less computational complexity than the single-stage solution.

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780750682107000102

Multirate Digital Signal Processing

Winser Alexander , Cranos Williams , in Digital Signal Processing, 2017

7.10 Multistage Decimator

Consider the decimation of a signal x ( n ) by a factor of M 1 . This requires a filter capable of passing frequency content for frequencies | ω | π / M . Given that M is large, we would need a filter that has a very sharp transition band. From filter design, we know that a sharp transition band translates to filters with a large number of coefficients.

Assume that the decimation factor M can be factored into a product of J positive integers

(7.55) M = i = 1 J M i .

A decimation factor M can be implemented by cascading J decimators, with the ith stage having a decimation factor of M i . This is illustrated in Fig. 7.29. In this multistage decimator, the sampling rate at the output of the ith stage is given as

Figure 7.29

Figure 7.29. Multistage decimator

(7.56) F i = F i 1 M i , i = 1 , 2 , , J .

Correct implementation of the overall cascaded decimator requires the design of filters at each of the J stages such that aliasing in the overall decimator is eliminated. Consider the decimation of a signal by a factor of M. We have learned previously that this means that the signal must be ideally filtered only keeping spectral content within the frequency range (radians) | ω | π / M . This translates to a frequency range (Hz) of | F | F x / 2 M . Considering a non-ideal filter with a pass band, a transition band, and a stop band, the overall filter should have a response as follows:

(7.57) (Pass Band) 0 F F p a s s ,

(7.58) (Transition Band) F p a s s F F s t o p ,

(7.59) (Stop Band) F s t o p F F x 2 ,

where F s t o p F x / 2 M . An approximation of this response is illustrated in Fig. 7.30.

Figure 7.30

Figure 7.30. Approximate overall filter response of a decimation filter

The approach for designing the filters for the multistage decimator is done by closely examining the first stage. The first stage of the multistage decimator is illustrated in Fig. 7.31. The frequency response relationships between the signals are as follows:

Figure 7.31

Figure 7.31. Stage 1 of multistage decimator

(7.60) Y ( ω ) = 1 M 1 k = 0 M 1 1 V ( ω 2 π k M 1 )

(7.61) = 1 M 1 k = 0 M 1 1 H 1 ( ω 2 π k M 1 ) X ( ω 2 π k M 1 ) ,

This can be rewritten in terms of the analog frequency F as

(7.62) Y ( F ) = 1 M 1 k = 0 M 1 1 H 1 ( F k F 0 M 1 ) X ( F k F 0 M 1 ) .

The spectral shape of the signal Y ( F ) is completely dependent on the shape of H 1 ( z ) . Due to the downsampling, we also know that the spectral characteristics of Y ( F ) has the shape of H 1 ( x ) and is shifted and expanded every k F 0 / M 1 .

The filter H 1 ( F ) can be designed by taking the following things into consideration. Recall that we want to ensure that all content within the pass band of H ( F ) is undisturbed. The transition band, however, can be a little more relaxed. We can explore just how relaxed by looking at the representation of H 1 ( F ) and the subsequent repeats that occur every k F 0 / M 1 shown in Fig. 7.32. We can identify what the end of the transition band of H 1 ( F ) should be by examining the first shifted image at F 0 / M 1 . We can allow some aliasing or overlap between the image centered at zero and the signal centered at F 0 / M 1 as long as we do not permit overlap for any frequency less than the stop band edge of H ( F ) , or F < F s t o p . This is because we expect any aliasing that does take place over this region will be eliminated in subsequent stages of the decimator. Thus the distance between the center of the image at F 0 / M 1 and the transition band/stop band edge of the overall filter is F 0 / M 1 F s t o p . This means that for the image centered at zero, the transition band ends at F 0 / M 1 F s t o p . All other content greater than F 0 / M 1 F s t o p should be eliminated in order to get rid of the additional images. Using this information, we can derive the filter characteristics of the H 1 ( z ) . They are as follows:

Figure 7.32

Figure 7.32. Magnitude response of H 1(z)

(7.63) (Pass Band) 0 F F p a s s ,

(7.64) (Transition Band) F p a s s F F 0 / M 1 F s t o p ,

(7.65) (Stop Band) F 0 / M 1 F s t o p F F 0 2 .

We can generalize this for the ith stage as

(7.66) (Pass Band) 0 F F p a s s ,

(7.67) (Transition Band) F p a s s F F i F s t o p ,

(7.68) (Stop Band) F i F s t o p F F i 1 2 .

We use this formulation to design the filter specifications for a multistage decimator in the following example.

Example 7.4

(Multistage Decimator)

The desire is to implement a decimator that will reduce the sampling rate of a signal from 12 kHz to 400 Hz. This decimator is illustrated in Fig. 7.33. Decimation of a signal by a factor of 30 requires that the signal be bandlimited to ± π 30 . The following design for H ( z ) is appropriate

(7.69) H ( z ) : F p = 180 Hz , F s t o p = 200 Hz , δ p = 0.002 , δ s = 0.001 .

Figure 7.33

Figure 7.33. Block-diagram representation of a single state factor-of-30 decimator

The MATLAB functions firpmord and firpm can be used to create an optimal equiripple FIR filter with these specifications. The following MATLAB code is used

Matlab Script 7.9

M   =   30;
Fpass   =   180;
Fstop   =   200;
delta_p   =   0.002;
delta_s   =   0.001;
Fs   =   12000;

[N_H,Fo,Ao,w]   =   firpmord([Fpass   Fstop],   [1   0],   [delta_p   delta_s],
                                Fs);
h   =   firpm(N_H,Fo,Ao,w);

End of the Script

The function firpmord returns a filter order of N H = 1827 . We can calculate the number of multiplications per second of a decimator with an input sample rate of F i 1 , a decimation factor of M i , and an output sampling rate of F i as ( N + 1 ) F i 1 / M i . The variable N corresponds to the number of filter coefficients. Thus, we have the following characteristics for this signal stage decimator:

---------------------Single   Stage   Implementation---------------
Number   of   filter   coefficients:   1828
Number   of   samples   generated   per   second:   12000
Number   of   samples   processed   at   a   decimation   of   30:   400
Number   of   multiplications   per   second:   731200
---------------------------------------------------------------

The downsampling factor M can be factored into M = M 1 M 2 where M 1 = 15 and M 2 = 2 . A block diagram representation of the 2-stage decimator is shown in Fig. 7.34.

Figure 7.34

Figure 7.34. Block diagram of a two-stage factor-of-30 decimator

The filters H 1 ( z ) and H 2 ( z ) must be designed such that they eliminate aliasing in the overall decimation. From the previous section, the filter specifications for H i ( z ) , i = 1 , 2 , are

(7.70) (Pass Band) 0 F F p a s s i ,

(7.71) (Transition Band) F p a s s F F s t o p i ,

(7.72) (Stop Band) F s t o p i F F i 1 2

where

(7.73) F p a s s i = F p a s s , F s t o p i = F i 1 M i F s t o p .

This yields the following filter specifications for H 1 ( z ) and H 2 ( z ) :

(7.74) H 1 ( z ) : F p a s s 1 = F p a s s = 180 Hz , F s t o p 1 = F 0 M 1 F s t o p = 12000 15 200 = 600 Hz , H 2 ( z ) : F p a s s 2 = F p a s s = 180 Hz , F s t o p 2 = F 1 M 2 F s t o p = 800 2 200 = 200 Hz.

Even though the width of the transition region for H 2 ( z ) is the same as for H ( z ) , we see that the normalized width of the region Δ f = ( F s t o p F p a s s ) / F s is very different. It is clear that

(7.75) Δ f H = F s t o p F p a s s F s = 200 180 12000 = 0.0025 ,

(7.76) Δ f 2 = F s t o p 2 F p a s s 2 F 1 = 200 180 800 = 0.025 .

Thus Δ f H < Δ f 2 , effectively making the transition region for H ( z ) smaller, leading to a filter with more coefficients. Since the overall filter has a pass band ripple of δ p , we can split this ripple across the two stages. We then have

(7.77) δ p 1 = δ p 2 = δ p 2 = 0.001 .

The stop band ripple of the overall filter is, at worst, the highest stop band ripple of any filter within the cascade. Thus we can set

(7.78) δ s 1 = δ s 2 = δ s .

The following code is used to obtain the minimum filter order of H 1 ( z ) and H 2 ( z ) given the specifications designed above.

Matlab Script 7.10

M1   =   15;   M2   =   2;
F0   =   Fs;
F1   =   F0/M1;
F2   =   F1/M2;

%   First   Filter
Fpass1   =   Fpass;
Fstop1   =   F1   -   Fstop;
delta_p1   =   delta_p/2;
delta_s1   =   delta_s;

[N_H1,Fo1,Ao1,w1]   =   firpmord([Fpass1   Fstop1],   [1   0],
                                        [delta_p1   delta_s1],   F0);
h1   =   firpm(N_H1,Fo1,Ao1,w1);

%   Second   Filter
Fpass2   =   Fpass;
Fstop2   =   F2   -   Fstop;
delta_p2   =   delta_p/2;
delta_s2   =   delta_s;

[N_H2,Fo2,Ao2,w2]   =   firpmord([Fpass2   Fstop2],   [1   0],
                                        [delta_p2   delta_s2],   F1);
h2   =   firpm(N_H2,Fo2,Ao2,w2);

End of the Script
This results in the following characteristics for the two-stage decimator:

---------------------2   Stage   Implementation---------------
Number   of   filter   coefficients   for   first   stage:   94
Number   of   filter   coefficients   for   second   stage:   131
Number   of   samples   per   second   processed   at   first   stage   decimation
of   15:   800
Number   of   multiplications   per   second   at   first   stage:   75200
Number   of   samples   per   second   processed   at   second   stage   decimation
of   2:   400
Number   of   multiplications   per   second   at   second   stage:   52400
Total   number   of   multiplications   per   second:   127600
--------------------------------------------------------------------

This results in a savings of

(7.79) r a t i o = 731200 127600 = 5.73 .

The overall frequency response of the multistage implementation can be compared to the single state implementation in the following way. The position of the first sample rate modification device and the second filter are first rearranged using the Noble identities in Fig. 7.15(a). The resulting structure is shown in Fig. 7.35.

Figure 7.35

Figure 7.35. Equivalent representation of a multistage decimator

The frequency response of both implementations can be calculated and illustrated using the following MATLAB code.

Matlab Script 7.11

%   Frequency   response   of   single   stage   implementation
figure(1)
freqz(h,   1)

%   Frequency   response   of   multistage   implementation
figure(2)
h2_up   =   upsamp(h2,   M1);
h_casc   =   conv(h1,   h2_up);
freqz(h_casc,   1)

End of the Script

The resulting responses are shown in Figs. 7.36 and 7.37. By visual inspection, we see that the filter specifications have been met.

Figure 7.36

Figure 7.36. Frequency response of a single stage implementation

Figure 7.37

Figure 7.37. Frequency response of a multistage implementation

End of the Example

Fig. 7.38 shows a general multistage implementation of a decimator and interpolator.

Figure 7.38

Figure 7.38. General multistage structure for decimation and interpolation

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780128045473000073

Design of nearly perfect reconstructed non-uniform filter bank by constrained equiripple FIR technique

A. Kumar , ... S. Anurag , in Applied Soft Computing, 2013

4 Results and discussion

In this section, the proposed methodology has been implemented on MATLAB and employed for designing non-uniform filter bank via constrained equiripple FIR technique. To illustrate the efficacy of the developed method, many examples with different design specifications are included. The performance of this method is evaluated in terms of number of iterations (NOI), computation time (CPU time), and reconstruction error (PRE) given by

(37) P R E = max k = 0 M 1 H k ( e j ω ) 2 min k = 0 M 1 H k ( e j ω ) 2

Example-I : A 3-channel linear-phase non-uniform filter bank with decimation factors 4, 4, and 2 is designed by the proposed method. Design specifications for the prototype filter are N  +   1   =96, stopband attenuation (A s )   =   80   dB, passband ripple (A p )   =   0.000521   dB, ω s   =   0.51π, and ω p   =   0.41π. The peak reconstruction error (PRE), computational time (CPU time) and number of iterations (NOI) obtained are 2.8   ×   10−3, 0.826   s, and 11, respectively (Fig. 3).

Fig. 3. Performance of 3-channel non-uniform filter bank (4, 4, and 2) designed using the proposed method. (a) Magnitude responses of the prototype filter in dB, (b) magnitude responses of the analysis filters in dB, (c) variation of peak reconstruction error and (d) variation of peak reconstruction error in dB.

Example-II: A 4-channel linear-phase non-uniform filter bank (8, 8, 4, 2) with the prototype filter design specifications: N  +   1   =48, A s   =   80   dB, A p   =   0.0005   dB, ω s   =   0.61π and ω p   =   0.41π is designed with this method. In this case, PRE and computational time are 3.11   ×   10−3 and 0.733   s, respectively, while NOI  =   15 and the simulation results is depicted in Fig. 4.

Fig. 4. Performance of 4-channel non-uniform filter bank (8, 8, 4 and 2) designed using the proposed method. (a) Magnitude responses of the prototype filter in dB, (b) magnitude responses of the analysis filters in dB, (c) variation of peak reconstruction error and (d) Variation of peak reconstruction error in dB.

Example-III: A 5-channel NUFB with decimation factors 16, 16, 8, 4, and 2 and same design specifications as used in example II is designed with the proposed method. The design results obtained in this case are shown in Fig. 5. The proposed method is also exploited for other design examples, and the simulation results obtained are tabulated in Table 1. As it can be observed from the simulation results, the proposed method gives better performance in all aspects. The peak reconstruction error is reduced appreciably. The average peak reconstruction error obtained in 3-channel and 4-channel NUFBs is 4.9   ×   10−3, and 4.81   ×   10−3, respectively, while in 5-channel NUFBs is 4.85   ×   10−3. The computation time and number of iterations required in the proposed method are extremely low even if the number of filter taps is more. Hence, this technique can be effectively utilized for designing non-uniform filter bank with larger filter taps.

Fig. 5. Performance of 5-channel non-uniform filter bank (16, 16, 8, 4, and 2) designed using the proposed method. (a) Magnitude responses of the prototype filter in dB, (b) magnitude responses of the analysis filters in dB, (c) variation of peak reconstruction error and (d) Variation of peak reconstruction error in dB.

Table 1. Performance of the proposed method for designing nonuniform filter bank.

Band (M) Filter taps (N) A s (dB) PRE NOI CPU time (s)
Three band (4, 4, 2) 48 0.00050 3.11   ×   10−3 15 0.733
66 0.00017 2.51   ×   10−3 17 0.782
72 0.00016 4.91   ×   10−3 16 0.846
80 0.00077 8.11   ×   10−3 17 0.923
90 0.00027 8.11   ×   10−3 16 0.867
96 0.00051 2.80   ×   10−3 11 0.826

Four band (8, 8, 4, 2) 48 0.00050 3.11   ×   10−3 15 0.733
66 0.00017 5.70   ×   10−3 9 0.702
72 0.00016 5.70   ×   10−3 18 1.056
80 0.00077 7.40   ×   10−3 16 0.923
90 0.00027 3.50   ×   10−3 18 1.162
96 0.00051 3.50   ×   10−3 15 1.157

Five band (16, 16, 8, 4, 2) 48 0.00050 3.1   ×   10−3 11 0.585
66 0.00017 5.70   ×   10−3 9 0.686
72 0.00016 5.70   ×   10−3 17 1.216
80 0.00077 7.31   ×   10−3 17 1.232
90 0.00027 3.72   ×   10−3 18 1.211
96 0.00051 3.59   ×   10−3 17 1.102

Results of the comparative studies made are given in Table 2, which clearly show the superiority of the proposed methodology over the exiting algorithms [28,38,39]. For this, non-uniform filter banks with similar design specifications as published earlier have been designed and compared. As, it can be seen that the performances of the proposed method are significantly improved as compared to the earlier known techniques in terms of peak reconstruction error, computational time (CPU time) and number of iterations. The percentage difference in peak reconstruction error provided by this method relative to other methods [28,38,39] is 15.31%, 51.03%, and 51.03%, respectively. The computational time and number of iterations are significantly reduced as in each iteration only filter coefficients value at ω  = π/2 are computed and compared with the ideal values. Therefore, this technique can be successfully employed for various applications which are carried out in real time and quasi real time.

Table 2. Comparison of the proposed methodology with earlier published results.

Algorithms Band (M) Filter taps (N) A s (dB) PRE NOI CPU time (s)
Algorithm in [39] Three band (4, 4, 2) 63 110 7.80   ×   10−3

Algorithm in [38] Three band (4, 4, 2) 64 60 7.80   ×   10−3

Algorithm in [28] Three band (4, 4, 2) 63 75 8.60   ×   10−3 153 0.625
63 110 3.85   ×   10−3 158 2.35
63 70 1.10   ×   10−3 158 2.28

Proposed method Three band (4, 4, 2) 48 80 3.11   ×   10−3 15 0.733
66 80 2.51   ×   10−3 17 0.782
72 80 4.91   ×   10−3 16 0.846
Four band (8, 8, 4, 2) 48 80 3.11   ×   10−3 15 0.733
66 80 5.70   ×   10−3 9 0.702
Five band (16, 16, 8, 4, 2) 96 80 3.59   ×   10−3 17 1.102
90 80 3.72   ×   10−3 18 1.211

In practice, almost all the real signals have uneven distribution of energy in different bands or energy is dominantly concentrated in a particular region of frequency. This uneven distribution of energy in different bands provides the basis for signal or source compression. The speech signal has also non-uniform frequency distribution. Since speech coding is widely used in numerous applications such as mobile satellite communications, cellular telephony, video teleconferencing systems and storage of speech for speech synthesis and playback, or for the transmission of voice at a later time, hence it is necessary to compress the speech signal. Here, the proposed method has been used for subband coding of speech signal. For this, 3-channel NUFB is designed with same design specifications as in Example I, and is exploited for subband coding. Several fidelity parameters such as percent root mean square difference (PRD), mean square error (MSE), maximum error (ME), and signal to noise ratio (SNR) discussed in [6,20,37–39] are computed and summarized in Table 3. Fig. 6 shows the original ECG signals (MIT/BIH-100) and its reconstructed version.

Table 3. Fidelity assessment parameters in the proposed algorithm.

Signal PRD MSE ME SNR
Speech, M, Eng.: M 45 0.970   ×   10−1 1.327   ×   10−11 7. 231   ×   10−6 62.27
Speech, F, Eng.: M 45 1.035   ×   10−1 4.316   ×   10−11 1.016   ×   10−5 59.61
Speech, L, Eng.: M 45 0.977   ×   10−1 1.620   ×   10−11 9.251   ×   10−4 60.21
Speech, O, Eng.: M 45 0.935   ×   10−1 1.358   ×   10−11 8.029   ×   10−4 60.44

Fig. 6. Subband coding of speech signal: sound 'F'.

As it can be observed from Table 3, all the fidelity parameters obtained with this methodology are much better than the acceptable range in practice. Thus, it is evident that the proposed method can effectively used for subband coding of the signal.

Read full article

URL:

https://www.sciencedirect.com/science/article/pii/S1568494612003729

A survey on active noise control in the past decade—Part I: Linear systems

Lu Lu , ... Badong Chen , in Signal Processing, 2021

2.1.4 Subband ANC algorithms

1) Subband ANC algorithms for broadband noise

To deal with the long channel responses and colored inputs in ANC systems, the subband adaptive filter (SAF) was developed for fast convergence and low computational complexity [133]. A typical SAF based on multi-band structure with N subbands can be seen in Fig. 7. The signal d ( n ) and X ( n ) are decomposed through the analysis filters H i ( z ) , i = 0 , , N 1 . The subband reference signals X i ( k ) are filtered by the adaptive filter to generate the subband output signals y i ( n ) . Then, the subband signals d i ( n ) and y i ( n ) are critically decimated to lower sampled rate sequences d i , D ( k ) = d i ( k N ) and y i , D ( k ) = y i ( k N ) , where n and k are used to index the original sequences and the decimated sequences. The factor D denotes the decimation factor, which is chosen as same as the number of the subband filters to prevent aliasing of the signals. Finally, the decimated error signal e i , D ( k ) = d i , D ( k ) y i , D ( k ) is utilized for adjusting of the subband ANC controller.

Fig. 7

Fig. 7. Diagram of the multi-band structured SAF.

To assess the performance, in Fig. 8, the ANRs of the LMS and non-LMS-based algorithms are investigated. In this case, the primary path P ( z ) and the secondary path S ( z ) are generated by FIR filter with length of 256 and 100, respectively [74]. The length of the adaptive filter is set to 128. The α -stable noise with α = 2 is adopted as the noise source, which corresponds to the Gaussian distribution. One can observe that the FxRLS algorithm has the fastest convergence rate and the FxLMS algorithm suffers from slow convergence. Then, a delayless SAF algorithm for multi-input multi-output (MIMO) ANC applications was developed, which is based on Milani's work [134,135] and can significantly mitigate the computational cost [136].

Fig. 8

Fig. 8. ANRs of the algorithms with α = 2 , where the simulation settings are the same as [74].

2) Subband ANC algorithms for narrowband noise

For most ANC systems, it is necessary to estimate the secondary path offline or online, which undoubtedly increases the computational complexity. Therefore, some subband ANC algorithms consider avoiding the secondary path estimation to reduce complexity. However, when the secondary path phase is close to ± 90 , the convergence rate of the algorithm is slow. To overcome this limitation, a frequency-domain delayless subband algorithm was proposed, where 4 update directions, 180 , 0 , and ± 90 are adopted to single-tone and narrowband noise control [137]. The disadvantage of this method is that the filter update process must be performed in the frequency-domain, resulting in high computational complexity. To overcome this limitation, in Gao et al. [138], a simplified attempt was developed to cope with the implementation problem when the secondary path phase is close to ± 90 . Two reference signals are generated in each subband, and two update directions are utilized. Only one subband reference signal and one update direction are employed to approximate the phase response of the residual secondary path. Then, the coefficients of the full-band adaptive controller are directly adapted in time-domain.

3) Subband ANC algorithms for impulsive noise

The above mentioned SAF algorithm may fail to work in the presence of impulsive noise since the adaptation is based on the MMSE criterion. To fill this gap, a VSS normalized SAF (VSS-NSAF) was introduced for ANC system, whose step size is adapted to prevent the wrong update by impulsive noise [139]. Since impulsive noise is a great challenge for ANC systems, we summarize the above mentioned contributions of AINC In Table 4.

Table 4. Contributions of AINC in the past decade.

Akhtar's algorithm and its variants FxlogLMS HOEP/FLOM based algorithms Soft bound algorithms
[104,114,115,120] [107] [71,74,105,109–114] [116]
M-estimate based algorithms FxAP-based algorithms FxRLS-based algorithms SAF-based algorithms
[117–120] [126] [129–132] [139]

Read full article

URL:

https://www.sciencedirect.com/science/article/pii/S0165168421000785