diff options
author | Christian Daniel <cd@maintech.de> | 2013-08-07 23:23:43 +0200 |
---|---|---|
committer | Christian Daniel <cd@maintech.de> | 2013-08-07 23:23:43 +0200 |
commit | 6fa57d6d2c791ffeb2279b2324ce61f557ce4cd5 (patch) | |
tree | 6c4b955c4912f8e6c990c56eb54b666adde34157 | |
parent | fb090cdfa91ae3ead3d23969d4fad3aab7caa8b1 (diff) |
allow edges of spectrum in channelizer
-rw-r--r-- | sdrbase/dsp/channelizer.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sdrbase/dsp/channelizer.cpp b/sdrbase/dsp/channelizer.cpp index 34df1fa..d64eb02 100644 --- a/sdrbase/dsp/channelizer.cpp +++ b/sdrbase/dsp/channelizer.cpp @@ -136,8 +136,10 @@ Real Channelizer::createFilterChain(Real sigStart, Real sigEnd, Real chanStart, Real safetyMargin = sigBw / 20; Real rot = sigBw / 4; - //qDebug("Signal [%f, %f] (BW %f), Channel [%f, %f], Rot %f, Safety %f", sigStart, sigEnd, sigBw, chanStart, chanEnd, rot, safetyMargin); + safetyMargin = 0; + //qDebug("Signal [%f, %f] (BW %f), Channel [%f, %f], Rot %f, Safety %f", sigStart, sigEnd, sigBw, chanStart, chanEnd, rot, safetyMargin); +#if 1 // check if it fits into the left half if(signalContainsChannel(sigStart + safetyMargin, sigStart + sigBw / 2.0 - safetyMargin, chanStart, chanEnd)) { //qDebug("-> take left half (rotate by +1/4 and decimate by 2)"); @@ -158,7 +160,7 @@ Real Channelizer::createFilterChain(Real sigStart, Real sigEnd, Real chanStart, m_filterStages.push_back(new FilterStage(FilterStage::ModeCenter)); return createFilterChain(sigStart + rot, sigStart + sigBw / 2.0f + rot, chanStart, chanEnd); } - +#endif Real ofs = ((chanEnd - chanStart) / 2.0 + chanStart) - ((sigEnd - sigStart) / 2.0 + sigStart); qDebug("-> complete (final BW %f, frequency offset %f)", sigBw, ofs); return ofs; |