diff --git a/annotated.html b/annotated.html index 32631b0..5f9ab51 100644 --- a/annotated.html +++ b/annotated.html @@ -92,113 +92,119 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Nsdr
 CAFSKA simple (Audio) Frequency Shift Keying (AFSK) demodulator
 CAGCAn automatic gain control node
 CAMDemodAmplitude modulation (AM) demodulator from an I/Q signal
 CAutoCastThis class performs some automatic casts to a certain buffer type (if possible) specified by the template argument
 CAX25Decodes AX25 (PacketRadio) messages from a bit stream
 CBaseBandThis class performs several operations on the real input stream, It first filters out some part of the input stream using a FIR band pass filter then shifts the center frequency to 0 and finally sub-samples the resulting stream such that the selected base-band is well represented
 CBaudotImplements a Baudot decoder
 CBlockingSourceIterface of a blocking source
 CBPSK31A simple BPSK31 "demodulator"
 CBufferA typed buffer
 CBufferNodeA simple buffering node, that ensures a fixed buffer size
 CBufferOwnerAbstract class (interface) of a buffer owner
 CBufferSetA set of buffers, that tracks their usage
 CCastExplicit type cast node
 CCombineA combine node
 CCombineSinkA single sink of a Combine node
 CConfigA collection of configuration information that is send by a source to all connected sinks to propergate and check the configuration of the processing network
 CConfigErrorThe configuration error class
 CDebugDumpDumps buffers in a human readable form
 CDebugStoreKeeps a copy of the last buffer received
 CDelegateSpecific delegate to a method of an object
 CDelegateInterfaceInterface of a delegate
 CFFTFFT module class, provides static methods to perfrom a FFT directly
 CFFTPlanTrivial FFT implementation for buffer sizes of N=2**K
 CFFTPlan< double >Template specialization for a FFT transform on std::complex<double> values
 CFFTPlan< float >Template specialization for a FFT transform on std::complex<float> values
 CFilterNodeA FFT filter bank node wich consists of several filters
 CFilterSinkPerforms the FFT forward transform
 CFilterSourcePerforms the overlap-add FFT filtering and back-transform
 CFIRBandPassBand-pass FIR filter specialization
 CFIRBandPassCoeffsImplements the calculation of the filter coefficients for the use in the FIRFilter template class
 CFIRBandStopBand-stop FIR filter specialization
 CFIRBandStopCoeffsImplements the calculation of the filter coefficients for the use in the FIRFilter template class
 CFIRFilterGeneric FIR filter class
 CFIRHighPassHigh-pass FIR filter specialization
 CFIRHighPassCoeffsImplements the calculation of the filter coefficients for the use in the FIRFilter template class
 CFIRLowPassLow-pass FIR filter specialization
 CFIRLowPassCoeffsImplements the calculation of the filter coefficients for the use in the FIRFilter template class
 CFMDeemphA tiny node to de-emphasize the higher frequencies of a FM transmitted audio signal
 CFMDemodDemodulates FM from an I/Q signal
 CFracSubSampleBaseImplements a fractional sub-sampler
 CFreqShiftPerforms a frequency shift on a complex input signal, by multiplying it with $e^{i\omega t}$
 CFreqShiftBaseA performant implementation of a frequency-shift operation on integer signals
 CGWNSourceA Gaussian White Noise source
 CImagPartSelects the imaginary part of a complex signal
 CInpolSubSamplerAn interpolating sub-sampler
 CInterleaveInterleaves several input streams
 CIQBalanceA simple node, that allows to balance an IQ signal
 CIQBaseBandThis class performs several operations on the complex (integral) input stream, it first filters out some part of the input stream using a FIR band pass (band pass is centerred around Ff with width width) then shifts the center frequency Fc to 0 and finally sub-samples the resulting stream
 CIQSigGenArbitrary function generator
 CLoggerThe logger class (singleton)
 CLogHandlerBase class of all log-message handlers
 CLogMessageA log message
 COptionsConvenience functions for command line arguments
 CPortAudio"Namespace" to collect all static, PortAudio related functions
 CPortSinkPortAudio playback node
 CPortSourcePortAudio input stream as a Source
 CProxyA NOP node
 CQueueCentral message queue (singleton)
 CRawBufferBase class of all buffers, represents an untyped array of bytes
 CRawRingBufferA simple ring buffer
 CRealImagPartExtracts the real or imaginary part of a complex valued data stream
 CRealPartSelects the real part of a complex signal
 CRingBufferA simple typed ring-buffer
 CRTLSourceImplements a uint_8 I/Q source for RTL2832 based TV dongles
 CRuntimeErrorThe runtime error class
 CScaleSimple scaling node
 CSDRErrorBase class of all SDR exceptions
 CSigGenArbitrary function generator
 CSignedToUnsignedPerforms a reinterprete cast from an unsinged value to a singed one
 CSinkTyped sink
 CSinkBaseBasic interface of all Sinks
 CSourceGeneric source class
 CStreamLogHandlerSerializes log message into the specified stream
 CStreamSinkSerializes the incomming buffers as raw data
 CStreamSourceReads raw samples from an imput stream, (ie a file)
 CSubSampleSimple averaging sub-sampler
 CTextDumpDumps the received uin8_t byte-stream as (ASCII) text
 CToComplexTiny helper node to transform a real part into a complex, including a possible type-cast
 CTraitsForward declaration of type tratis template
 CTraits< double >Template specialization of type traits for float scalar
 CTraits< float >Template specialization of type traits for float scalar
 CTraits< int16_t >Template specialization of type traits for int16_t scalar
 CTraits< int8_t >Template specialization of type tratis for int8_t scalar
 CTraits< std::complex< double > >Template specialization of type traits for complex float scalar
 CTraits< std::complex< float > >Template specialization of type traits for complex float scalar
 CTraits< std::complex< int16_t > >Template specialization of type traits for complex int16_t scalar
 CTraits< std::complex< int8_t > >Template specialization of type tratis for complex int8_t scalar
 CTraits< std::complex< uint16_t > >Template specialization of type traits for complex uint16_t scalar
 CTraits< std::complex< uint8_t > >Template specialization of type tratis for complex uint8_t scalar
 CTraits< uint16_t >Template specialization of type traits for uint16_t scalar
 CTraits< uint8_t >Template specialization of type tratis for uint8_t scalar
 CUnsignedToSignedPerforms a reinterprete cast from an unsinged value to a singed one
 CUSBDemodSSB upper side band (USB) demodulator from an I/Q signal
 CVaricodeSimple varicode (Huffman code) decoder node
 CWavSinkStores the received buffers into a WAV file
 CWavSourceA simple imput source that reads from a wav file
 Nsdr
diff --git a/autocast_8hh_source.html b/autocast_8hh_source.html index 6ef8467..83dce3b 100644 --- a/autocast_8hh_source.html +++ b/autocast_8hh_source.html @@ -339,7 +339,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::Config::Type_s16
Real signed 16b ints.
Definition: node.hh:44
sdr::Source::send
virtual void send(const RawBuffer &buffer, bool allow_overwrite=false)
Sends the given buffer to all connected sinks.
Definition: node.cc:67
sdr::Config::Type_cu16
Complex (aka I/Q) type of unsigned 16b ints.
Definition: node.hh:49
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::Config::Type_s8
Real signed 8b ints.
Definition: node.hh:42
sdr::Source
Generic source class.
Definition: node.hh:213
sdr::Config::Type_u8
Real unsigned 8b ints.
Definition: node.hh:41
@@ -382,7 +382,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/ax25_8hh_source.html b/ax25_8hh_source.html index d8f836d..04f41c6 100644 --- a/ax25_8hh_source.html +++ b/ax25_8hh_source.html @@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::AX25::_bitstream
uint32_t _bitstream
The last bits.
Definition: ax25.hh:37
sdr::AX25::_rxbuffer
uint8_t _rxbuffer[512]
Message buffer.
Definition: ax25.hh:44
sdr::Sink
Typed sink.
Definition: node.hh:192
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::Source
Generic source class.
Definition: node.hh:213
sdr::AX25::AX25
AX25()
Constructor.
Definition: ax25.cc:54
sdr::AX25::process
virtual void process(const Buffer< uint8_t > &buffer, bool allow_overwrite)
Processes the bit stream.
Definition: ax25.cc:92
@@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/baseband_8hh_source.html b/baseband_8hh_source.html index 84db828..e87f341 100644 --- a/baseband_8hh_source.html +++ b/baseband_8hh_source.html @@ -551,7 +551,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::IQBaseBand::IQBaseBand
IQBaseBand(double Fc, double width, size_t order, size_t sub_sample, double oFs=0.0)
Constructor, the filter center frequency Ff equals the given center frequency Fc. ...
Definition: baseband.hh:35
sdr::BaseBand::_process
void _process(const Buffer< Scalar > &in, const Buffer< CScalar > &out)
Performs the actual procssing.
Definition: baseband.hh:425
sdr::Sink
Typed sink.
Definition: node.hh:192
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::IQBaseBand::centerFrequency
double centerFrequency() const
Returns the center frequency.
Definition: baseband.hh:82
sdr::RawBuffer::isEmpty
bool isEmpty() const
Returns true if the buffer is invalid/empty.
Definition: buffer.hh:77
std
Definition: operators.hh:9
@@ -634,7 +634,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/baudot_8hh_source.html b/baudot_8hh_source.html index d0ba7d2..0b19871 100644 --- a/baudot_8hh_source.html +++ b/baudot_8hh_source.html @@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::Baudot::_mode
Mode _mode
The currently selected table.
Definition: baudot.hh:55
sdr::Sink
Typed sink.
Definition: node.hh:192
sdr::Baudot::STOP2
2 stop bits.
Definition: baudot.hh:32
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::Baudot
Implements a Baudot decoder.
Definition: baudot.hh:19
sdr::Baudot::_letter
static char _letter[32]
Code table for letters.
Definition: baudot.hh:46
sdr::Baudot::_bitstream
uint16_t _bitstream
The last bits received.
Definition: baudot.hh:50
@@ -167,7 +167,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/bch31__21_8hh_source.html b/bch31__21_8hh_source.html new file mode 100644 index 0000000..c13aef3 --- /dev/null +++ b/bch31__21_8hh_source.html @@ -0,0 +1,115 @@ + + + + + + +libsdr: /Users/hannes/Uni/Elektronik/sdr/libsdr/src/bch31_21.hh Source File + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+
bch31_21.hh
+
+
+
1 #ifndef __SDR_BCH31_21_HH__
+
2 #define __SDR_BCH31_21_HH__
+
3 
+
4 #include <cinttypes>
+
5 
+
6 namespace sdr {
+
7 
+
10 int pocsag_repair(uint32_t &data);
+
11 
+
12 }
+
13 
+
14 #endif // __SDR_BCH31_21_HH__
+
Definition: autocast.hh:8
+
+ + + + diff --git a/buffer_8hh_source.html b/buffer_8hh_source.html index 2cc3ca2..15e0189 100644 --- a/buffer_8hh_source.html +++ b/buffer_8hh_source.html @@ -551,7 +551,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::RawRingBuffer::clear
void clear()
Clear the ring-buffer.
Definition: buffer.hh:453
sdr::RawBuffer::ref
void ref() const
Increment reference counter.
Definition: buffer.cc:57
sdr::RingBuffer::stored
size_t stored() const
Returns the number of stored elements.
Definition: buffer.hh:502
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::RawRingBuffer::take
bool take(const RawBuffer &dest, size_t N)
Take N bytes from the ring buffer and store it into the given buffer dest.
Definition: buffer.hh:426
sdr::RawBuffer::isEmpty
bool isEmpty() const
Returns true if the buffer is invalid/empty.
Definition: buffer.hh:77
sdr::RawBuffer::storageSize
size_t storageSize() const
Returns the raw buffer size in bytes.
Definition: buffer.hh:75
@@ -616,7 +616,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/buffernode_8hh_source.html b/buffernode_8hh_source.html index f9ce00a..0672c89 100644 --- a/buffernode_8hh_source.html +++ b/buffernode_8hh_source.html @@ -191,7 +191,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::Source::send
virtual void send(const RawBuffer &buffer, bool allow_overwrite=false)
Sends the given buffer to all connected sinks.
Definition: node.cc:67
sdr::BufferNode::BufferNode
BufferNode(size_t bufferSize)
Constructs a new buffer node.
Definition: buffernode.hh:23
sdr::Sink
Typed sink.
Definition: node.hh:192
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::Config::numBuffers
size_t numBuffers() const
Returns the max.
Definition: node.hh:89
sdr::Source
Generic source class.
Definition: node.hh:213
sdr::BufferNode::_bufferSize
size_t _bufferSize
The desired buffer size.
Definition: buffernode.hh:95
@@ -213,7 +213,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/bug.html b/bug.html index e7ee294..426fa38 100644 --- a/bug.html +++ b/bug.html @@ -93,7 +93,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classes.html b/classes.html index 5f97af2..73b48da 100644 --- a/classes.html +++ b/classes.html @@ -93,59 +93,61 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
A | B | C | D | F | G | I | L | M | O | P | Q | R | S | T | U | V | W
- - - - - - + + + + + + + - - - - + + + - - - - + + + + + + + - - - - - - - + + + + + + + - + + - - + + +
  A  
-
Options::Definition (sdr)   
  I  
+
DebugStore (sdr)   
  I  
  R  
-
Traits< float > (sdr)   
Delegate (sdr)   Traits< int16_t > (sdr)   
AFSK (sdr)   DelegateInterface (sdr)   ImagPart (sdr)   RawBuffer (sdr)   Traits< int8_t > (sdr)   
AGC (sdr)   
  F  
-
InpolSubSampler (sdr)   RawRingBuffer (sdr)   Traits< std::complex< double > > (sdr)   
AMDemod (sdr)   Interleave (sdr)   RealImagPart (sdr)   Traits< std::complex< float > > (sdr)   
AutoCast (sdr)   FFT (sdr)   IQBalance (sdr)   RealPart (sdr)   Traits< std::complex< int16_t > > (sdr)   
AX25 (sdr)   FFTPlan (sdr)   IQBaseBand (sdr)   RingBuffer (sdr)   Traits< std::complex< int8_t > > (sdr)   
Traits< int16_t > (sdr)   
Options::Definition (sdr)   Traits< int8_t > (sdr)   
AGC (sdr)   Delegate (sdr)   ImagPart (sdr)   RawBuffer (sdr)   Traits< std::complex< double > > (sdr)   
AMDemod (sdr)   DelegateInterface (sdr)   InpolSubSampler (sdr)   RawRingBuffer (sdr)   Traits< std::complex< float > > (sdr)   
ASKDetector (sdr)   
  F  
+
Interleave (sdr)   RealImagPart (sdr)   Traits< std::complex< int16_t > > (sdr)   
AutoCast (sdr)   IQBalance (sdr)   RealPart (sdr)   Traits< std::complex< int8_t > > (sdr)   
AX25 (sdr)   FFT (sdr)   IQBaseBand (sdr)   RingBuffer (sdr)   Traits< std::complex< uint16_t > > (sdr)   
  B  
-
FFTPlan< double > (sdr)   IQSigGen (sdr)   RTLSource (sdr)   Traits< std::complex< uint16_t > > (sdr)   
FFTPlan< float > (sdr)   
  L  
-
RuntimeError (sdr)   Traits< std::complex< uint8_t > > (sdr)   
BaseBand (sdr)   FilterNode (sdr)   
  S  
-
Traits< uint16_t > (sdr)   
Baudot (sdr)   FilterSink (sdr)   Logger (sdr)   Traits< uint8_t > (sdr)   
BlockingSource (sdr)   FilterSource (sdr)   LogHandler (sdr)   Scale (sdr)   
  U  
+
FFTPlan (sdr)   IQSigGen (sdr)   RTLSource (sdr)   Traits< std::complex< uint8_t > > (sdr)   
FFTPlan< double > (sdr)   
  L  
+
RuntimeError (sdr)   Traits< uint16_t > (sdr)   
BaseBand (sdr)   FFTPlan< float > (sdr)   
  S  
+
Traits< uint8_t > (sdr)   
Baudot (sdr)   FilterNode (sdr)   Logger (sdr)   
  U  
BPSK31 (sdr)   FIRBandPass (sdr)   LogMessage (sdr)   SDRError (sdr)   
Buffer (sdr)   FIRBandPassCoeffs (sdr)   
  M  
-
SigGen (sdr)   UnsignedToSigned (sdr)   
BufferNode (sdr)   FIRBandStop (sdr)   SignedToUnsigned (sdr)   USBDemod (sdr)   
BufferOwner (sdr)   FIRBandStopCoeffs (sdr)   Queue::Message (sdr)   Sink (sdr)   
  V  
+
BitDump (sdr)   FilterSink (sdr)   LogHandler (sdr)   Scale (sdr)   
BitStream (sdr)   FilterSource (sdr)   LogMessage (sdr)   SDRError (sdr)   UnsignedToSigned (sdr)   
BlockingSource (sdr)   FIRBandPass (sdr)   
  M  
+
SigGen (sdr)   USBDemod (sdr)   
BPSK31 (sdr)   FIRBandPassCoeffs (sdr)   SignedToUnsigned (sdr)   
  V  
+
Buffer (sdr)   FIRBandStop (sdr)   Queue::Message (sdr)   Sink (sdr)   
BufferNode (sdr)   FIRBandStopCoeffs (sdr)   POCSAG::Message (sdr)   SinkBase (sdr)   Options::Value (sdr)   
BufferOwner (sdr)   FIRFilter (sdr)   
  O  
+
Source (sdr)   Varicode (sdr)   
BufferSet (sdr)   FIRHighPass (sdr)   StreamLogHandler (sdr)   
  W  
BufferSet (sdr)   FIRFilter (sdr)   
  O  
-
SinkBase (sdr)   
  C  
-
FIRHighPass (sdr)   Source (sdr)   Options::Value (sdr)   
FIRHighPassCoeffs (sdr)   Options (sdr)   StreamLogHandler (sdr)   Varicode (sdr)   
Cast (sdr)   FIRLowPass (sdr)   
  P  
-
StreamSink (sdr)   
  W  
-
Combine (sdr)   FIRLowPassCoeffs (sdr)   StreamSource (sdr)   
CombineSink (sdr)   FMDeemph (sdr)   PortAudio (sdr)   SubSample (sdr)   WavSink (sdr)   
Config (sdr)   FMDemod (sdr)   PortSink (sdr)   
  T  
-
WavSource (sdr)   
ConfigError (sdr)   FracSubSampleBase (sdr)   PortSource (sdr)   
FIRHighPassCoeffs (sdr)   Options (sdr)   StreamSink (sdr)   
FIRLowPass (sdr)   
  P  
+
StreamSource (sdr)   WavSink (sdr)   
Cast (sdr)   FIRLowPassCoeffs (sdr)   SubSample (sdr)   WavSource (sdr)   
Combine (sdr)   FMDeemph (sdr)   POCSAG (sdr)   
  T  
+
CombineSink (sdr)   FMDemod (sdr)   POCSAGDump (sdr)   
Config (sdr)   FracSubSampleBase (sdr)   PortAudio (sdr)   TextDump (sdr)   
ConfigError (sdr)   FreqShift (sdr)   PortSink (sdr)   ToComplex (sdr)   
  D  
-
FreqShift (sdr)   Proxy (sdr)   TextDump (sdr)   
FreqShiftBase (sdr)   
  Q  
-
ToComplex (sdr)   
FreqShiftBase (sdr)   PortSource (sdr)   Traits (sdr)   
FSKDetector (sdr)   Proxy (sdr)   Traits< double > (sdr)   
DebugDump (sdr)   
  G  
-
Traits (sdr)   
DebugStore (sdr)   Queue (sdr)   Traits< double > (sdr)   
GWNSource (sdr)   
  Q  
+
Traits< float > (sdr)   
GWNSource (sdr)   Queue (sdr)   
A | B | C | D | F | G | I | L | M | O | P | Q | R | S | T | U | V | W
diff --git a/classsdr_1_1_a_g_c-members.html b/classsdr_1_1_a_g_c-members.html index 9ff2c9e..1785990 100644 --- a/classsdr_1_1_a_g_c-members.html +++ b/classsdr_1_1_a_g_c-members.html @@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_a_g_c.html b/classsdr_1_1_a_g_c.html index 3bb03f9..78aacc8 100644 --- a/classsdr_1_1_a_g_c.html +++ b/classsdr_1_1_a_g_c.html @@ -718,7 +718,7 @@ template<class Scalar > diff --git a/classsdr_1_1_a_m_demod-members.html b/classsdr_1_1_a_m_demod-members.html index 7e75542..bd810be 100644 --- a/classsdr_1_1_a_m_demod-members.html +++ b/classsdr_1_1_a_m_demod-members.html @@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_a_m_demod.html b/classsdr_1_1_a_m_demod.html index 9474e8d..c0ed298 100644 --- a/classsdr_1_1_a_m_demod.html +++ b/classsdr_1_1_a_m_demod.html @@ -364,7 +364,7 @@ template<class Scalar > diff --git a/classsdr_1_1_a_s_k_detector-members.html b/classsdr_1_1_a_s_k_detector-members.html new file mode 100644 index 0000000..bc3f122 --- /dev/null +++ b/classsdr_1_1_a_s_k_detector-members.html @@ -0,0 +1,132 @@ + + + + + + +libsdr: Member List + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+
sdr::ASKDetector< Scalar > Member List
+
+
+ +

This is the complete list of members for sdr::ASKDetector< Scalar >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
_buffersdr::ASKDetector< Scalar >protected
_configsdr::Sourceprotected
_eossdr::Sourceprotected
_invertsdr::ASKDetector< Scalar >protected
_sinkssdr::Sourceprotected
addEOS(T *instance, void(T::*function)())sdr::Sourceinline
ASKDetector(bool invert=false)sdr::ASKDetector< Scalar >inline
config(const Config &src_cfg)sdr::ASKDetector< Scalar >inlinevirtual
connect(SinkBase *sink, bool direct=false)sdr::Source
disconnect(SinkBase *sink)sdr::Source
handleBuffer(const RawBuffer &buffer, bool allow_overwrite)sdr::Sink< Scalar >inlinevirtual
process(const Buffer< Scalar > &buffer, bool allow_overwrite)sdr::ASKDetector< Scalar >inlinevirtual
propagateConfig(const Config &config)sdr::Sourceprotected
sampleRate() const sdr::Sourcevirtual
send(const RawBuffer &buffer, bool allow_overwrite=false)sdr::Sourcevirtual
setConfig(const Config &config)sdr::Sourcevirtual
signalEOS()sdr::Sourceprotected
Sink()sdr::Sink< Scalar >inline
SinkBase()sdr::SinkBase
Source()sdr::Source
type() const sdr::Sourcevirtual
~Sink()sdr::Sink< Scalar >inlinevirtual
~SinkBase()sdr::SinkBasevirtual
~Source()sdr::Sourcevirtual
+ + + + diff --git a/classsdr_1_1_a_s_k_detector.html b/classsdr_1_1_a_s_k_detector.html new file mode 100644 index 0000000..f90be68 --- /dev/null +++ b/classsdr_1_1_a_s_k_detector.html @@ -0,0 +1,372 @@ + + + + + + +libsdr: sdr::ASKDetector< Scalar > Class Template Reference + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Attributes | +List of all members
+
+
sdr::ASKDetector< Scalar > Class Template Reference
+
+
+ +

Rather trivial node to detect mark/space symbols by the amplitude. + More...

+ +

#include <fsk.hh>

+
+Inheritance diagram for sdr::ASKDetector< Scalar >:
+
+
+ + +sdr::Sink< Scalar > +sdr::Source +sdr::SinkBase + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ASKDetector (bool invert=false)
 Constructor. More...
 
void config (const Config &src_cfg)
 Needs to be implemented by any sub-type to check and perform the configuration of the node. More...
 
void process (const Buffer< Scalar > &buffer, bool allow_overwrite)
 Needs to be implemented by any sub-type to process the received data. More...
 
- Public Member Functions inherited from sdr::Sink< Scalar >
 Sink ()
 Constructor. More...
 
virtual ~Sink ()
 Drestructor. More...
 
virtual void handleBuffer (const RawBuffer &buffer, bool allow_overwrite)
 Re-implemented from SinkBase. More...
 
- Public Member Functions inherited from sdr::SinkBase
 SinkBase ()
 Constructor. More...
 
virtual ~SinkBase ()
 Destructor. More...
 
- Public Member Functions inherited from sdr::Source
 Source ()
 Constructor. More...
 
virtual ~Source ()
 Destructor. More...
 
virtual void send (const RawBuffer &buffer, bool allow_overwrite=false)
 Sends the given buffer to all connected sinks. More...
 
void connect (SinkBase *sink, bool direct=false)
 Connect this source to a sink. More...
 
void disconnect (SinkBase *sink)
 Disconnect a sink again. More...
 
virtual void setConfig (const Config &config)
 Stores the configuration and propergates it if the configuration has been changed. More...
 
virtual double sampleRate () const
 Returns the configured sample rate or 0 otherwise. More...
 
virtual Config::Type type () const
 Returns the configured source type or Config::Type_UNDEFINED otherwise. More...
 
template<class T >
void addEOS (T *instance, void(T::*function)())
 Adds a callback to the end-of-stream signal of the source. More...
 
+ + + + + + + + + + + + + + + + + +

+Protected Attributes

bool _invert
 If true the symbol logic is inverted. More...
 
Buffer< uint8_t > _buffer
 The output buffer. More...
 
- Protected Attributes inherited from sdr::Source
Config _config
 Holds the source configuration, this can be updated by calling setConfig. More...
 
std::map< SinkBase *, bool > _sinks
 The connected sinks. More...
 
std::list< DelegateInterface * > _eos
 The connected EOS singal handlers. More...
 
+ + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from sdr::Source
void signalEOS ()
 Signals the EOS. More...
 
void propagateConfig (const Config &config)
 Propagates the given configuration to all connected sinks. More...
 
+

Detailed Description

+

template<class Scalar>
+class sdr::ASKDetector< Scalar >

+ +

Rather trivial node to detect mark/space symbols by the amplitude.

+

For low baud rates (i.e. <= 1200 baud) a FSK signal can be "demodulated" using a simple FM demodulator. The result will be a series of decaying exponentials. Hence the mark/space symbols can be determined by the means of the input amplitude (positive/negative).

+

This node implements such a simple symbol detection by the means of the amplitude. The node returns a sequence of symbols (sub-bits) that need to be processed to obtain the sequence of received bits (i.e. BitStream).

+

Constructor & Destructor Documentation

+ +
+
+
+template<class Scalar >
+ + + + + +
+ + + + + + + + +
sdr::ASKDetector< Scalar >::ASKDetector (bool invert = false)
+
+inline
+
+ +

Constructor.

+ +
+
+

Member Function Documentation

+ +
+
+
+template<class Scalar >
+ + + + + +
+ + + + + + + + +
void sdr::ASKDetector< Scalar >::config (const Configsrc_cfg)
+
+inlinevirtual
+
+ +

Needs to be implemented by any sub-type to check and perform the configuration of the node.

+ +

Implements sdr::SinkBase.

+ +
+
+ +
+
+
+template<class Scalar >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sdr::ASKDetector< Scalar >::process (const Buffer< Scalar > & buffer,
bool allow_overwrite 
)
+
+inlinevirtual
+
+ +

Needs to be implemented by any sub-type to process the received data.

+ +

Implements sdr::Sink< Scalar >.

+ +
+
+

Member Data Documentation

+ +
+
+
+template<class Scalar >
+ + + + + +
+ + + + +
Buffer<uint8_t> sdr::ASKDetector< Scalar >::_buffer
+
+protected
+
+ +

The output buffer.

+ +
+
+ +
+
+
+template<class Scalar >
+ + + + + +
+ + + + +
bool sdr::ASKDetector< Scalar >::_invert
+
+protected
+
+ +

If true the symbol logic is inverted.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classsdr_1_1_a_s_k_detector.png b/classsdr_1_1_a_s_k_detector.png new file mode 100644 index 0000000..e70d442 Binary files /dev/null and b/classsdr_1_1_a_s_k_detector.png differ diff --git a/classsdr_1_1_a_x25-members.html b/classsdr_1_1_a_x25-members.html index d3d13ed..dc32c26 100644 --- a/classsdr_1_1_a_x25-members.html +++ b/classsdr_1_1_a_x25-members.html @@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_a_x25.html b/classsdr_1_1_a_x25.html index 6217390..b988d3a 100644 --- a/classsdr_1_1_a_x25.html +++ b/classsdr_1_1_a_x25.html @@ -527,7 +527,7 @@ Additional Inherited Members diff --git a/classsdr_1_1_auto_cast-members.html b/classsdr_1_1_auto_cast-members.html index 2dd02da..0146ef8 100644 --- a/classsdr_1_1_auto_cast-members.html +++ b/classsdr_1_1_auto_cast-members.html @@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_auto_cast.html b/classsdr_1_1_auto_cast.html index eb6569b..2b43507 100644 --- a/classsdr_1_1_auto_cast.html +++ b/classsdr_1_1_auto_cast.html @@ -859,7 +859,7 @@ template<class Scalar > diff --git a/classsdr_1_1_b_p_s_k31-members.html b/classsdr_1_1_b_p_s_k31-members.html index bf2895e..04879a2 100644 --- a/classsdr_1_1_b_p_s_k31-members.html +++ b/classsdr_1_1_b_p_s_k31-members.html @@ -156,7 +156,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_b_p_s_k31.html b/classsdr_1_1_b_p_s_k31.html index c14d15f..a52f626 100644 --- a/classsdr_1_1_b_p_s_k31.html +++ b/classsdr_1_1_b_p_s_k31.html @@ -1262,7 +1262,7 @@ template<class Scalar > diff --git a/classsdr_1_1_base_band-members.html b/classsdr_1_1_base_band-members.html index 5b44306..2cb97e8 100644 --- a/classsdr_1_1_base_band-members.html +++ b/classsdr_1_1_base_band-members.html @@ -155,7 +155,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_base_band.html b/classsdr_1_1_base_band.html index 474b50c..25ae006 100644 --- a/classsdr_1_1_base_band.html +++ b/classsdr_1_1_base_band.html @@ -1079,7 +1079,7 @@ template<class Scalar > diff --git a/classsdr_1_1_baudot-members.html b/classsdr_1_1_baudot-members.html index 7d5955d..0e49669 100644 --- a/classsdr_1_1_baudot-members.html +++ b/classsdr_1_1_baudot-members.html @@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_baudot.html b/classsdr_1_1_baudot.html index b9fe4b9..8f67c4b 100644 --- a/classsdr_1_1_baudot.html +++ b/classsdr_1_1_baudot.html @@ -571,7 +571,7 @@ Additional Inherited Members diff --git a/classsdr_1_1_bit_dump-members.html b/classsdr_1_1_bit_dump-members.html new file mode 100644 index 0000000..bd7f1ec --- /dev/null +++ b/classsdr_1_1_bit_dump-members.html @@ -0,0 +1,117 @@ + + + + + + +libsdr: Member List + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+
sdr::BitDump Member List
+
+
+ +

This is the complete list of members for sdr::BitDump, including all inherited members.

+ + + + + + + + + + +
_streamsdr::BitDumpprotected
BitDump(std::ostream &stream)sdr::BitDump
config(const Config &src_cfg)sdr::BitDumpvirtual
handleBuffer(const RawBuffer &buffer, bool allow_overwrite)sdr::Sink< uint8_t >inlinevirtual
process(const Buffer< uint8_t > &buffer, bool allow_overwrite)sdr::BitDumpvirtual
Sink()sdr::Sink< uint8_t >inline
SinkBase()sdr::SinkBase
~Sink()sdr::Sink< uint8_t >inlinevirtual
~SinkBase()sdr::SinkBasevirtual
+ + + + diff --git a/classsdr_1_1_bit_dump.html b/classsdr_1_1_bit_dump.html new file mode 100644 index 0000000..68e7f42 --- /dev/null +++ b/classsdr_1_1_bit_dump.html @@ -0,0 +1,281 @@ + + + + + + +libsdr: sdr::BitDump Class Reference + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Attributes | +List of all members
+
+
sdr::BitDump Class Reference
+
+
+ +

Trivial node to dump a bit-stream to a std::ostream. + More...

+ +

#include <fsk.hh>

+
+Inheritance diagram for sdr::BitDump:
+
+
+ + +sdr::Sink< uint8_t > +sdr::SinkBase + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 BitDump (std::ostream &stream)
 Constructor. More...
 
void config (const Config &src_cfg)
 Needs to be implemented by any sub-type to check and perform the configuration of the node. More...
 
void process (const Buffer< uint8_t > &buffer, bool allow_overwrite)
 Needs to be implemented by any sub-type to process the received data. More...
 
- Public Member Functions inherited from sdr::Sink< uint8_t >
 Sink ()
 Constructor. More...
 
virtual ~Sink ()
 Drestructor. More...
 
virtual void handleBuffer (const RawBuffer &buffer, bool allow_overwrite)
 Re-implemented from SinkBase. More...
 
- Public Member Functions inherited from sdr::SinkBase
 SinkBase ()
 Constructor. More...
 
virtual ~SinkBase ()
 Destructor. More...
 
+ + + + +

+Protected Attributes

std::ostream & _stream
 The output stream. More...
 
+

Detailed Description

+

Trivial node to dump a bit-stream to a std::ostream.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
BitDump::BitDump (std::ostream & stream)
+
+ +

Constructor.

+
Parameters
+ + +
streamSpecifies the output stream.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
void BitDump::config (const Configsrc_cfg)
+
+virtual
+
+ +

Needs to be implemented by any sub-type to check and perform the configuration of the node.

+ +

Implements sdr::SinkBase.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void BitDump::process (const Buffer< uint8_t > & buffer,
bool allow_overwrite 
)
+
+virtual
+
+ +

Needs to be implemented by any sub-type to process the received data.

+ +

Implements sdr::Sink< uint8_t >.

+ +
+
+

Member Data Documentation

+ +
+
+ + + + + +
+ + + + +
std::ostream& sdr::BitDump::_stream
+
+protected
+
+ +

The output stream.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classsdr_1_1_bit_dump.png b/classsdr_1_1_bit_dump.png new file mode 100644 index 0000000..9192974 Binary files /dev/null and b/classsdr_1_1_bit_dump.png differ diff --git a/classsdr_1_1_bit_stream-members.html b/classsdr_1_1_bit_stream-members.html new file mode 100644 index 0000000..0cda051 --- /dev/null +++ b/classsdr_1_1_bit_stream-members.html @@ -0,0 +1,147 @@ + + + + + + +libsdr: Member List + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+
sdr::BitStream Member List
+
+
+ +

This is the complete list of members for sdr::BitStream, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_baudsdr::BitStreamprotected
_buffersdr::BitStreamprotected
_configsdr::Sourceprotected
_corrLensdr::BitStreamprotected
_eossdr::Sourceprotected
_lastBitssdr::BitStreamprotected
_lastSymSumsdr::BitStreamprotected
_modesdr::BitStreamprotected
_omegasdr::BitStreamprotected
_omegaMaxsdr::BitStreamprotected
_omegaMinsdr::BitStreamprotected
_phasesdr::BitStreamprotected
_pllGainsdr::BitStreamprotected
_sinkssdr::Sourceprotected
_symbolssdr::BitStreamprotected
_symIdxsdr::BitStreamprotected
_symSumsdr::BitStreamprotected
addEOS(T *instance, void(T::*function)())sdr::Sourceinline
BitStream(float baud, Mode mode=TRANSITION)sdr::BitStream
config(const Config &src_cfg)sdr::BitStreamvirtual
connect(SinkBase *sink, bool direct=false)sdr::Source
disconnect(SinkBase *sink)sdr::Source
handleBuffer(const RawBuffer &buffer, bool allow_overwrite)sdr::Sink< uint8_t >inlinevirtual
Mode enum namesdr::BitStream
NORMAL enum valuesdr::BitStream
process(const Buffer< uint8_t > &buffer, bool allow_overwrite)sdr::BitStreamvirtual
propagateConfig(const Config &config)sdr::Sourceprotected
sampleRate() const sdr::Sourcevirtual
send(const RawBuffer &buffer, bool allow_overwrite=false)sdr::Sourcevirtual
setConfig(const Config &config)sdr::Sourcevirtual
signalEOS()sdr::Sourceprotected
Sink()sdr::Sink< uint8_t >inline
SinkBase()sdr::SinkBase
Source()sdr::Source
TRANSITION enum valuesdr::BitStream
type() const sdr::Sourcevirtual
~Sink()sdr::Sink< uint8_t >inlinevirtual
~SinkBase()sdr::SinkBasevirtual
~Source()sdr::Sourcevirtual
+ + + + diff --git a/classsdr_1_1_bit_stream.html b/classsdr_1_1_bit_stream.html new file mode 100644 index 0000000..4941afb --- /dev/null +++ b/classsdr_1_1_bit_stream.html @@ -0,0 +1,700 @@ + + + + + + +libsdr: sdr::BitStream Class Reference + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +Protected Attributes | +List of all members
+
+
sdr::BitStream Class Reference
+
+
+ +

Decodes a bitstream with the desired baud rate. + More...

+ +

#include <fsk.hh>

+
+Inheritance diagram for sdr::BitStream:
+
+
+ + +sdr::Sink< uint8_t > +sdr::Source +sdr::SinkBase + +
+ + + + + +

+Public Types

enum  Mode { NORMAL, +TRANSITION + }
 Possible bit decoding modes. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 BitStream (float baud, Mode mode=TRANSITION)
 Constructor. More...
 
void config (const Config &src_cfg)
 Needs to be implemented by any sub-type to check and perform the configuration of the node. More...
 
void process (const Buffer< uint8_t > &buffer, bool allow_overwrite)
 Needs to be implemented by any sub-type to process the received data. More...
 
- Public Member Functions inherited from sdr::Sink< uint8_t >
 Sink ()
 Constructor. More...
 
virtual ~Sink ()
 Drestructor. More...
 
virtual void handleBuffer (const RawBuffer &buffer, bool allow_overwrite)
 Re-implemented from SinkBase. More...
 
- Public Member Functions inherited from sdr::SinkBase
 SinkBase ()
 Constructor. More...
 
virtual ~SinkBase ()
 Destructor. More...
 
- Public Member Functions inherited from sdr::Source
 Source ()
 Constructor. More...
 
virtual ~Source ()
 Destructor. More...
 
virtual void send (const RawBuffer &buffer, bool allow_overwrite=false)
 Sends the given buffer to all connected sinks. More...
 
void connect (SinkBase *sink, bool direct=false)
 Connect this source to a sink. More...
 
void disconnect (SinkBase *sink)
 Disconnect a sink again. More...
 
virtual void setConfig (const Config &config)
 Stores the configuration and propergates it if the configuration has been changed. More...
 
virtual double sampleRate () const
 Returns the configured sample rate or 0 otherwise. More...
 
virtual Config::Type type () const
 Returns the configured source type or Config::Type_UNDEFINED otherwise. More...
 
template<class T >
void addEOS (T *instance, void(T::*function)())
 Adds a callback to the end-of-stream signal of the source. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

float _baud
 The baud rate. More...
 
Mode _mode
 The bit detection mode. More...
 
size_t _corrLen
 The approximative bit length in samples. More...
 
Buffer< int8_t > _symbols
 Last received symbols. More...
 
size_t _symIdx
 Insertion index for the next symbol. More...
 
int32_t _symSum
 Sum over all received symbol (encoded as -1 & 1). More...
 
int32_t _lastSymSum
 Last sum over all received symbol (encoded as -1 & 1). More...
 
float _phase
 Current bit "phase". More...
 
float _omega
 Phase velocity. More...
 
float _omegaMin
 Minimum phase velocity. More...
 
float _omegaMax
 Maximum phase velocity. More...
 
float _pllGain
 PLL gain. More...
 
uint8_t _lastBits
 The last decoded bits (needed for transition mode). More...
 
Buffer< uint8_t > _buffer
 Output buffer. More...
 
- Protected Attributes inherited from sdr::Source
Config _config
 Holds the source configuration, this can be updated by calling setConfig. More...
 
std::map< SinkBase *, bool > _sinks
 The connected sinks. More...
 
std::list< DelegateInterface * > _eos
 The connected EOS singal handlers. More...
 
+ + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from sdr::Source
void signalEOS ()
 Signals the EOS. More...
 
void propagateConfig (const Config &config)
 Propagates the given configuration to all connected sinks. More...
 
+

Detailed Description

+

Decodes a bitstream with the desired baud rate.

+

This node implements a simple PLL to syncronize the bit sampling with the transitions of the input symbol sequence.

+

Member Enumeration Documentation

+ +
+
+ + + + +
enum sdr::BitStream::Mode
+
+ +

Possible bit decoding modes.

+ + + +
Enumerator
NORMAL  +

Normal mode (i.e. mark -> 1, space -> 0).

+
TRANSITION  +

Transition mode (i.e. transition -> 0, no transition -> 1).

+
+ +
+
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
BitStream::BitStream (float baud,
Mode mode = TRANSITION 
)
+
+ +

Constructor.

+
Parameters
+ + + +
baudSpecifies the baud-rate of the input signal.
modeSpecifies the bit detection mode.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
void BitStream::config (const Configsrc_cfg)
+
+virtual
+
+ +

Needs to be implemented by any sub-type to check and perform the configuration of the node.

+ +

Implements sdr::SinkBase.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void BitStream::process (const Buffer< uint8_t > & buffer,
bool allow_overwrite 
)
+
+virtual
+
+ +

Needs to be implemented by any sub-type to process the received data.

+ +

Implements sdr::Sink< uint8_t >.

+ +
+
+

Member Data Documentation

+ +
+
+ + + + + +
+ + + + +
float sdr::BitStream::_baud
+
+protected
+
+ +

The baud rate.

+ +
+
+ +
+
+ + + + + +
+ + + + +
Buffer<uint8_t> sdr::BitStream::_buffer
+
+protected
+
+ +

Output buffer.

+ +
+
+ +
+
+ + + + + +
+ + + + +
size_t sdr::BitStream::_corrLen
+
+protected
+
+ +

The approximative bit length in samples.

+ +
+
+ +
+
+ + + + + +
+ + + + +
uint8_t sdr::BitStream::_lastBits
+
+protected
+
+ +

The last decoded bits (needed for transition mode).

+ +
+
+ +
+
+ + + + + +
+ + + + +
int32_t sdr::BitStream::_lastSymSum
+
+protected
+
+ +

Last sum over all received symbol (encoded as -1 & 1).

+ +
+
+ +
+
+ + + + + +
+ + + + +
Mode sdr::BitStream::_mode
+
+protected
+
+ +

The bit detection mode.

+ +
+
+ +
+
+ + + + + +
+ + + + +
float sdr::BitStream::_omega
+
+protected
+
+ +

Phase velocity.

+ +
+
+ +
+
+ + + + + +
+ + + + +
float sdr::BitStream::_omegaMax
+
+protected
+
+ +

Maximum phase velocity.

+ +
+
+ +
+
+ + + + + +
+ + + + +
float sdr::BitStream::_omegaMin
+
+protected
+
+ +

Minimum phase velocity.

+ +
+
+ +
+
+ + + + + +
+ + + + +
float sdr::BitStream::_phase
+
+protected
+
+ +

Current bit "phase".

+ +
+
+ +
+
+ + + + + +
+ + + + +
float sdr::BitStream::_pllGain
+
+protected
+
+ +

PLL gain.

+ +
+
+ +
+
+ + + + + +
+ + + + +
Buffer<int8_t> sdr::BitStream::_symbols
+
+protected
+
+ +

Last received symbols.

+ +
+
+ +
+
+ + + + + +
+ + + + +
size_t sdr::BitStream::_symIdx
+
+protected
+
+ +

Insertion index for the next symbol.

+ +
+
+ +
+
+ + + + + +
+ + + + +
int32_t sdr::BitStream::_symSum
+
+protected
+
+ +

Sum over all received symbol (encoded as -1 & 1).

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classsdr_1_1_bit_stream.png b/classsdr_1_1_bit_stream.png new file mode 100644 index 0000000..28a6f04 Binary files /dev/null and b/classsdr_1_1_bit_stream.png differ diff --git a/classsdr_1_1_blocking_source-members.html b/classsdr_1_1_blocking_source-members.html index 8b5f802..f8cca03 100644 --- a/classsdr_1_1_blocking_source-members.html +++ b/classsdr_1_1_blocking_source-members.html @@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_blocking_source.html b/classsdr_1_1_blocking_source.html index 681e0d3..479d457 100644 --- a/classsdr_1_1_blocking_source.html +++ b/classsdr_1_1_blocking_source.html @@ -499,7 +499,7 @@ Protected Attributes diff --git a/classsdr_1_1_buffer-members.html b/classsdr_1_1_buffer-members.html index a942a4b..125bdc8 100644 --- a/classsdr_1_1_buffer-members.html +++ b/classsdr_1_1_buffer-members.html @@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_buffer.html b/classsdr_1_1_buffer.html index 80ccd91..39150a0 100644 --- a/classsdr_1_1_buffer.html +++ b/classsdr_1_1_buffer.html @@ -849,7 +849,7 @@ template<class T> diff --git a/classsdr_1_1_buffer_node-members.html b/classsdr_1_1_buffer_node-members.html index b3e3bcb..8ea01ab 100644 --- a/classsdr_1_1_buffer_node-members.html +++ b/classsdr_1_1_buffer_node-members.html @@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_buffer_node.html b/classsdr_1_1_buffer_node.html index e6463fb..6785cea 100644 --- a/classsdr_1_1_buffer_node.html +++ b/classsdr_1_1_buffer_node.html @@ -423,7 +423,7 @@ template<class Scalar> diff --git a/classsdr_1_1_buffer_owner-members.html b/classsdr_1_1_buffer_owner-members.html index d0a00c7..6a0c390 100644 --- a/classsdr_1_1_buffer_owner-members.html +++ b/classsdr_1_1_buffer_owner-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_buffer_owner.html b/classsdr_1_1_buffer_owner.html index 15e2ec3..beef4f6 100644 --- a/classsdr_1_1_buffer_owner.html +++ b/classsdr_1_1_buffer_owner.html @@ -157,7 +157,7 @@ Public Member Functions diff --git a/classsdr_1_1_buffer_set-members.html b/classsdr_1_1_buffer_set-members.html index 5826840..622e401 100644 --- a/classsdr_1_1_buffer_set-members.html +++ b/classsdr_1_1_buffer_set-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_buffer_set.html b/classsdr_1_1_buffer_set.html index 483c698..fe1b809 100644 --- a/classsdr_1_1_buffer_set.html +++ b/classsdr_1_1_buffer_set.html @@ -411,7 +411,7 @@ template<class Scalar> diff --git a/classsdr_1_1_cast-members.html b/classsdr_1_1_cast-members.html index 649021b..9d9d0ed 100644 --- a/classsdr_1_1_cast-members.html +++ b/classsdr_1_1_cast-members.html @@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_cast.html b/classsdr_1_1_cast.html index c99e738..ac463db 100644 --- a/classsdr_1_1_cast.html +++ b/classsdr_1_1_cast.html @@ -599,7 +599,7 @@ template<class iScalar , class oScalar > diff --git a/classsdr_1_1_combine-members.html b/classsdr_1_1_combine-members.html index 87ec0d0..077eb16 100644 --- a/classsdr_1_1_combine-members.html +++ b/classsdr_1_1_combine-members.html @@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_combine.html b/classsdr_1_1_combine.html index a73a98d..d89a1b4 100644 --- a/classsdr_1_1_combine.html +++ b/classsdr_1_1_combine.html @@ -437,7 +437,7 @@ template<class Scalar> diff --git a/classsdr_1_1_combine_sink-members.html b/classsdr_1_1_combine_sink-members.html index 91e29eb..7bbd2bb 100644 --- a/classsdr_1_1_combine_sink-members.html +++ b/classsdr_1_1_combine_sink-members.html @@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_combine_sink.html b/classsdr_1_1_combine_sink.html index fa4df60..5575d1f 100644 --- a/classsdr_1_1_combine_sink.html +++ b/classsdr_1_1_combine_sink.html @@ -386,7 +386,7 @@ template<class Scalar > diff --git a/classsdr_1_1_config-members.html b/classsdr_1_1_config-members.html index f32c6bb..86d5b8f 100644 --- a/classsdr_1_1_config-members.html +++ b/classsdr_1_1_config-members.html @@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_config.html b/classsdr_1_1_config.html index da1514c..90194db 100644 --- a/classsdr_1_1_config.html +++ b/classsdr_1_1_config.html @@ -993,7 +993,7 @@ template<> diff --git a/classsdr_1_1_config_error-members.html b/classsdr_1_1_config_error-members.html index ad0f5d3..178280e 100644 --- a/classsdr_1_1_config_error-members.html +++ b/classsdr_1_1_config_error-members.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_config_error.html b/classsdr_1_1_config_error.html index 355db26..9177470 100644 --- a/classsdr_1_1_config_error.html +++ b/classsdr_1_1_config_error.html @@ -228,7 +228,7 @@ Public Member Functions diff --git a/classsdr_1_1_debug_dump-members.html b/classsdr_1_1_debug_dump-members.html index b323b5d..157386d 100644 --- a/classsdr_1_1_debug_dump-members.html +++ b/classsdr_1_1_debug_dump-members.html @@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_debug_dump.html b/classsdr_1_1_debug_dump.html index 791ea3d..0ba4021 100644 --- a/classsdr_1_1_debug_dump.html +++ b/classsdr_1_1_debug_dump.html @@ -315,7 +315,7 @@ template<class Scalar > diff --git a/classsdr_1_1_debug_store-members.html b/classsdr_1_1_debug_store-members.html index b7791bd..c328285 100644 --- a/classsdr_1_1_debug_store-members.html +++ b/classsdr_1_1_debug_store-members.html @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_debug_store.html b/classsdr_1_1_debug_store.html index 7501f37..cea8112 100644 --- a/classsdr_1_1_debug_store.html +++ b/classsdr_1_1_debug_store.html @@ -355,7 +355,7 @@ template<class Scalar > diff --git a/classsdr_1_1_delegate-members.html b/classsdr_1_1_delegate-members.html index ae4e612..a79346d 100644 --- a/classsdr_1_1_delegate-members.html +++ b/classsdr_1_1_delegate-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_delegate.html b/classsdr_1_1_delegate.html index 5918b52..1942ec7 100644 --- a/classsdr_1_1_delegate.html +++ b/classsdr_1_1_delegate.html @@ -322,7 +322,7 @@ template<class T > diff --git a/classsdr_1_1_delegate_interface-members.html b/classsdr_1_1_delegate_interface-members.html index 4802e55..933074c 100644 --- a/classsdr_1_1_delegate_interface-members.html +++ b/classsdr_1_1_delegate_interface-members.html @@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_delegate_interface.html b/classsdr_1_1_delegate_interface.html index 2c569b0..c6a7e99 100644 --- a/classsdr_1_1_delegate_interface.html +++ b/classsdr_1_1_delegate_interface.html @@ -184,7 +184,7 @@ Public Member Functions diff --git a/classsdr_1_1_f_f_t-members.html b/classsdr_1_1_f_f_t-members.html index f223541..96a2b14 100644 --- a/classsdr_1_1_f_f_t-members.html +++ b/classsdr_1_1_f_f_t-members.html @@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_f_t.html b/classsdr_1_1_f_f_t.html index e880cd6..12052fe 100644 --- a/classsdr_1_1_f_f_t.html +++ b/classsdr_1_1_f_f_t.html @@ -229,7 +229,7 @@ template<class Scalar > diff --git a/classsdr_1_1_f_f_t_plan-members.html b/classsdr_1_1_f_f_t_plan-members.html index da994f1..d8c9077 100644 --- a/classsdr_1_1_f_f_t_plan-members.html +++ b/classsdr_1_1_f_f_t_plan-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_f_t_plan.html b/classsdr_1_1_f_f_t_plan.html index 79f66fe..59b4190 100644 --- a/classsdr_1_1_f_f_t_plan.html +++ b/classsdr_1_1_f_f_t_plan.html @@ -421,7 +421,7 @@ template<class Scalar> diff --git a/classsdr_1_1_f_f_t_plan_3_01double_01_4-members.html b/classsdr_1_1_f_f_t_plan_3_01double_01_4-members.html index 62ce34a..ee98f9c 100644 --- a/classsdr_1_1_f_f_t_plan_3_01double_01_4-members.html +++ b/classsdr_1_1_f_f_t_plan_3_01double_01_4-members.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_f_t_plan_3_01double_01_4.html b/classsdr_1_1_f_f_t_plan_3_01double_01_4.html index 13764f7..bdeb30d 100644 --- a/classsdr_1_1_f_f_t_plan_3_01double_01_4.html +++ b/classsdr_1_1_f_f_t_plan_3_01double_01_4.html @@ -339,7 +339,7 @@ class sdr::FFTPlan< double > diff --git a/classsdr_1_1_f_f_t_plan_3_01float_01_4-members.html b/classsdr_1_1_f_f_t_plan_3_01float_01_4-members.html index 8d8f6ab..c9b9022 100644 --- a/classsdr_1_1_f_f_t_plan_3_01float_01_4-members.html +++ b/classsdr_1_1_f_f_t_plan_3_01float_01_4-members.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_f_t_plan_3_01float_01_4.html b/classsdr_1_1_f_f_t_plan_3_01float_01_4.html index 0459509..36d659d 100644 --- a/classsdr_1_1_f_f_t_plan_3_01float_01_4.html +++ b/classsdr_1_1_f_f_t_plan_3_01float_01_4.html @@ -339,7 +339,7 @@ class sdr::FFTPlan< float > diff --git a/classsdr_1_1_f_i_r_band_pass-members.html b/classsdr_1_1_f_i_r_band_pass-members.html index fcd510b..03e8f6d 100644 --- a/classsdr_1_1_f_i_r_band_pass-members.html +++ b/classsdr_1_1_f_i_r_band_pass-members.html @@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_i_r_band_pass.html b/classsdr_1_1_f_i_r_band_pass.html index 25ab7cc..15dd0d0 100644 --- a/classsdr_1_1_f_i_r_band_pass.html +++ b/classsdr_1_1_f_i_r_band_pass.html @@ -343,7 +343,7 @@ template<class Scalar > diff --git a/classsdr_1_1_f_i_r_band_pass_coeffs-members.html b/classsdr_1_1_f_i_r_band_pass_coeffs-members.html index f803e9a..86f25d9 100644 --- a/classsdr_1_1_f_i_r_band_pass_coeffs-members.html +++ b/classsdr_1_1_f_i_r_band_pass_coeffs-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_i_r_band_pass_coeffs.html b/classsdr_1_1_f_i_r_band_pass_coeffs.html index 7efa239..c00f8ac 100644 --- a/classsdr_1_1_f_i_r_band_pass_coeffs.html +++ b/classsdr_1_1_f_i_r_band_pass_coeffs.html @@ -166,7 +166,7 @@ Static Public Member Functions diff --git a/classsdr_1_1_f_i_r_band_stop-members.html b/classsdr_1_1_f_i_r_band_stop-members.html index f0e26d9..356bd15 100644 --- a/classsdr_1_1_f_i_r_band_stop-members.html +++ b/classsdr_1_1_f_i_r_band_stop-members.html @@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_i_r_band_stop.html b/classsdr_1_1_f_i_r_band_stop.html index e03c46a..0d9d41b 100644 --- a/classsdr_1_1_f_i_r_band_stop.html +++ b/classsdr_1_1_f_i_r_band_stop.html @@ -343,7 +343,7 @@ template<class Scalar > diff --git a/classsdr_1_1_f_i_r_band_stop_coeffs-members.html b/classsdr_1_1_f_i_r_band_stop_coeffs-members.html index cf0a1f9..0ce662f 100644 --- a/classsdr_1_1_f_i_r_band_stop_coeffs-members.html +++ b/classsdr_1_1_f_i_r_band_stop_coeffs-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_i_r_band_stop_coeffs.html b/classsdr_1_1_f_i_r_band_stop_coeffs.html index 46d63bc..9725c77 100644 --- a/classsdr_1_1_f_i_r_band_stop_coeffs.html +++ b/classsdr_1_1_f_i_r_band_stop_coeffs.html @@ -166,7 +166,7 @@ Static Public Member Functions diff --git a/classsdr_1_1_f_i_r_filter-members.html b/classsdr_1_1_f_i_r_filter-members.html index 654535e..cfc321c 100644 --- a/classsdr_1_1_f_i_r_filter-members.html +++ b/classsdr_1_1_f_i_r_filter-members.html @@ -141,7 +141,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_i_r_filter.html b/classsdr_1_1_f_i_r_filter.html index 92ac38e..195bbcc 100644 --- a/classsdr_1_1_f_i_r_filter.html +++ b/classsdr_1_1_f_i_r_filter.html @@ -847,7 +847,7 @@ template<class Scalar, class FilterCoeffs> diff --git a/classsdr_1_1_f_i_r_high_pass-members.html b/classsdr_1_1_f_i_r_high_pass-members.html index 57d5324..972c300 100644 --- a/classsdr_1_1_f_i_r_high_pass-members.html +++ b/classsdr_1_1_f_i_r_high_pass-members.html @@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_i_r_high_pass.html b/classsdr_1_1_f_i_r_high_pass.html index 87d3727..b6e7b4d 100644 --- a/classsdr_1_1_f_i_r_high_pass.html +++ b/classsdr_1_1_f_i_r_high_pass.html @@ -399,7 +399,7 @@ template<class Scalar > diff --git a/classsdr_1_1_f_i_r_high_pass_coeffs-members.html b/classsdr_1_1_f_i_r_high_pass_coeffs-members.html index 4a0e5a9..64faf10 100644 --- a/classsdr_1_1_f_i_r_high_pass_coeffs-members.html +++ b/classsdr_1_1_f_i_r_high_pass_coeffs-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_i_r_high_pass_coeffs.html b/classsdr_1_1_f_i_r_high_pass_coeffs.html index 94764b0..be209a3 100644 --- a/classsdr_1_1_f_i_r_high_pass_coeffs.html +++ b/classsdr_1_1_f_i_r_high_pass_coeffs.html @@ -166,7 +166,7 @@ Static Public Member Functions diff --git a/classsdr_1_1_f_i_r_low_pass-members.html b/classsdr_1_1_f_i_r_low_pass-members.html index eec3b46..ddb116b 100644 --- a/classsdr_1_1_f_i_r_low_pass-members.html +++ b/classsdr_1_1_f_i_r_low_pass-members.html @@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_i_r_low_pass.html b/classsdr_1_1_f_i_r_low_pass.html index 1bcc4ba..bb08d48 100644 --- a/classsdr_1_1_f_i_r_low_pass.html +++ b/classsdr_1_1_f_i_r_low_pass.html @@ -399,7 +399,7 @@ template<class Scalar > diff --git a/classsdr_1_1_f_i_r_low_pass_coeffs-members.html b/classsdr_1_1_f_i_r_low_pass_coeffs-members.html index 9c34857..1a0f587 100644 --- a/classsdr_1_1_f_i_r_low_pass_coeffs-members.html +++ b/classsdr_1_1_f_i_r_low_pass_coeffs-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_i_r_low_pass_coeffs.html b/classsdr_1_1_f_i_r_low_pass_coeffs.html index 865a1be..94b3456 100644 --- a/classsdr_1_1_f_i_r_low_pass_coeffs.html +++ b/classsdr_1_1_f_i_r_low_pass_coeffs.html @@ -166,7 +166,7 @@ Static Public Member Functions diff --git a/classsdr_1_1_f_m_deemph-members.html b/classsdr_1_1_f_m_deemph-members.html index ddda9f8..a06af00 100644 --- a/classsdr_1_1_f_m_deemph-members.html +++ b/classsdr_1_1_f_m_deemph-members.html @@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_m_deemph.html b/classsdr_1_1_f_m_deemph.html index 785eeab..2085426 100644 --- a/classsdr_1_1_f_m_deemph.html +++ b/classsdr_1_1_f_m_deemph.html @@ -550,7 +550,7 @@ template<class Scalar > diff --git a/classsdr_1_1_f_m_demod-members.html b/classsdr_1_1_f_m_demod-members.html index 629da3c..d2fc278 100644 --- a/classsdr_1_1_f_m_demod-members.html +++ b/classsdr_1_1_f_m_demod-members.html @@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_f_m_demod.html b/classsdr_1_1_f_m_demod.html index 69d68e9..0ef6112 100644 --- a/classsdr_1_1_f_m_demod.html +++ b/classsdr_1_1_f_m_demod.html @@ -512,7 +512,7 @@ template<class iScalar , class oScalar = iScalar> diff --git a/classsdr_1_1_f_s_k_detector-members.html b/classsdr_1_1_f_s_k_detector-members.html new file mode 100644 index 0000000..47db9aa --- /dev/null +++ b/classsdr_1_1_f_s_k_detector-members.html @@ -0,0 +1,141 @@ + + + + + + +libsdr: Member List + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+
sdr::FSKDetector Member List
+
+
+ +

This is the complete list of members for sdr::FSKDetector, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_baudsdr::FSKDetectorprotected
_buffersdr::FSKDetectorprotected
_configsdr::Sourceprotected
_corrLensdr::FSKDetectorprotected
_eossdr::Sourceprotected
_Fmarksdr::FSKDetectorprotected
_Fspacesdr::FSKDetectorprotected
_lutIdxsdr::FSKDetectorprotected
_markHistsdr::FSKDetectorprotected
_markLUTsdr::FSKDetectorprotected
_process(int16_t sample)sdr::FSKDetectorprotected
_sinkssdr::Sourceprotected
_spaceHistsdr::FSKDetectorprotected
_spaceLUTsdr::FSKDetectorprotected
addEOS(T *instance, void(T::*function)())sdr::Sourceinline
config(const Config &src_cfg)sdr::FSKDetectorvirtual
connect(SinkBase *sink, bool direct=false)sdr::Source
disconnect(SinkBase *sink)sdr::Source
FSKDetector(float baud, float Fmark, float Fspace)sdr::FSKDetector
handleBuffer(const RawBuffer &buffer, bool allow_overwrite)sdr::Sink< int16_t >inlinevirtual
process(const Buffer< int16_t > &buffer, bool allow_overwrite)sdr::FSKDetectorvirtual
propagateConfig(const Config &config)sdr::Sourceprotected
sampleRate() const sdr::Sourcevirtual
send(const RawBuffer &buffer, bool allow_overwrite=false)sdr::Sourcevirtual
setConfig(const Config &config)sdr::Sourcevirtual
signalEOS()sdr::Sourceprotected
Sink()sdr::Sink< int16_t >inline
SinkBase()sdr::SinkBase
Source()sdr::Source
type() const sdr::Sourcevirtual
~Sink()sdr::Sink< int16_t >inlinevirtual
~SinkBase()sdr::SinkBasevirtual
~Source()sdr::Sourcevirtual
+ + + + diff --git a/classsdr_1_1_f_s_k_detector.html b/classsdr_1_1_f_s_k_detector.html new file mode 100644 index 0000000..3199608 --- /dev/null +++ b/classsdr_1_1_f_s_k_detector.html @@ -0,0 +1,606 @@ + + + + + + +libsdr: sdr::FSKDetector Class Reference + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +Protected Attributes | +List of all members
+
+
sdr::FSKDetector Class Reference
+
+
+ +

Implements the basic FSK/AFSK symbol detection. + More...

+ +

#include <fsk.hh>

+
+Inheritance diagram for sdr::FSKDetector:
+
+
+ + +sdr::Sink< int16_t > +sdr::Source +sdr::SinkBase + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 FSKDetector (float baud, float Fmark, float Fspace)
 Constructor. More...
 
void config (const Config &src_cfg)
 Needs to be implemented by any sub-type to check and perform the configuration of the node. More...
 
void process (const Buffer< int16_t > &buffer, bool allow_overwrite)
 Needs to be implemented by any sub-type to process the received data. More...
 
- Public Member Functions inherited from sdr::Sink< int16_t >
 Sink ()
 Constructor. More...
 
virtual ~Sink ()
 Drestructor. More...
 
virtual void handleBuffer (const RawBuffer &buffer, bool allow_overwrite)
 Re-implemented from SinkBase. More...
 
- Public Member Functions inherited from sdr::SinkBase
 SinkBase ()
 Constructor. More...
 
virtual ~SinkBase ()
 Destructor. More...
 
- Public Member Functions inherited from sdr::Source
 Source ()
 Constructor. More...
 
virtual ~Source ()
 Destructor. More...
 
virtual void send (const RawBuffer &buffer, bool allow_overwrite=false)
 Sends the given buffer to all connected sinks. More...
 
void connect (SinkBase *sink, bool direct=false)
 Connect this source to a sink. More...
 
void disconnect (SinkBase *sink)
 Disconnect a sink again. More...
 
virtual void setConfig (const Config &config)
 Stores the configuration and propergates it if the configuration has been changed. More...
 
virtual double sampleRate () const
 Returns the configured sample rate or 0 otherwise. More...
 
virtual Config::Type type () const
 Returns the configured source type or Config::Type_UNDEFINED otherwise. More...
 
template<class T >
void addEOS (T *instance, void(T::*function)())
 Adds a callback to the end-of-stream signal of the source. More...
 
+ + + + + + + + + + + +

+Protected Member Functions

uint8_t _process (int16_t sample)
 Updates the mark/space FIR filter and returns the sampled symbol. More...
 
- Protected Member Functions inherited from sdr::Source
void signalEOS ()
 Signals the EOS. More...
 
void propagateConfig (const Config &config)
 Propagates the given configuration to all connected sinks. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

float _baud
 Baudrate of the transmission. More...
 
size_t _corrLen
 The filter lenght. More...
 
size_t _lutIdx
 The current FIR filter LUT index. More...
 
float _Fmark
 Mark "tone" frequency. More...
 
float _Fspace
 Space "tone" frequency. More...
 
Buffer< std::complex< float > > _markLUT
 Mark frequency FIR filter LUT. More...
 
Buffer< std::complex< float > > _spaceLUT
 Space frequency FIR filter LUT. More...
 
Buffer< std::complex< float > > _markHist
 FIR filter buffer. More...
 
Buffer< std::complex< float > > _spaceHist
 FIR filter buffer. More...
 
Buffer< int8_t > _buffer
 Output buffer. More...
 
- Protected Attributes inherited from sdr::Source
Config _config
 Holds the source configuration, this can be updated by calling setConfig. More...
 
std::map< SinkBase *, bool > _sinks
 The connected sinks. More...
 
std::list< DelegateInterface * > _eos
 The connected EOS singal handlers. More...
 
+

Detailed Description

+

Implements the basic FSK/AFSK symbol detection.

+

This node contains two FIR filters for the detection of the mark and space frequencies. The node returns a sequence of symbols (i.e. sub-bits) which need to be processed to obtain a sequenc of transmitted bits (i.e. by the BitStream node).

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
FSKDetector::FSKDetector (float baud,
float Fmark,
float Fspace 
)
+
+ +

Constructor.

+
Parameters
+ + + + +
baudSpecifies the baud-rate of the signal.
FmarkSpecifies the mark frequency in Hz.
FspaceSpecifies the space frequency in Hz.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
uint8_t FSKDetector::_process (int16_t sample)
+
+protected
+
+ +

Updates the mark/space FIR filter and returns the sampled symbol.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void FSKDetector::config (const Configsrc_cfg)
+
+virtual
+
+ +

Needs to be implemented by any sub-type to check and perform the configuration of the node.

+ +

Implements sdr::SinkBase.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void FSKDetector::process (const Buffer< int16_t > & buffer,
bool allow_overwrite 
)
+
+virtual
+
+ +

Needs to be implemented by any sub-type to process the received data.

+ +

Implements sdr::Sink< int16_t >.

+ +
+
+

Member Data Documentation

+ +
+
+ + + + + +
+ + + + +
float sdr::FSKDetector::_baud
+
+protected
+
+ +

Baudrate of the transmission.

+

Needed to compute the filter length of the FIR mark/space filters.

+ +
+
+ +
+
+ + + + + +
+ + + + +
Buffer<int8_t> sdr::FSKDetector::_buffer
+
+protected
+
+ +

Output buffer.

+ +
+
+ +
+
+ + + + + +
+ + + + +
size_t sdr::FSKDetector::_corrLen
+
+protected
+
+ +

The filter lenght.

+ +
+
+ +
+
+ + + + + +
+ + + + +
float sdr::FSKDetector::_Fmark
+
+protected
+
+ +

Mark "tone" frequency.

+ +
+
+ +
+
+ + + + + +
+ + + + +
float sdr::FSKDetector::_Fspace
+
+protected
+
+ +

Space "tone" frequency.

+ +
+
+ +
+
+ + + + + +
+ + + + +
size_t sdr::FSKDetector::_lutIdx
+
+protected
+
+ +

The current FIR filter LUT index.

+ +
+
+ +
+
+ + + + + +
+ + + + +
Buffer< std::complex<float> > sdr::FSKDetector::_markHist
+
+protected
+
+ +

FIR filter buffer.

+ +
+
+ +
+
+ + + + + +
+ + + + +
Buffer< std::complex<float> > sdr::FSKDetector::_markLUT
+
+protected
+
+ +

Mark frequency FIR filter LUT.

+ +
+
+ +
+
+ + + + + +
+ + + + +
Buffer< std::complex<float> > sdr::FSKDetector::_spaceHist
+
+protected
+
+ +

FIR filter buffer.

+ +
+
+ +
+
+ + + + + +
+ + + + +
Buffer< std::complex<float> > sdr::FSKDetector::_spaceLUT
+
+protected
+
+ +

Space frequency FIR filter LUT.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classsdr_1_1_f_s_k_detector.png b/classsdr_1_1_f_s_k_detector.png new file mode 100644 index 0000000..9d47677 Binary files /dev/null and b/classsdr_1_1_f_s_k_detector.png differ diff --git a/classsdr_1_1_filter_node-members.html b/classsdr_1_1_filter_node-members.html index 79cf24c..6ecdbca 100644 --- a/classsdr_1_1_filter_node-members.html +++ b/classsdr_1_1_filter_node-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_filter_node.html b/classsdr_1_1_filter_node.html index 5808a48..2e7441f 100644 --- a/classsdr_1_1_filter_node.html +++ b/classsdr_1_1_filter_node.html @@ -391,7 +391,7 @@ template<class Scalar > diff --git a/classsdr_1_1_filter_sink-members.html b/classsdr_1_1_filter_sink-members.html index 80e3c07..383b69c 100644 --- a/classsdr_1_1_filter_sink-members.html +++ b/classsdr_1_1_filter_sink-members.html @@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_filter_sink.html b/classsdr_1_1_filter_sink.html index 9fbca62..46fd47a 100644 --- a/classsdr_1_1_filter_sink.html +++ b/classsdr_1_1_filter_sink.html @@ -446,7 +446,7 @@ template<class Scalar> diff --git a/classsdr_1_1_filter_source-members.html b/classsdr_1_1_filter_source-members.html index 8a50c87..30da0b5 100644 --- a/classsdr_1_1_filter_source-members.html +++ b/classsdr_1_1_filter_source-members.html @@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_filter_source.html b/classsdr_1_1_filter_source.html index 6945dd6..c5c9e6c 100644 --- a/classsdr_1_1_filter_source.html +++ b/classsdr_1_1_filter_source.html @@ -696,7 +696,7 @@ template<class Scalar > diff --git a/classsdr_1_1_frac_sub_sample_base-members.html b/classsdr_1_1_frac_sub_sample_base-members.html index 57fbfa8..bf090dd 100644 --- a/classsdr_1_1_frac_sub_sample_base-members.html +++ b/classsdr_1_1_frac_sub_sample_base-members.html @@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_frac_sub_sample_base.html b/classsdr_1_1_frac_sub_sample_base.html index 2ed9a84..ef6cbdf 100644 --- a/classsdr_1_1_frac_sub_sample_base.html +++ b/classsdr_1_1_frac_sub_sample_base.html @@ -429,7 +429,7 @@ template<class Scalar > diff --git a/classsdr_1_1_freq_shift-members.html b/classsdr_1_1_freq_shift-members.html index 4de1af6..2d84899 100644 --- a/classsdr_1_1_freq_shift-members.html +++ b/classsdr_1_1_freq_shift-members.html @@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_freq_shift.html b/classsdr_1_1_freq_shift.html index a29cf61..c9b0c62 100644 --- a/classsdr_1_1_freq_shift.html +++ b/classsdr_1_1_freq_shift.html @@ -572,7 +572,7 @@ template<class Scalar > diff --git a/classsdr_1_1_freq_shift_base-members.html b/classsdr_1_1_freq_shift_base-members.html index 9413d02..af5c33a 100644 --- a/classsdr_1_1_freq_shift_base-members.html +++ b/classsdr_1_1_freq_shift_base-members.html @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_freq_shift_base.html b/classsdr_1_1_freq_shift_base.html index 9b41643..b66407c 100644 --- a/classsdr_1_1_freq_shift_base.html +++ b/classsdr_1_1_freq_shift_base.html @@ -622,7 +622,7 @@ template<class Scalar> diff --git a/classsdr_1_1_g_w_n_source-members.html b/classsdr_1_1_g_w_n_source-members.html index 6a8d7f7..1b1326b 100644 --- a/classsdr_1_1_g_w_n_source-members.html +++ b/classsdr_1_1_g_w_n_source-members.html @@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_g_w_n_source.html b/classsdr_1_1_g_w_n_source.html index 9dfa81c..35f0b36 100644 --- a/classsdr_1_1_g_w_n_source.html +++ b/classsdr_1_1_g_w_n_source.html @@ -435,7 +435,7 @@ template<class Scalar > diff --git a/classsdr_1_1_i_q_balance-members.html b/classsdr_1_1_i_q_balance-members.html index aa097a5..fd0e67f 100644 --- a/classsdr_1_1_i_q_balance-members.html +++ b/classsdr_1_1_i_q_balance-members.html @@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_i_q_balance.html b/classsdr_1_1_i_q_balance.html index 3974715..980d905 100644 --- a/classsdr_1_1_i_q_balance.html +++ b/classsdr_1_1_i_q_balance.html @@ -552,7 +552,7 @@ template<class Scalar > diff --git a/classsdr_1_1_i_q_base_band-members.html b/classsdr_1_1_i_q_base_band-members.html index e3e0a71..cd2f8a2 100644 --- a/classsdr_1_1_i_q_base_band-members.html +++ b/classsdr_1_1_i_q_base_band-members.html @@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_i_q_base_band.html b/classsdr_1_1_i_q_base_band.html index 28a708c..59b4d84 100644 --- a/classsdr_1_1_i_q_base_band.html +++ b/classsdr_1_1_i_q_base_band.html @@ -1407,7 +1407,7 @@ template<class Scalar > diff --git a/classsdr_1_1_i_q_sig_gen-members.html b/classsdr_1_1_i_q_sig_gen-members.html index d44be1c..5ef1cf2 100644 --- a/classsdr_1_1_i_q_sig_gen-members.html +++ b/classsdr_1_1_i_q_sig_gen-members.html @@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_i_q_sig_gen.html b/classsdr_1_1_i_q_sig_gen.html index ce703f0..d1c23e5 100644 --- a/classsdr_1_1_i_q_sig_gen.html +++ b/classsdr_1_1_i_q_sig_gen.html @@ -553,7 +553,7 @@ template<class Scalar > diff --git a/classsdr_1_1_imag_part-members.html b/classsdr_1_1_imag_part-members.html index fa1e2da..280e0fe 100644 --- a/classsdr_1_1_imag_part-members.html +++ b/classsdr_1_1_imag_part-members.html @@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_imag_part.html b/classsdr_1_1_imag_part.html index fdbfdee..45b7835 100644 --- a/classsdr_1_1_imag_part.html +++ b/classsdr_1_1_imag_part.html @@ -247,7 +247,7 @@ template<class Scalar > diff --git a/classsdr_1_1_inpol_sub_sampler-members.html b/classsdr_1_1_inpol_sub_sampler-members.html index 9f96b7d..974d2c4 100644 --- a/classsdr_1_1_inpol_sub_sampler-members.html +++ b/classsdr_1_1_inpol_sub_sampler-members.html @@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_inpol_sub_sampler.html b/classsdr_1_1_inpol_sub_sampler.html index ceeb40f..b3d84d8 100644 --- a/classsdr_1_1_inpol_sub_sampler.html +++ b/classsdr_1_1_inpol_sub_sampler.html @@ -480,7 +480,7 @@ template<class iScalar , class oScalar = iScalar> diff --git a/classsdr_1_1_interleave-members.html b/classsdr_1_1_interleave-members.html index 5502929..929ada8 100644 --- a/classsdr_1_1_interleave-members.html +++ b/classsdr_1_1_interleave-members.html @@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_interleave.html b/classsdr_1_1_interleave.html index 17d3b0e..0247fc6 100644 --- a/classsdr_1_1_interleave.html +++ b/classsdr_1_1_interleave.html @@ -400,7 +400,7 @@ template<class Scalar > diff --git a/classsdr_1_1_log_handler-members.html b/classsdr_1_1_log_handler-members.html index 136a019..7f545f2 100644 --- a/classsdr_1_1_log_handler-members.html +++ b/classsdr_1_1_log_handler-members.html @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_log_handler.html b/classsdr_1_1_log_handler.html index 1a4b687..4ab15a8 100644 --- a/classsdr_1_1_log_handler.html +++ b/classsdr_1_1_log_handler.html @@ -217,7 +217,7 @@ Protected Member Functions diff --git a/classsdr_1_1_log_message-members.html b/classsdr_1_1_log_message-members.html index 0995cb5..681e308 100644 --- a/classsdr_1_1_log_message-members.html +++ b/classsdr_1_1_log_message-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_log_message.html b/classsdr_1_1_log_message.html index c5f19a4..65f9659 100644 --- a/classsdr_1_1_log_message.html +++ b/classsdr_1_1_log_message.html @@ -291,7 +291,7 @@ Protected Attributes diff --git a/classsdr_1_1_logger-members.html b/classsdr_1_1_logger-members.html index 5131592..a9088dc 100644 --- a/classsdr_1_1_logger-members.html +++ b/classsdr_1_1_logger-members.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_logger.html b/classsdr_1_1_logger.html index b196cce..eab33c2 100644 --- a/classsdr_1_1_logger.html +++ b/classsdr_1_1_logger.html @@ -312,7 +312,7 @@ Static Protected Attributes diff --git a/classsdr_1_1_options-members.html b/classsdr_1_1_options-members.html index 8bc3956..2c2d778 100644 --- a/classsdr_1_1_options-members.html +++ b/classsdr_1_1_options-members.html @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_options.html b/classsdr_1_1_options.html index ff8ce16..f7e6295 100644 --- a/classsdr_1_1_options.html +++ b/classsdr_1_1_options.html @@ -354,7 +354,7 @@ Protected Attributes diff --git a/classsdr_1_1_options_1_1_value-members.html b/classsdr_1_1_options_1_1_value-members.html index ca16ccc..b09c1d6 100644 --- a/classsdr_1_1_options_1_1_value-members.html +++ b/classsdr_1_1_options_1_1_value-members.html @@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_options_1_1_value.html b/classsdr_1_1_options_1_1_value.html index db99e71..f1b8ca9 100644 --- a/classsdr_1_1_options_1_1_value.html +++ b/classsdr_1_1_options_1_1_value.html @@ -507,7 +507,7 @@ Protected Attributes diff --git a/classsdr_1_1_p_o_c_s_a_g-members.html b/classsdr_1_1_p_o_c_s_a_g-members.html new file mode 100644 index 0000000..467b74f --- /dev/null +++ b/classsdr_1_1_p_o_c_s_a_g-members.html @@ -0,0 +1,130 @@ + + + + + + +libsdr: Member List + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+
sdr::POCSAG Member List
+
+
+ +

This is the complete list of members for sdr::POCSAG, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + +
_bitcountsdr::POCSAGprotected
_bitssdr::POCSAGprotected
_finish_message()sdr::POCSAGprotected
_messagesdr::POCSAGprotected
_process_word(uint32_t word)sdr::POCSAGprotected
_queuesdr::POCSAGprotected
_reset_message()sdr::POCSAGprotected
_slotsdr::POCSAGprotected
_statesdr::POCSAGprotected
CHECK_CONTINUE enum valuesdr::POCSAGprotected
config(const Config &src_cfg)sdr::POCSAGvirtual
handleBuffer(const RawBuffer &buffer, bool allow_overwrite)sdr::Sink< uint8_t >inlinevirtual
handleMessages()sdr::POCSAGvirtual
POCSAG()sdr::POCSAG
process(const Buffer< uint8_t > &buffer, bool allow_overwrite)sdr::POCSAGvirtual
RECEIVE enum valuesdr::POCSAGprotected
Sink()sdr::Sink< uint8_t >inline
SinkBase()sdr::SinkBase
State enum namesdr::POCSAGprotected
WAIT enum valuesdr::POCSAGprotected
~Sink()sdr::Sink< uint8_t >inlinevirtual
~SinkBase()sdr::SinkBasevirtual
+ + + + diff --git a/classsdr_1_1_p_o_c_s_a_g.html b/classsdr_1_1_p_o_c_s_a_g.html new file mode 100644 index 0000000..fb6d396 --- /dev/null +++ b/classsdr_1_1_p_o_c_s_a_g.html @@ -0,0 +1,540 @@ + + + + + + +libsdr: sdr::POCSAG Class Reference + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Public Member Functions | +Protected Types | +Protected Member Functions | +Protected Attributes | +List of all members
+
+
sdr::POCSAG Class Reference
+
+
+ +

Implements a POCSAG decoder. + More...

+ +

#include <pocsag.hh>

+
+Inheritance diagram for sdr::POCSAG:
+
+
+ + +sdr::Sink< uint8_t > +sdr::SinkBase +sdr::POCSAGDump + +
+ + + + + +

+Classes

class  Message
 A pocsag message. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 POCSAG ()
 Constructor. More...
 
void config (const Config &src_cfg)
 Needs to be implemented by any sub-type to check and perform the configuration of the node. More...
 
void process (const Buffer< uint8_t > &buffer, bool allow_overwrite)
 Needs to be implemented by any sub-type to process the received data. More...
 
virtual void handleMessages ()
 Can be overwritten by any other implementation to process the received messages stored in _queue. More...
 
- Public Member Functions inherited from sdr::Sink< uint8_t >
 Sink ()
 Constructor. More...
 
virtual ~Sink ()
 Drestructor. More...
 
virtual void handleBuffer (const RawBuffer &buffer, bool allow_overwrite)
 Re-implemented from SinkBase. More...
 
- Public Member Functions inherited from sdr::SinkBase
 SinkBase ()
 Constructor. More...
 
virtual ~SinkBase ()
 Destructor. More...
 
+ + + + +

+Protected Types

enum  State { WAIT, +RECEIVE, +CHECK_CONTINUE + }
 The possible states of the POGSAC receiver. More...
 
+ + + + + + + + + + +

+Protected Member Functions

void _process_word (uint32_t word)
 Process a POGSAC word. More...
 
void _reset_message ()
 Clear the message. More...
 
void _finish_message ()
 Add the (non-empty) message to the queue. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Protected Attributes

State _state
 The current state. More...
 
uint64_t _bits
 The last received bits. More...
 
uint8_t _bitcount
 The number of received bits. More...
 
uint8_t _slot
 The current slot. More...
 
Message _message
 The current message. More...
 
std::list< Message_queue
 The completed messages. More...
 
+

Detailed Description

+

Implements a POCSAG decoder.

+

In conjecture with the FSKDetector or AFSDetector and the BitStream nodes, this node can be used to receive and process POCSAG (pages) messages.

+

The POCSAG protocol is defined as followig:

+

1) at least 576 bits of alternating value (1 0 1 0 ...) 2) a 32-bit sync word (0x7CD215D8) 3) 2x8 data words (each 32 bit) 4) If data left to send -> continue with step 2

+

Unused data words are send as 0x7A89C197. Each dataword is either a address word (bit 31 = 0) or message word (bit 31 = 1).

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
POCSAG::POCSAG ()
+
+ +

Constructor.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void POCSAG::_finish_message ()
+
+protected
+
+ +

Add the (non-empty) message to the queue.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void POCSAG::_process_word (uint32_t word)
+
+protected
+
+ +

Process a POGSAC word.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void POCSAG::_reset_message ()
+
+protected
+
+ +

Clear the message.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void POCSAG::config (const Configsrc_cfg)
+
+virtual
+
+ +

Needs to be implemented by any sub-type to check and perform the configuration of the node.

+ +

Implements sdr::SinkBase.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void POCSAG::handleMessages ()
+
+virtual
+
+ +

Can be overwritten by any other implementation to process the received messages stored in _queue.

+ +

Reimplemented in sdr::POCSAGDump.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void POCSAG::process (const Buffer< uint8_t > & buffer,
bool allow_overwrite 
)
+
+virtual
+
+ +

Needs to be implemented by any sub-type to process the received data.

+ +

Implements sdr::Sink< uint8_t >.

+ +
+
+

Member Data Documentation

+ +
+
+ + + + + +
+ + + + +
uint8_t sdr::POCSAG::_bitcount
+
+protected
+
+ +

The number of received bits.

+ +
+
+ +
+
+ + + + + +
+ + + + +
uint64_t sdr::POCSAG::_bits
+
+protected
+
+ +

The last received bits.

+ +
+
+ +
+
+ + + + + +
+ + + + +
Message sdr::POCSAG::_message
+
+protected
+
+ +

The current message.

+ +
+
+ +
+
+ + + + + +
+ + + + +
std::list<Message> sdr::POCSAG::_queue
+
+protected
+
+ +

The completed messages.

+ +
+
+ +
+
+ + + + + +
+ + + + +
uint8_t sdr::POCSAG::_slot
+
+protected
+
+ +

The current slot.

+ +
+
+ +
+
+ + + + + +
+ + + + +
State sdr::POCSAG::_state
+
+protected
+
+ +

The current state.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classsdr_1_1_p_o_c_s_a_g.png b/classsdr_1_1_p_o_c_s_a_g.png new file mode 100644 index 0000000..33dfb27 Binary files /dev/null and b/classsdr_1_1_p_o_c_s_a_g.png differ diff --git a/classsdr_1_1_p_o_c_s_a_g_1_1_message-members.html b/classsdr_1_1_p_o_c_s_a_g_1_1_message-members.html new file mode 100644 index 0000000..5eca84f --- /dev/null +++ b/classsdr_1_1_p_o_c_s_a_g_1_1_message-members.html @@ -0,0 +1,127 @@ + + + + + + +libsdr: Member List + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+
sdr::POCSAG::Message Member List
+
+
+ +

This is the complete list of members for sdr::POCSAG::Message, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
_addresssdr::POCSAG::Messageprotected
_bitssdr::POCSAG::Messageprotected
_emptysdr::POCSAG::Messageprotected
_functionsdr::POCSAG::Messageprotected
_payloadsdr::POCSAG::Messageprotected
addPayload(uint32_t word)sdr::POCSAG::Message
address() const sdr::POCSAG::Messageinline
asHex() const sdr::POCSAG::Message
asNumeric() const sdr::POCSAG::Message
asText() const sdr::POCSAG::Message
bits() const sdr::POCSAG::Messageinline
estimateNumeric() const sdr::POCSAG::Message
estimateText() const sdr::POCSAG::Message
function() const sdr::POCSAG::Messageinline
isEmpty() const sdr::POCSAG::Messageinline
Message()sdr::POCSAG::Message
Message(uint32_t addr, uint8_t func)sdr::POCSAG::Message
Message(const Message &other)sdr::POCSAG::Message
operator=(const Message &other)sdr::POCSAG::Message
+ + + + diff --git a/classsdr_1_1_p_o_c_s_a_g_1_1_message.html b/classsdr_1_1_p_o_c_s_a_g_1_1_message.html new file mode 100644 index 0000000..e795623 --- /dev/null +++ b/classsdr_1_1_p_o_c_s_a_g_1_1_message.html @@ -0,0 +1,582 @@ + + + + + + +libsdr: sdr::POCSAG::Message Class Reference + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Attributes | +List of all members
+
+
sdr::POCSAG::Message Class Reference
+
+
+ +

A pocsag message. + More...

+ +

#include <pocsag.hh>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Message ()
 Empty constructor. More...
 
 Message (uint32_t addr, uint8_t func)
 Constructor from address and function. More...
 
 Message (const Message &other)
 Copy constructor. More...
 
Messageoperator= (const Message &other)
 Assignment operator. More...
 
bool isEmpty () const
 Retruns true if the message is empty (has no address). More...
 
uint32_t address () const
 Returns the address of the message. More...
 
uint8_t function () const
 Returns the function of the message. More...
 
uint32_t bits () const
 Returns the number of data bits. More...
 
void addPayload (uint32_t word)
 Adds some payload from the given POGSAC word. More...
 
int estimateText () const
 Retruns the "likelihood" that the message is a text message (actually a log-likelihood). More...
 
int estimateNumeric () const
 Retruns the "likelihood" that the message is a numeric message (actually a log-likelihood). More...
 
std::string asText () const
 Decodes the message as a text message. More...
 
std::string asNumeric () const
 Decodes the message as a numeric message. More...
 
std::string asHex () const
 Dumps the payload. More...
 
+ + + + + + + + + + + + + + + + +

+Protected Attributes

uint32_t _address
 The address of the message. More...
 
uint8_t _function
 The function of the message. More...
 
bool _empty
 If true the message is empty. More...
 
uint32_t _bits
 The number of payload bits in the message. More...
 
std::vector< uint8_t > _payload
 The actual payload. More...
 
+

Detailed Description

+

A pocsag message.

+

A pocsag message can be either a numeric message (i.e. phone numbers) or a text message. The transmitter knows which type a certain receiver expects, hence there is no information embedded into the actual message that determines the type. Hence a heuristic needs to be used in order to select the message type by the contents of the message. This is done using the estimateText and estimateNumeric functions. They return a weight in favor of one of the types. I.e. if estimateText() > estimateNumeric(), the message is likely to be a text message. Like any heuristic, this approach may fail. The message text is returned by asText() and the numeric data is returned by asNumeric(). Both methods return a std::string as the numeric message may also contain a very limited set of non-number symbols.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
POCSAG::Message::Message ()
+
+ +

Empty constructor.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
POCSAG::Message::Message (uint32_t addr,
uint8_t func 
)
+
+ +

Constructor from address and function.

+ +
+
+ +
+
+ + + + + + + + +
POCSAG::Message::Message (const Messageother)
+
+ +

Copy constructor.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
void POCSAG::Message::addPayload (uint32_t word)
+
+ +

Adds some payload from the given POGSAC word.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
uint32_t sdr::POCSAG::Message::address () const
+
+inline
+
+ +

Returns the address of the message.

+ +
+
+ +
+
+ + + + + + + +
std::string POCSAG::Message::asHex () const
+
+ +

Dumps the payload.

+ +
+
+ +
+
+ + + + + + + +
std::string POCSAG::Message::asNumeric () const
+
+ +

Decodes the message as a numeric message.

+ +
+
+ +
+
+ + + + + + + +
std::string POCSAG::Message::asText () const
+
+ +

Decodes the message as a text message.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
uint32_t sdr::POCSAG::Message::bits () const
+
+inline
+
+ +

Returns the number of data bits.

+ +
+
+ +
+
+ + + + + + + +
int POCSAG::Message::estimateNumeric () const
+
+ +

Retruns the "likelihood" that the message is a numeric message (actually a log-likelihood).

+ +
+
+ +
+
+ + + + + + + +
int POCSAG::Message::estimateText () const
+
+ +

Retruns the "likelihood" that the message is a text message (actually a log-likelihood).

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
uint8_t sdr::POCSAG::Message::function () const
+
+inline
+
+ +

Returns the function of the message.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool sdr::POCSAG::Message::isEmpty () const
+
+inline
+
+ +

Retruns true if the message is empty (has no address).

+ +
+
+ +
+
+ + + + + + + + +
POCSAG::Message & POCSAG::Message::operator= (const Messageother)
+
+ +

Assignment operator.

+ +
+
+

Member Data Documentation

+ +
+
+ + + + + +
+ + + + +
uint32_t sdr::POCSAG::Message::_address
+
+protected
+
+ +

The address of the message.

+ +
+
+ +
+
+ + + + + +
+ + + + +
uint32_t sdr::POCSAG::Message::_bits
+
+protected
+
+ +

The number of payload bits in the message.

+ +
+
+ +
+
+ + + + + +
+ + + + +
bool sdr::POCSAG::Message::_empty
+
+protected
+
+ +

