aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/sigProcLib.h
diff options
context:
space:
mode:
authorThomas Tsou <tom@tsou.cc>2013-11-09 14:30:41 -0500
committerThomas Tsou <tom@tsou.cc>2013-11-15 23:35:07 -0500
commit20eb6d64fdf6ca5b547cb1f16f67c7c9f2c45ef0 (patch)
tree424b2e4dc3cf4bb6c98b9025f7a6fb7509b918d7 /Transceiver52M/sigProcLib.h
parente0fa2bfd937406cbaf992f8d16d0a262dd6ddd87 (diff)
Transceiver52M: Separate signalVector into it's own file
Break out the signalVector object and clean up the interface in the process. Signed-off-by: Thomas Tsou <tom@tsou.cc>
Diffstat (limited to 'Transceiver52M/sigProcLib.h')
-rw-r--r--Transceiver52M/sigProcLib.h85
1 files changed, 1 insertions, 84 deletions
diff --git a/Transceiver52M/sigProcLib.h b/Transceiver52M/sigProcLib.h
index ebe7519..41bfdfb 100644
--- a/Transceiver52M/sigProcLib.h
+++ b/Transceiver52M/sigProcLib.h
@@ -18,12 +18,7 @@
#include "Vector.h"
#include "Complex.h"
#include "BitVector.h"
-
-/** Indicated signalVector symmetry */
-enum Symmetry {
- NONE = 0,
- ABSSYM = 1
-};
+#include "signalVector.h"
/** Convolution type indicator */
enum ConvType {
@@ -33,84 +28,6 @@ enum ConvType {
UNDEFINED,
};
-/** the core data structure of the Transceiver */
-class signalVector: public Vector<complex>
-{
-
- private:
-
- Symmetry symmetry; ///< the symmetry of the vector
- bool realOnly; ///< true if vector is real-valued, not complex-valued
- bool aligned;
-
- public:
-
- /** Constructors */
- signalVector(int dSize=0, Symmetry wSymmetry = NONE):
- Vector<complex>(dSize),
- realOnly(false), aligned(false)
- {
- symmetry = wSymmetry;
- };
-
- signalVector(complex* wData, size_t start,
- size_t span, Symmetry wSymmetry = NONE):
- Vector<complex>(NULL,wData+start,wData+start+span),
- realOnly(false), aligned(false)
- {
- symmetry = wSymmetry;
- };
-
- signalVector(const signalVector &vec1, const signalVector &vec2):
- Vector<complex>(vec1,vec2),
- realOnly(false), aligned(false)
- {
- symmetry = vec1.symmetry;
- };
-
- signalVector(const signalVector &wVector):
- Vector<complex>(wVector.size()),
- realOnly(false), aligned(false)
- {
- wVector.copyTo(*this);
- symmetry = wVector.getSymmetry();
- };
-
- signalVector(size_t size, size_t start):
- Vector<complex>(size + start),
- realOnly(false), aligned(false)
- {
- mStart = mData + start;
- symmetry = NONE;
- };
-
- signalVector(const signalVector &wVector, size_t start, size_t tail = 0):
- Vector<complex>(start + wVector.size() + tail),
- realOnly(false), aligned(false)
- {
- mStart = mData + start;
- wVector.copyTo(*this);
- memset(mData, 0, start * sizeof(complex));
- memset(mStart + wVector.size(), 0, tail * sizeof(complex));
- symmetry = NONE;
- };
-
- /** start index */
- int getStartIndex() const { return mStart - mData; };
-
- /** symmetry operators */
- Symmetry getSymmetry() const { return symmetry;};
- void setSymmetry(Symmetry wSymmetry) { symmetry = wSymmetry;};
-
- /** real-valued operators */
- bool isRealOnly() const { return realOnly;};
- void isRealOnly(bool wOnly) { realOnly = wOnly;};
-
- /** alignment markers */
- bool isAligned() const { return aligned; };
- void setAligned(bool aligned) { this->aligned = aligned; };
-};
-
/** Convert a linear number to a dB value */
float dB(float x);