Ejemplo n.º 1
0
        public void TestHighPassLeastSquareFiltering()
        {
            const int    order           = 64;
            const int    fs              = 44100;
            const double cutoffFrequency = 1000d;
            const int    cycles          = 10;

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

            var coeff = new HighPassLeastSquareCoefficients(order, fs, cutoffFrequency);

            TestFilter(order, fs, cycles, coeff, frequencies, validFrequencies);
        }
        private static void TestHighPass(int order, double fs, double cutoffFrequency, double[] expected, double error, bool scale)
        {
            var coeff = new HighPassLeastSquareCoefficients(order, fs, cutoffFrequency)
            {
                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);
            }
        }