Design a discrete lowpass filter with transition band between 5..6 Hz, if the sampling frequency is 30 Hz. The stopband should have more then 40 dB attenuation and the passband should not have more then 0.1dB 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); double[] WcArray = new double[1]; int Order; //design a fifth order filter. Order = IIRFilters.EllipticOrder(new double[2] { 5.0/15, 6.0/15 }, 0.1, 40, TFilterType.ftLowPass, ref WcArray, false); //design analog protype IIRFilters.EllipticFilter(Order, 0.1,40, WcArray, TFilterType.ftLowPass, false, num, den, TIirFrequencyTransform.ftStateSpaceAnalog); SignalUtils.FrequencyResponse(num, den, Response, 32, false, TSignalWindowType.wtRectangular, 0); Vector FreqFr = MtxExpr.Ramp(Response.Length, 0, 30*0.5 / Response.Length); //X axis TeeChart.DrawIt(FreqFr, Response, "Frequency response", false); }
|
Copyright (c) 1999-2010 by Dew Research. All rights reserved.
|