If true the message is empty.

+ +
+
+ +
+
+ + + + + +
+ + + + +
uint8_t sdr::POCSAG::Message::_function
+
+protected
+
+ +

The function of the message.

+ +
+
+ +
+
+ + + + + +
+ + + + +
std::vector<uint8_t> sdr::POCSAG::Message::_payload
+
+protected
+
+ +

The actual payload.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classsdr_1_1_p_o_c_s_a_g_dump-members.html b/classsdr_1_1_p_o_c_s_a_g_dump-members.html new file mode 100644 index 0000000..3028d9f --- /dev/null +++ b/classsdr_1_1_p_o_c_s_a_g_dump-members.html @@ -0,0 +1,132 @@ + + + + + + +libsdr: Member List + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+
sdr::POCSAGDump Member List
+
+
+ +

This is the complete list of members for sdr::POCSAGDump, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
_bitcountsdr::POCSAGprotected
_bitssdr::POCSAGprotected
_finish_message()sdr::POCSAGprotected
_messagesdr::POCSAGprotected
_process_word(uint32_t word)sdr::POCSAGprotected
_queuesdr::POCSAGprotected
_reset_message()sdr::POCSAGprotected
_slotsdr::POCSAGprotected
_statesdr::POCSAGprotected
_streamsdr::POCSAGDumpprotected
CHECK_CONTINUE enum valuesdr::POCSAGprotected
config(const Config &src_cfg)sdr::POCSAGvirtual
handleBuffer(const RawBuffer &buffer, bool allow_overwrite)sdr::Sink< uint8_t >inlinevirtual
handleMessages()sdr::POCSAGDumpvirtual
POCSAG()sdr::POCSAG
POCSAGDump(std::ostream &stream)sdr::POCSAGDump
process(const Buffer< uint8_t > &buffer, bool allow_overwrite)sdr::POCSAGvirtual
RECEIVE enum valuesdr::POCSAGprotected
Sink()sdr::Sink< uint8_t >inline
SinkBase()sdr::SinkBase
State enum namesdr::POCSAGprotected
WAIT enum valuesdr::POCSAGprotected
~Sink()sdr::Sink< uint8_t >inlinevirtual
~SinkBase()sdr::SinkBasevirtual
+ + + + diff --git a/classsdr_1_1_p_o_c_s_a_g_dump.html b/classsdr_1_1_p_o_c_s_a_g_dump.html new file mode 100644 index 0000000..d0d1965 --- /dev/null +++ b/classsdr_1_1_p_o_c_s_a_g_dump.html @@ -0,0 +1,289 @@ + + + + + + +libsdr: sdr::POCSAGDump Class Reference + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Attributes | +List of all members
+
+
sdr::POCSAGDump Class Reference
+
+
+ +

A simple extention of the POCSAG node that prints the received messages to a std::ostream. + More...

+ +

#include <pocsag.hh>

+
+Inheritance diagram for sdr::POCSAGDump:
+
+
+ + +sdr::POCSAG +sdr::Sink< uint8_t > +sdr::SinkBase + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 POCSAGDump (std::ostream &stream)
 Constructor. More...
 
void handleMessages ()
 Dumps the received messages. More...
 
- Public Member Functions inherited from sdr::POCSAG
 POCSAG ()
 Constructor. More...
 
void config (const Config &src_cfg)
 Needs to be implemented by any sub-type to check and perform the configuration of the node. More...
 
void process (const Buffer< uint8_t > &buffer, bool allow_overwrite)
 Needs to be implemented by any sub-type to process the received data. More...
 
- Public Member Functions inherited from sdr::Sink< uint8_t >
 Sink ()
 Constructor. More...
 
virtual ~Sink ()
 Drestructor. More...
 
virtual void handleBuffer (const RawBuffer &buffer, bool allow_overwrite)
 Re-implemented from SinkBase. More...
 
- Public Member Functions inherited from sdr::SinkBase
 SinkBase ()
 Constructor. More...
 
virtual ~SinkBase ()
 Destructor. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

std::ostream & _stream
 The output stream. More...
 
- Protected Attributes inherited from sdr::POCSAG
State _state
 The current state. More...
 
uint64_t _bits
 The last received bits. More...
 
uint8_t _bitcount
 The number of received bits. More...
 
uint8_t _slot
 The current slot. More...
 
Message _message
 The current message. More...
 
std::list< Message_queue
 The completed messages. More...
 
+ + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Types inherited from sdr::POCSAG
enum  State { WAIT, +RECEIVE, +CHECK_CONTINUE + }
 The possible states of the POGSAC receiver. More...
 
- Protected Member Functions inherited from sdr::POCSAG
void _process_word (uint32_t word)
 Process a POGSAC word. More...
 
void _reset_message ()
 Clear the message. More...
 
void _finish_message ()
 Add the (non-empty) message to the queue. More...
 
+

Detailed Description

+

A simple extention of the POCSAG node that prints the received messages to a std::ostream.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
POCSAGDump::POCSAGDump (std::ostream & stream)
+
+ +

Constructor.

+
Parameters
+ + +
streamSpecifies the stream, the received messages are serialized into.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void POCSAGDump::handleMessages ()
+
+virtual
+
+ +

Dumps the received messages.

+ +

Reimplemented from sdr::POCSAG.

+ +
+
+

Member Data Documentation

+ +
+
+ + + + + +
+ + + + +
std::ostream& sdr::POCSAGDump::_stream
+
+protected
+
+ +

The output stream.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classsdr_1_1_p_o_c_s_a_g_dump.png b/classsdr_1_1_p_o_c_s_a_g_dump.png new file mode 100644 index 0000000..a60a12f Binary files /dev/null and b/classsdr_1_1_p_o_c_s_a_g_dump.png differ diff --git a/classsdr_1_1_port_audio-members.html b/classsdr_1_1_port_audio-members.html index 505b7d8..bcbd84c 100644 --- a/classsdr_1_1_port_audio-members.html +++ b/classsdr_1_1_port_audio-members.html @@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_port_audio.html b/classsdr_1_1_port_audio.html index 01b9f56..0c11f5e 100644 --- a/classsdr_1_1_port_audio.html +++ b/classsdr_1_1_port_audio.html @@ -343,7 +343,7 @@ Static Public Member Functions diff --git a/classsdr_1_1_port_sink-members.html b/classsdr_1_1_port_sink-members.html index 9f02a1c..26cd069 100644 --- a/classsdr_1_1_port_sink-members.html +++ b/classsdr_1_1_port_sink-members.html @@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_port_sink.html b/classsdr_1_1_port_sink.html index c49650b..1d89efa 100644 --- a/classsdr_1_1_port_sink.html +++ b/classsdr_1_1_port_sink.html @@ -308,7 +308,7 @@ Protected Attributes diff --git a/classsdr_1_1_port_source-members.html b/classsdr_1_1_port_source-members.html index fea0334..a83dbed 100644 --- a/classsdr_1_1_port_source-members.html +++ b/classsdr_1_1_port_source-members.html @@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_port_source.html b/classsdr_1_1_port_source.html index 20ed633..3bde886 100644 --- a/classsdr_1_1_port_source.html +++ b/classsdr_1_1_port_source.html @@ -638,7 +638,7 @@ template<class Scalar > diff --git a/classsdr_1_1_proxy-members.html b/classsdr_1_1_proxy-members.html index f558ce7..f1b0df1 100644 --- a/classsdr_1_1_proxy-members.html +++ b/classsdr_1_1_proxy-members.html @@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_proxy.html b/classsdr_1_1_proxy.html index cc9ab99..db3aeae 100644 --- a/classsdr_1_1_proxy.html +++ b/classsdr_1_1_proxy.html @@ -303,7 +303,7 @@ Additional Inherited Members diff --git a/classsdr_1_1_queue-members.html b/classsdr_1_1_queue-members.html index f454ac8..d83f763 100644 --- a/classsdr_1_1_queue-members.html +++ b/classsdr_1_1_queue-members.html @@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_queue.html b/classsdr_1_1_queue.html index e5ed2ef..5767013 100644 --- a/classsdr_1_1_queue.html +++ b/classsdr_1_1_queue.html @@ -899,7 +899,7 @@ template<class T > diff --git a/classsdr_1_1_queue_1_1_message-members.html b/classsdr_1_1_queue_1_1_message-members.html index e862aa5..2750d65 100644 --- a/classsdr_1_1_queue_1_1_message-members.html +++ b/classsdr_1_1_queue_1_1_message-members.html @@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_queue_1_1_message.html b/classsdr_1_1_queue_1_1_message.html index 79276d1..f6b1547 100644 --- a/classsdr_1_1_queue_1_1_message.html +++ b/classsdr_1_1_queue_1_1_message.html @@ -411,7 +411,7 @@ Protected Attributes diff --git a/classsdr_1_1_r_t_l_source-members.html b/classsdr_1_1_r_t_l_source-members.html index 57b74cf..9188a4c 100644 --- a/classsdr_1_1_r_t_l_source-members.html +++ b/classsdr_1_1_r_t_l_source-members.html @@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_r_t_l_source.html b/classsdr_1_1_r_t_l_source.html index 171e6fd..1b90f5c 100644 --- a/classsdr_1_1_r_t_l_source.html +++ b/classsdr_1_1_r_t_l_source.html @@ -883,7 +883,7 @@ Additional Inherited Members diff --git a/classsdr_1_1_raw_buffer-members.html b/classsdr_1_1_raw_buffer-members.html index d961a80..d961892 100644 --- a/classsdr_1_1_raw_buffer-members.html +++ b/classsdr_1_1_raw_buffer-members.html @@ -123,7 +123,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_raw_buffer.html b/classsdr_1_1_raw_buffer.html index dbef3aa..ed18b3e 100644 --- a/classsdr_1_1_raw_buffer.html +++ b/classsdr_1_1_raw_buffer.html @@ -112,7 +112,7 @@ Inheritance diagram for sdr::RawBuffer: sdr::Buffer< CScalar > sdr::Buffer< CSScalar > sdr::Buffer< float > -sdr::Buffer< int16_t > +sdr::Buffer< int8_t > sdr::Buffer< oScalar > sdr::Buffer< Scalar > sdr::Buffer< SScalar > @@ -763,7 +763,7 @@ Protected Attributes diff --git a/classsdr_1_1_raw_buffer.png b/classsdr_1_1_raw_buffer.png index 2a7c011..3ed1197 100644 Binary files a/classsdr_1_1_raw_buffer.png and b/classsdr_1_1_raw_buffer.png differ diff --git a/classsdr_1_1_raw_ring_buffer-members.html b/classsdr_1_1_raw_ring_buffer-members.html index 57737d9..feb7994 100644 --- a/classsdr_1_1_raw_ring_buffer-members.html +++ b/classsdr_1_1_raw_ring_buffer-members.html @@ -137,7 +137,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_raw_ring_buffer.html b/classsdr_1_1_raw_ring_buffer.html index 340acae..77e36b1 100644 --- a/classsdr_1_1_raw_ring_buffer.html +++ b/classsdr_1_1_raw_ring_buffer.html @@ -615,7 +615,7 @@ Protected Attributes diff --git a/classsdr_1_1_real_imag_part-members.html b/classsdr_1_1_real_imag_part-members.html index 2e17ccf..a386802 100644 --- a/classsdr_1_1_real_imag_part-members.html +++ b/classsdr_1_1_real_imag_part-members.html @@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_real_imag_part.html b/classsdr_1_1_real_imag_part.html index 4797ef6..3ae8d49 100644 --- a/classsdr_1_1_real_imag_part.html +++ b/classsdr_1_1_real_imag_part.html @@ -402,7 +402,7 @@ template<class Scalar > diff --git a/classsdr_1_1_real_part-members.html b/classsdr_1_1_real_part-members.html index 770d4e3..108da2e 100644 --- a/classsdr_1_1_real_part-members.html +++ b/classsdr_1_1_real_part-members.html @@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_real_part.html b/classsdr_1_1_real_part.html index 5395463..f63a8dc 100644 --- a/classsdr_1_1_real_part.html +++ b/classsdr_1_1_real_part.html @@ -247,7 +247,7 @@ template<class Scalar > diff --git a/classsdr_1_1_ring_buffer-members.html b/classsdr_1_1_ring_buffer-members.html index 6e07bdc..9a39f2d 100644 --- a/classsdr_1_1_ring_buffer-members.html +++ b/classsdr_1_1_ring_buffer-members.html @@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_ring_buffer.html b/classsdr_1_1_ring_buffer.html index 3625bf7..16d39bf 100644 --- a/classsdr_1_1_ring_buffer.html +++ b/classsdr_1_1_ring_buffer.html @@ -716,7 +716,7 @@ template<class Scalar> diff --git a/classsdr_1_1_runtime_error-members.html b/classsdr_1_1_runtime_error-members.html index 3945e0a..fa2d198 100644 --- a/classsdr_1_1_runtime_error-members.html +++ b/classsdr_1_1_runtime_error-members.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_runtime_error.html b/classsdr_1_1_runtime_error.html index 6794b6c..8d22342 100644 --- a/classsdr_1_1_runtime_error.html +++ b/classsdr_1_1_runtime_error.html @@ -228,7 +228,7 @@ Public Member Functions diff --git a/classsdr_1_1_s_d_r_error-members.html b/classsdr_1_1_s_d_r_error-members.html index 9c88855..1711f1a 100644 --- a/classsdr_1_1_s_d_r_error-members.html +++ b/classsdr_1_1_s_d_r_error-members.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_s_d_r_error.html b/classsdr_1_1_s_d_r_error.html index b6e7b9a..50c271f 100644 --- a/classsdr_1_1_s_d_r_error.html +++ b/classsdr_1_1_s_d_r_error.html @@ -251,7 +251,7 @@ Public Member Functions diff --git a/classsdr_1_1_scale-members.html b/classsdr_1_1_scale-members.html index f7770e2..896c62b 100644 --- a/classsdr_1_1_scale-members.html +++ b/classsdr_1_1_scale-members.html @@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_scale.html b/classsdr_1_1_scale.html index 721cc1f..8da133e 100644 --- a/classsdr_1_1_scale.html +++ b/classsdr_1_1_scale.html @@ -429,7 +429,7 @@ template<class Scalar > diff --git a/classsdr_1_1_sig_gen-members.html b/classsdr_1_1_sig_gen-members.html index 1e44d51..7ce963c 100644 --- a/classsdr_1_1_sig_gen-members.html +++ b/classsdr_1_1_sig_gen-members.html @@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_sig_gen.html b/classsdr_1_1_sig_gen.html index 2fa96a1..58d31f8 100644 --- a/classsdr_1_1_sig_gen.html +++ b/classsdr_1_1_sig_gen.html @@ -553,7 +553,7 @@ template<class Scalar > diff --git a/classsdr_1_1_signed_to_unsigned-members.html b/classsdr_1_1_signed_to_unsigned-members.html index 9e5cca2..d6877fd 100644 --- a/classsdr_1_1_signed_to_unsigned-members.html +++ b/classsdr_1_1_signed_to_unsigned-members.html @@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_signed_to_unsigned.html b/classsdr_1_1_signed_to_unsigned.html index 2e184a5..ad31100 100644 --- a/classsdr_1_1_signed_to_unsigned.html +++ b/classsdr_1_1_signed_to_unsigned.html @@ -437,7 +437,7 @@ Protected Attributes diff --git a/classsdr_1_1_sink-members.html b/classsdr_1_1_sink-members.html index 1cd9d2d..ea18caf 100644 --- a/classsdr_1_1_sink-members.html +++ b/classsdr_1_1_sink-members.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_sink.html b/classsdr_1_1_sink.html index 909373c..12e9331 100644 --- a/classsdr_1_1_sink.html +++ b/classsdr_1_1_sink.html @@ -114,17 +114,18 @@ Inheritance diagram for sdr::Sink< Scalar >: sdr::FIRFilter< Scalar, FIRHighPassCoeffs > sdr::FIRFilter< Scalar, FIRLowPassCoeffs > sdr::AGC< Scalar > -sdr::BaseBand< Scalar > -sdr::BufferNode< Scalar > -sdr::CombineSink< Scalar > -sdr::DebugDump< Scalar > -sdr::DebugStore< Scalar > -sdr::FIRFilter< Scalar, FilterCoeffs > -sdr::FMDeemph< Scalar > -sdr::Scale< Scalar > -sdr::StreamSink< Scalar > -sdr::SubSample< Scalar > -sdr::WavSink< Scalar > +sdr::ASKDetector< Scalar > +sdr::BaseBand< Scalar > +sdr::BufferNode< Scalar > +sdr::CombineSink< Scalar > +sdr::DebugDump< Scalar > +sdr::DebugStore< Scalar > +sdr::FIRFilter< Scalar, FilterCoeffs > +sdr::FMDeemph< Scalar > +sdr::Scale< Scalar > +sdr::StreamSink< Scalar > +sdr::SubSample< Scalar > +sdr::WavSink< Scalar > @@ -291,7 +292,7 @@ template<class Scalar>

Needs to be implemented by any sub-type to process the received data.

-

Implemented in sdr::TextDump, sdr::DebugDump< Scalar >, sdr::DebugStore< Scalar >, sdr::AGC< Scalar >, sdr::Scale< Scalar >, sdr::StreamSink< Scalar >, sdr::FreqShift< Scalar >, sdr::BaseBand< Scalar >, sdr::FMDeemph< Scalar >, sdr::Cast< iScalar, oScalar >, sdr::Varicode, sdr::InpolSubSampler< iScalar, oScalar >, sdr::ToComplex< iScalar, oScalar >, sdr::FMDemod< iScalar, oScalar >, sdr::FIRFilter< Scalar, FilterCoeffs >, sdr::FIRFilter< Scalar, FIRBandPassCoeffs >, sdr::FIRFilter< Scalar, FIRBandStopCoeffs >, sdr::FIRFilter< Scalar, FIRHighPassCoeffs >, sdr::FIRFilter< Scalar, FIRLowPassCoeffs >, sdr::IQBalance< Scalar >, sdr::FilterSource< Scalar >, sdr::USBDemod< Scalar >, sdr::IQBaseBand< Scalar >, sdr::BPSK31< Scalar >, sdr::WavSink< Scalar >, sdr::FilterSink< Scalar >, sdr::SubSample< Scalar >, sdr::AMDemod< Scalar >, sdr::BufferNode< Scalar >, sdr::BufferNode< std::complex< Scalar > >, sdr::RealImagPart< Scalar >, sdr::CombineSink< Scalar >, sdr::Baudot, sdr::AFSK, and sdr::AX25.

+

Implemented in sdr::TextDump, sdr::DebugDump< Scalar >, sdr::DebugStore< Scalar >, sdr::AGC< Scalar >, sdr::Scale< Scalar >, sdr::StreamSink< Scalar >, sdr::FreqShift< Scalar >, sdr::BaseBand< Scalar >, sdr::FMDeemph< Scalar >, sdr::Cast< iScalar, oScalar >, sdr::Varicode, sdr::InpolSubSampler< iScalar, oScalar >, sdr::ToComplex< iScalar, oScalar >, sdr::FMDemod< iScalar, oScalar >, sdr::FIRFilter< Scalar, FilterCoeffs >, sdr::FIRFilter< Scalar, FIRBandPassCoeffs >, sdr::FIRFilter< Scalar, FIRBandStopCoeffs >, sdr::FIRFilter< Scalar, FIRHighPassCoeffs >, sdr::FIRFilter< Scalar, FIRLowPassCoeffs >, sdr::BitDump, sdr::IQBalance< Scalar >, sdr::FilterSource< Scalar >, sdr::USBDemod< Scalar >, sdr::BitStream, sdr::IQBaseBand< Scalar >, sdr::BPSK31< Scalar >, sdr::WavSink< Scalar >, sdr::ASKDetector< Scalar >, sdr::POCSAG, sdr::FilterSink< Scalar >, sdr::SubSample< Scalar >, sdr::AMDemod< Scalar >, sdr::BufferNode< Scalar >, sdr::BufferNode< std::complex< Scalar > >, sdr::RealImagPart< Scalar >, sdr::CombineSink< Scalar >, sdr::Baudot, sdr::AX25, and sdr::FSKDetector.

@@ -301,7 +302,7 @@ template<class Scalar> diff --git a/classsdr_1_1_sink.png b/classsdr_1_1_sink.png index 40c29d6..b043d30 100644 Binary files a/classsdr_1_1_sink.png and b/classsdr_1_1_sink.png differ diff --git a/classsdr_1_1_sink_base-members.html b/classsdr_1_1_sink_base-members.html index fe8b899..c8f7c23 100644 --- a/classsdr_1_1_sink_base-members.html +++ b/classsdr_1_1_sink_base-members.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classsdr_1_1_sink_base.html b/classsdr_1_1_sink_base.html index 38ecb6f..afcbee1 100644 --- a/classsdr_1_1_sink_base.html +++ b/classsdr_1_1_sink_base.html @@ -208,7 +208,7 @@ Public Member Functions

Needs to be implemented by any sub-type to check and perform the configuration of the node.

-

Implemented in sdr::TextDump, sdr::DebugDump< Scalar >, sdr::DebugStore< Scalar >, sdr::AGC< Scalar >, sdr::Scale< Scalar >, sdr::StreamSink< Scalar >, sdr::FreqShift< Scalar >, sdr::SignedToUnsigned, sdr::UnsignedToSigned, sdr::BaseBand< Scalar >, sdr::Proxy, sdr::FMDeemph< Scalar >, sdr::Varicode, sdr::Cast< iScalar, oScalar >, sdr::ToComplex< iScalar, oScalar >, sdr::InpolSubSampler< iScalar, oScalar >, sdr::FMDemod< iScalar, oScalar >, sdr::FIRFilter< Scalar, FilterCoeffs >, sdr::FIRFilter< Scalar, FIRBandPassCoeffs >, sdr::FIRFilter< Scalar, FIRBandStopCoeffs >, sdr::FIRFilter< Scalar, FIRHighPassCoeffs >, sdr::FIRFilter< Scalar, FIRLowPassCoeffs >, sdr::IQBalance< Scalar >, sdr::FilterSource< Scalar >, sdr::IQBaseBand< Scalar >, sdr::USBDemod< Scalar >, sdr::BPSK31< Scalar >, sdr::WavSink< Scalar >, sdr::FilterSink< Scalar >, sdr::PortSink, sdr::Baudot, sdr::SubSample< Scalar >, sdr::AMDemod< Scalar >, sdr::CombineSink< Scalar >, sdr::AFSK, sdr::BufferNode< Scalar >, sdr::BufferNode< std::complex< Scalar > >, sdr::RealImagPart< Scalar >, sdr::AX25, and sdr::AutoCast< Scalar >.

+

Implemented in sdr::TextDump, sdr::DebugDump< Scalar >, sdr::DebugStore< Scalar >, sdr::AGC< Scalar >, sdr::Scale< Scalar >, sdr::StreamSink< Scalar >, sdr::FreqShift< Scalar >, sdr::SignedToUnsigned, sdr::UnsignedToSigned, sdr::BaseBand< Scalar >, sdr::Proxy, sdr::FMDeemph< Scalar >, sdr::Varicode, sdr::Cast< iScalar, oScalar >, sdr::ToComplex< iScalar, oScalar >, sdr::InpolSubSampler< iScalar, oScalar >, sdr::FMDemod< iScalar, oScalar >, sdr::BitDump, sdr::FIRFilter< Scalar, FilterCoeffs >, sdr::FIRFilter< Scalar, FIRBandPassCoeffs >, sdr::FIRFilter< Scalar, FIRBandStopCoeffs >, sdr::FIRFilter< Scalar, FIRHighPassCoeffs >, sdr::FIRFilter< Scalar, FIRLowPassCoeffs >, sdr::IQBalance< Scalar >, sdr::BitStream, sdr::FilterSource< Scalar >, sdr::IQBaseBand< Scalar >, sdr::USBDemod< Scalar >, sdr::POCSAG, sdr::ASKDetector< Scalar >, sdr::BPSK31< Scalar >, sdr::WavSink< Scalar >, sdr::FilterSink< Scalar >, sdr::PortSink, sdr::Baudot, sdr::SubSample< Scalar >, sdr::AMDemod< Scalar >, sdr::CombineSink< Scalar >, sdr::BufferNode< Scalar >, sdr::BufferNode< std::complex< Scalar > >, sdr::RealImagPart< Scalar >, sdr::AX25, sdr::FSKDetector, and sdr::AutoCast< Scalar >.

@@ -257,7 +257,7 @@ Public Member Functions diff --git a/classsdr_1_1_source-members.html b/classsdr_1_1_source-members.html index de376c1..aa0de4d 100644 --- a/classsdr_1_1_source-members.html +++ b/classsdr_1_1_source-members.html @@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_source.html b/classsdr_1_1_source.html index 36a3714..f34673f 100644 --- a/classsdr_1_1_source.html +++ b/classsdr_1_1_source.html @@ -115,43 +115,45 @@ Inheritance diagram for sdr::Source: sdr::FIRFilter< Scalar, FIRBandStopCoeffs > sdr::FIRFilter< Scalar, FIRHighPassCoeffs > sdr::FIRFilter< Scalar, FIRLowPassCoeffs > -sdr::AFSK -sdr::AGC< Scalar > -sdr::AMDemod< Scalar > +sdr::AGC< Scalar > +sdr::AMDemod< Scalar > +sdr::ASKDetector< Scalar > sdr::AutoCast< Scalar > sdr::AX25 sdr::BaseBand< Scalar > sdr::Baudot -sdr::BlockingSource -sdr::BPSK31< Scalar > -sdr::BufferNode< Scalar > -sdr::Cast< iScalar, oScalar > -sdr::FilterSink< Scalar > -sdr::FilterSource< Scalar > -sdr::FIRFilter< Scalar, FilterCoeffs > -sdr::FMDeemph< Scalar > -sdr::FMDemod< iScalar, oScalar > -sdr::FreqShift< Scalar > -sdr::GWNSource< Scalar > -sdr::InpolSubSampler< iScalar, oScalar > -sdr::Interleave< Scalar > -sdr::IQBalance< Scalar > -sdr::IQBaseBand< Scalar > -sdr::IQSigGen< Scalar > -sdr::PortSource< Scalar > -sdr::Proxy -sdr::RealImagPart< Scalar > -sdr::RTLSource -sdr::Scale< Scalar > -sdr::SigGen< Scalar > -sdr::SignedToUnsigned -sdr::StreamSource< Scalar > -sdr::SubSample< Scalar > -sdr::ToComplex< iScalar, oScalar > -sdr::UnsignedToSigned -sdr::USBDemod< Scalar > -sdr::Varicode -sdr::WavSource +sdr::BitStream +sdr::BlockingSource +sdr::BPSK31< Scalar > +sdr::BufferNode< Scalar > +sdr::Cast< iScalar, oScalar > +sdr::FilterSink< Scalar > +sdr::FilterSource< Scalar > +sdr::FIRFilter< Scalar, FilterCoeffs > +sdr::FMDeemph< Scalar > +sdr::FMDemod< iScalar, oScalar > +sdr::FreqShift< Scalar > +sdr::FSKDetector +sdr::GWNSource< Scalar > +sdr::InpolSubSampler< iScalar, oScalar > +sdr::Interleave< Scalar > +sdr::IQBalance< Scalar > +sdr::IQBaseBand< Scalar > +sdr::IQSigGen< Scalar > +sdr::PortSource< Scalar > +sdr::Proxy +sdr::RealImagPart< Scalar > +sdr::RTLSource +sdr::Scale< Scalar > +sdr::SigGen< Scalar > +sdr::SignedToUnsigned +sdr::StreamSource< Scalar > +sdr::SubSample< Scalar > +sdr::ToComplex< iScalar, oScalar > +sdr::UnsignedToSigned +sdr::USBDemod< Scalar > +sdr::Varicode +sdr::WavSource @@ -576,7 +578,7 @@ template<class T > diff --git a/classsdr_1_1_source.png b/classsdr_1_1_source.png index 0f36dce..6527656 100644 Binary files a/classsdr_1_1_source.png and b/classsdr_1_1_source.png differ diff --git a/classsdr_1_1_stream_log_handler-members.html b/classsdr_1_1_stream_log_handler-members.html index 94cbe30..de10ff7 100644 --- a/classsdr_1_1_stream_log_handler-members.html +++ b/classsdr_1_1_stream_log_handler-members.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classsdr_1_1_stream_log_handler.html b/classsdr_1_1_stream_log_handler.html index f86b56c..e659edc 100644 --- a/classsdr_1_1_stream_log_handler.html +++ b/classsdr_1_1_stream_log_handler.html @@ -289,7 +289,7 @@ Additional Inherited Members diff --git a/classsdr_1_1_stream_sink-members.html b/classsdr_1_1_stream_sink-members.html index 7925a98..52d928d 100644 --- a/classsdr_1_1_stream_sink-members.html +++ b/classsdr_1_1_stream_sink-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_stream_sink.html b/classsdr_1_1_stream_sink.html index 69480e0..bf209b1 100644 --- a/classsdr_1_1_stream_sink.html +++ b/classsdr_1_1_stream_sink.html @@ -286,7 +286,7 @@ template<class Scalar > diff --git a/classsdr_1_1_stream_source-members.html b/classsdr_1_1_stream_source-members.html index c1759a0..5fb2378 100644 --- a/classsdr_1_1_stream_source-members.html +++ b/classsdr_1_1_stream_source-members.html @@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_stream_source.html b/classsdr_1_1_stream_source.html index 5de5c9c..befe008 100644 --- a/classsdr_1_1_stream_source.html +++ b/classsdr_1_1_stream_source.html @@ -314,7 +314,7 @@ template<class Scalar > diff --git a/classsdr_1_1_sub_sample-members.html b/classsdr_1_1_sub_sample-members.html index a76c234..efce456 100644 --- a/classsdr_1_1_sub_sample-members.html +++ b/classsdr_1_1_sub_sample-members.html @@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_sub_sample.html b/classsdr_1_1_sub_sample.html index 82f43d8..46afa45 100644 --- a/classsdr_1_1_sub_sample.html +++ b/classsdr_1_1_sub_sample.html @@ -540,7 +540,7 @@ template<class Scalar > diff --git a/classsdr_1_1_text_dump-members.html b/classsdr_1_1_text_dump-members.html index 37e808c..a1c68a9 100644 --- a/classsdr_1_1_text_dump-members.html +++ b/classsdr_1_1_text_dump-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_text_dump.html b/classsdr_1_1_text_dump.html index f645909..1d4cf28 100644 --- a/classsdr_1_1_text_dump.html +++ b/classsdr_1_1_text_dump.html @@ -268,7 +268,7 @@ Protected Attributes diff --git a/classsdr_1_1_to_complex-members.html b/classsdr_1_1_to_complex-members.html index fcafc9d..beaaa14 100644 --- a/classsdr_1_1_to_complex-members.html +++ b/classsdr_1_1_to_complex-members.html @@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_to_complex.html b/classsdr_1_1_to_complex.html index 5d06194..2d7ef04 100644 --- a/classsdr_1_1_to_complex.html +++ b/classsdr_1_1_to_complex.html @@ -362,7 +362,7 @@ template<class iScalar , class oScalar = iScalar> diff --git a/classsdr_1_1_traits.html b/classsdr_1_1_traits.html index 87f3582..ea5b89b 100644 --- a/classsdr_1_1_traits.html +++ b/classsdr_1_1_traits.html @@ -111,7 +111,7 @@ class sdr::Traits< Scalar > diff --git a/classsdr_1_1_traits_3_01double_01_4-members.html b/classsdr_1_1_traits_3_01double_01_4-members.html index 382feac..fc00371 100644 --- a/classsdr_1_1_traits_3_01double_01_4-members.html +++ b/classsdr_1_1_traits_3_01double_01_4-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_traits_3_01double_01_4.html b/classsdr_1_1_traits_3_01double_01_4.html index be11803..b2b3532 100644 --- a/classsdr_1_1_traits_3_01double_01_4.html +++ b/classsdr_1_1_traits_3_01double_01_4.html @@ -249,7 +249,7 @@ class sdr::Traits< double > diff --git a/classsdr_1_1_traits_3_01float_01_4-members.html b/classsdr_1_1_traits_3_01float_01_4-members.html index 20feb33..325a8b9 100644 --- a/classsdr_1_1_traits_3_01float_01_4-members.html +++ b/classsdr_1_1_traits_3_01float_01_4-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_traits_3_01float_01_4.html b/classsdr_1_1_traits_3_01float_01_4.html index ed986dd..1494ca4 100644 --- a/classsdr_1_1_traits_3_01float_01_4.html +++ b/classsdr_1_1_traits_3_01float_01_4.html @@ -249,7 +249,7 @@ class sdr::Traits< float > diff --git a/classsdr_1_1_traits_3_01int16__t_01_4-members.html b/classsdr_1_1_traits_3_01int16__t_01_4-members.html index 0ebc83a..5a61057 100644 --- a/classsdr_1_1_traits_3_01int16__t_01_4-members.html +++ b/classsdr_1_1_traits_3_01int16__t_01_4-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_traits_3_01int16__t_01_4.html b/classsdr_1_1_traits_3_01int16__t_01_4.html index 0c91903..ce4d373 100644 --- a/classsdr_1_1_traits_3_01int16__t_01_4.html +++ b/classsdr_1_1_traits_3_01int16__t_01_4.html @@ -249,7 +249,7 @@ class sdr::Traits< int16_t > diff --git a/classsdr_1_1_traits_3_01int8__t_01_4-members.html b/classsdr_1_1_traits_3_01int8__t_01_4-members.html index af3e5c8..3a9f76d 100644 --- a/classsdr_1_1_traits_3_01int8__t_01_4-members.html +++ b/classsdr_1_1_traits_3_01int8__t_01_4-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_traits_3_01int8__t_01_4.html b/classsdr_1_1_traits_3_01int8__t_01_4.html index 3015541..9491730 100644 --- a/classsdr_1_1_traits_3_01int8__t_01_4.html +++ b/classsdr_1_1_traits_3_01int8__t_01_4.html @@ -249,7 +249,7 @@ class sdr::Traits< int8_t > diff --git a/classsdr_1_1_traits_3_01std_1_1complex_3_01double_01_4_01_4-members.html b/classsdr_1_1_traits_3_01std_1_1complex_3_01double_01_4_01_4-members.html index a7fb247..e97fe54 100644 --- a/classsdr_1_1_traits_3_01std_1_1complex_3_01double_01_4_01_4-members.html +++ b/classsdr_1_1_traits_3_01std_1_1complex_3_01double_01_4_01_4-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_traits_3_01std_1_1complex_3_01double_01_4_01_4.html b/classsdr_1_1_traits_3_01std_1_1complex_3_01double_01_4_01_4.html index 401923b..f1b52bd 100644 --- a/classsdr_1_1_traits_3_01std_1_1complex_3_01double_01_4_01_4.html +++ b/classsdr_1_1_traits_3_01std_1_1complex_3_01double_01_4_01_4.html @@ -249,7 +249,7 @@ class sdr::Traits< std::complex< double > > diff --git a/classsdr_1_1_traits_3_01std_1_1complex_3_01float_01_4_01_4-members.html b/classsdr_1_1_traits_3_01std_1_1complex_3_01float_01_4_01_4-members.html index a8525b7..f880ecd 100644 --- a/classsdr_1_1_traits_3_01std_1_1complex_3_01float_01_4_01_4-members.html +++ b/classsdr_1_1_traits_3_01std_1_1complex_3_01float_01_4_01_4-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_traits_3_01std_1_1complex_3_01float_01_4_01_4.html b/classsdr_1_1_traits_3_01std_1_1complex_3_01float_01_4_01_4.html index d64bfeb..e728564 100644 --- a/classsdr_1_1_traits_3_01std_1_1complex_3_01float_01_4_01_4.html +++ b/classsdr_1_1_traits_3_01std_1_1complex_3_01float_01_4_01_4.html @@ -249,7 +249,7 @@ class sdr::Traits< std::complex< float > > diff --git a/classsdr_1_1_traits_3_01std_1_1complex_3_01int16__t_01_4_01_4-members.html b/classsdr_1_1_traits_3_01std_1_1complex_3_01int16__t_01_4_01_4-members.html index 97a4438..bf73289 100644 --- a/classsdr_1_1_traits_3_01std_1_1complex_3_01int16__t_01_4_01_4-members.html +++ b/classsdr_1_1_traits_3_01std_1_1complex_3_01int16__t_01_4_01_4-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_traits_3_01std_1_1complex_3_01int16__t_01_4_01_4.html b/classsdr_1_1_traits_3_01std_1_1complex_3_01int16__t_01_4_01_4.html index fc5a0b7..68dafdd 100644 --- a/classsdr_1_1_traits_3_01std_1_1complex_3_01int16__t_01_4_01_4.html +++ b/classsdr_1_1_traits_3_01std_1_1complex_3_01int16__t_01_4_01_4.html @@ -249,7 +249,7 @@ class sdr::Traits< std::complex< int16_t > > diff --git a/classsdr_1_1_traits_3_01std_1_1complex_3_01int8__t_01_4_01_4-members.html b/classsdr_1_1_traits_3_01std_1_1complex_3_01int8__t_01_4_01_4-members.html index 00ec43d..0b994fe 100644 --- a/classsdr_1_1_traits_3_01std_1_1complex_3_01int8__t_01_4_01_4-members.html +++ b/classsdr_1_1_traits_3_01std_1_1complex_3_01int8__t_01_4_01_4-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_traits_3_01std_1_1complex_3_01int8__t_01_4_01_4.html b/classsdr_1_1_traits_3_01std_1_1complex_3_01int8__t_01_4_01_4.html index 793b23d..9bad139 100644 --- a/classsdr_1_1_traits_3_01std_1_1complex_3_01int8__t_01_4_01_4.html +++ b/classsdr_1_1_traits_3_01std_1_1complex_3_01int8__t_01_4_01_4.html @@ -249,7 +249,7 @@ class sdr::Traits< std::complex< int8_t > > diff --git a/classsdr_1_1_traits_3_01std_1_1complex_3_01uint16__t_01_4_01_4-members.html b/classsdr_1_1_traits_3_01std_1_1complex_3_01uint16__t_01_4_01_4-members.html index 0b38f4d..025e6db 100644 --- a/classsdr_1_1_traits_3_01std_1_1complex_3_01uint16__t_01_4_01_4-members.html +++ b/classsdr_1_1_traits_3_01std_1_1complex_3_01uint16__t_01_4_01_4-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_traits_3_01std_1_1complex_3_01uint16__t_01_4_01_4.html b/classsdr_1_1_traits_3_01std_1_1complex_3_01uint16__t_01_4_01_4.html index 86d7101..5339b49 100644 --- a/classsdr_1_1_traits_3_01std_1_1complex_3_01uint16__t_01_4_01_4.html +++ b/classsdr_1_1_traits_3_01std_1_1complex_3_01uint16__t_01_4_01_4.html @@ -249,7 +249,7 @@ class sdr::Traits< std::complex< uint16_t > > diff --git a/classsdr_1_1_traits_3_01std_1_1complex_3_01uint8__t_01_4_01_4-members.html b/classsdr_1_1_traits_3_01std_1_1complex_3_01uint8__t_01_4_01_4-members.html index ae0f31e..f69135c 100644 --- a/classsdr_1_1_traits_3_01std_1_1complex_3_01uint8__t_01_4_01_4-members.html +++ b/classsdr_1_1_traits_3_01std_1_1complex_3_01uint8__t_01_4_01_4-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_traits_3_01std_1_1complex_3_01uint8__t_01_4_01_4.html b/classsdr_1_1_traits_3_01std_1_1complex_3_01uint8__t_01_4_01_4.html index e253832..971c852 100644 --- a/classsdr_1_1_traits_3_01std_1_1complex_3_01uint8__t_01_4_01_4.html +++ b/classsdr_1_1_traits_3_01std_1_1complex_3_01uint8__t_01_4_01_4.html @@ -249,7 +249,7 @@ class sdr::Traits< std::complex< uint8_t > > diff --git a/classsdr_1_1_traits_3_01uint16__t_01_4-members.html b/classsdr_1_1_traits_3_01uint16__t_01_4-members.html index df5fbe3..66ea986 100644 --- a/classsdr_1_1_traits_3_01uint16__t_01_4-members.html +++ b/classsdr_1_1_traits_3_01uint16__t_01_4-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_traits_3_01uint16__t_01_4.html b/classsdr_1_1_traits_3_01uint16__t_01_4.html index 460aca0..55fb04d 100644 --- a/classsdr_1_1_traits_3_01uint16__t_01_4.html +++ b/classsdr_1_1_traits_3_01uint16__t_01_4.html @@ -249,7 +249,7 @@ class sdr::Traits< uint16_t > diff --git a/classsdr_1_1_traits_3_01uint8__t_01_4-members.html b/classsdr_1_1_traits_3_01uint8__t_01_4-members.html index d02e00c..0fb321b 100644 --- a/classsdr_1_1_traits_3_01uint8__t_01_4-members.html +++ b/classsdr_1_1_traits_3_01uint8__t_01_4-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_traits_3_01uint8__t_01_4.html b/classsdr_1_1_traits_3_01uint8__t_01_4.html index 03e7e01..c0e956f 100644 --- a/classsdr_1_1_traits_3_01uint8__t_01_4.html +++ b/classsdr_1_1_traits_3_01uint8__t_01_4.html @@ -249,7 +249,7 @@ class sdr::Traits< uint8_t > diff --git a/classsdr_1_1_u_s_b_demod-members.html b/classsdr_1_1_u_s_b_demod-members.html index f4eefdf..e77280f 100644 --- a/classsdr_1_1_u_s_b_demod-members.html +++ b/classsdr_1_1_u_s_b_demod-members.html @@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_u_s_b_demod.html b/classsdr_1_1_u_s_b_demod.html index 2212ce2..0266c65 100644 --- a/classsdr_1_1_u_s_b_demod.html +++ b/classsdr_1_1_u_s_b_demod.html @@ -449,7 +449,7 @@ template<class Scalar > diff --git a/classsdr_1_1_unsigned_to_signed-members.html b/classsdr_1_1_unsigned_to_signed-members.html index 60cd444..b5a30e7 100644 --- a/classsdr_1_1_unsigned_to_signed-members.html +++ b/classsdr_1_1_unsigned_to_signed-members.html @@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_unsigned_to_signed.html b/classsdr_1_1_unsigned_to_signed.html index e0bd392..dba8516 100644 --- a/classsdr_1_1_unsigned_to_signed.html +++ b/classsdr_1_1_unsigned_to_signed.html @@ -463,7 +463,7 @@ Protected Attributes diff --git a/classsdr_1_1_varicode-members.html b/classsdr_1_1_varicode-members.html index 826662b..e315df9 100644 --- a/classsdr_1_1_varicode-members.html +++ b/classsdr_1_1_varicode-members.html @@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_varicode.html b/classsdr_1_1_varicode.html index 3e8e727..8c25c16 100644 --- a/classsdr_1_1_varicode.html +++ b/classsdr_1_1_varicode.html @@ -395,7 +395,7 @@ Additional Inherited Members diff --git a/classsdr_1_1_wav_sink-members.html b/classsdr_1_1_wav_sink-members.html index 0699cf6..fb4da33 100644 --- a/classsdr_1_1_wav_sink-members.html +++ b/classsdr_1_1_wav_sink-members.html @@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_wav_sink.html b/classsdr_1_1_wav_sink.html index 5203c32..1fa8da2 100644 --- a/classsdr_1_1_wav_sink.html +++ b/classsdr_1_1_wav_sink.html @@ -459,7 +459,7 @@ template<class Scalar > diff --git a/classsdr_1_1_wav_source-members.html b/classsdr_1_1_wav_source-members.html index 2818ede..e314232 100644 --- a/classsdr_1_1_wav_source-members.html +++ b/classsdr_1_1_wav_source-members.html @@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classsdr_1_1_wav_source.html b/classsdr_1_1_wav_source.html index 5983481..1c43cd5 100644 --- a/classsdr_1_1_wav_source.html +++ b/classsdr_1_1_wav_source.html @@ -537,7 +537,7 @@ Additional Inherited Members diff --git a/combine_8hh_source.html b/combine_8hh_source.html index 7e3e70c..a9731b2 100644 --- a/combine_8hh_source.html +++ b/combine_8hh_source.html @@ -304,7 +304,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::Interleave::_buffer
Buffer< Scalar > _buffer
The putput buffer.
Definition: combine.hh:226
sdr::Sink
Typed sink.
Definition: node.hh:192
sdr::CombineSink::process
virtual void process(const Buffer< Scalar > &buffer, bool allow_overwrite)
Handles the given buffer.
Definition: combine.hh:47
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::Combine::config
virtual void config(const Config &cfg)=0
Needs to be overridden.
sdr::Config::hasSampleRate
bool hasSampleRate() const
If true, the configuration has a sample rate.
Definition: node.hh:75
sdr::Source
Generic source class.
Definition: node.hh:213
@@ -347,7 +347,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/demod_8hh_source.html b/demod_8hh_source.html index 63e6575..69e3ff5 100644 --- a/demod_8hh_source.html +++ b/demod_8hh_source.html @@ -444,7 +444,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::FMDemod::SScalar
Traits< iScalar >::SScalar SScalar
The super scalar.
Definition: demod.hh:179
sdr::FMDemod::config
virtual void config(const Config &src_cfg)
Configures the FM demodulator.
Definition: demod.hh:195
sdr::Sink
Typed sink.
Definition: node.hh:192
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::Config::numBuffers
size_t numBuffers() const
Returns the max.
Definition: node.hh:89
sdr::FMDeemph
A tiny node to de-emphasize the higher frequencies of a FM transmitted audio signal.
Definition: demod.hh:292
sdr::RawBuffer::isEmpty
bool isEmpty() const
Returns true if the buffer is invalid/empty.
Definition: buffer.hh:77
@@ -499,7 +499,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/deprecated.html b/deprecated.html index d464ea1..a14a93c 100644 --- a/deprecated.html +++ b/deprecated.html @@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 8831bb4..3ff8626 100644 --- a/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -89,10 +89,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); - - - - @@ -105,6 +101,10 @@ Files + + + + @@ -131,6 +131,10 @@ Files + + + + @@ -149,6 +153,10 @@ Files + + + + @@ -189,7 +197,7 @@ Files diff --git a/exception_8hh_source.html b/exception_8hh_source.html index dfb1414..9133e75 100644 --- a/exception_8hh_source.html +++ b/exception_8hh_source.html @@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::ConfigError::~ConfigError
virtual ~ConfigError()
Destructor.
Definition: exception.hh:31
sdr::SDRError::what
virtual const char * what() const
Implements the std::exception interface.
Definition: exception.hh:20
sdr::ConfigError::ConfigError
ConfigError(const ConfigError &other)
Copy constructor.
Definition: exception.hh:29
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
std
Definition: operators.hh:9
sdr::SDRError
Base class of all SDR exceptions.
Definition: exception.hh:10
sdr::RuntimeError
The runtime error class.
Definition: exception.hh:36
@@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/fftplan_8hh_source.html b/fftplan_8hh_source.html index fae8dc3..a5bb8e2 100644 --- a/fftplan_8hh_source.html +++ b/fftplan_8hh_source.html @@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
45 
46 #endif // __SDR_FFTPLAN_HH__
sdr::FFT::Direction
Direction
Direction type.
Definition: fftplan.hh:17
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::FFTPlan
Trivial FFT implementation for buffer sizes of N=2**K.
Definition: fftplan.hh:11
sdr::FFT::exec
static void exec(const Buffer< std::complex< Scalar > > &in, const Buffer< std::complex< Scalar > > &out, FFT::Direction dir)
Performs a FFT transform.
Definition: fftplan.hh:23
sdr::FFT::exec
static void exec(const Buffer< std::complex< Scalar > > &inplace, FFT::Direction dir)
Performs an in-place FFT transform.
Definition: fftplan.hh:31
@@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/fftplan__fftw3_8hh_source.html b/fftplan__fftw3_8hh_source.html index 1103e86..7953b49 100644 --- a/fftplan__fftw3_8hh_source.html +++ b/fftplan__fftw3_8hh_source.html @@ -228,7 +228,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::FFTPlan< float >::FFTPlan
FFTPlan(const Buffer< std::complex< float > > &in, const Buffer< std::complex< float > > &out, FFT::Direction dir)
Constructor.
Definition: fftplan_fftw3.hh:83
sdr::FFTPlan::operator()
void operator()()
Performs the FFT.
Definition: fftplan_native.hh:53
sdr::FFT::Direction
Direction
Direction type.
Definition: fftplan.hh:17
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::FFTPlan::_in
Buffer< std::complex< Scalar > > _in
The input buffer.
Definition: fftplan_native.hh:79
sdr::FFTPlan< float >::_out
Buffer< std::complex< float > > _out
Output buffer.
Definition: fftplan_fftw3.hh:139
sdr::FFTPlan< double >::_in
Buffer< std::complex< double > > _in
Input buffer.
Definition: fftplan_fftw3.hh:69
@@ -247,7 +247,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/fftplan__native_8hh_source.html b/fftplan__native_8hh_source.html index d74b86a..e49b086 100644 --- a/fftplan__native_8hh_source.html +++ b/fftplan__native_8hh_source.html @@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::FFTPlan::~FFTPlan
virtual ~FFTPlan()
Destructor.
Definition: fftplan_native.hh:48
sdr::FFTPlan::operator()
void operator()()
Performs the FFT.
Definition: fftplan_native.hh:53
sdr::FFT::Direction
Direction
Direction type.
Definition: fftplan.hh:17
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::RawBuffer::isEmpty
bool isEmpty() const
Returns true if the buffer is invalid/empty.
Definition: buffer.hh:77
sdr::FFTPlan::_in
Buffer< std::complex< Scalar > > _in
The input buffer.
Definition: fftplan_native.hh:79
sdr::Buffer::size
size_t size() const
Returns the number of elements of type T in this buffer.
Definition: buffer.hh:166
@@ -190,7 +190,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/files.html b/files.html index fc42c16..df41131 100644 --- a/files.html +++ b/files.html @@ -90,11 +90,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Here is a list of all documented files with brief descriptions:
[detail level 12]

Files

file  afsk.cc
 
file  afsk.hh [code]
 
file  autocast.hh [code]
 
file  ax25.cc
 
file  baudot.hh [code]
 
file  bch31_21.cc
 
file  bch31_21.hh [code]
 
file  buffer.cc
 
file  buffer.hh [code]
 
file  freqshift.hh [code]
 
file  fsk.cc
 
file  fsk.hh [code]
 
file  interpolate.hh [code]
 
file  logger.cc
 
file  options.hh [code]
 
file  pocsag.cc
 
file  pocsag.hh [code]
 
file  portaudio.cc
 
file  portaudio.hh [code]
- - - - - + + + + + @@ -106,29 +106,31 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
  src
 afsk.hh
 autocast.hh
 ax25.hh
 baseband.hh
 baudot.hh
 autocast.hh
 ax25.hh
 baseband.hh
 baudot.hh
 bch31_21.hh
 buffer.hh
 buffernode.hh
 combine.hh
 filternode.hh
 firfilter.hh
 freqshift.hh
 interpolate.hh
 logger.hh
 math.hh
 node.hh
 operators.hh
 options.hh
 portaudio.hh
 psk31.hh
 queue.hh
 rtlsource.hh
 sdr.hh
 siggen.hh
 streamsource.hh
 subsample.hh
 traits.hh
 utils.hh
 wavfile.hh
 fsk.hh
 interpolate.hh
 logger.hh
 math.hh
 node.hh
 operators.hh
 options.hh
 pocsag.hh
 portaudio.hh
 psk31.hh
 queue.hh
 rtlsource.hh
 sdr.hh
 siggen.hh
 streamsource.hh
 subsample.hh
 traits.hh
 utils.hh
 wavfile.hh
