You are here: Symbol Reference > OptimalFir Namespace > Functions > OptimalFir.RemezImpulse Function
DSP Master VCL
ContentsIndex
PreviousUpNext
OptimalFir.RemezImpulse Function

Design an optimal equiripple FIR filter with Parks-McClellan algorithm.

Pascal
function RemezImpulse(const H: TVec; const W: array of Double; Ripple: Double; FilterType: TFilterType; Gain: Double = 1; FS: Double = 2; EnsureOdd: boolean = True): boolean; overload;
Parameters 
Description 
H vector holds the impulse response on exit.  
Array which can hold only 2 (highpass/lowpass definition) or 4(bandpass/bandstop definition) parameters.  
Ripple 
The required linear ripple of the passband and 20*Log10(Ripple) is the required attenuation of the stop band.  
FilterType 
Parameter defines the filter type.  
Gain 
Specifies the gain of the passband.  
FS 
The sampling frequency used to normalize transition band edges defined in the W array. Default value for FS is 2.  
EnsureOdd 
Resulting filter length will be odd (not divisable by 2), if set to true. Default is true. 

The resulting impulse response is placed in H. Length of the filter is automatically estimated from the required Ripple and transition bandwidth. Function returns True, if the filter was succesfully designed. This does not guarantee that filter specifications have been meet. 

 

This routine is a simplified version of Remez and can be used to design: Lowpass, bandpass, bandstop, highpass, differentiators and hilbert transformers.  

 

Note:  

RemezImpulse routine designes FIR filters about 10-20% shorter than the KaiserImpulse routine.

Copyright (c) 1999-2025 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!