Example #1
0
        public void TestFiltering()
        {
            var kernel = Utils.SincFilter(0.1f, 256, "blackman");

            //Line l = new Line(Utils.Linspace(-2,2,kernel.Length), kernel);
            //var list = new List<Line>() { l };
            //Plot.ShowPlot(list);

            Transfer tf = new Transfer();
            tf.B = kernel;
            //tf.A = new double[1] { 1.0f };

            double[] wave = new double[100000];
            for (int i = 0; i < wave.Length; i++)
            {
                wave[i] = ((i % 2000) < 1000) ? 1 : 0;
            }
            var output = tf.Process(wave);

            Line l2 = new Line(Utils.Linspace(0, 2, wave.Length), wave); l2.LinePen = Pens.Blue;
            Line l3 = new Line(Utils.Linspace(0, 2, output.Length), output); l3.LinePen = Pens.Red;
            var list = new List<Line>() { l2, l3 };
            Plot.Plot.ShowPlot(list);
        }