LTI filter with configurable time constant, damping, and bandwidth.
More...
#include <Filter.h>
|
| | Filter (const std::string &symbol, const std::string &type, int order, vector< double > values, int number_of_connections) |
| | Construct a filter from symbolic metadata and parameter values.
|
| |
| virtual void | printValues () override |
| | Print filter time constant, damping ratio, and bandwidth.
|
| |
| void | updateParameters (double newTimeConstant, double newZeta, double newBandwidth) |
| | Replace filter time constant, damping ratio, and bandwidth.
|
| |
| VectorXd | define_differential_equations (const VectorXd &x, const VectorXd &u) |
| | State derivatives for a vector-valued filter.
|
| |
| VectorXd | define_differential_equations (const VectorXd &x, const double u) |
| | State derivatives for a scalar filter with vector state.
|
| |
| VectorXd | define_differential_equations (const double x, const double u) |
| | State derivatives for a scalar filter.
|
| |
| int | getFilterSize () const |
| | Total number of filter states (filter_size * filter_order).
|
| |
| | ControlBlock ()=default |
| |
| virtual | ~ControlBlock ()=default |
| |
LTI filter with configurable time constant, damping, and bandwidth.
Supports first- and second-order dynamics for vector or scalar signals.
◆ Filter()
| Filter::Filter |
( |
const std::string & |
symbol, |
|
|
const std::string & |
type, |
|
|
int |
order, |
|
|
vector< double > |
values, |
|
|
int |
number_of_connections |
|
) |
| |
|
inline |
Construct a filter from symbolic metadata and parameter values.
- Parameters
-
| symbol | Element symbol/name. |
| type | Filter type identifier (e.g. "LP"). |
| order | Filter order (1 or 2). |
| values | Parameter vector: time constant, damping ratio, bandwidth (Hz). |
| number_of_connections | Number of parallel filter channels (pins). |
◆ define_differential_equations() [1/3]
| VectorXd Filter::define_differential_equations |
( |
const double |
x, |
|
|
const double |
u |
|
) |
| |
State derivatives for a scalar filter.
- Parameters
-
| x | Scalar filter state. |
| u | Scalar input. |
- Returns
- Concatenated state derivative and filter output.
◆ define_differential_equations() [2/3]
| VectorXd Filter::define_differential_equations |
( |
const VectorXd & |
x, |
|
|
const double |
u |
|
) |
| |
State derivatives for a scalar filter with vector state.
- Parameters
-
| x | Filter state vector. |
| u | Scalar input. |
- Returns
- Concatenated state derivatives and filter outputs.
◆ define_differential_equations() [3/3]
| VectorXd Filter::define_differential_equations |
( |
const VectorXd & |
x, |
|
|
const VectorXd & |
u |
|
) |
| |
State derivatives for a vector-valued filter.
- Parameters
-
| x | Filter state vector. |
| u | Input vector. |
- Returns
- Concatenated state derivatives and filter outputs.
◆ getFilterSize()
| int Filter::getFilterSize |
( |
| ) |
const |
|
inline |
Total number of filter states (filter_size * filter_order).
◆ printValues()
| virtual void Filter::printValues |
( |
| ) |
|
|
inlineoverridevirtual |
Print filter time constant, damping ratio, and bandwidth.
Reimplemented from ControlBlock.
◆ updateParameters()
| void Filter::updateParameters |
( |
double |
newTimeConstant, |
|
|
double |
newZeta, |
|
|
double |
newBandwidth |
|
) |
| |
Replace filter time constant, damping ratio, and bandwidth.
- Parameters
-
| newTimeConstant | New time constant. |
| newZeta | New damping ratio. |
| newBandwidth | New bandwidth (Hz). |
The documentation for this class was generated from the following files: