aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M
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 /Transceiver52M
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>
Diffstat (limited to 'Transceiver52M')
-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;
}