Design a Decimation Filter Using Equiripple Fir Filter Design Algorithm
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 ≤ i ≤ U}; 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 ≤ m ≤ P h − 1.
- (b)
-
Zero-pad and recover the negative-lag values:
- (c)
-
Fold in the lag direction: for 0 ≤ m ≤ N fh. And again zero-pad and recover the negative-lag values:
- 2.
-
Transform to the time-frequency domain; iterate over i = 0,2,4,…,U − 2:
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 | ρ[an,bn] | ||
Lag-independent | ρ[an,k i ] | ||
Doppler-independent | ρ[n i ,bk] | ||
Separable | ρ[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 ≤ i ≤ U}, subset of time samples, with 0 ≤ n i ≤ N − 1 and U < N; {k i |1 ≤ i ≤ V}, 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
draw the block diagram for interpolation polyphase filter implementation for the case of L = 2.
- (b)
-
Given a decimation filter as
- 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
draw the block diagram for the interpolation polyphase filter implementation for the case of L = 4.
- (b)
-
Given a decimation filter as
- 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
- 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.
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)
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)
The relationship between two successive sampling rates can be expressed as
(10.24)
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
(10.25)
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:
(10.26)
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)
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)
where
(10.29)
and
(10.30)
δ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)
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)
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)
From (10.24), (10.31), and (10.33), it was found in [6] that (10.33) can be further expressed as
(10.34)
and the total computation for all stages can also be expressed in the following form:
(10.35)
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)
and rewrite (10.35) as
(10.37)
where
(10.38)
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)
and
(10.40)
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)
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)
Recall that the total decimation ratio required by the two-stage decimation process is 17.0181018 MHz/1.418182 MHz=12:
(10.43)
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)
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 ,1− fstop = 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)
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)
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)
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 by a factor of . This requires a filter capable of passing frequency content for frequencies . 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)
A decimation factor M can be implemented by cascading J decimators, with the ith stage having a decimation factor of . This is illustrated in Fig. 7.29. In this multistage decimator, the sampling rate at the output of the ith stage is given as
(7.56)
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) . This translates to a frequency range (Hz) of . 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)
(7.58)
(7.59)
where . An approximation of this response is illustrated in Fig. 7.30.
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:
(7.60)
(7.61)
This can be rewritten in terms of the analog frequency F as
(7.62)
The spectral shape of the signal is completely dependent on the shape of . Due to the downsampling, we also know that the spectral characteristics of has the shape of and is shifted and expanded every .
The filter can be designed by taking the following things into consideration. Recall that we want to ensure that all content within the pass band of is undisturbed. The transition band, however, can be a little more relaxed. We can explore just how relaxed by looking at the representation of and the subsequent repeats that occur every shown in Fig. 7.32. We can identify what the end of the transition band of should be by examining the first shifted image at . We can allow some aliasing or overlap between the image centered at zero and the signal centered at as long as we do not permit overlap for any frequency less than the stop band edge of , or . 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 and the transition band/stop band edge of the overall filter is . This means that for the image centered at zero, the transition band ends at . All other content greater than should be eliminated in order to get rid of the additional images. Using this information, we can derive the filter characteristics of the . They are as follows:
(7.63)
(7.64)
(7.65)
We can generalize this for the ith stage as
(7.66)
(7.67)
(7.68)
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 . The following design for is appropriate
(7.69)
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);
The function firpmord returns a filter order of . We can calculate the number of multiplications per second of a decimator with an input sample rate of , a decimation factor of , and an output sampling rate of as . 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 where and . A block diagram representation of the 2-stage decimator is shown in Fig. 7.34.
The filters and must be designed such that they eliminate aliasing in the overall decimation. From the previous section, the filter specifications for , , are
(7.70)
(7.71)
(7.72)
where(7.73)
This yields the following filter specifications for and :
(7.74)
Even though the width of the transition region for is the same as for , we see that the normalized width of the region is very different. It is clear that
(7.75)
(7.76)
Thus , effectively making the transition region for smaller, leading to a filter with more coefficients. Since the overall filter has a pass band ripple of , we can split this ripple across the two stages. We then have
(7.77)
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)
The following code is used to obtain the minimum filter order of and 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);
-
---------------------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)
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.
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)
The resulting responses are shown in Figs. 7.36 and 7.37. By visual inspection, we see that the filter specifications have been met.
End of the Example
Fig. 7.38 shows a general multistage implementation of a decimator and interpolator.
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)
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).
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.
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.
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 |
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 subbands can be seen in Fig. 7. The signal and are decomposed through the analysis filters . The subband reference signals are filtered by the adaptive filter to generate the subband output signals . Then, the subband signals and are critically decimated to lower sampled rate sequences and where and are used to index the original sequences and the decimated sequences. The factor 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 is utilized for adjusting of the subband ANC controller.
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 and the secondary path 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 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].
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 the convergence rate of the algorithm is slow. To overcome this limitation, a frequency-domain delayless subband algorithm was proposed, where 4 update directions, and 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 . 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
Design a Decimation Filter Using Equiripple Fir Filter Design Algorithm
Source: https://www.sciencedirect.com/topics/engineering/decimation-factor
0 Response to "Design a Decimation Filter Using Equiripple Fir Filter Design Algorithm"
Postar um comentário