Mercurial > hg > qm-dsp
diff dsp/transforms/FFT.cpp @ 357:650bbacf8288
Add forwardMagnitude
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Tue, 15 Oct 2013 18:26:38 +0100 |
parents | 3c7338aff6a8 |
children | 8c86761a5533 |
line wrap: on
line diff
--- a/dsp/transforms/FFT.cpp Tue Oct 15 11:52:00 2013 +0100 +++ b/dsp/transforms/FFT.cpp Tue Oct 15 18:26:38 2013 +0100 @@ -132,6 +132,19 @@ } } + void forwardMagnitude(const double *ri, double *mo) { + + double *io = new double[m_n]; + + forward(ri, mo, io); + + for (int i = 0; i < m_n; ++i) { + mo[i] = sqrt(mo[i] * mo[i] + io[i] * io[i]); + } + + delete[] io; + } + void inverse(const double *ri, const double *ii, double *ro) { for (int i = 0; i < m_n; ++i) { @@ -172,6 +185,12 @@ } void +FFTReal::forwardMagnitude(const double *ri, double *mo) +{ + m_d->forwardMagnitude(ri, mo); +} + +void FFTReal::inverse(const double *ri, const double *ii, double *ro) { m_d->inverse(ri, ii, ro);