Has the algorithm for fdesign changed in Signal Processing Toolbox

Illustration
Jamal ad-Din - 2021-03-09T10:26:40+00:00
Question: Has the algorithm for fdesign changed in Signal Processing Toolbox

Has the algorithm for fdesign changed in  Signal Processing Toolbox 6.13 (R2010a) as compared to the previous versions? I am using fdesign.decimator to design an equiripple filter with given specifications. I have recently upgraded from R2007b to R2010a. In R2007b, this code output a filter with 89 coefficients, but the same code in R2010a results in a filter with 127 taps. This is breaking compatibility for my downstream code as I am using the filter and the signal output from the filter as a reference to compare with my filter  code written in assembly.   Compare the output generated by the following code in R2007a and R2010a:   Fpass = 3400; % Passband Frequency Fstop = 4000; % Stopband Frequency Apass = 0.01; % Passband Ripple (dB) Astop = 80; % Stopband Attenuation (dB) Fs = 16000; % Sampling Frequency h = fdesign.decimator(2, 'Lowpass', 'fp,fst,ap,ast', Fpass, Fstop, ... Apass, Astop, Fs); Hd = design(h, 'equiripple', ... 'FilterStructure', 'firdecim', ... 'MinPhase', true, ... 'MinOrder', 'any', ... 'StopbandShape', 'flat');

Expert Answer

Profile picture of Neeta Dsouza Neeta Dsouza answered . 2025-11-20

This is expected behavior. In Signal Processing Toolbox 6.11 (R2009a) , there was an improvement in the design of minimum order equiripple lowpass filters which involved measuring the filter response to ensure that the filter order meets the design specifications. This is causing the increment in the filter order in R2009a and later versions.
 
As a workaround, design the filter with non-minimum order specifications thus forcing the same number of coefficients as in R2007b. However, this changes the filter specification and will return different values for the coefficients.


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!