Skip to main content

Welch

Struct Welch 

Source
pub struct Welch {
    pub resolution: f64,
    pub overlap: f64,
    pub taper: Taper,
}
Expand description

Welch’s method: what resolution to estimate at, and how hard to average.

Averaging the periodograms of overlapping segments trades frequency resolution for a quieter estimate, which is the trade a noisy measurement wants and a phase-sensitive one does not. Welch::estimate is the run.

Fields§

§resolution: f64

The frequency resolution to aim for, in Hz.

One segment is rate / resolution samples long, so a finer resolution buys more bins out of fewer averages.

§overlap: f64

How much of each segment the next one repeats, 0.0..1.0.

§taper: Taper

The taper applied to every segment.

Implementations§

Source§

impl Welch

Source

pub fn new(resolution: f64) -> Self

A default estimate at a stated resolution: half overlap, Hann taper.

Source

pub fn estimate(&self, samples: &[f64], rate: f64) -> Estimate

Estimates the amplitude spectrum of samples sampled at rate Hz.

Segments shorter than 64 samples are not worth averaging and the segment length is clamped there; a signal too short to divide is transformed once instead, so an estimate is always answered on the same terms.

Phase is not part of the answer, and that is the method rather than an omission: averaging periodograms discards it.

Trait Implementations§

Source§

impl Clone for Welch

Source§

fn clone(&self) -> Welch

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Welch

Source§

impl Debug for Welch

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Welch

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for Welch

Source§

fn eq(&self, other: &Welch) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Welch

Auto Trait Implementations§

§

impl Freeze for Welch

§

impl RefUnwindSafe for Welch

§

impl Send for Welch

§

impl Sync for Welch

§

impl Unpin for Welch

§

impl UnsafeUnpin for Welch

§

impl UnwindSafe for Welch

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.