/// <summary> /// Generates transfer function. /// </summary> /// <param name="frequency">Normalized cutoff frequency in range [0..0.5]</param> /// <param name="order">Filter order</param> /// <param name="ripple">Ripple (in dB)</param> private static TransferFunction MakeTf(double frequency, int order, double ripple = 0.1) { return(DesignFilter.IirLpTf(frequency, PrototypeChebyshevI.Poles(order, ripple))); }
/// <summary> /// TF generator /// </summary> /// <param name="freq"></param> /// <param name="order"></param> /// <returns></returns> private static TransferFunction MakeTf(double freq, int order) { return(DesignFilter.IirLpTf(freq, PrototypeButterworth.Poles(order))); }
/// <summary> /// Generates transfer function. /// </summary> /// <param name="frequency">Normalized cutoff frequency in range [0..0.5]</param> /// <param name="order">Filter order</param> /// <param name="ripplePass">Passband ripple (in dB)</param> /// <param name="rippleStop">Stopband ripple (in dB)</param> private static TransferFunction MakeTf(double frequency, int order, double ripplePass = 1, double rippleStop = 20) { return(DesignFilter.IirLpTf(frequency, PrototypeElliptic.Poles(order, ripplePass, rippleStop), PrototypeElliptic.Zeros(order, ripplePass, rippleStop))); }
/// <summary> /// Generates transfer function. /// </summary> /// <param name="frequency">Normalized cutoff frequency in range [0..0.5]</param> /// <param name="order">Filter order</param> private static TransferFunction MakeTf(double frequency, int order) { return(DesignFilter.IirLpTf(frequency, PrototypeBessel.Poles(order))); }