diff options
author | Thomas Tsou <tom@tsou.cc> | 2013-11-09 14:30:41 -0500 |
---|---|---|
committer | Thomas Tsou <tom@tsou.cc> | 2013-11-15 23:35:07 -0500 |
commit | 20eb6d64fdf6ca5b547cb1f16f67c7c9f2c45ef0 (patch) | |
tree | 424b2e4dc3cf4bb6c98b9025f7a6fb7509b918d7 /Transceiver52M/sigProcLib.h | |
parent | e0fa2bfd937406cbaf992f8d16d0a262dd6ddd87 (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.h | 85 |
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); |