private static float[] MakeChebychevLowPass(int filterOrder, double normalizedCutoff, double attenuation) { float[] array = FilterBuilder.MakeChebychevWindow(filterOrder, attenuation); float[] array2 = FilterBuilder.MakeSinc(2.0, normalizedCutoff, array.Length); FilterBuilder.ApplyWindow(array2, array); FilterBuilder.Normalize(array2); return(array2); }
public static float[] MakeLowPassKernel(double sampleRate, int filterOrder, double cutoffFrequency, WindowType windowType) { filterOrder |= 1; float[] array = FilterBuilder.MakeSinc(sampleRate, cutoffFrequency, filterOrder); float[] window = FilterBuilder.MakeWindow(windowType, filterOrder); FilterBuilder.ApplyWindow(array, window); FilterBuilder.Normalize(array); return(array); }