diff --git a/filternode_8hh_source.html b/filternode_8hh_source.html index 0de7f39..54c729b 100644 --- a/filternode_8hh_source.html +++ b/filternode_8hh_source.html @@ -349,7 +349,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::Source::send
virtual void send(const RawBuffer &buffer, bool allow_overwrite=false)
Sends the given buffer to all connected sinks.
Definition: node.cc:67
sdr::FilterNode::sink
Sink< std::complex< Scalar > > * sink() const
The filter sink.
Definition: filternode.hh:257
sdr::Sink
Typed sink.
Definition: node.hh:192
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::Config::numBuffers
size_t numBuffers() const
Returns the max.
Definition: node.hh:89
sdr::FilterNode::_block_size
size_t _block_size
The block size of the filters.
Definition: filternode.hh:274
std
Definition: operators.hh:9
@@ -406,7 +406,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/firfilter_8hh_source.html b/firfilter_8hh_source.html index 16349dd..9f1e997 100644 --- a/firfilter_8hh_source.html +++ b/firfilter_8hh_source.html @@ -384,7 +384,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::FIRFilter::_process
void _process(const Buffer< Scalar > &in, const Buffer< Scalar > &out)
performs the actual computation
Definition: firfilter.hh:231
sdr::Sink
Typed sink.
Definition: node.hh:192
sdr::FIRHighPass::freq
double freq() const
Returns the filter frequency.
Definition: firfilter.hh:302
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::RawBuffer::isEmpty
bool isEmpty() const
Returns true if the buffer is invalid/empty.
Definition: buffer.hh:77
std
Definition: operators.hh:9
sdr::FIRHighPass::FIRHighPass
FIRHighPass(size_t order, double Fc)
Constructor.
Definition: firfilter.hh:297
@@ -443,7 +443,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/freqshift_8hh_source.html b/freqshift_8hh_source.html index 8169758..b8a1427 100644 --- a/freqshift_8hh_source.html +++ b/freqshift_8hh_source.html @@ -184,7 +184,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
sdr::FreqShiftBase::frequencyShift
double frequencyShift() const
Returns the frequency shift.
Definition: freqshift.hh:51
sdr::FreqShiftBase::_lut
Buffer< CSScalar > _lut
The LUT.
Definition: freqshift.hh:99
sdr::FreqShiftBase::setSampleRate
virtual void setSampleRate(double Fs)
Sets the sample rate and updates the LUT.
Definition: freqshift.hh:46
-
sdr
Definition: afsk.hh:6
+
sdr
Definition: autocast.hh:8
sdr::FreqShiftBase::setFrequencyShift
virtual void setFrequencyShift(double F)
Sets the frequency shift and updates the LUT.
Definition: freqshift.hh:53
sdr::FreqShiftBase::_lut_inc
size_t _lut_inc
The LUT increment.
Definition: freqshift.hh:95
sdr::FreqShiftBase::~FreqShiftBase
virtual ~FreqShiftBase()
Destructor.
Definition: freqshift.hh:39
@@ -206,7 +206,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/fsk_8hh_source.html b/fsk_8hh_source.html new file mode 100644 index 0000000..a2e79aa --- /dev/null +++ b/fsk_8hh_source.html @@ -0,0 +1,299 @@ + + + + + + +libsdr: /Users/hannes/Uni/Elektronik/sdr/libsdr/src/fsk.hh Source File + + + + + + + + + + +
+
+ + + + + + +
+
libsdr +  0.1.0 +
+
A simple SDR library
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+
fsk.hh
+
+
+
1 #ifndef __SDR_FSK_HH__
+
2 #define __SDR_FSK_HH__
+
3 
+
4 #include "node.hh"
+
5 #include "traits.hh"
+
6 #include "logger.hh"
+
7 
+
8 
+
9 namespace sdr {
+
10 
+
11 
+
18 class FSKDetector: public Sink<int16_t>, public Source
+
19 {
+
20 public:
+
25  FSKDetector(float baud, float Fmark, float Fspace);
+
26 
+
27  void config(const Config &src_cfg);
+
28  void process(const Buffer<int16_t> &buffer, bool allow_overwrite);
+
29 
+
30 protected:
+
32  uint8_t _process(int16_t sample);
+
33 
+
34 protected:
+
37  float _baud;
+
39  size_t _corrLen;
+
41  size_t _lutIdx;
+
43  float _Fmark;
+
45  float _Fspace;
+ + + + + +
56 };
+
57 
+
58 
+
69 template <class Scalar>
+
70 class ASKDetector: public Sink<Scalar>, public Source
+
71 {
+
72 public:
+
74  ASKDetector(bool invert=false)
+
75  : Sink<Scalar>(), Source(), _invert(invert)
+
76  {
+
77  // pass...
+
78  }
+
79 
+
80  void config(const Config &src_cfg) {
+
81  // Check if config is complete
+
82  if (!src_cfg.hasType() || !src_cfg.hasSampleRate()) { return; }
+
83 
+
84  // Check if buffer type matches
+
85  if (Config::typeId<int16_t>() != src_cfg.type()) {
+
86  ConfigError err;
+
87  err << "Can not configure ASKDetector: Invalid type " << src_cfg.type()
+
88  << ", expected " << Config::typeId<int16_t>();
+
89  throw err;
+
90  }
+
91 
+
92  // Allocate output buffer
+
93  _buffer = Buffer<uint8_t>(src_cfg.bufferSize());
+
94 
+
95  LogMessage msg(LOG_DEBUG);
+
96  msg << "Config ASKDetector node: " << std::endl
+
97  << " threshold: " << 0 << std::endl
+
98  << " invert: " << ( _invert ? "yes" : "no" ) << std::endl
+
99  << " symbol rate: " << src_cfg.sampleRate() << " Hz";
+
100  Logger::get().log(msg);
+
101 
+
102  // Forward config.
+ +
104  }
+
105 
+
106  void process(const Buffer<Scalar> &buffer, bool allow_overwrite) {
+
107  for (size_t i=0; i<buffer.size(); i++) {
+
108  _buffer[i] = ((buffer[i]>0)^_invert);
+
109  }
+
110  this->send(_buffer.head(buffer.size()), false);
+
111  }
+
112 
+
113 protected:
+
115  bool _invert;
+ +
118 };
+
119 
+
120 
+
124 class BitStream: public Sink<uint8_t>, public Source
+
125 {
+
126 public:
+
128  typedef enum {
+ + +
131  } Mode;
+
132 
+
133 public:
+
137  BitStream(float baud, Mode mode = TRANSITION);
+
138 
+
139  void config(const Config &src_cfg);
+
140  void process(const Buffer<uint8_t> &buffer, bool allow_overwrite);
+
141 
+
142 protected:
+
144  float _baud;
+ +
148  size_t _corrLen;
+ +
152  size_t _symIdx;
+
154  int32_t _symSum;
+
156  int32_t _lastSymSum;
+
158  float _phase;
+
160  float _omega;
+
162  float _omegaMin;
+
164  float _omegaMax;
+
166  float _pllGain;
+
168  uint8_t _lastBits;
+ +
171 };
+
172 
+
173 
+
176 class BitDump : public Sink<uint8_t>
+
177 {
+
178 public:
+
181  BitDump(std::ostream &stream);
+
182 
+
183  void config(const Config &src_cfg);
+
184  void process(const Buffer<uint8_t> &buffer, bool allow_overwrite);
+
185 
+
186 protected:
+
188  std::ostream &_stream;
+
189 };
+
190 
+
191 }
+
192 #endif // __SDR_FSK_HH__
+
Buffer< std::complex< float > > _markHist
FIR filter buffer.
Definition: fsk.hh:51
+
Buffer< std::complex< float > > _spaceHist
FIR filter buffer.
Definition: fsk.hh:53
+
A collection of configuration information that is send by a source to all connected sinks to properga...
Definition: node.hh:35
+
float _omega
Phase velocity.
Definition: fsk.hh:160
+
ASKDetector(bool invert=false)
Constructor.
Definition: fsk.hh:74
+
float _pllGain
PLL gain.
Definition: fsk.hh:166
+
size_t _symIdx
Insertion index for the next symbol.
Definition: fsk.hh:152
+
float _phase
Current bit "phase".
Definition: fsk.hh:158
+
std::ostream & _stream
The output stream.
Definition: fsk.hh:188
+
Buffer< uint8_t > _buffer
The output buffer.
Definition: fsk.hh:117
+
BitStream(float baud, Mode mode=TRANSITION)
Constructor.
Definition: fsk.cc:102
+
virtual void send(const RawBuffer &buffer, bool allow_overwrite=false)
Sends the given buffer to all connected sinks.
Definition: node.cc:67
+
Typed sink.
Definition: node.hh:192
+
float _baud
Baudrate of the transmission.
Definition: fsk.hh:37
+
Definition: autocast.hh:8
+
void process(const Buffer< int16_t > &buffer, bool allow_overwrite)
Needs to be implemented by any sub-type to process the received data.
Definition: fsk.cc:90
+
void config(const Config &src_cfg)
Needs to be implemented by any sub-type to check and perform the configuration of the node...
Definition: fsk.hh:80
+
bool hasSampleRate() const
If true, the configuration has a sample rate.
Definition: node.hh:75
+
void config(const Config &src_cfg)
Needs to be implemented by any sub-type to check and perform the configuration of the node...
Definition: fsk.cc:109
+
Generic source class.
Definition: node.hh:213
+
Mode _mode
The bit detection mode.
Definition: fsk.hh:146
+
Transition mode (i.e. transition -> 0, no transition -> 1).
Definition: fsk.hh:130
+
Buffer< uint8_t > _buffer
Output buffer.
Definition: fsk.hh:170
+
int32_t _symSum
Sum over all received symbol (encoded as -1 & 1).
Definition: fsk.hh:154
+
float _Fspace
Space "tone" frequency.
Definition: fsk.hh:45
+
size_t size() const
Returns the number of elements of type T in this buffer.
Definition: buffer.hh:166
+
bool hasType() const
If true, the configuration has a type.
Definition: node.hh:69
+
bool _invert
If true the symbol logic is inverted.
Definition: fsk.hh:115
+
Buffer< std::complex< float > > _spaceLUT
Space frequency FIR filter LUT.
Definition: fsk.hh:49
+
uint8_t _lastBits
The last decoded bits (needed for transition mode).
Definition: fsk.hh:168
+
Buffer< int8_t > _buffer
Output buffer.
Definition: fsk.hh:55
+
FSKDetector(float baud, float Fmark, float Fspace)
Constructor.
Definition: fsk.cc:12
+
virtual void setConfig(const Config &config)
Stores the configuration and propergates it if the configuration has been changed.
Definition: node.cc:98
+
float _baud
The baud rate.
Definition: fsk.hh:144
+
Buffer< T > head(size_t n) const
Returns a new view on this buffer.
Definition: buffer.hh:237
+
Buffer< int8_t > _symbols
Last received symbols.
Definition: fsk.hh:150
+
void log(const LogMessage &message)
Logs a message.
Definition: logger.cc:100
+
Type type() const
Returns the type.
Definition: node.hh:71
+
float _omegaMax
Maximum phase velocity.
Definition: fsk.hh:164
+
Trivial node to dump a bit-stream to a std::ostream.
Definition: fsk.hh:176
+
static Logger & get()
Returns the singleton instance of the logger.
Definition: logger.cc:89
+
BitDump(std::ostream &stream)
Constructor.
Definition: fsk.cc:208
+
The configuration error class.
Definition: exception.hh:24
+
A log message.
Definition: logger.hh:22
+
size_t bufferSize() const
Returns the max.
Definition: node.hh:83
+
void process(const Buffer< Scalar > &buffer, bool allow_overwrite)
Needs to be implemented by any sub-type to process the received data.
Definition: fsk.hh:106
+
Implements the basic FSK/AFSK symbol detection.
Definition: fsk.hh:18
+
size_t _lutIdx
The current FIR filter LUT index.
Definition: fsk.hh:41
+
Mode
Possible bit decoding modes.
Definition: fsk.hh:128
+
void config(const Config &src_cfg)
Needs to be implemented by any sub-type to check and perform the configuration of the node...
Definition: fsk.cc:19
+
Rather trivial node to detect mark/space symbols by the amplitude.
Definition: fsk.hh:70
+
size_t _corrLen
The filter lenght.
Definition: fsk.hh:39
+
Normal mode (i.e. mark -> 1, space -> 0).
Definition: fsk.hh:129
+
void config(const Config &src_cfg)
Needs to be implemented by any sub-type to check and perform the configuration of the node...
Definition: fsk.cc:215
+
void process(const Buffer< uint8_t > &buffer, bool allow_overwrite)
Needs to be implemented by any sub-type to process the received data.
Definition: fsk.cc:229
+
Buffer< std::complex< float > > _markLUT
Mark frequency FIR filter LUT.
Definition: fsk.hh:47
+
size_t _corrLen
The approximative bit length in samples.
Definition: fsk.hh:148
+
Forward declaration of type tratis template.
Definition: traits.hh:20
+
int32_t _lastSymSum
Last sum over all received symbol (encoded as -1 & 1).
Definition: fsk.hh:156
+
float _omegaMin
Minimum phase velocity.
Definition: fsk.hh:162
+
Decodes a bitstream with the desired baud rate.
Definition: fsk.hh:124
+
uint8_t _process(int16_t sample)
Updates the mark/space FIR filter and returns the sampled symbol.
Definition: fsk.cc:69
+
A typed buffer.
Definition: buffer.hh:111
+
double sampleRate() const
Returns the sample rate.
Definition: node.hh:77
+
float _Fmark
Mark "tone" frequency.
Definition: fsk.hh:43
+
void process(const Buffer< uint8_t > &buffer, bool allow_overwrite)
Needs to be implemented by any sub-type to process the received data.
Definition: fsk.cc:158
+
+ + + + diff --git a/functions.html b/functions.html index ed216de..8903aaa 100644 --- a/functions.html +++ b/functions.html @@ -132,6 +132,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • __rtl_sdr_parallel_main() : sdr::RTLSource
  • +
  • _address +: sdr::POCSAG::Message +
  • _agc_enabled : sdr::RTLSource
  • @@ -157,7 +160,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::RawRingBuffer
  • _baud -: sdr::AFSK +: sdr::BitStream +, sdr::FSKDetector
  • _beta : sdr::BPSK31< Scalar > @@ -167,6 +171,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • _bitcount : sdr::Baudot +, sdr::POCSAG +
  • +
  • _bits +: sdr::POCSAG +, sdr::POCSAG::Message
  • _bitsPerSample : sdr::WavSink< Scalar > @@ -184,13 +193,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::FilterSource< Scalar >
  • _buffer -: sdr::AFSK -, sdr::AGC< Scalar > +: sdr::AGC< Scalar > , sdr::AMDemod< Scalar > +, sdr::ASKDetector< Scalar > , sdr::AutoCast< Scalar > , sdr::AX25 , sdr::BaseBand< Scalar > , sdr::Baudot +, sdr::BitStream , sdr::BPSK31< Scalar > , sdr::Cast< iScalar, oScalar > , sdr::CombineSink< Scalar > @@ -200,6 +210,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::FMDeemph< Scalar > , sdr::FMDemod< iScalar, oScalar > , sdr::FreqShift< Scalar > +, sdr::FSKDetector , sdr::GWNSource< Scalar > , sdr::InpolSubSampler< iScalar, oScalar > , sdr::Interleave< Scalar > @@ -267,7 +278,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::Source
  • _corrLen -: sdr::AFSK +: sdr::BitStream +, sdr::FSKDetector
  • _currentContellation() : sdr::BPSK31< Scalar > @@ -282,13 +294,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::PortSource< Scalar >
  • _dl -: sdr::AFSK -, sdr::BPSK31< Scalar > +: sdr::BPSK31< Scalar > , sdr::InpolSubSampler< iScalar, oScalar >
  • _dl_idx -: sdr::AFSK -, sdr::BPSK31< Scalar > +: sdr::BPSK31< Scalar > , sdr::InpolSubSampler< iScalar, oScalar >
  • _do_scale @@ -298,6 +308,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::IQSigGen< Scalar > , sdr::SigGen< Scalar >
  • +
  • _empty +: sdr::POCSAG::Message +
  • _enabled : sdr::AGC< Scalar > , sdr::FIRFilter< Scalar, FilterCoeffs > @@ -339,11 +352,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • _filters : sdr::FilterNode< Scalar >
  • +
  • _finish_message() +: sdr::POCSAG +
  • _Fl : sdr::FIRFilter< Scalar, FilterCoeffs >
  • _Fmark -: sdr::AFSK +: sdr::FSKDetector
  • _Fmax : sdr::BPSK31< Scalar > @@ -390,13 +406,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::IQBaseBand< Scalar >
  • _Fspace -: sdr::AFSK +: sdr::FSKDetector
  • _Fu : sdr::FIRFilter< Scalar, FilterCoeffs >
  • _function : sdr::Delegate< T > +, sdr::POCSAG::Message
  • _gain : sdr::AGC< Scalar > @@ -407,18 +424,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • _gain_omega : sdr::BPSK31< Scalar >
  • -
  • _gainOmega -: sdr::AFSK -
  • _gains : sdr::RTLSource
  • _getNormal() : sdr::GWNSource< Scalar >
  • -
  • _getSymbol() -: sdr::AFSK -
  • _handler : sdr::Logger
  • @@ -477,6 +488,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • _int8_int16() : sdr::AutoCast< Scalar >
  • +
  • _invert +: sdr::ASKDetector< Scalar > +
  • _is_active : sdr::BlockingSource
  • @@ -511,10 +525,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::FMDemod< iScalar, oScalar >
  • _lastBits -: sdr::AFSK +: sdr::BitStream
  • _lastSymSum -: sdr::AFSK +: sdr::BitStream
  • _left : sdr::SubSample< Scalar > @@ -544,16 +558,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::FreqShiftBase< Scalar >
  • _lutIdx -: sdr::AFSK +: sdr::FSKDetector
  • _main() : sdr::Queue
  • _markHist -: sdr::AFSK +: sdr::FSKDetector
  • _markLUT -: sdr::AFSK +: sdr::FSKDetector
  • _mask : sdr::Baudot @@ -564,21 +578,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • _mean : sdr::GWNSource< Scalar >
  • +
  • _message +: sdr::POCSAG +
  • _min_omega : sdr::BPSK31< Scalar >
  • _mode -: sdr::AFSK -, sdr::Baudot +: sdr::Baudot +, sdr::BitStream
  • _mu -: sdr::AFSK -, sdr::BPSK31< Scalar > +: sdr::BPSK31< Scalar > , sdr::InpolSubSampler< iScalar, oScalar >
  • -
  • _muIncr -: sdr::AFSK -
  • _N : sdr::FFTPlan< Scalar > , sdr::Interleave< Scalar > @@ -600,17 +613,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::SubSample< Scalar >
  • _omega -: sdr::AFSK +: sdr::BitStream , sdr::BPSK31< Scalar >
  • _omega_rel : sdr::BPSK31< Scalar >
  • _omegaMax -: sdr::AFSK +: sdr::BitStream
  • _omegaMin -: sdr::AFSK +: sdr::BitStream
  • _onStart : sdr::Queue @@ -658,11 +671,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • _pattern : sdr::Baudot
  • +
  • _payload +: sdr::POCSAG::Message +
  • _period : sdr::FracSubSampleBase< Scalar >
  • _phase -: sdr::AFSK +: sdr::BitStream
  • _phaseError() : sdr::BPSK31< Scalar > @@ -673,12 +689,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::FilterSink< Scalar > , sdr::FilterSource< Scalar >
  • +
  • _pllGain +: sdr::BitStream +
  • _process() : sdr::BaseBand< Scalar > , sdr::Cast< iScalar, oScalar > , sdr::FIRFilter< Scalar, FilterCoeffs > , sdr::FMDeemph< Scalar > , sdr::FMDemod< iScalar, oScalar > +, sdr::FSKDetector , sdr::IQBalance< Scalar > , sdr::IQBaseBand< Scalar > , sdr::SignedToUnsigned @@ -694,12 +714,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::SignedToUnsigned , sdr::UnsignedToSigned
  • +
  • _process_word() +: sdr::POCSAG +
  • _ptr : sdr::AX25 , sdr::RawBuffer
  • _queue -: sdr::Queue +: sdr::POCSAG +, sdr::Queue
  • _queue_cond : sdr::Queue @@ -716,6 +740,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • _refcount : sdr::RawBuffer
  • +
  • _reset_message() +: sdr::POCSAG +
  • _ring : sdr::BaseBand< Scalar > , sdr::FIRFilter< Scalar, FilterCoeffs > @@ -747,8 +774,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::WavSource
  • _sampleRate -: sdr::AFSK -, sdr::Config +: sdr::Config , sdr::IQSigGen< Scalar > , sdr::PortSource< Scalar > , sdr::SigGen< Scalar > @@ -806,17 +832,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::Buffer< T > , sdr::RingBuffer< Scalar >
  • +
  • _slot +: sdr::POCSAG +
  • _sourceBs : sdr::IQBaseBand< Scalar >
  • _spaceHist -: sdr::AFSK +: sdr::FSKDetector
  • _spaceLUT -: sdr::AFSK +: sdr::FSKDetector
  • _state : sdr::AX25 +, sdr::POCSAG
  • _stopHBits : sdr::Baudot @@ -828,7 +858,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::RingBuffer< Scalar >
  • _stream -: sdr::DebugDump< Scalar > +: sdr::BitDump +, sdr::DebugDump< Scalar > +, sdr::POCSAGDump , sdr::PortSink , sdr::PortSource< Scalar > , sdr::StreamLogHandler @@ -846,17 +878,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • _superSample : sdr::BPSK31< Scalar >
  • -
  • _symbolIdx -: sdr::AFSK -
  • -
  • _symbolRate -: sdr::AFSK -
  • _symbols -: sdr::AFSK +: sdr::BitStream +
  • +
  • _symIdx +: sdr::BitStream
  • _symSum -: sdr::AFSK +: sdr::BitStream
  • _t : sdr::IQSigGen< Scalar > @@ -949,7 +978,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_a.html b/functions_a.html index bf87e0f..ee77e5f 100644 --- a/functions_a.html +++ b/functions_a.html @@ -138,6 +138,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • addIdle() : sdr::Queue
  • +
  • addPayload() +: sdr::POCSAG::Message +
  • +
  • address() +: sdr::POCSAG::Message +
  • addSine() : sdr::IQSigGen< Scalar > , sdr::SigGen< Scalar > @@ -148,9 +154,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • addStop() : sdr::Queue
  • -
  • AFSK() -: sdr::AFSK -
  • AGC() : sdr::AGC< Scalar >
  • @@ -175,6 +178,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • as() : sdr::Buffer< T >
  • +
  • asHex() +: sdr::POCSAG::Message +
  • +
  • ASKDetector() +: sdr::ASKDetector< Scalar > +
  • +
  • asNumeric() +: sdr::POCSAG::Message +
  • +
  • asText() +: sdr::POCSAG::Message +
  • AutoCast() : sdr::AutoCast< Scalar >
  • @@ -185,7 +200,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_b.html b/functions_b.html index fa78135..822182a 100644 --- a/functions_b.html +++ b/functions_b.html @@ -135,6 +135,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • Baudot() : sdr::Baudot
  • +
  • BitDump() +: sdr::BitDump +
  • +
  • bits() +: sdr::POCSAG::Message +
  • +
  • BitStream() +: sdr::BitStream +
  • BlockingSource() : sdr::BlockingSource
  • @@ -175,7 +184,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_c.html b/functions_c.html index 0f2e4bc..c7063a5 100644 --- a/functions_c.html +++ b/functions_c.html @@ -132,6 +132,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • centerFrequency() : sdr::IQBaseBand< Scalar >
  • +
  • CHECK_CONTINUE +: sdr::POCSAG +
  • clear() : sdr::DebugStore< Scalar > , sdr::RawRingBuffer @@ -153,13 +156,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::CombineSink< Scalar >
  • config() -: sdr::AFSK -, sdr::AGC< Scalar > +: sdr::AGC< Scalar > , sdr::AMDemod< Scalar > +, sdr::ASKDetector< Scalar > , sdr::AutoCast< Scalar > , sdr::AX25 , sdr::BaseBand< Scalar > , sdr::Baudot +, sdr::BitDump +, sdr::BitStream , sdr::BPSK31< Scalar > , sdr::BufferNode< Scalar > , sdr::Cast< iScalar, oScalar > @@ -167,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::CombineSink< Scalar >
  • Config() -: sdr::Config +: sdr::Config
  • config() : sdr::DebugDump< Scalar > @@ -178,10 +183,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::FMDeemph< Scalar > , sdr::FMDemod< iScalar, oScalar > , sdr::FreqShift< Scalar > +, sdr::FSKDetector , sdr::InpolSubSampler< iScalar, oScalar > , sdr::Interleave< Scalar > , sdr::IQBalance< Scalar > , sdr::IQBaseBand< Scalar > +, sdr::POCSAG , sdr::PortSink , sdr::Proxy , sdr::RealImagPart< Scalar > @@ -198,7 +205,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::WavSink< Scalar >
  • ConfigError() -: sdr::ConfigError +: sdr::ConfigError
  • connect() : sdr::Source @@ -218,7 +225,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_d.html b/functions_d.html index 9be5b9e..c35ff0a 100644 --- a/functions_d.html +++ b/functions_d.html @@ -165,7 +165,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_e.html b/functions_e.html index eff1b32..ca4998a 100644 --- a/functions_e.html +++ b/functions_e.html @@ -138,14 +138,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::AGC< Scalar > , sdr::FIRFilter< Scalar, FilterCoeffs >
  • +
  • estimateNumeric() +: sdr::POCSAG::Message +
  • +
  • estimateText() +: sdr::POCSAG::Message +
  • exec() -: sdr::FFT +: sdr::FFT
  • diff --git a/functions_enum.html b/functions_enum.html index cbe00b3..d656135 100644 --- a/functions_enum.html +++ b/functions_enum.html @@ -104,8 +104,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::FFT
  • Mode -: sdr::AFSK -, sdr::Baudot +: sdr::Baudot +, sdr::BitStream +
  • +
  • State +: sdr::POCSAG
  • StopBits : sdr::Baudot @@ -118,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_eval.html b/functions_eval.html index 06ed305..d065c73 100644 --- a/functions_eval.html +++ b/functions_eval.html @@ -100,6 +100,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • ANY : sdr::Options
  • +
  • CHECK_CONTINUE +: sdr::POCSAG +
  • FIGURES : sdr::Baudot
  • @@ -121,7 +124,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::Options::Value
  • NORMAL -: sdr::AFSK +: sdr::BitStream +
  • +
  • RECEIVE +: sdr::POCSAG
  • STOP1 : sdr::Baudot @@ -136,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::Options::Value
  • TRANSITION -: sdr::AFSK +: sdr::BitStream
  • Type_cf32 : sdr::Config @@ -174,11 +180,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • Type_u8 : sdr::Config
  • +
  • WAIT +: sdr::POCSAG +
  • diff --git a/functions_f.html b/functions_f.html index a7b7747..2689032 100644 --- a/functions_f.html +++ b/functions_f.html @@ -205,11 +205,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • frequencyShift() : sdr::FreqShiftBase< Scalar >
  • +
  • FSKDetector() +: sdr::FSKDetector +
  • +
  • function() +: sdr::POCSAG::Message +
  • diff --git a/functions_func.html b/functions_func.html index bdff317..4fdfdb6 100644 --- a/functions_func.html +++ b/functions_func.html @@ -145,12 +145,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::BaseBand< Scalar > , sdr::IQBaseBand< Scalar > +
  • _finish_message() +: sdr::POCSAG +
  • _getNormal() : sdr::GWNSource< Scalar >
  • -
  • _getSymbol() -: sdr::AFSK -
  • _hasTransition() : sdr::BPSK31< Scalar >
  • @@ -196,6 +196,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::FIRFilter< Scalar, FilterCoeffs > , sdr::FMDeemph< Scalar > , sdr::FMDemod< iScalar, oScalar > +, sdr::FSKDetector , sdr::IQBalance< Scalar > , sdr::IQBaseBand< Scalar > , sdr::SubSample< Scalar > @@ -209,9 +210,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::SignedToUnsigned , sdr::UnsignedToSigned +
  • _process_word() +: sdr::POCSAG +
  • _reconfigure() : sdr::IQBaseBand< Scalar >
  • +
  • _reset_message() +: sdr::POCSAG +
  • _signalIdle() : sdr::Queue
  • @@ -265,7 +272,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_a.html b/functions_func_a.html index a62ae65..88db1e2 100644 --- a/functions_func_a.html +++ b/functions_func_a.html @@ -138,6 +138,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • addIdle() : sdr::Queue
  • +
  • addPayload() +: sdr::POCSAG::Message +
  • +
  • address() +: sdr::POCSAG::Message +
  • addSine() : sdr::IQSigGen< Scalar > , sdr::SigGen< Scalar > @@ -148,9 +154,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • addStop() : sdr::Queue
  • -
  • AFSK() -: sdr::AFSK -
  • AGC() : sdr::AGC< Scalar >
  • @@ -169,6 +172,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • as() : sdr::Buffer< T >
  • +
  • asHex() +: sdr::POCSAG::Message +
  • +
  • ASKDetector() +: sdr::ASKDetector< Scalar > +
  • +
  • asNumeric() +: sdr::POCSAG::Message +
  • +
  • asText() +: sdr::POCSAG::Message +
  • AutoCast() : sdr::AutoCast< Scalar >
  • @@ -179,7 +194,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_b.html b/functions_func_b.html index 1d29b83..14112e9 100644 --- a/functions_func_b.html +++ b/functions_func_b.html @@ -135,6 +135,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • Baudot() : sdr::Baudot
  • +
  • BitDump() +: sdr::BitDump +
  • +
  • bits() +: sdr::POCSAG::Message +
  • +
  • BitStream() +: sdr::BitStream +
  • BlockingSource() : sdr::BlockingSource
  • @@ -175,7 +184,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_c.html b/functions_func_c.html index 9b7ce26..8311bd8 100644 --- a/functions_func_c.html +++ b/functions_func_c.html @@ -153,13 +153,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::CombineSink< Scalar >
  • config() -: sdr::AFSK -, sdr::AGC< Scalar > +: sdr::AGC< Scalar > , sdr::AMDemod< Scalar > +, sdr::ASKDetector< Scalar > , sdr::AutoCast< Scalar > , sdr::AX25 , sdr::BaseBand< Scalar > , sdr::Baudot +, sdr::BitDump +, sdr::BitStream , sdr::BPSK31< Scalar > , sdr::BufferNode< Scalar > , sdr::Cast< iScalar, oScalar > @@ -178,10 +180,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::FMDeemph< Scalar > , sdr::FMDemod< iScalar, oScalar > , sdr::FreqShift< Scalar > +, sdr::FSKDetector , sdr::InpolSubSampler< iScalar, oScalar > , sdr::Interleave< Scalar > , sdr::IQBalance< Scalar > , sdr::IQBaseBand< Scalar > +, sdr::POCSAG , sdr::PortSink , sdr::Proxy , sdr::RealImagPart< Scalar > @@ -198,7 +202,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::WavSink< Scalar >
  • ConfigError() -: sdr::ConfigError +: sdr::ConfigError
  • connect() : sdr::Source @@ -207,7 +211,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_d.html b/functions_func_d.html index c555e75..2935052 100644 --- a/functions_func_d.html +++ b/functions_func_d.html @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_e.html b/functions_func_e.html index 8a0803a..3a3b787 100644 --- a/functions_func_e.html +++ b/functions_func_e.html @@ -138,14 +138,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::AGC< Scalar > , sdr::FIRFilter< Scalar, FilterCoeffs >
  • +
  • estimateNumeric() +: sdr::POCSAG::Message +
  • +
  • estimateText() +: sdr::POCSAG::Message +
  • exec() -: sdr::FFT +: sdr::FFT
  • diff --git a/functions_func_f.html b/functions_func_f.html index 3426180..1e3e85e 100644 --- a/functions_func_f.html +++ b/functions_func_f.html @@ -195,11 +195,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • frequencyShift() : sdr::FreqShiftBase< Scalar >
  • +
  • FSKDetector() +: sdr::FSKDetector +
  • +
  • function() +: sdr::POCSAG::Message +
  • diff --git a/functions_func_g.html b/functions_func_g.html index cc6cde5..5ffe706 100644 --- a/functions_func_g.html +++ b/functions_func_g.html @@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_h.html b/functions_func_h.html index 92f7005..5431b4f 100644 --- a/functions_func_h.html +++ b/functions_func_h.html @@ -139,6 +139,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::SinkBase , sdr::UnsignedToSigned +
  • handleMessages() +: sdr::POCSAG +, sdr::POCSAGDump +
  • has() : sdr::Options
  • @@ -171,7 +175,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_i.html b/functions_func_i.html index fd68723..6ed1991 100644 --- a/functions_func_i.html +++ b/functions_func_i.html @@ -155,7 +155,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::BlockingSource
  • isEmpty() -: sdr::RawBuffer +: sdr::POCSAG::Message +, sdr::RawBuffer
  • isEnabled() : sdr::FMDeemph< Scalar > @@ -191,7 +192,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_l.html b/functions_func_l.html index cdd2245..b3579f6 100644 --- a/functions_func_l.html +++ b/functions_func_l.html @@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_m.html b/functions_func_m.html index af425a6..7175caa 100644 --- a/functions_func_m.html +++ b/functions_func_m.html @@ -130,13 +130,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::LogMessage
  • Message() -: sdr::Queue::Message +: sdr::POCSAG::Message +, sdr::Queue::Message
  • diff --git a/functions_func_n.html b/functions_func_n.html index 225f17c..fb57fd9 100644 --- a/functions_func_n.html +++ b/functions_func_n.html @@ -158,7 +158,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_o.html b/functions_func_o.html index f354890..0d633d1 100644 --- a/functions_func_o.html +++ b/functions_func_o.html @@ -149,6 +149,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::Buffer< T > , sdr::Config , sdr::Options::Value +, sdr::POCSAG::Message , sdr::Queue::Message , sdr::RawBuffer , sdr::RawRingBuffer @@ -173,7 +174,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_p.html b/functions_func_p.html index e3b08b5..8211244 100644 --- a/functions_func_p.html +++ b/functions_func_p.html @@ -129,6 +129,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • parse() : sdr::Options
  • +
  • POCSAG() +: sdr::POCSAG +
  • +
  • POCSAGDump() +: sdr::POCSAGDump +
  • PortSink() : sdr::PortSink
  • @@ -139,12 +145,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::Options
  • process() -: sdr::AFSK -, sdr::AGC< Scalar > +: sdr::AGC< Scalar > , sdr::AMDemod< Scalar > +, sdr::ASKDetector< Scalar > , sdr::AX25 , sdr::BaseBand< Scalar > , sdr::Baudot +, sdr::BitDump +, sdr::BitStream , sdr::BPSK31< Scalar > , sdr::BufferNode< Scalar > , sdr::Cast< iScalar, oScalar > @@ -158,10 +166,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::FMDeemph< Scalar > , sdr::FMDemod< iScalar, oScalar > , sdr::FreqShift< Scalar > +, sdr::FSKDetector , sdr::InpolSubSampler< iScalar, oScalar > , sdr::Interleave< Scalar > , sdr::IQBalance< Scalar > , sdr::IQBaseBand< Scalar > +, sdr::POCSAG , sdr::RealImagPart< Scalar > , sdr::Scale< Scalar > , sdr::Sink< Scalar > @@ -190,7 +200,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_q.html b/functions_func_q.html index 4e29c43..0a7d15d 100644 --- a/functions_func_q.html +++ b/functions_func_q.html @@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_r.html b/functions_func_r.html index 80c86dd..0a2d910 100644 --- a/functions_func_r.html +++ b/functions_func_r.html @@ -174,7 +174,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_s.html b/functions_func_s.html index dabe3e2..c708ae0 100644 --- a/functions_func_s.html +++ b/functions_func_s.html @@ -290,13 +290,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::IQBaseBand< Scalar >
  • SubSample() -: sdr::SubSample< Scalar > +: sdr::SubSample< Scalar >
  • diff --git a/functions_func_t.html b/functions_func_t.html index 695071d..8d45313 100644 --- a/functions_func_t.html +++ b/functions_func_t.html @@ -165,7 +165,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_u.html b/functions_func_u.html index 4d4e8a3..5608e5e 100644 --- a/functions_func_u.html +++ b/functions_func_u.html @@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_v.html b/functions_func_v.html index 7464a93..9fabffc 100644 --- a/functions_func_v.html +++ b/functions_func_v.html @@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_w.html b/functions_func_w.html index 07b8bff..bef7c82 100644 --- a/functions_func_w.html +++ b/functions_func_w.html @@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_~.html b/functions_func_~.html index 1439693..3c3f39a 100644 --- a/functions_func_~.html +++ b/functions_func_~.html @@ -126,9 +126,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');  

    - ~ -

    diff --git a/functions_n.html b/functions_n.html index b700672..6566b12 100644 --- a/functions_n.html +++ b/functions_n.html @@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::Buffer< T >
  • NORMAL -: sdr::AFSK +: sdr::BitStream
  • notifyConfig() : sdr::Combine< Scalar > @@ -167,7 +167,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_o.html b/functions_o.html index 3f38fe0..bdca9c8 100644 --- a/functions_o.html +++ b/functions_o.html @@ -149,6 +149,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::Buffer< T > , sdr::Config , sdr::Options::Value +, sdr::POCSAG::Message , sdr::Queue::Message , sdr::RawBuffer , sdr::RawRingBuffer @@ -176,7 +177,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_p.html b/functions_p.html index fa06bc4..6c5e94c 100644 --- a/functions_p.html +++ b/functions_p.html @@ -129,6 +129,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • parse() : sdr::Options
  • +
  • POCSAG() +: sdr::POCSAG +
  • +
  • POCSAGDump() +: sdr::POCSAGDump +
  • PortSink() : sdr::PortSink
  • @@ -139,12 +145,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::Options
  • process() -: sdr::AFSK -, sdr::AGC< Scalar > +: sdr::AGC< Scalar > , sdr::AMDemod< Scalar > +, sdr::ASKDetector< Scalar > , sdr::AX25 , sdr::BaseBand< Scalar > , sdr::Baudot +, sdr::BitDump +, sdr::BitStream , sdr::BPSK31< Scalar > , sdr::BufferNode< Scalar > , sdr::Cast< iScalar, oScalar > @@ -158,10 +166,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::FMDeemph< Scalar > , sdr::FMDemod< iScalar, oScalar > , sdr::FreqShift< Scalar > +, sdr::FSKDetector , sdr::InpolSubSampler< iScalar, oScalar > , sdr::Interleave< Scalar > , sdr::IQBalance< Scalar > , sdr::IQBaseBand< Scalar > +, sdr::POCSAG , sdr::RealImagPart< Scalar > , sdr::Scale< Scalar > , sdr::Sink< Scalar > @@ -190,7 +200,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_q.html b/functions_q.html index 30b2fc2..ce5f3a2 100644 --- a/functions_q.html +++ b/functions_q.html @@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_r.html b/functions_r.html index 2e608e5..8e9e7fb 100644 --- a/functions_r.html +++ b/functions_r.html @@ -138,6 +138,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • RealPart() : sdr::RealPart< Scalar >
  • +
  • RECEIVE +: sdr::POCSAG +
  • ref() : sdr::RawBuffer
  • @@ -162,7 +165,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::RingBuffer< Scalar >
  • RingBuffer() -: sdr::RingBuffer< Scalar > +: sdr::RingBuffer< Scalar >
  • RScalar : sdr::Traits< double > @@ -188,7 +191,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_s.html b/functions_s.html index ffe8687..e651148 100644 --- a/functions_s.html +++ b/functions_s.html @@ -340,6 +340,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , sdr::Queue , sdr::RTLSource
  • +
  • State +: sdr::POCSAG +
  • stop() : sdr::BlockingSource , sdr::Queue @@ -391,7 +394,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_t.html b/functions_t.html index 7568104..dfeeb28 100644 --- a/functions_t.html +++ b/functions_t.html @@ -155,16 +155,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : sdr::Options::Value
  • TRANSITION -: sdr::AFSK -
  • -
  • type() -: sdr::Config +: sdr::BitStream
  • Type : sdr::Config
  • -
  • type -: sdr::Options::Definition +
  • type() +: sdr::Config +, sdr::Options::Definition
  • Type : sdr::Options::Value @@ -215,7 +213,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_type.html b/functions_type.html index 99fd006..dd6e095 100644 --- a/functions_type.html +++ b/functions_type.html @@ -196,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_u.html b/functions_u.html index 2710c9d..db6f794 100644 --- a/functions_u.html +++ b/functions_u.html @@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_v.html b/functions_v.html index 4199749..71c3e21 100644 --- a/functions_v.html +++ b/functions_v.html @@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_vars.html b/functions_vars.html index 933fddd..d80ebff 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -108,6 +108,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');  

    - _ -