SatCat5
satcat5::ptp::ControllerPI Class Reference

Detailed Description

Loop-filter for a proportional-integral (PI) controller.

This 2nd-order linear filter can accurately track a steady-state frequency offset. It is the recommended option for most users.

Definition at line 267 of file ptp_filters.h.

#include <ptp_filters.h>

Inheritance diagram for satcat5::ptp::ControllerPI:
[legend]
Collaboration diagram for satcat5::ptp::ControllerPI:
[legend]

Public Member Functions

 ControllerPI (const satcat5::ptp::CoeffPI &coeff)
 Constructor sets loop bandwidth, which can be changed later.
 
void set_coeff (const satcat5::ptp::CoeffPI &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::CoeffPI m_coeff
 
satcat5::util::int128_t m_accum
 
u64 m_slew
 

Private Attributes

satcat5::ptp::Filterm_next
 

The documentation for this class was generated from the following files: