24 #include "cheetah/data/test/TimeFrequencyStatsTest.h" 25 #include "cheetah/generators/GaussianNoise.h" 34 TimeFrequencyStatsTest::TimeFrequencyStatsTest()
39 TimeFrequencyStatsTest::~TimeFrequencyStatsTest()
43 void TimeFrequencyStatsTest::SetUp()
47 void TimeFrequencyStatsTest::TearDown()
51 TEST_F(TimeFrequencyStatsTest, test_stat_calculation)
53 typedef uint8_t NumericalT;
54 generators::GaussianNoiseConfig generator_config;
55 generator_config.mean(5.0);
56 generator_config.std_deviation(1.0);
57 generators::GaussianNoise<NumericalT> generator(generator_config);
59 std::size_t number_of_channels = 4100;
60 std::size_t number_of_spectra = 4096;
62 TimeFrequency<Cpu, NumericalT> tf1((data::DimensionSize<data::Time>(number_of_spectra))
63 ,data::DimensionSize<data::Frequency>(number_of_channels));
69 TimeFrequencyStats<decltype(tf1)> stats(std::make_shared<TimeFrequency<Cpu, NumericalT>>(tf1));
72 auto const& channel_stats = stats.channel_stats();
73 ASSERT_EQ(channel_stats.size(), number_of_channels);
74 for(
auto const& stat : channel_stats) {
75 ASSERT_NEAR(stat.mean, 5.0, 1.0);
76 ASSERT_NEAR(stat.variance, 1.0, 0.25);
79 auto const& spectrum_stats = stats.spectrum_stats();
80 ASSERT_EQ(spectrum_stats.size(), number_of_spectra);
81 for(
auto const& stat : spectrum_stats) {
82 ASSERT_NEAR(stat.mean, 5.0, 1.0);
83 ASSERT_NEAR(stat.variance, 1.0, 0.25);
Some limits and constants for FLDO.