pub struct LadderFilter {
    pub params: Arc<FilterParams>,
    pub s: [f32x4; 4],
    /* private fields */
}
Expand description

This is a 4-pole lowpass ladder filter.

This is a 4-pole lowpass ladder filter loosely based on the ones found in Moog synthesizers. It distorts nicely and is capable of stable self-oscillation when k_ladder==4, and can output other slopes too.

Resonance is limited by the differential BJT buffers.

It converges very well, usually only taking 2 iterations, and almost never more than 4. Could just always do 2, especially when oversampled.

Circuit solved by applying KCL, finding the jacobian of the entire system and then applying newton’s method.

By mixing the output of the different stages, and the output of the feedback, we can create many other filter types. See LadderMode

Fields

params: Arc<FilterParams>s: [f32x4; 4]

Implementations

performs a complete filter process (newton-raphson method)

performs a complete filter process (solved with Mystran’s fixed-pivot method).

performs a complete filter process (linear without distortion)

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.