You are here: Symbol Reference > Dew.Signal Namespace > IIRFilters Class > IIRFilters Methods > ChebyshevIIOrder Method
Dew DSP for .NET
Contents
C# Example

Design an analog bandpass filter with transition band between 1..3 and 6..9 rad/sec and with at least 50dB attenuation in the stopband and. The passband should not have more then 0.2dB ripple. 

 

using Dew.Math;
using Dew.Math.Editors;
using Dew.Math.Units;
using Dew.Signal;
using Dew.Signal.Units;
using Dew.Math.Tee;
using Dew.Signal.Tee;

private void button1_Click(object sender, EventArgs e)
{
    Vector z = new Vector(0);
    Vector p = new Vector(0);
    Vector num = new Vector(0);
    Vector den = new Vector(0);
    Vector Response = new Vector(0);
    Vector FreqFr = new Vector(0);
    double Wc,k;
    double[] WcArray = new double[2];
    int Order; //design a fifth order filter.

    Order = IIRFilters.ChebyshevIIOrder(new double[4] { 1, 3, 6, 9 }, 0.2, 50, TFilterType.ftBandPass, ref WcArray, true);  //design analog protype
    IIRFilters.ChebyshevIIAnalog(Order, 50, z, p, out k);  //design analog protype
    Wc = Math.Sqrt(WcArray[0] * WcArray[1]); //modified 3dB frequency
    double Bw = WcArray[1] - WcArray[0];
    LinearSystems.LowpassToBandpass(z, p, ref k, Wc, Bw);  //frequency transformation in s-domain
    LinearSystems.ZeroPoleToTransferFun(num, den, z, p, k);
    FreqFr.Length = 1000;
    SignalUtils.LogRamp(FreqFr, -1, 1);

    SignalUtils.FrequencyResponseS(num, den, FreqFr, Response, 0);
    TeeChart.DrawIt(Response, "Frequency response", false);
}
Copyright (c) 1999-2010 by Dew Research. All rights reserved.