Changeset 3431
- Timestamp:
- 04/18/07 14:49:12 (6 years ago)
- Location:
- SigProc/trunk/SigProc
- Files:
-
- 2 modified
-
autotest_sources/FIRPolyphaseFilterBank_testsuite.h (modified) (2 diffs)
-
filters.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
SigProc/trunk/SigProc/autotest_sources/FIRPolyphaseFilterBank_testsuite.h
r3381 r3431 42 42 43 43 for (unsigned int i=0; i<12; i++) { 44 TS_ASSERT_DELTA( H[0 +i], f0[i], 0.00001f ); 45 TS_ASSERT_DELTA( H[12+i], f1[i], 0.00001f ); 46 TS_ASSERT_DELTA( H[24+i], f2[i], 0.00001f ); 47 TS_ASSERT_DELTA( H[36+i], f3[i], 0.00001f ); 44 // Need to multiply by 'k' to compensate for filterbank scaling 45 TS_ASSERT_DELTA( H[0 +i]*k, f0[i], 0.00001f ); 46 TS_ASSERT_DELTA( H[12+i]*k, f1[i], 0.00001f ); 47 TS_ASSERT_DELTA( H[24+i]*k, f2[i], 0.00001f ); 48 TS_ASSERT_DELTA( H[36+i]*k, f3[i], 0.00001f ); 48 49 } 49 50 } … … 77 78 78 79 for (unsigned int i=0; i<12; i++) { 79 TS_ASSERT_DELTA( H[0 +i], f0[i], 0.00001f ); 80 TS_ASSERT_DELTA( H[12+i], f1[i], 0.00001f ); 81 TS_ASSERT_DELTA( H[24+i], f2[i], 0.00001f ); 82 TS_ASSERT_DELTA( H[36+i], f3[i], 0.00001f ); 80 // Need to multiply by 'k' to compensate for filterbank scaling 81 TS_ASSERT_DELTA( H[0 +i]*k, f0[i], 0.00001f ); 82 TS_ASSERT_DELTA( H[12+i]*k, f1[i], 0.00001f ); 83 TS_ASSERT_DELTA( H[24+i]*k, f2[i], 0.00001f ); 84 TS_ASSERT_DELTA( H[36+i]*k, f3[i], 0.00001f ); 83 85 } 84 86 -
SigProc/trunk/SigProc/filters.cpp
r3382 r3431 280 280 281 281 // Ensure yf is within the scope of short int 282 if ( yf < SHRT_MIN ) 282 if ( yf < SHRT_MIN ) { 283 283 y = SHRT_MIN; 284 else if ( yf > SHRT_MAX )284 } else if ( yf > SHRT_MAX ) { 285 285 y = SHRT_MAX; 286 else286 } else { 287 287 y = (short) yf; 288 } 288 289 289 290 } … … 360 361 // create over-sampled pulse 361 362 SigProc::DesignRRCFilter(Npfb*k, m, beta, H, h_len); 363 364 // Apply scaling factor to filter coefficients 365 float h_scale = float(k); 366 for (unsigned int i=0; i<h_len; i++) 367 H[i] /= h_scale; 362 368 363 369 //