Class DspFilters
digital signal processing FILTERS methods.
Inherited Members
Namespace: AudioAnalysisTools.DSP
Assembly: AudioAnalysisTools.dll
Syntax
public static class DspFilters
Fields
| Improve this Doc View SourcePi
Declaration
public const double Pi = 3.1415926535897931
Field Value
| Type | Description |
|---|---|
| Double |
Methods
| Improve this Doc View SourceAmplifyAndClip(Double[], Double)
This is ultracrude device but ................
Declaration
public static double[] AmplifyAndClip(double[] signal, double amplifificationFactor)
Parameters
Returns
| Type | Description |
|---|---|
| Double[] |
DisplaySignal(Double[])
Declaration
public static void DisplaySignal(double[] sig)
Parameters
| Type | Name | Description |
|---|---|---|
| Double[] | sig |
DisplaySignal(Double[], Boolean)
Declaration
public static void DisplaySignal(double[] sig, bool showIndex)
Parameters
| Improve this Doc View SourceFilter_DecayingSinusoid(Double[], Double, Double, Double, Double)
converts passed arguments into step decay and step radians ie radians per sample or OMEGA.
Declaration
public static double[] Filter_DecayingSinusoid(double[] signal, double sf, double tHalf, double period, double filterDuration)
Parameters
| Type | Name | Description |
|---|---|---|
| Double[] | signal | the signal. |
| Double | sf | sampling frequency. |
| Double | tHalf | half life in seconds. |
| Double | period | of the cycle of interest. |
| Double | filterDuration | length of filter in seconds. |
Returns
| Type | Description |
|---|---|
| Double[] |
Filter_DecayingSinusoid(Double[], Double, Double, Int32)
Declaration
public static double[] Filter_DecayingSinusoid(double[] signal, double stepDecay, double stepRadians, int filterLength)
Parameters
Returns
| Type | Description |
|---|---|
| Double[] |
FIR_Filter(Double[], Double[])
A "finite impulse response" (FIR) filter uses only the input signals, while an "infinite impulse response" filter (IIR) uses both the input signal and previous samples of the output signal.
FIR filters are always stable, while IIR filters may be unstable. This filter is linear, causal and time-invariant.
Declaration
public static double[] FIR_Filter(double[] signal, double[] filterCoeff)
Parameters
Returns
| Type | Description |
|---|---|
| Double[] | the filtered signal. |
GenerateTestRecording(Int32, Double, Int32[], WaveType)
Declaration
public static AudioRecording GenerateTestRecording(int sampleRate, double duration, int[] harmonics, WaveType waveType)
Parameters
Returns
| Type | Description |
|---|---|
| Audio |
GenerateTestSignal(Int32, Double, Int32[], WaveType)
Declaration
public static double[] GenerateTestSignal(int sampleRate, double duration, int[] harmonics, WaveType waveType)
Parameters
Returns
| Type | Description |
|---|---|
| Double[] |
GetGain(Double[])
Declaration
public static double GetGain(double[] filterCoeff)
Parameters
| Type | Name | Description |
|---|---|---|
| Double[] | filterCoeff |
Returns
| Type | Description |
|---|---|
| Double |
GetSignalOfAddedCosines(Int32, Double, Int32[])
returns a digital signal having sample rate, duration and harmonic content passed by user. Harmonics array should contain Hertz values of harmonics. i.e. int[] harmonics = { 500, 1000, 2000, 4000 }; Phase is not taken into account. Generate Cos waves rather than Sin because amplitude should return to 1.0 if done correctly.
Declaration
public static double[] GetSignalOfAddedCosines(int sampleRate, double duration, int[] freq)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | sampleRate | sr of output signal. |
| Double | duration | signal duration in seconds. |
| Int32[] | freq | an array of frequency harmonics in Hertz. |
Returns
| Type | Description |
|---|---|
| Double[] |
GetSignalOfAddedSines(Int32, Double, Int32[])
Declaration
public static double[] GetSignalOfAddedSines(int sampleRate, double duration, int[] freq)
Parameters
Returns
| Type | Description |
|---|---|
| Double[] |
PreEmphasis(Double[], Double)
The source signal for voiced speech, that is, the vibration generated by the glottis or vocal chords, has a spectral content with more power in low freq than in high. The spectrum has roll off of -6dB/octave. Many speech analysis methods work better when the source signal is spectrally flattened. The pre-emphasis filter is just a 1-order FIR filter, with gentle roll-off.
Declaration
public static double[] PreEmphasis(double[] signal, double coeff)
Parameters
Returns
| Type | Description |
|---|---|
| Double[] |
SubtractBaseline(Double[], Int32)
Declaration
public static double[] SubtractBaseline(double[] signal, int nh)
Parameters
Returns
| Type | Description |
|---|---|
| Double[] |
Tests()
Declaration
public static void Tests()