|
mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
|
A class to manage optimizing closed-loop gains.
| _realT | the real floating point type in which to do all arithmetic. Is used to define the complex type as well. |
Definition at line 68 of file clGainOpt.hpp.
#include <ao/analysis/clGainOpt.hpp>
Classes | |
| struct | maxStableGainReport |
| Diagnostic summary of a maximum-stable-gain search. More... | |
| struct | optGainReport |
| Diagnostic summary of an open-loop optimum-gain search. More... | |
Public Types | |
| enum class | maxStableGainStatus { notRun , crossingFound , invalidInput , noCrossing } |
| Termination state of a maximum-stable-gain search. More... | |
| enum class | optGainStatus { notRun , converged , boundaryLimited , invalidInput , stabilityFailure , iterationLimit , calculationFailure } |
| Termination state of an open-loop optimum-gain search. More... | |
| typedef _realT | realT |
| The real data type. | |
| typedef std::complex< _realT > | complexT |
| The complex data type. | |
Public Member Functions | |
| clGainOpt () | |
| Default c'tor. | |
| clGainOpt (realT Ti, realT tau) | |
| C'tor setting the loop timings. | |
| void | init () |
| Initialize this instance. | |
| int | N () |
| Get the number of integrations in the (optional) moving average. | |
| void | N (int newN) |
| Set the number of integrations in the moving average. | |
| realT | Ti () |
| Get the loop sampling interval. | |
| void | Ti (realT newTi) |
| Set the loop sampling interval. | |
| realT | tau () |
| Get the loop delay. | |
| void | tau (realT newTau) |
| Set the loop delay. | |
| void | b (const std::vector< realT > &newB) |
| Set the vector of FIR coefficients. | |
| void | b (const Eigen::Array< realT, -1, -1 > &newB) |
| Set the vector of FIR coefficients. | |
| realT | b (size_t i) |
| Get a single FIR coefficient. | |
| const std::vector< realT > & | b () |
| Get the vector of FIR coefficients. | |
| void | a (const std::vector< realT > &newA) |
| Set the vector of IIR coefficients. | |
| void | a (const Eigen::Array< realT, -1, -1 > &newA) |
| Set the vector of IIR coefficients. | |
| realT | a (size_t i) |
| Get a single IIR coefficient. | |
| const std::vector< realT > & | a () |
| Get the vector of IIR coefficients. | |
| void | remember (const realT &rem) |
| Set the remember factor for a leaky integrator. | |
| realT | remember () |
| Get the remember factor. | |
| void | setLeakyIntegrator (realT remember) |
| Set the FIR and IIR coefficients so that the control law is a leaky integrator. | |
| void | f (realT *newF, size_t nF) |
| Set the vector of frequencies. | |
| void | f (const std::vector< realT > &newF) |
| Set the vector of frequencies. | |
| size_t | f_size () |
| Get the size of the frequency vector. | |
| realT | f (size_t i) |
| Get the i-th value of frequency. | |
| complexT | olXfer (int fi, complexT &H_dm, complexT &H_del, complexT &H_con) |
| Calculate the open-loop transfer function. | |
| complexT | olXfer (int fi) |
| Calculate the open-loop transfer function. | |
| complexT | clETF (int fi, realT g) |
| Return the closed loop error transfer function (ETF) at frequency f for gain g. | |
| realT | clETFPhase (int fi, realT g) |
| Return the closed loop error transfer function (ETF) phase at frequency f for gain g. | |
| realT | clETF2 (int fi, realT g) |
| Return the norm of the closed loop error transfer function (ETF) at frequency f for gain g. | |
| complexT | clNTF (int fi, realT g) |
| Return the closed loop noise transfer function (NTF) at frequency f for gain g. | |
| realT | clNTF2 (int fi, realT g) |
| Return the norm of the closed loop noise transfer function (NTF) at frequency f for gain g. | |
| void | clTF2 (realT &ETF, realT &NTF, int fi, realT g) |
| Return the norm of the closed loop transfer functions at frequency f for gain g. | |
| realT | clVariance (realT &varErr, realT &varNoise, const std::vector< realT > &PSDerr, const std::vector< realT > &PSDnoise, realT g) |
| Calculate the closed loop variance given open-loop PSDs and gain. | |
| realT | clVariance (const std::vector< realT > &PSDerr, const std::vector< realT > &PSDnoise, realT g) |
| Calculate the closed loop variance given open-loop PSDs and gain. | |
| mx::error_t | maxStableGain (realT &gain, maxStableGainReport *report=nullptr) |
| Find the maximum stable gain for the loop parameters. | |
| mx::error_t | optGainOpenLoop (realT &gain, realT &var, const std::vector< realT > &PSDerr, const std::vector< realT > &PSDnoise, bool gridSearch, optGainReport *report=nullptr) |
| Return the optimum closed loop gain given an open loop PSD. | |
| mx::error_t | optGainOpenLoop (realT &gain, realT &var, const std::vector< realT > &PSDerr, const std::vector< realT > &PSDnoise, realT maximumGain, bool gridSearch, optGainReport *report=nullptr) |
| Return the optimum closed loop gain given an open loop PSD. | |
| int | pseudoOpenLoop (std::vector< realT > &PSD, realT g) |
| Calculate the pseudo open-loop PSD given a closed loop PSD. | |
Public Attributes | |
| realT | m_maxFindMin |
| The Minimum value for the maximum stable gain finding algorithm. | |
| realT | m_minFindMin |
| The Minimum value for the minimum finding algorithm. | |
| realT | m_minFindMaxFact |
| The maximum value, as a multiplicative factor of maximum gain. | |
| int | m_minFindBits |
| uintmax_t | m_minFindMaxIter |
| The maximum iterations allowed for minimization. | |
Protected Attributes | |
| int | m_N |
| Number of integrations in the (optional) moving average. Default is 1. | |
| realT | m_Ti |
| The loop sampling interval. | |
| realT | m_tau |
| The loop delay. | |
| realT | m_remember { 1.0 } |
| The leaky integrator forget factor. | |
| std::vector< realT > | m_b |
| Vector of FIR coefficients. | |
| std::vector< realT > | m_a |
| Vector of IIR coefficients. | |
| std::vector< realT > | m_f |
| Vector of frequencies. | |
| bool | m_trigCacheChanged { true } |
| True when frequency, sampling interval, or required controller tap count invalidates m_cs and m_ss. | |
| bool | m_changed { true } |
| True if any of the members which make up the basic transfer functions are changed. | |
| typedef std::complex<_realT> mx::AO::analysis::clGainOpt< _realT >::complexT |
The complex data type.
Definition at line 71 of file clGainOpt.hpp.
| typedef _realT mx::AO::analysis::clGainOpt< _realT >::realT |
The real data type.
Definition at line 70 of file clGainOpt.hpp.
|
strong |
Termination state of a maximum-stable-gain search.
Definition at line 74 of file clGainOpt.hpp.
|
strong |
Termination state of an open-loop optimum-gain search.
Definition at line 96 of file clGainOpt.hpp.
| mx::AO::analysis::clGainOpt< realT >::clGainOpt | ( | ) |
| mx::AO::analysis::clGainOpt< realT >::clGainOpt | ( | realT | Ti, |
| realT | tau ) |
|
inline |
| void mx::AO::analysis::clGainOpt< realT >::a | ( | const Eigen::Array< realT, -1, -1 > & | newA | ) |
Set the vector of IIR coefficients.
| [in] | newA | a column-vector Eigen::Array of coefficients, which is copied to m_a. |
Definition at line 611 of file clGainOpt.hpp.
References m_a, m_changed, and m_trigCacheChanged.
| void mx::AO::analysis::clGainOpt< realT >::a | ( | const std::vector< realT > & | newA | ) |
Set the vector of IIR coefficients.
| [in] | newA | a vector of coefficients, which is copied to m_a. |
Definition at line 599 of file clGainOpt.hpp.
References m_a, m_changed, and m_trigCacheChanged.
Referenced by mx::AO::analysis::clAOLinearPredictor< _realT >::_regularizeCoefficients(), mx::AO::analysis::fourierTemporalPSD< _realT, aosysT >::analyzePSDGrid(), and mx::AO::analysis::clAOLinearPredictor< _realT >::regularizeCoefficients().
|
inline |
Get a single IIR coefficient.
Definition at line 260 of file clGainOpt.hpp.
References m_a.
|
inline |
| void mx::AO::analysis::clGainOpt< realT >::b | ( | const Eigen::Array< realT, -1, -1 > & | newB | ) |
Set the vector of FIR coefficients.
| [in] | newB | a column-vector Eigen::Array of coefficients, which is copied to m_b. |
Definition at line 570 of file clGainOpt.hpp.
References m_b, m_changed, and m_trigCacheChanged.
| void mx::AO::analysis::clGainOpt< realT >::b | ( | const std::vector< realT > & | newB | ) |
Set the vector of FIR coefficients.
| [in] | newB | a vector of coefficients, which is copied to m_b. |
Definition at line 558 of file clGainOpt.hpp.
References m_b, m_changed, and m_trigCacheChanged.
Referenced by mx::AO::analysis::clAOLinearPredictor< _realT >::_regularizeCoefficients(), mx::AO::analysis::fourierTemporalPSD< _realT, aosysT >::analyzePSDGrid(), and mx::AO::analysis::clAOLinearPredictor< _realT >::regularizeCoefficients().
|
inline |
Get a single FIR coefficient.
| [in] | i | the index of the FIR coefficient |
Definition at line 231 of file clGainOpt.hpp.
References m_b.
| std::complex< realT > mx::AO::analysis::clGainOpt< realT >::clETF | ( | int | fi, |
| realT | g ) |
Return the closed loop error transfer function (ETF) at frequency f for gain g.
| [in] | fi | the index of the frequency at which to calculate the ETF |
| [in] | g | the loop gain. |
Definition at line 877 of file clGainOpt.hpp.
Referenced by mx::AO::analysis::fourierTemporalPSD< _realT, aosysT >::analyzePSDGrid().
| realT mx::AO::analysis::clGainOpt< realT >::clETF2 | ( | int | fi, |
| realT | g ) |
Return the norm of the closed loop error transfer function (ETF) at frequency f for gain g.
| [in] | fi | the index of the frequency at which to calculate the ETF. |
| [in] | g | the loop gain. |
Definition at line 905 of file clGainOpt.hpp.
Referenced by pseudoOpenLoop().
| realT mx::AO::analysis::clGainOpt< realT >::clETFPhase | ( | int | fi, |
| realT | g ) |
Return the closed loop error transfer function (ETF) phase at frequency f for gain g.
| [in] | fi | the index of the frequency at which to calculate the ETF |
| [in] | g | the loop gain. |
Definition at line 891 of file clGainOpt.hpp.
| std::complex< realT > mx::AO::analysis::clGainOpt< realT >::clNTF | ( | int | fi, |
| realT | g ) |
Return the closed loop noise transfer function (NTF) at frequency f for gain g.
| [in] | fi | the index of the frequency at which to calculate the NTF |
| [in] | g | the loop gain. |
Definition at line 919 of file clGainOpt.hpp.
Referenced by mx::AO::analysis::fourierTemporalPSD< _realT, aosysT >::analyzePSDGrid().
| realT mx::AO::analysis::clGainOpt< realT >::clNTF2 | ( | int | fi, |
| realT | g ) |
Return the norm of the closed loop noise transfer function (NTF) at frequency f for gain g.
| [in] | fi | the index of the frequency at which to calculate the NTF |
| [in] | g | the loop gain. |
Definition at line 937 of file clGainOpt.hpp.
| void mx::AO::analysis::clGainOpt< realT >::clTF2 | ( | realT & | ETF, |
| realT & | NTF, | ||
| int | fi, | ||
| realT | g ) |
Return the norm of the closed loop transfer functions at frequency f for gain g.
Calculates both the error transfer function (ETF) and the noise transfer function (NTF). This minimizes the various complex number operations, compared to calling both clETF2 and clNTF2.
| [out] | ETF | is set to the ETF at f and g |
| [out] | NTF | is set to the NTF at f and g |
| [in] | fi | is the index of the frequency at which to calculate the ETF |
| [in] | g | is the loop gain. |
Definition at line 957 of file clGainOpt.hpp.
Referenced by mx::AO::analysis::fourierTemporalPSD< _realT, aosysT >::analyzePSDGrid(), and clVariance().
| realT mx::AO::analysis::clGainOpt< realT >::clVariance | ( | const std::vector< realT > & | PSDerr, |
| const std::vector< realT > & | PSDnoise, | ||
| realT | g ) |
Calculate the closed loop variance given open-loop PSDs and gain.
Overload of clVariance without the varErr and varNoise output parameters.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| [in] | PSDerr | the open-loop process error PSD. |
| [in] | PSDnoise | the open-loop measurement noise PSD. |
| [in] | g | the gain. |
Definition at line 1023 of file clGainOpt.hpp.
References clVariance().
| realT mx::AO::analysis::clGainOpt< realT >::clVariance | ( | realT & | varErr, |
| realT & | varNoise, | ||
| const std::vector< realT > & | PSDerr, | ||
| const std::vector< realT > & | PSDnoise, | ||
| realT | g ) |
Calculate the closed loop variance given open-loop PSDs and gain.
Calculates the following quantities.
\[\sigma_{err}^2 = \sum_i \left| ETF(f_i) \right|^2 PSD_{err}(fi) \Delta f\\ \sigma_{noise}^2 = \sum_i \left| NTF(f_i) \right|^2 PSD_{noise}(fi) \Delta f\\ \sigma^2 = \sigma_{err}^2 + \sigma_{noise}^2 \]
\( \sigma^2 \) is returned, and \( \sigma_{err}^2 \) and \( \sigma_{noise}^2 \) are available as the optional arguments varErr and varNoise.
| [out] | varErr | the variance in the residual process error. |
| [out] | varNoise | the variance in the residual measurement noise. |
| [in] | PSDerr | the open-loop process error PSD. |
| [in] | PSDnoise | the open-loop measurement noise PSD. |
| [in] | g | the gain. |
Definition at line 988 of file clGainOpt.hpp.
Referenced by mx::AO::analysis::fourierTemporalPSD< _realT, aosysT >::analyzePSDGrid(), and clVariance().
| void mx::AO::analysis::clGainOpt< realT >::f | ( | const std::vector< realT > & | newF | ) |
Set the vector of frequencies.
| [in] | newF | a vector containing the new frequencies |
Definition at line 697 of file clGainOpt.hpp.
References m_changed, m_f, and m_trigCacheChanged.
| void mx::AO::analysis::clGainOpt< realT >::f | ( | realT * | newF, |
| size_t | nF ) |
Set the vector of frequencies.
| [in] | newF | a pointer to an array containing the new frequencies |
| [in] | nF | the number of elements of size(realT) in newF. |
Definition at line 684 of file clGainOpt.hpp.
References m_changed, m_f, and m_trigCacheChanged.
Referenced by mx::AO::analysis::fourierTemporalPSD< _realT, aosysT >::analyzePSDGrid(), and pseudoOpenLoop().
| realT mx::AO::analysis::clGainOpt< realT >::f | ( | size_t | i | ) |
Get the i-th value of frequency.
No range checks are conducted.
| [in] | i | the index of the frequency to return |
Definition at line 706 of file clGainOpt.hpp.
References m_f.
|
inline |
Get the size of the frequency vector.
Definition at line 304 of file clGainOpt.hpp.
References m_f.
| void mx::AO::analysis::clGainOpt< realT >::init | ( | ) |
Initialize this instance.
Definition at line 482 of file clGainOpt.hpp.
References m_changed, m_maxFindMin, m_minFindBits, m_minFindMaxFact, m_minFindMaxIter, m_minFindMin, m_N, m_tau, m_Ti, m_trigCacheChanged, and setLeakyIntegrator().
Referenced by clGainOpt(), and clGainOpt().
| mx::error_t mx::AO::analysis::clGainOpt< realT >::maxStableGain | ( | realT & | gain, |
| maxStableGainReport * | report = nullptr ) |
Find the maximum stable gain for the loop parameters.
Conducts a search along the Nyquist contour of the open-loop transfer function to find the most-negative crossing of the real axis.
Crossings below m_maxFindMin are ignored.
| [out] | gain | maximum stable gain; NaN on failure |
| [out] | report | optional search diagnostics |
Definition at line 1032 of file clGainOpt.hpp.
References crossingFound, mx::AO::analysis::clGainOpt< _realT >::maxStableGainReport::crossingFrequency, mx::AO::analysis::clGainOpt< _realT >::maxStableGainReport::crossingReal, mx::error, mx::AO::analysis::clGainOpt< _realT >::maxStableGainReport::gain, mx::invalidarg, invalidInput, mx::math::isFinite(), mx::AO::analysis::clGainOpt< _realT >::maxStableGainReport::lowerFrequency, mx::AO::analysis::clGainOpt< _realT >::maxStableGainReport::lowerIndex, m_f, m_maxFindMin, noCrossing, mx::noerror, mx::notfound, mx::sizeerr, mx::AO::analysis::clGainOpt< _realT >::maxStableGainReport::status, mx::AO::analysis::clGainOpt< _realT >::maxStableGainReport::upperFrequency, and mx::AO::analysis::clGainOpt< _realT >::maxStableGainReport::upperIndex.
Referenced by mx::AO::analysis::clAOLinearPredictor< _realT >::_regularizeCoefficients(), optGainOpenLoop(), and mx::AO::analysis::clAOLinearPredictor< _realT >::regularizeCoefficients().
| int mx::AO::analysis::clGainOpt< realT >::N | ( | ) |
Get the number of integrations in the (optional) moving average.
Definition at line 503 of file clGainOpt.hpp.
References m_N.
| void mx::AO::analysis::clGainOpt< realT >::N | ( | int | newN | ) |
Set the number of integrations in the moving average.
| [in] | newN | the value of m_N. |
Definition at line 509 of file clGainOpt.hpp.
| std::complex< realT > mx::AO::analysis::clGainOpt< realT >::olXfer | ( | int | fi | ) |
Calculate the open-loop transfer function.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| [in] | fi | the index of the frequency |
Definition at line 713 of file clGainOpt.hpp.
References olXfer().
| std::complex< realT > mx::AO::analysis::clGainOpt< realT >::olXfer | ( | int | fi, |
| complexT & | H_dm, | ||
| complexT & | H_del, | ||
| complexT & | H_con ) |
Calculate the open-loop transfer function.
| [in] | fi | the index of the frequency |
| [out] | H_dm | the transfer function of the DM |
| [out] | H_del | the delay transfer function |
| [out] | H_con | the controller transfer function. |
Definition at line 727 of file clGainOpt.hpp.
References m_a, m_b, m_changed, m_f, m_remember, m_tau, m_Ti, m_trigCacheChanged, and mx::math::two_pi().
Referenced by clETF(), clETF2(), clETFPhase(), clNTF(), clNTF2(), clTF2(), and olXfer().
| mx::error_t mx::AO::analysis::clGainOpt< realT >::optGainOpenLoop | ( | realT & | gain, |
| realT & | var, | ||
| const std::vector< realT > & | PSDerr, | ||
| const std::vector< realT > & | PSDnoise, | ||
| bool | gridSearch, | ||
| optGainReport * | report = nullptr ) |
Return the optimum closed loop gain given an open loop PSD.
Determines the maximum stable gain before minimizing the variance.
| [out] | gain | optimum gain; NaN on failure |
| [out] | var | variance at the optimum gain; NaN on failure |
| [in] | PSDerr | open-loop error PSD |
| [in] | PSDnoise | open-loop measurement-noise PSD |
| [in] | gridSearch | whether to perform a coarse initial search |
| [out] | report | optional search diagnostics |
Definition at line 1215 of file clGainOpt.hpp.
References maxStableGain(), mx::noerror, optGainOpenLoop(), mx::AO::analysis::clGainOpt< _realT >::optGainReport::stability, stabilityFailure, and mx::AO::analysis::clGainOpt< _realT >::optGainReport::status.
Referenced by mx::AO::analysis::clAOLinearPredictor< _realT >::_regularizeCoefficients(), mx::AO::analysis::fourierTemporalPSD< _realT, aosysT >::analyzePSDGrid(), optGainOpenLoop(), and mx::AO::analysis::clAOLinearPredictor< _realT >::regularizeCoefficients().
| mx::error_t mx::AO::analysis::clGainOpt< realT >::optGainOpenLoop | ( | realT & | gain, |
| realT & | var, | ||
| const std::vector< realT > & | PSDerr, | ||
| const std::vector< realT > & | PSDnoise, | ||
| realT | maximumGain, | ||
| bool | gridSearch, | ||
| optGainReport * | report = nullptr ) |
Return the optimum closed loop gain given an open loop PSD.
| [out] | gain | optimum gain; best estimate on timeout |
| [out] | var | variance at the optimum gain |
| [in] | PSDerr | open-loop error PSD |
| [in] | PSDnoise | open-loop measurement-noise PSD |
| [in] | maximumGain | maximum stable gain bounding the search |
| [in] | gridSearch | whether to perform a coarse initial search |
| [out] | report | optional search diagnostics |
Definition at line 1249 of file clGainOpt.hpp.
References boundaryLimited, calculationFailure, converged, mx::error, mx::AO::analysis::clGainOpt< _realT >::optGainReport::evaluations, mx::AO::analysis::clGainOptOptGain_OL< realT >::evaluations, mx::AO::analysis::clGainOpt< _realT >::optGainReport::gain, mx::AO::analysis::clGainOptOptGain_OL< realT >::go, mx::invalidconfig, invalidInput, mx::math::isFinite(), iterationLimit, mx::AO::analysis::clGainOpt< _realT >::optGainReport::iterations, m_f, m_minFindBits, m_minFindMaxFact, m_minFindMaxIter, m_minFindMin, mx::AO::analysis::clGainOpt< _realT >::optGainReport::maximumEvaluatedGain, mx::AO::analysis::clGainOptOptGain_OL< realT >::maximumEvaluatedGain, mx::AO::analysis::clGainOpt< _realT >::optGainReport::minimumEvaluatedGain, mx::AO::analysis::clGainOptOptGain_OL< realT >::minimumEvaluatedGain, mx::noerror, mx::AO::analysis::clGainOptOptGain_OL< realT >::PSDerr, mx::AO::analysis::clGainOptOptGain_OL< realT >::PSDnoise, mx::AO::analysis::clGainOpt< _realT >::optGainReport::requestedMaximumGain, mx::AO::analysis::clGainOpt< _realT >::optGainReport::searchMaximumGain, mx::AO::analysis::clGainOpt< _realT >::optGainReport::searchMinimumGain, mx::sizeerr, mx::AO::analysis::clGainOpt< _realT >::optGainReport::status, mx::timeout, and mx::AO::analysis::clGainOpt< _realT >::optGainReport::variance.
| int mx::AO::analysis::clGainOpt< realT >::pseudoOpenLoop | ( | std::vector< realT > & | PSD, |
| realT | g ) |
Calculate the pseudo open-loop PSD given a closed loop PSD.
| PSD | [in.out] input closed loop PSD, on output contains the pseudo open loop error PSD | |
| [in] | g | the loop gain when PSD was measured. |
Definition at line 1374 of file clGainOpt.hpp.
| realT mx::AO::analysis::clGainOpt< realT >::remember | ( | ) |
| void mx::AO::analysis::clGainOpt< realT >::remember | ( | const realT & | rem | ) |
Set the remember factor for a leaky integrator.
Definition at line 640 of file clGainOpt.hpp.
References m_changed, and m_remember.
Referenced by setLeakyIntegrator().
| void mx::AO::analysis::clGainOpt< realT >::setLeakyIntegrator | ( | realT | remember | ) |
Set the FIR and IIR coefficients so that the control law is a leaky integrator.
Set remember to 1.0 for a pure integrator control law.
| [in] | remember | a number usually close to 1 setting the amount "remembered" from previous iterations. |
Definition at line 657 of file clGainOpt.hpp.
References m_a, m_b, m_changed, m_remember, m_trigCacheChanged, and remember().
Referenced by init().
| realT mx::AO::analysis::clGainOpt< realT >::tau | ( | ) |
Get the loop delay.
Definition at line 540 of file clGainOpt.hpp.
References m_tau.
Referenced by clGainOpt().
| void mx::AO::analysis::clGainOpt< realT >::tau | ( | realT | newTau | ) |
Set the loop delay.
| [in] | newTau | the new value of m_tau. |
Definition at line 546 of file clGainOpt.hpp.
| realT mx::AO::analysis::clGainOpt< realT >::Ti | ( | ) |
Get the loop sampling interval.
Definition at line 521 of file clGainOpt.hpp.
References m_Ti.
Referenced by clGainOpt().
| void mx::AO::analysis::clGainOpt< realT >::Ti | ( | realT | newTi | ) |
Set the loop sampling interval.
| [in] | newTi | the new value of m_Ti. |
Definition at line 527 of file clGainOpt.hpp.
References m_changed, m_Ti, and m_trigCacheChanged.
|
protected |
Vector of IIR coefficients.
Definition at line 130 of file clGainOpt.hpp.
Referenced by a(), a(), a(), a(), olXfer(), and setLeakyIntegrator().
|
protected |
Vector of FIR coefficients.
Definition at line 129 of file clGainOpt.hpp.
Referenced by b(), b(), b(), b(), olXfer(), and setLeakyIntegrator().
|
protected |
True if any of the members which make up the basic transfer functions are changed.
Definition at line 137 of file clGainOpt.hpp.
Referenced by a(), a(), b(), b(), f(), f(), init(), N(), olXfer(), remember(), setLeakyIntegrator(), tau(), and Ti().
|
protected |
Vector of frequencies.
Definition at line 132 of file clGainOpt.hpp.
Referenced by clETF(), clETF2(), clETFPhase(), clNTF(), clNTF2(), clTF2(), clVariance(), f(), f(), f(), f_size(), maxStableGain(), olXfer(), optGainOpenLoop(), and pseudoOpenLoop().
| realT mx::AO::analysis::clGainOpt< _realT >::m_maxFindMin |
The Minimum value for the maximum stable gain finding algorithm.
Parameters for stability analysis
Definition at line 153 of file clGainOpt.hpp.
Referenced by init(), and maxStableGain().
| int mx::AO::analysis::clGainOpt< _realT >::m_minFindBits |
The bits of precision to use for minimum finding. Defaults to std::numeric_limits<realT>::digits.
Definition at line 163 of file clGainOpt.hpp.
Referenced by init(), and optGainOpenLoop().
| realT mx::AO::analysis::clGainOpt< _realT >::m_minFindMaxFact |
The maximum value, as a multiplicative factor of maximum gain.
Definition at line 162 of file clGainOpt.hpp.
Referenced by init(), and optGainOpenLoop().
| uintmax_t mx::AO::analysis::clGainOpt< _realT >::m_minFindMaxIter |
The maximum iterations allowed for minimization.
Definition at line 165 of file clGainOpt.hpp.
Referenced by init(), and optGainOpenLoop().
| realT mx::AO::analysis::clGainOpt< _realT >::m_minFindMin |
The Minimum value for the minimum finding algorithm.
Parameters for minimization finding
Definition at line 161 of file clGainOpt.hpp.
Referenced by init(), and optGainOpenLoop().
|
protected |
Number of integrations in the (optional) moving average. Default is 1.
Definition at line 124 of file clGainOpt.hpp.
|
protected |
The leaky integrator forget factor.
Definition at line 128 of file clGainOpt.hpp.
Referenced by olXfer(), remember(), remember(), and setLeakyIntegrator().
|
protected |
The loop delay.
Definition at line 126 of file clGainOpt.hpp.
Referenced by clGainOpt(), init(), olXfer(), tau(), and tau().
|
protected |
The loop sampling interval.
Definition at line 125 of file clGainOpt.hpp.
Referenced by clGainOpt(), init(), olXfer(), Ti(), and Ti().
|
protected |