Mercurial > hg > qm-dsp
diff dsp/signalconditioning/FiltFilt.cpp @ 505:930b5b0f707d
Merge branch 'codestyle-and-tidy'
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Wed, 05 Jun 2019 12:55:15 +0100 |
parents | b1f72e469ec8 |
children | 285f18c0992a |
line wrap: on
line diff
--- a/dsp/signalconditioning/FiltFilt.cpp Thu May 30 16:18:13 2019 +0100 +++ b/dsp/signalconditioning/FiltFilt.cpp Wed Jun 05 12:55:15 2019 +0100 @@ -29,78 +29,70 @@ { } -void FiltFilt::process(double *src, double *dst, unsigned int length) -{ - unsigned int i; +void FiltFilt::process(double *src, double *dst, int length) +{ + int i; if (length == 0) return; - unsigned int nFilt = m_ord + 1; - unsigned int nFact = 3 * ( nFilt - 1); - unsigned int nExt = length + 2 * nFact; + int nFilt = m_ord + 1; + int nFact = 3 * (nFilt - 1); + int nExt = length + 2 * nFact; double *filtScratchIn = new double[ nExt ]; double *filtScratchOut = new double[ nExt ]; - - for( i = 0; i< nExt; i++ ) - { - filtScratchIn[ i ] = 0.0; - filtScratchOut[ i ] = 0.0; + + for (i = 0; i < nExt; i++) { + filtScratchIn[ i ] = 0.0; + filtScratchOut[ i ] = 0.0; } // Edge transients reflection double sample0 = 2 * src[ 0 ]; double sampleN = 2 * src[ length - 1 ]; - unsigned int index = 0; - for( i = nFact; i > 0; i-- ) - { - filtScratchIn[ index++ ] = sample0 - src[ i ]; + int index = 0; + for (i = nFact; i > 0; i--) { + filtScratchIn[ index++ ] = sample0 - src[ i ]; } index = 0; - for( i = 0; i < nFact; i++ ) - { - filtScratchIn[ (nExt - nFact) + index++ ] = sampleN - src[ (length - 2) - i ]; + for (i = 0; i < nFact; i++) { + filtScratchIn[ (nExt - nFact) + index++ ] = + sampleN - src[ (length - 2) - i ]; } index = 0; - for( i = 0; i < length; i++ ) - { - filtScratchIn[ i + nFact ] = src[ i ]; + for (i = 0; i < length; i++) { + filtScratchIn[ i + nFact ] = src[ i ]; } - + //////////////////////////////// - // Do 0Ph filtering - m_filter.process( filtScratchIn, filtScratchOut, nExt); - + // Do 0Ph filtering + m_filter.process(filtScratchIn, filtScratchOut, nExt); + // reverse the series for FILTFILT - for ( i = 0; i < nExt; i++) - { - filtScratchIn[ i ] = filtScratchOut[ nExt - i - 1]; + for (i = 0; i < nExt; i++) { + filtScratchIn[ i ] = filtScratchOut[ nExt - i - 1]; } // do FILTER again - m_filter.process( filtScratchIn, filtScratchOut, nExt); - + m_filter.process(filtScratchIn, filtScratchOut, nExt); + // reverse the series back - for ( i = 0; i < nExt; i++) - { - filtScratchIn[ i ] = filtScratchOut[ nExt - i - 1 ]; + for (i = 0; i < nExt; i++) { + filtScratchIn[ i ] = filtScratchOut[ nExt - i - 1 ]; } - for ( i = 0;i < nExt; i++) - { - filtScratchOut[ i ] = filtScratchIn[ i ]; + for (i = 0; i < nExt; i++) { + filtScratchOut[ i ] = filtScratchIn[ i ]; } index = 0; - for( i = 0; i < length; i++ ) - { - dst[ index++ ] = filtScratchOut[ i + nFact ]; - } + for (i = 0; i < length; i++) { + dst[ index++ ] = filtScratchOut[ i + nFact ]; + } delete [] filtScratchIn; delete [] filtScratchOut; - } void FiltFilt::reset()