pub struct TraceNormalizer { /* private fields */ }Expand description
The waveform’s normalizer: one running peak of the trace’s magnitude, applied as a uniform gain to the whole trace.
One shared peak for the same reason BandNormalizer uses one — the samples
of a trace only mean anything relative to each other, and a per-sample gain
would erase the shape the trace exists to show. Two differences from that
type, both forced by the quantity:
- The peak tracks
|x|and the output stays signed. A trace is a signal, not a magnitude, so it is divided rather than rectified and clamps to-1..=1instead of0..=1. - The divisor is returned rather than discarded, because it is published
as
AnalysisFrame::waveform_gain(ADR-0139): the raw amplitude iswaveform[i] * waveform_gain, which is the escape hatch a consumer that genuinely wants absolute level reaches for.
Implementations§
Auto Trait Implementations§
impl Freeze for TraceNormalizer
impl RefUnwindSafe for TraceNormalizer
impl Send for TraceNormalizer
impl Sync for TraceNormalizer
impl Unpin for TraceNormalizer
impl UnsafeUnpin for TraceNormalizer
impl UnwindSafe for TraceNormalizer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more