FILTLAN  1.0a
Public Member Functions | Public Attributes | List of all members
IntervalOptions Struct Reference

An instance of this class, taken by GetIntervals() and PolynomialFilterInterface::setFilter(), is a collection of options to determine the intervals which decides the base filter. More...

#include <polyfilt.h>

Public Member Functions

 IntervalOptions ()
 A default constructor to set default parameters.
 

Public Attributes

Vector intervalWeights
 Interval weights (default 100,1,1,1,100). More...
 
Real transitionIntervalRatio
 The (relative) length of transition interval (default 0.6), effective only for high-pass filters, and low-pass filters with conversion.
 
bool reverseInterval
 This parameter tells whether to reverse the interval or not. It is effective only for mid-pass filters (default false).
 
Real initialPlateau
 Initial length of ‘plateau’, relative to the length of the interval of desired eigenvalues (default 0.1), effective only for mid-pass filters.
 
Real plateauShrinkRate
 The rate at which the plateau shrinks at each iteration (default 1.5), effective only for mid-pass filters.
 
Real initialShiftStep
 Initial shift step, relative to the length of the interval of desired eigenvalues (default 0.01), effective only for mid-pass filters.
 
Real shiftStepExpansionRate
 The rate at which the shift step expands (default 1.5), effective only for mid-pass filters.
 
mkIndex maxInnerIter
 Maximum number of inner iterations (default 30), effective only for mid-pass filters.
 
Real yLimitTol
 A mid-pass filter P(x) should have P(a1)=P(b1), where [a1,b1] is the interval of desired eigenvalues;
yLimitTol (default 0.0001) is the tolerance allowed for |P(a1)-P(b1)|.
 
mkIndex maxOuterIter
 Maximum number of outer iterations (default 50).
 
mkIndex numGridPoints
 Number of grid points, used to measure the maximum function value of the polynomial P(z) for z not in the interval in which the eigenvalues are sought (default 200). More...
 
Real yBottomLine
 This is the bottom line (default 0.001) which the function value of the polynomial must be greater than for z is in the interval of desired eigenvalues.
 
Real yRippleLimit
 The limit of height of ripples (not in the interval of desired eigenvalues) relative to the bottom of polynomial values for z in the interval of desired eigenvalues (default 0.8).
 

Detailed Description

An instance of this class, taken by GetIntervals() and PolynomialFilterInterface::setFilter(), is a collection of options to determine the intervals which decides the base filter.

Member Data Documentation

◆ intervalWeights

Vector IntervalOptions::intervalWeights

Interval weights (default 100,1,1,1,100).

Remarks
For mid-pass filters, there are 5 intervals, including 2 transition intervals. So all the 5 weights intervalWeights(1),...,intervalWeights(5) are used.
For high-pass filters (and low-pass filters with conversion), there are 3 intervals, including 1 transition interval. So only the first 3 weights intervalWeights(1),intervalWeights(2),intervalWeights(3) are used.

◆ numGridPoints

mkIndex IntervalOptions::numGridPoints

Number of grid points, used to measure the maximum function value of the polynomial P(z) for z not in the interval in which the eigenvalues are sought (default 200).

Remarks
The value of numGridPoints will automatically be increased if it is too small.

The documentation for this struct was generated from the following file: