Software Defined Receiver Base Class. More...
#include <snSDR.h>
Public Member Functions | |
snSDR (SNSignal pSNSignal) | |
Software Defined Receiver base class constructor. More... | |
Public Member Functions inherited from snBlockSerial | |
snBlockSerial (SNSignal pSNSignal) | |
snBlockSerial constructor More... | |
Samples_Type | get_absolute_sample () const |
returns the absolute amount of processed samples More... | |
Public Member Functions inherited from snBlock | |
snBlock (SNSignal pSNSignal) | |
snBlock constructor More... | |
Blocks_Type | getBlks () |
returns current block number which is being processed More... | |
Blocks_Type | getOutputBlks () |
returns processed block number of a signal sink More... | |
Blocks_Type | getTotalBlks () |
returns total amount of blocks to be processed More... | |
double | get_time_per_block () |
double | get_blks_simulation_time () |
returns current simulation time dependent on current block number More... | |
bool | isActive () |
returns snBlock status. will return true after requestStop() was called. More... | |
void | requestStop () |
requests to stop processing and return the snBlock main program in run() More... | |
Protected Member Functions | |
void | calculate_loop_coefficients (double &tau1, double &tau2, double LBW, double zeta, double k) |
unsigned int | next_power_of_two (unsigned int val) |
bool | Aquisition (std::vector< double > aq_signal, signed long long samplesPerChip, double search_length, double &AqFreq, Samples_Type &AqCodePhase, snWidget *snw, snCurve3D *curve_aq) |
Aquisition() performs a parallel code phase search aquisition. More... | |
double | discriminator_dot_product_normalized (double I_E, double Q_E, double I_P, double Q_P, double I_L, double Q_L) |
double | discriminator_early_minus_late_power_normalized (double I_E, double Q_E, double I_L, double Q_L) |
double | costas_discriminator_atan (double I_P, double Q_P) |
Protected Member Functions inherited from snBlockSerial | |
std::vector< std::complex < double > > | get_next_samples (Samples_Type n) |
returns the next samples More... | |
void | InitSerialBuffer (Samples_Type size, ConcBuf *pConcBuf) |
initializes the serial buffer. Should be called by snBlocks in their constructor. More... | |
void | set_next_sample_index (Samples_Type index) |
allows to go back to a specific samples position in the actual serial buffer More... | |
Protected Member Functions inherited from snBlock | |
void | snLog (QString mess) |
can be used by snBlocks to log data to log text widget. More... | |
void | snLogErr (QString mess) |
void | snLogDeb (QString mess, int DebugLevel) |
can be used by snBlocks to log data to log text widget. More... | |
void | increaseBlks () |
has to be called by snBlocks after processing of the actual concbuf block More... | |
void | increaseOutputBlks () |
has to be called by the sink snBlocks after processing of the actual concbuf block More... | |
void | printSummary (std::string caller) |
This member function prints a summary of how much data was processed after the calling snBlock's exit. More... | |
Protected Attributes | |
SettingsSDR | SDR |
parameter set for SDR parameters More... | |
double | intermed_freq |
Protected Attributes inherited from snBlock | |
SNSignal | Sig |
holds the simulation parameters which are common to all snBlocks More... | |
unsigned int | plot_x_max |
double | max_simulation_length |
Blocks_Type | max_blocks |
Additional Inherited Members | |
Signals inherited from snBlock | |
void | snLogSignal (const QString &mess) |
is connected in snMainWindow to the log text widget. More... | |
void | snLogSignalDebug (const QString &mess, int d) |
is connected in snMainWindow to the log text widget. More... | |
Software Defined Receiver Base Class.
Contains the SDR of SNSignal. Aquisition and tracking are performed.
snSDR::snSDR | ( | SNSignal | pSNSignal | ) |
Software Defined Receiver base class constructor.
|
protected |
Aquisition() performs a parallel code phase search aquisition.
Both the incoming signal and the code are Fourier transformed and then multiplied. The result is inverse Fourier transformed and should contain the aquisition peak. The maximum is searched and returned as aquisition frequency and code phase.
< array for Fourier transform of signal input , time domain
< array for Fourier transform of signal input, frequency domain
< array for Fourier transform of signal input , time domain
< array for Fourier transform of signal input, frequency domain
< plan for calling FFTW
< plan for calling FFTW
< array for Fourier transform of code signal , time domain
< array for Fourier transform of code signal, frequency domain
< plan for calling FFTW
< array for Fourier transform of aq result, frequency domain
< array for Fourier transform of aq result, time domain
< array for Fourier transform of aq result, frequency domain
< array for Fourier transform of aq result, time domain
< plan for calling FFTW
< plan for calling FFTW
< phase points that go into sin() and cos() are pre-calculated
< memory for aq results, vector will have size: acFreqSteps x acSmpls
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
parameter set for SDR parameters