Documentation
Tools for embedded systems
Loading...
Searching...
No Matches
LTI Systems

Classes for recursive evaluation of LTI systems defined by transfer functions. More...

Classes

struct  qlibs::continuousTF< order >
 Continuous transfer function for easy LTI system definition. More...
 
struct  qlibs::timeDelay
 Represents a time delay value for use in transportDelay constructor. More...
 
class  qlibs::transportDelay< numberOfDelays >
 Delays the input by a specified amount of time. You can use this class to simulate a time delay. More...
 
struct  qlibs::discreteTF< NB, NA >
 Discrete transfer function for easy LTI system definition. More...
 
class  qlibs::ltisys
 A LTI system base class. More...
 
class  qlibs::discreteSystem
 A LTI discrete system object. More...
 
class  qlibs::continuousSystem
 A LTI continuous system object. More...
 
class  qlibs::smithPredictor
 A Smith Predictor implementation for compensating time delays in control systems. More...
 

Typedefs

template<size_t order>
using qlibs::continuousStates
 Type to specify continuous states.
 
template<size_t order>
using qlibs::discreteStates
 Type to specify discrete states.
 
template<size_t delay>
using qlibs::discreteDelay
 Delays the input by a specified amount of samples. You can use this class to simulate a discrete time delay.
 

Enumerations

enum  qlibs::ltisysType { qlibs::LTISYS_TYPE_UNKNOWN , qlibs::LTISYS_TYPE_CONTINUOUS , qlibs::LTISYS_TYPE_DISCRETE }
 All the possible natures of a LTI system. More...
 

Functions

constexpr timeDelay qlibs::operator""_td (long double v)
 Literal for creating a timeDelay from a floating-point value.
 
constexpr size_t qlibs::operator, (const timeDelay td, const real_t dt)
 Computes the delay in discrete steps using the comma operator.
 
constexpr size_t qlibs::delayFromTime (const real_t Time, const real_t dt)
 Computes the number of discrete delays required for a specified amount of time using a defined time-step.
 
constexpr size_t qlibs::delayFromTime (const timeDelay Time, const real_t dt)
 Computes the number of discrete delays required for a specified amount of time using a defined time-step.
 

Detailed Description

Classes for recursive evaluation of LTI systems defined by transfer functions.

For a brief description of this module, please read Recursive LTI Systems Evaluation by transfer functions.

Typedef Documentation

◆ continuousStates

template<size_t order>
using qlibs::continuousStates

Type to specify continuous states.

◆ discreteDelay

template<size_t delay>
using qlibs::discreteDelay

Delays the input by a specified amount of samples. You can use this class to simulate a discrete time delay.

Template Parameters
DelayThe number of samples to delay the signal.

◆ discreteStates

template<size_t order>
using qlibs::discreteStates

Type to specify discrete states.

Enumeration Type Documentation

◆ ltisysType

All the possible natures of a LTI system.

Enumerator
LTISYS_TYPE_UNKNOWN 

Unknown type of system

LTISYS_TYPE_CONTINUOUS 

Continuous-time system

LTISYS_TYPE_DISCRETE 

Discrete-time controller

Function Documentation

◆ delayFromTime() [1/2]

size_t qlibs::delayFromTime ( const real_t Time,
const real_t dt )
constexpr

Computes the number of discrete delays required for a specified amount of time using a defined time-step.

See also
transportDelay
Parameters
[in]TimeThe amount of time to delay
[in]dtThe time step
Returns
The number of discrete delays required to delay Time seconds using the time step dt

◆ delayFromTime() [2/2]

size_t qlibs::delayFromTime ( const timeDelay Time,
const real_t dt )
constexpr

Computes the number of discrete delays required for a specified amount of time using a defined time-step.

See also
transportDelay
Parameters
[in]TimeThe amount of time to delay
[in]dtThe time step
Returns
The number of discrete delays required to delay Time seconds using the time step dt

◆ operator""_td()

timeDelay qlibs::operator""_td ( long double v)
constexpr

Literal for creating a timeDelay from a floating-point value.

Example:

auto d = 0.2_td; // same as timeDelay(0.2_re)
Parameters
vThe delay value in seconds.
Returns
A timeDelay instance.

◆ operator,()

size_t qlibs::operator, ( const timeDelay td,
const real_t dt )
constexpr

Computes the delay in discrete steps using the comma operator.

This allows concise syntax like:

constexpr real_t dt = 0.01_re;
size_t steps = 0.2_td, dt; // same as timeDelay(0.2_re)(dt)
float real_t
A type to instantiate a real variable double-precision of 64-bits IEEE 754.
Definition qlibs_types.hpp:43
Parameters
tdA timeDelay object.
dtThe time step.
Returns
The delay in steps.