LowpassOracle class
Oracle for FIR lowpass filter design.
This example is taken from Almir Mutapcic in 2006:
min γ
s.t. L²(ω) ≤ R(ω) ≤ U²(ω), ∀ ω ∈ [0, π]
R(ω) > 0, ∀ ω ∈ [0, π]
Constructors, destructors, conversion operators
Public functions
- auto assess_feas(const Vec& x, const double& Spsq) -> ParallelCut * -> auto
- auto assess_optim(const Vec& x, double& Spsq) -> std::tuple< ParallelCut, bool > -> auto
- The
assess_optimfunction is a member function of theLowpassOracleclass. It takes aVecobjectxand a reference to adoublevariableSpsqas input parameters. - auto operator()(const Vec& x, double& Spsq) -> std::tuple< ParallelCut, bool > -> auto
Function documentation
LowpassOracle:: LowpassOracle(size_ t N,
double Lpsq,
double Upsq,
double wpass,
double wstop)
Construct a new lowpass oracle object.
| Parameters | |
|---|---|
| N in | Number of FIR coefficients (including zeroth) |
| Lpsq in | Square of lower passband bound (L^2) |
| Upsq in | Square of upper passband bound (U^2) |
| wpass in | Passband edge frequency |
| wstop in | Stopband edge frequency |
The constructor of the LowpassOracle class. It initializes an instance of the LowpassOracle class with the given parameters.
auto LowpassOracle:: assess_feas(const Vec& x,
const double& Spsq) -> ParallelCut *
| Parameters | |
|---|---|
| x in | |
| Spsq in | |
auto LowpassOracle:: assess_optim(const Vec& x,
double& Spsq) -> std::tuple< ParallelCut, bool >
The assess_optim function is a member function of the LowpassOracle class. It takes a Vec object x and a reference to a double variable Spsq as input parameters.
| Parameters | |
|---|---|
| x in | |
| Spsq in/out | |
auto LowpassOracle:: operator()(const Vec& x,
double& Spsq) -> std::tuple< ParallelCut, bool >
| Returns | auto |
|---|