dplug.dsp.fir

Naive FIR implementation.

Members

Functions

generateHighpassImpulse
void generateHighpassImpulse(T[] output, double cutoff, double samplerate)

Generates a sinc highpass impulse, centered on floor(output.length / 2). When convolved with, preserve amplitude of the pass-band.

generateHilbertTransformer
void generateHilbertTransformer(T[] outImpulse, WindowDesc windowDesc, double samplerate)

Generates a hilbert transformer impulse, centered on floor(output.length / 2).

generateLowpassImpulse
void generateLowpassImpulse(T[] output, double cutoff, double samplerate)

Generates a sinc lowpass impulse, centered on floor(output.length / 2).

minimumPhaseImpulse
void minimumPhaseImpulse(T[] inoutImpulse, BuiltinComplex!T[] tempStorage)

From an impulse, computes a minimum-phase impulse Courtesy of kasaudio, based on Aleksey Vaneev's algorithm See: http://www.kvraudio.com/forum/viewtopic.php?t=197881 MAYDO: does it preserve amplitude?

normalizeImpulse
void normalizeImpulse(T[] inoutImpulse)

Normalize impulse response. Scale to make sum = 1. TODO: normalize by DC, or normalize by unit energy ? Create two functions.

tempBufferSizeForMinPhase
int tempBufferSizeForMinPhase(T[] inputImpulse)

Structs

FIR
struct FIR(T)

Meta

Authors

Guillaume Piolat