Sinc function-based fractional delay filter bank class.
More...
#include <CDSPFracInterpolator.h>
|
| CDSPFracDelayFilterBank (const int aFilterFracs, const int aElementSize, const int aInterpPoints, const double aReqAtten, const bool aIsThird) |
| Constructor. More...
|
|
int | getFilterLen () const |
| Function returns the length of the filter.
|
|
int | getFilterFracs () const |
| Function returns the number of fractional positions sampled by the bank.
|
|
const double & | operator[] (const int i) const |
|
void | unref () |
| This function should be called when the filter obtained via the filter bank cache is no longer needed.
|
|
|
static void | roundReqAtten (double &att, const bool aIsThird) |
| Function "rounds" the specified attenuation to the nearest effective value. More...
|
|
|
class | CDSPFracDelayFilterBankCache |
|
Sinc function-based fractional delay filter bank class.
Class implements storage and initialization of a bank of sinc-based fractional delay filters, expressed as 0th, 1st, 2nd or 3rd order polynomial interpolation coefficients. The filters are windowed by the "Kaiser" power-raised window function.
◆ CDSPFracDelayFilterBank()
r8b::CDSPFracDelayFilterBank::CDSPFracDelayFilterBank |
( |
const int |
aFilterFracs, |
|
|
const int |
aElementSize, |
|
|
const int |
aInterpPoints, |
|
|
const double |
aReqAtten, |
|
|
const bool |
aIsThird |
|
) |
| |
|
inline |
Constructor.
- Parameters
-
aFilterFracs | The number of fractional delay positions to sample, -1 - use default. |
aElementSize | The size of each filter's tap, in "double" values. This parameter corresponds to the complexity of interpolation. 4 should be set for 3rd order, 3 for 2nd order, 2 for linear interpolation, 1 for whole-numbered stepping. |
aInterpPoints | The number of points the interpolation is based on. This value should not be confused with the ElementSize. Set to 2 for linear or no interpolation. |
aReqAtten | Required filter attentuation. |
aIsThird | "True" if one-third filter is required. |
◆ operator[]()
const double& r8b::CDSPFracDelayFilterBank::operator[] |
( |
const int |
i | ) |
const |
|
inline |
- Parameters
-
i | Filter index, in the range 0 to FilterFracs, inclusive. |
- Returns
- Reference to the filter.
◆ roundReqAtten()
static void r8b::CDSPFracDelayFilterBank::roundReqAtten |
( |
double & |
att, |
|
|
const bool |
aIsThird |
|
) |
| |
|
inlinestatic |
Function "rounds" the specified attenuation to the nearest effective value.
- Parameters
-
[in,out] | att | Required filter attentuation. Will be rounded to the nearest value. |
| aIsThird | "True" if one-third filter is required. |
The documentation for this class was generated from the following file: