DIY Auto-Correlator 1.0
Auto-Correlator Card implementation using Teensy 4.x microcontrollers.
|
MultiTau Auto-Correlator object that is composed of multiple linear - autocorrelators. Specialised for teensy. More...
#include <multi_tau.hpp>
Public Member Functions | |
MultiTauACorrRTTeensy () | |
Counts the total number of data points sent to the counter. More... | |
void | push_datum (counter_t datum) __attribute__((flatten)) |
Pushes the datum to each of the Linear Correlators through the Accumulator adapter. More... | |
void | push_data (const counter_t *container, const index_t size) __attribute__((flatten)) |
Repeatedly calls the MultiTau_ACorr_RT::push_datum() on the given container of counter values. More... | |
void | ch_out () const __attribute__((flatten)) |
Outputs the Linear Correlator channels through the discarder adapter. More... | |
index_t | time_scaling_factor () const __attribute__((always_inline)) |
index_t | tau_scaling_scheme (unsigned int s) const __attribute__((always_inline)) |
Returns the relavent Tau scaling factor, based on the specialised scheme. It is used by the accumulator objects to set the BufferPoints attribute. More... | |
Public Attributes | |
MonitorChannel< true > | MeanMonitor |
uint32_t | DataCounter = 0 |
Private Attributes | |
Accumulator | Accumulators [Lin_channels] |
Accumulator Objects for each channel (Accumulator '0' is redundant.) More... | |
LinACorrRTTeensy< Series_size, false > | Lin_Corrs [Lin_channels] |
Linear ACorrelators. More... | |
DiscarderTeensy< Series_size, int(Series_size/Bin_Ratio), 0 > | Discarder |
Discarder that discards first #Bin_Ratio points. More... | |
MultiTau Auto-Correlator object that is composed of multiple linear - autocorrelators. Specialised for teensy.
|
inline |
Counts the total number of data points sent to the counter.
Default Contructor - Initalizes the BufferPoints attribute in the correlators.
|
inline |
Outputs the Linear Correlator channels through the discarder adapter.
|
inline |
Repeatedly calls the MultiTau_ACorr_RT::push_datum() on the given container of counter values.
|
inline |
Pushes the datum to each of the Linear Correlators through the Accumulator adapter.
|
inline |
Returns the relavent Tau scaling factor, based on the specialised scheme. It is used by the accumulator objects to set the BufferPoints attribute.
|
inline |
@Brief Returns the number of data points after which, the timescale is scaled according to the MultiTau_ACorr_RT::tau_scaling_scheme().
|
private |
Accumulator Objects for each channel (Accumulator '0' is redundant.)
uint32_t MultiTauACorrRTTeensy< Lin_channels, Series_size, Bin_Ratio >::DataCounter = 0 |
|
private |
Discarder that discards first #Bin_Ratio points.
|
private |
Linear ACorrelators.
MonitorChannel<true> MultiTauACorrRTTeensy< Lin_channels, Series_size, Bin_Ratio >::MeanMonitor |