comparison test/TestCQFrequency.cpp @ 140:9bf76fc43844

Use frequencies closer to bin centres
author Chris Cannam <c.cannam@qmul.ac.uk>
date Tue, 20 May 2014 10:20:16 +0100
parents 1aef2b746c64
children 88b8d34bfc77
comparison
equal deleted inserted replaced
139:1aef2b746c64 140:9bf76fc43844
88 CQSpectrogram::Interpolation interp = interpolationTypes[k]; 88 CQSpectrogram::Interpolation interp = interpolationTypes[k];
89 89
90 CQParameters params(sampleRate, cqmin, cqmax, bpo); 90 CQParameters params(sampleRate, cqmin, cqmax, bpo);
91 CQSpectrogram cq(params, interp); 91 CQSpectrogram cq(params, interp);
92 92
93 cerr << "cq freq " << freq << ", binForFrequency " << binForFrequency(freq) << endl;
94
95 cerr << "bin freqs: ";
96 for (int i = 0; i < cq.getBinsPerOctave() * cq.getOctaves(); ++i) {
97 cerr << i << ": " << cq.getBinFrequency(i) << ", ";
98 }
99 cerr << endl;
100
101 BOOST_CHECK_EQUAL(cq.getBinsPerOctave(), bpo); 93 BOOST_CHECK_EQUAL(cq.getBinsPerOctave(), bpo);
102 BOOST_CHECK_EQUAL(cq.getOctaves(), 2); 94 BOOST_CHECK_EQUAL(cq.getOctaves(), 2);
103 BOOST_CHECK_CLOSE(cq.getBinFrequency(0), 40, 1e-10); 95 BOOST_CHECK_CLOSE(cq.getBinFrequency(0), 40, 1e-10);
104 BOOST_CHECK_CLOSE(cq.getBinFrequency(4), 20, 1e-10); 96 BOOST_CHECK_CLOSE(cq.getBinFrequency(4), 20, 1e-10);
105 BOOST_CHECK_CLOSE(cq.getBinFrequency(7), cqmin, 1e-3); 97 BOOST_CHECK_CLOSE(cq.getBinFrequency(7), cqmin, 1e-3);
122 } 114 }
123 } 115 }
124 } 116 }
125 117
126 BOOST_AUTO_TEST_CASE(freq_11) { testCQFrequency(11); } 118 BOOST_AUTO_TEST_CASE(freq_11) { testCQFrequency(11); }
127 BOOST_AUTO_TEST_CASE(freq_16) { testCQFrequency(16); } 119 BOOST_AUTO_TEST_CASE(freq_17) { testCQFrequency(17); }
128 BOOST_AUTO_TEST_CASE(freq_23) { testCQFrequency(23); } 120 BOOST_AUTO_TEST_CASE(freq_24) { testCQFrequency(24); }
129 BOOST_AUTO_TEST_CASE(freq_27) { testCQFrequency(27); } 121 BOOST_AUTO_TEST_CASE(freq_27) { testCQFrequency(27); }
130 BOOST_AUTO_TEST_CASE(freq_33) { testCQFrequency(33); } 122 BOOST_AUTO_TEST_CASE(freq_33) { testCQFrequency(33); }
131 BOOST_AUTO_TEST_CASE(freq_40) { testCQFrequency(40); } 123 BOOST_AUTO_TEST_CASE(freq_40) { testCQFrequency(40); }
132 124
133 BOOST_AUTO_TEST_SUITE_END() 125 BOOST_AUTO_TEST_SUITE_END()