C# Class NAudio.Dsp.BiQuadFilter

BiQuad filter
显示文件 Open project: jishi/Jishi.StreamToSonos Class Usage Examples

Public Methods

Method Description
AllPassFilter ( float sampleRate, float centreFrequency, float q ) : BiQuadFilter

H(s) = (s^2 - s/Q + 1) / (s^2 + s/Q + 1)

BandPassFilterConstantPeakGain ( float sampleRate, float centreFrequency, float q ) : BiQuadFilter

H(s) = (s/Q) / (s^2 + s/Q + 1) (constant 0 dB peak gain)

BandPassFilterConstantSkirtGain ( float sampleRate, float centreFrequency, float q ) : BiQuadFilter

H(s) = s / (s^2 + s/Q + 1) (constant skirt gain, peak gain = Q)

HighPassFilter ( float sampleRate, float cutoffFrequency, float q ) : BiQuadFilter

H(s) = s^2 / (s^2 + s/Q + 1)

HighShelf ( float sampleRate, float cutoffFrequency, float shelfSlope, float dbGain ) : BiQuadFilter

H(s) = A * (A*s^2 + (sqrt(A)/Q)*s + 1)/(s^2 + (sqrt(A)/Q)*s + A)

LowPassFilter ( float sampleRate, float cutoffFrequency, float q ) : BiQuadFilter

H(s) = 1 / (s^2 + s/Q + 1)

LowShelf ( float sampleRate, float cutoffFrequency, float shelfSlope, float dbGain ) : BiQuadFilter

H(s) = A * (s^2 + (sqrt(A)/Q)*s + A)/(A*s^2 + (sqrt(A)/Q)*s + 1)

NotchFilter ( float sampleRate, float centreFrequency, float q ) : BiQuadFilter

H(s) = (s^2 + 1) / (s^2 + s/Q + 1)

PeakingEQ ( float sampleRate, float centreFrequency, float q, float dbGain ) : BiQuadFilter

H(s) = (s^2 + s*(A/Q) + 1) / (s^2 + s/(A*Q) + 1)

Transform ( float inSample ) : float

Passes a single sample through the filter

Private Methods

Method Description
BiQuadFilter ( double a0, double a1, double a2, double b0, double b1, double b2 ) : System

Method Details

AllPassFilter() public static method

H(s) = (s^2 - s/Q + 1) / (s^2 + s/Q + 1)
public static AllPassFilter ( float sampleRate, float centreFrequency, float q ) : BiQuadFilter
sampleRate float
centreFrequency float
q float
return BiQuadFilter

BandPassFilterConstantPeakGain() public static method

H(s) = (s/Q) / (s^2 + s/Q + 1) (constant 0 dB peak gain)
public static BandPassFilterConstantPeakGain ( float sampleRate, float centreFrequency, float q ) : BiQuadFilter
sampleRate float
centreFrequency float
q float
return BiQuadFilter

BandPassFilterConstantSkirtGain() public static method

H(s) = s / (s^2 + s/Q + 1) (constant skirt gain, peak gain = Q)
public static BandPassFilterConstantSkirtGain ( float sampleRate, float centreFrequency, float q ) : BiQuadFilter
sampleRate float
centreFrequency float
q float
return BiQuadFilter

HighPassFilter() public static method

H(s) = s^2 / (s^2 + s/Q + 1)
public static HighPassFilter ( float sampleRate, float cutoffFrequency, float q ) : BiQuadFilter
sampleRate float
cutoffFrequency float
q float
return BiQuadFilter

HighShelf() public static method

H(s) = A * (A*s^2 + (sqrt(A)/Q)*s + 1)/(s^2 + (sqrt(A)/Q)*s + A)
public static HighShelf ( float sampleRate, float cutoffFrequency, float shelfSlope, float dbGain ) : BiQuadFilter
sampleRate float
cutoffFrequency float
shelfSlope float
dbGain float
return BiQuadFilter

LowPassFilter() public static method

H(s) = 1 / (s^2 + s/Q + 1)
public static LowPassFilter ( float sampleRate, float cutoffFrequency, float q ) : BiQuadFilter
sampleRate float
cutoffFrequency float
q float
return BiQuadFilter

LowShelf() public static method

H(s) = A * (s^2 + (sqrt(A)/Q)*s + A)/(A*s^2 + (sqrt(A)/Q)*s + 1)
public static LowShelf ( float sampleRate, float cutoffFrequency, float shelfSlope, float dbGain ) : BiQuadFilter
sampleRate float
cutoffFrequency float
shelfSlope float a "shelf slope" parameter (for shelving EQ only). /// When S = 1, the shelf slope is as steep as it can be and remain monotonically /// increasing or decreasing gain with frequency. The shelf slope, in dB/octave, /// remains proportional to S for all other values for a fixed f0/Fs and dBgain.
dbGain float Gain in decibels
return BiQuadFilter

NotchFilter() public static method

H(s) = (s^2 + 1) / (s^2 + s/Q + 1)
public static NotchFilter ( float sampleRate, float centreFrequency, float q ) : BiQuadFilter
sampleRate float
centreFrequency float
q float
return BiQuadFilter

PeakingEQ() public static method

H(s) = (s^2 + s*(A/Q) + 1) / (s^2 + s/(A*Q) + 1)
public static PeakingEQ ( float sampleRate, float centreFrequency, float q, float dbGain ) : BiQuadFilter
sampleRate float
centreFrequency float
q float
dbGain float
return BiQuadFilter

Transform() public method

Passes a single sample through the filter
public Transform ( float inSample ) : float
inSample float Input sample
return float