aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Tsou <tom@tsou.cc>2013-08-22 18:40:43 -0400
committerThomas Tsou <tom@tsou.cc>2013-09-05 06:07:50 -0400
commit0c260aecaff0e74db4e32496747073de4e80cc23 (patch)
tree551b5678ac42f84c56adb8c489e9bb66758a34b8
parentacc9ee9fc05914d40250e13ae885bf88bd9e672b (diff)
Transceiver52M: Reverse storage of convolution vectors
With convolution changes, we now assume that tap values for filterting are stored in reverse. Along the same lines, the tap values used during correlation are no longer stored in reverse, however, they are still assumed to be conjugated. Signed-off-by: Thomas Tsou <tom@tsou.cc>
-rw-r--r--Transceiver52M/sigProcLib.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/Transceiver52M/sigProcLib.cpp b/Transceiver52M/sigProcLib.cpp
index 2f67a67..9f31679 100644
--- a/Transceiver52M/sigProcLib.cpp
+++ b/Transceiver52M/sigProcLib.cpp
@@ -581,9 +581,9 @@ bool delayVector(signalVector &wBurst, float delay)
// create sinc function
signalVector sincVector(21);
sincVector.isRealOnly(true);
- signalVector::iterator sincBurstItr = sincVector.begin();
+ signalVector::iterator sincBurstItr = sincVector.end();
for (int i = 0; i < 21; i++)
- *sincBurstItr++ = (complex) sinc(M_PI_F*(i-10-fracOffset));
+ *--sincBurstItr = (complex) sinc(M_PI_F*(i-10-fracOffset));
signalVector shiftedBurst(wBurst.size());
if (!convolve(&wBurst, &sincVector, &shiftedBurst, NO_DELAY))
@@ -1394,7 +1394,7 @@ bool designDFE(signalVector &channelResponse,
}
*feedForwardFilter = new signalVector(Nf);
- signalVector::iterator w = (*feedForwardFilter)->begin();
+ signalVector::iterator w = (*feedForwardFilter)->end();
for (int i = 0; i < Nf; i++) {
delete L[i];
complex w_i = 0.0;
@@ -1405,8 +1405,7 @@ bool designDFE(signalVector &channelResponse,
w_i += (*vPtr)*(chanPtr->conj());
vPtr++; chanPtr++;
}
- *w = w_i/d;
- w++;
+ *--w = w_i/d;
}