Lodestar
An integrated real-time control package in C++
|
|
5 #ifndef LODESTAR_TRANSFERFUNCTION_HPP
6 #define LODESTAR_TRANSFERFUNCTION_HPP
8 #include "SystemStateless.hpp"
9 #include "StateSpace.hpp"
10 #include "DiscreteStateSpace.hpp"
11 #include "Lodestar/analysis/BilinearTransformation.hpp"
12 #include "Lodestar/LodestarErrors.hpp"
14 #include <Eigen/Dense>
18 #include <ginac/ginac.h>
32 den_(Eigen::MatrixXd::Ones(1, 1))
53 const Eigen::MatrixXd &den) : num_(num), den_(den)
61 Eigen::MatrixXd
getNum()
const;
68 void setNum(
const Eigen::MatrixXd &num);
82 Eigen::MatrixXd
getDen()
const;
89 void setDen(
const Eigen::MatrixXd &den);
195 Eigen::MatrixXd num_,
201 #endif //LODESTAR_TRANSFERFUNCTION_HPP
GiNaC::ex getDenExpression(const GiNaC::ex &symbol) const
Generates a symbolic expression of the denominator polynomial.
Definition: TransferFunction.cpp:199
StateSpace toDiscreteStateSpace(double dt) const
Converts transfer function to discrete-time state space object.
Definition: TransferFunction.cpp:121
void setDen(const Eigen::MatrixXd &den)
Set denominator coefficients.
Definition: TransferFunction.cpp:162
TransferFunction()
Default constructor.
Definition: TransferFunction.hpp:31
Main Lodestar code.
Definition: BilinearTransformation.hpp:12
Eigen::MatrixXd getNum() const
Gets numerator coefficients.
Definition: TransferFunction.cpp:137
Definition: StateSpace.hpp:15
void copyFromExpression(const GiNaC::ex &tf, const GiNaC::ex &symbol)
Copies transfer function coefficients from the given symbolic expression.
Definition: TransferFunction.cpp:219
void setNum(const Eigen::MatrixXd &num)
Sets numerator coefficients.
Definition: TransferFunction.cpp:142
Definition: SystemStateless.hpp:9
GiNaC::ex getExpression(const GiNaC::ex &symbol) const
Generates a symbolic expression of the transfer function.
Definition: TransferFunction.cpp:213
GiNaC::ex getNumExpression(const GiNaC::ex &symbol) const
Generates a symbolic expression of the numerator polynomial.
Definition: TransferFunction.cpp:185
TransferFunction(const Eigen::MatrixXd &num, const Eigen::MatrixXd &den)
Constructs a transfer function from a vector of numerator and denominator coefficients.
Definition: TransferFunction.hpp:52
Eigen::MatrixXd getDen() const
Gets denominator coefficients.
Definition: TransferFunction.cpp:157
long getNumDegree() const
Definition: TransferFunction.cpp:147
Definition: TransferFunction.hpp:26
TransferFunction normalized() const
Creates normalized transfer function.
Definition: TransferFunction.cpp:46
long getDenDegree() const
Definition: TransferFunction.cpp:167
StateSpace toStateSpace() const
Converts transfer function to state space object.
Definition: TransferFunction.cpp:55
void normalizeInPlace()
Normalizes transfer function in place.
Definition: TransferFunction.cpp:14