You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[essreduce] Pulse-stride guess counts choppers that are out of sync with the source #781
guess_pulse_stride_from_choppers derives the stride from every active chopper, including one that close_non_synced_disk_choppers will shut because it is not in sync with the frame. A chopper at a frequency unrelated to the source (a setpoint error) therefore sets the stride, and the inflated stride can then shut healthy choppers too.
The pulse-shaping choppers are fine at stride 2 (7 / (14/2) = 1), but not at stride 3 (7 / (14/3) = 1.5). Expected: stride 2, only the overlap chopper closed.
Consequences downstream:
The table goes blank from the first chopper instead of from the faulty one.
A caller reporting which choppers were closed names healthy ones.
Proposed fix: only a chopper whose period is a whole number of pulse periods (1 / (f * pulse_period) is whole) contributes to the guess. Choppers faster than the source already contribute nothing (round(14 / 28) = 0), so the change only affects slow choppers whose frequency does not divide the source frequency. Such a chopper is still kept if it is in sync with the stride set by the other choppers (28/3 Hz next to 14/3 Hz at stride 3), and closed otherwise.
Activity