Beispiel #1
0
        private static void TestBandPass(int order, double fs, double f1, double f2, double[] expected, double error, bool scale)
        {
            var coeff = new BandPassLeastSquareCoefficients(order, fs, f1, f2) {UseScaling = scale};
            var chain = coeff.Calculate();

            Assert.AreEqual(expected.Length, chain.Count);
            for (int i = 0; i < expected.Length; i++)
                Assert.AreEqual(expected[i], chain[i], error);
        }
Beispiel #2
0
        public void TestBandPassLeastSquareFiltering()
        {
            const int    order  = 256;
            const int    fs     = 44100;
            const double f1     = 1000d;
            const double f2     = 4000d;
            const int    cycles = 10;

            double[] frequencies      = { 330, 1870, 9790 };
            var      validFrequencies = frequencies.SkipWhile(f => f < f1).TakeWhile(f => f < f2);

            var coeff = new BandPassLeastSquareCoefficients(order, fs, f1, f2);

            TestFilter(order, fs, cycles, coeff, frequencies, validFrequencies);
        }