Lodestar
An integrated real-time control package in C++
DiscreteLQE.hpp
1
//
2
// Created by Hamza El-Kebir on 5/9/21.
3
//
4
5
#ifndef LODESTAR_DISCRETELQE_HPP
6
#define LODESTAR_DISCRETELQE_HPP
7
8
#include "Lodestar/synthesis/AlgebraicRiccatiEquation.hpp"
9
#include <Eigen/QR>
10
#include <vector>
11
12
namespace
ls
{
13
namespace
filter {
14
class
DiscreteLQE
{
15
static
Eigen::MatrixXd
16
infiniteHorizon(
const
Eigen::MatrixXd &A,
17
const
Eigen::MatrixXd &B,
18
const
Eigen::MatrixXd &Q,
19
const
Eigen::MatrixXd &C,
20
const
Eigen::MatrixXd &R);
21
22
static
Eigen::MatrixXd
23
infiniteHorizon(
const
systems::StateSpace<>
&sys,
24
const
Eigen::MatrixXd &Q,
25
const
Eigen::MatrixXd &R);
26
27
static
Eigen::MatrixXd
28
finiteHorizon(
const
Eigen::MatrixXd &A,
29
const
Eigen::MatrixXd &B,
30
const
Eigen::MatrixXd &C,
31
const
Eigen::MatrixXd &Q,
32
const
Eigen::MatrixXd &R,
33
unsigned
int
N = 5);
34
35
static
Eigen::MatrixXd
36
finiteHorizon(
const
systems::StateSpace<>
&sys,
37
const
Eigen::MatrixXd &Q,
38
const
Eigen::MatrixXd &R,
39
unsigned
int
N = 5);
40
};
41
}
42
}
43
44
#endif //LODESTAR_DISCRETELQE_HPP
ls
Main Lodestar code.
Definition:
BilinearTransformation.hpp:12
ls::systems::StateSpace
Definition:
StateSpace.hpp:15
ls::filter::DiscreteLQE
Definition:
DiscreteLQE.hpp:14
Lodestar
filter
DiscreteLQE.hpp
Generated by
1.8.17