|
SatCat5
|
Loop-filter for a proportional-double-integral (PII) controller.
This 3rd-order linear filter can accurately track a steady-state frequency chirp. This improves performance for some oscillators.
Definition at line 349 of file ptp_filters.h.
#include <ptp_filters.h>
Public Member Functions | |
| ControllerPII (const satcat5::ptp::CoeffPII &coeff) | |
| Constructor sets loop bandwidth, which can be changed later. | |
| void | set_coeff (const satcat5::ptp::CoeffPII &coeff) |
| Adjust tracking-loop bandwidth. | |
| void | set_slew (u64 slew) |
| Adjust maximum slew-rate. | |
| void | reset () override |
| Required API from ptp::Filter. | |
| void | rate (s64 delta, u32 elapsed_usec) override |
| Required API from ptp::Filter. | |
| s64 | update (s64 next, u32 elapsed_usec) override |
| Required API from ptp::Filter. | |
Protected Attributes | |
| satcat5::ptp::CoeffPII | m_coeff |
| satcat5::util::int128_t | m_accum1 |
| satcat5::util::int256_t | m_accum2 |
| u64 | m_slew |
Private Attributes | |
| satcat5::ptp::Filter * | m_next |