예제 #1
0
        public void Should_correctly_calculate_coefficients_for_even_numbered_order()
        {
            var target = new LowPassFilterFunction();

            var expected = new float[]
            {
                0.00453131273f,
                0.004532693f,
                0.004533767f,
                0.00453453371f,
                0.004534994f,
                0.00453514745f,
                0.004534994f,
                0.00453453371f,
                0.004533767f,
                0.004532693f,
                0.00453131273f
            };

            var actual = target.CalculateCoefficients(10, 100f, 0f, 44100);

            CollectionAssert.AreEqual(expected, actual, new FloatComparer());
        }
예제 #2
0
        public void Should_throw_if_filter_order_is_negative()
        {
            var target = new LowPassFilterFunction();

            target.CalculateCoefficients(-1, 1f, 1f, 1);
        }
예제 #3
0
        public void Should_throw_if_sample_rate_is_negative()
        {
            var target = new LowPassFilterFunction();

            target.CalculateCoefficients(1, 1f, 1f, -1);
        }
예제 #4
0
        public void Should_not_throw_if_upper_cutoff_frequency_is_negative()
        {
            var target = new LowPassFilterFunction();

            target.CalculateCoefficients(1, 1f, -1f, 1);
        }