LowpassOracle class
#include <ellalgo/oracles/lowpass_oracle.hpp>
Oracle for FIR lowpass filter design.
This example is taken from Almir Mutapcic in 2006:
min \gamma s.t. L^2(\omega) \le R(\omega) \le U^2(\omega), \forall \omega \in
[0, \pi] R(\omega) > 0, \forall \omega \in [0, \pi]
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.
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 |
|---|