public void FourierTransform_16384_length_2000000_iterations() { var transformProvider = new ProviderFake(); var windowFunction = new BlackmanHarrisWindowFunction(); var target = new FourierTransform( transformProvider, windowFunction, 4096 * 4); target.Format = new WaveFormat(44100, 1); var buffers = new float[][] { new float[64] }; for (int i = 0; i < 2000000; i++) { target.Process(buffers, 64); } }
public void Should_correctly_calculate_window_function_coefficients() { var target = new BlackmanHarrisWindowFunction(); var expected = new float[] { 0.00006f, 0.0109823309f, 0.103011489f, 0.385892659f, 0.7938335f, 1.0f, 0.7938335f, 0.385892659f, 0.103011489f, 0.0109823309f, 0.00006f }; var actual = target.CalculateCoefficients(10); CollectionAssert.AreEqual(expected, actual, new FloatComparer()); }
public void Should_throw_if_filter_order_is_negative() { var target = new BlackmanHarrisWindowFunction(); target.CalculateCoefficients(-1); }