Mercurial > hg > qm-dsp
comparison dsp/keydetection/GetKeyMode.cpp @ 236:ac95b396c8c3
...
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Mon, 02 Apr 2007 13:20:30 +0000 |
parents | 83ccb61f9c0c |
children | 10c3f9df4a07 |
comparison
equal
deleted
inserted
replaced
235:83ccb61f9c0c | 236:ac95b396c8c3 |
---|---|
217 for( k = 0; k < m_BPO; k++ ) | 217 for( k = 0; k < m_BPO; k++ ) |
218 { | 218 { |
219 m_Keys[k] = m_MajCorr[k]; | 219 m_Keys[k] = m_MajCorr[k]; |
220 m_Keys[k+m_BPO] = m_MinCorr[k]; | 220 m_Keys[k+m_BPO] = m_MinCorr[k]; |
221 } | 221 } |
222 | 222 /* |
223 std::cout << "raw keys: "; | 223 std::cout << "raw keys: "; |
224 for (int ii = 0; ii < 2*m_BPO; ++ii) { | 224 for (int ii = 0; ii < 2*m_BPO; ++ii) { |
225 std::cout << m_Keys[ii] << " "; | 225 std::cout << m_Keys[ii] << " "; |
226 } | 226 } |
227 std::cout << std::endl; | 227 std::cout << std::endl; |
228 | 228 */ |
229 double dummy; | 229 double dummy; |
230 key = /*1 +*/ (int)ceil( (double)MathUtilities::getMax( m_Keys, 2* m_BPO, &dummy )/3 ); | 230 key = /*1 +*/ (int)ceil( (double)MathUtilities::getMax( m_Keys, 2* m_BPO, &dummy )/3 ); |
231 | 231 |
232 std::cout << "key pre-sorting: " << key << std::endl; | 232 // std::cout << "key pre-sorting: " << key << std::endl; |
233 | 233 |
234 | 234 |
235 //Median filtering | 235 //Median filtering |
236 | 236 |
237 // track Median buffer initial filling | 237 // track Median buffer initial filling |
257 } | 257 } |
258 | 258 |
259 | 259 |
260 //quicksort | 260 //quicksort |
261 qsort(m_SortedBuffer, m_MedianBufferFilling, sizeof(unsigned int), MathUtilities::compareInt); | 261 qsort(m_SortedBuffer, m_MedianBufferFilling, sizeof(unsigned int), MathUtilities::compareInt); |
262 | 262 /* |
263 std::cout << "sorted: "; | 263 std::cout << "sorted: "; |
264 for (int ii = 0; ii < m_MedianBufferFilling; ++ii) { | 264 for (int ii = 0; ii < m_MedianBufferFilling; ++ii) { |
265 std::cout << m_SortedBuffer[ii] << " "; | 265 std::cout << m_SortedBuffer[ii] << " "; |
266 } | 266 } |
267 std::cout << std::endl; | 267 std::cout << std::endl; |
268 | 268 */ |
269 int sortlength = m_MedianBufferFilling; | 269 int sortlength = m_MedianBufferFilling; |
270 int midpoint = (int)ceil((double)sortlength/2); | 270 int midpoint = (int)ceil((double)sortlength/2); |
271 | 271 |
272 if( midpoint <= 0 ) | 272 if( midpoint <= 0 ) |
273 midpoint = 1; | 273 midpoint = 1; |