AngleTracker#
- class acoular.tprocess.AngleTracker
Bases:
MaskedTimeOutCompute the rotational angle and RPM per sample from a trigger signal in the time domain.
This class retrieves samples from the specified
triggersignal and interpolates angular position and rotational speed. The results are stored in the propertiesangleandrpm.The algorithm assumes a periodic trigger signal marking rotational events (e.g., a tachometer pulse or an encoder signal) and interpolates the angle and RPM using cubic splines. It is capable of handling different rotational directions and numbers of triggers per revolution.
- trigger = Instance(Trigger)
Trigger data source, expected to be an instance of
Trigger.
- digest = Property( β¦
A unique identifier for the tracker, based on its properties. (read-only)
- trigger_per_revo = Int(1)
Number of trigger signals per revolution. This allows tracking scenarios where multiple trigger pulses occur per rotation. Default is
1, meaning a single trigger per revolution.
- rot_direction = Int(-1)
Rotation direction flag:
1: counter-clockwise rotation.-1: clockwise rotation.
Default is
-1.
- interp_points = Int(4)
Number of points used for spline interpolation. Default is
4.
- start_angle = Float(0)
Initial rotation angle (in radians) corresponding to the first trigger event. This allows defining a custom starting reference angle. Default is
0.
- rpm = Property(depends_on=['digest'])
Revolutions per minute (RPM) computed for each sample. It is based on the trigger data. (read-only)
- average_rpm = Property(depends_on=['digest'])
Average revolutions per minute over the entire dataset. It is computed based on the trigger intervals. (read-only)
- angle = Property(depends_on=['digest'])
Computed rotation angle (in radians) for each sample. It is interpolated from the trigger data. (read-only)