summaryrefslogtreecommitdiffstats
path: root/sdrbase/dsp
diff options
context:
space:
mode:
authorChristian Daniel <cd@maintech.de>2014-08-24 21:17:58 +0200
committerChristian Daniel <cd@maintech.de>2014-08-24 21:19:18 +0200
commit4dfb9844318374e0d22e543d3dfe1d67182b0d33 (patch)
treef1f045e5236c525ada1e665b2c7264db443528a9 /sdrbase/dsp
parent34fb4e9973f78a245e89ae4c13be671d5c08be84 (diff)
add FFTS to cmake and fix some codingstyle issues
Diffstat (limited to 'sdrbase/dsp')
-rw-r--r--sdrbase/dsp/fftsengine.cpp30
1 files changed, 14 insertions, 16 deletions
diff --git a/sdrbase/dsp/fftsengine.cpp b/sdrbase/dsp/fftsengine.cpp
index e719065..5c1b2df 100644
--- a/sdrbase/dsp/fftsengine.cpp
+++ b/sdrbase/dsp/fftsengine.cpp
@@ -2,45 +2,43 @@
#include "dsp/fftsengine.h"
FFTSEngine::FFTSEngine() :
- m_currentplan(ffts_init_1d(1024, 1))
+ m_currentplan(ffts_init_1d(1024, -1))
{
- allocate(4096);
+ allocate(8192);
}
FFTSEngine::~FFTSEngine()
{
- ffts_free(m_currentplan);
- free(imem);
- free(omem);
+ ffts_free(m_currentplan);
+ free(m_imem);
+ free(m_omem);
}
void FFTSEngine::allocate(int n)
{
- imem = malloc(n*4*2+15);
- iptr = (void*)(((unsigned long)imem+15) & (unsigned long)(~ 0x0F));
- omem = malloc(n*4*2+15);
- optr = (void*)(((unsigned long)omem+15) & (unsigned long)(~ 0x0F));
+ m_imem = malloc(n * sizeof(Real) * 2 + 15);
+ m_iptr = (void*)(((unsigned long)m_imem + 15) & (unsigned long)(~0x0f));
+ m_omem = malloc(n * sizeof(Real) * 2 + 15);
+ m_optr = (void*)(((unsigned long)m_omem + 15) & (unsigned long)(~0x0f));
}
void FFTSEngine::configure(int n, bool inverse)
{
- ffts_free(m_currentplan);
- m_currentplan = ffts_init_1d(n, 1);
+ ffts_free(m_currentplan);
+ m_currentplan = ffts_init_1d(n, inverse ? 1 : -1);
}
void FFTSEngine::transform()
{
- ffts_execute(m_currentplan, iptr, optr);
+ ffts_execute(m_currentplan, m_iptr, m_optr);
}
-
Complex* FFTSEngine::in()
{
- return reinterpret_cast<Complex*>(iptr);
+ return reinterpret_cast<Complex*>(m_iptr);
}
Complex* FFTSEngine::out()
{
- return reinterpret_cast<Complex*>(optr);
+ return reinterpret_cast<Complex*>(m_optr);
}
-