32 #ifndef BASEBANDTX_HDR 33 #define BASEBANDTX_HDR The Baseclass for all SoDa objects, and useful commonly used classes.
double wbfm_deviation
phase advance for 75kHz deviation
bool debug_mode
if true, print extra debug info
SoDa::SoDaBuf * modulateAM(float *audio_buf, unsigned int len, bool is_usb, bool is_lsb)
create an AM/SSB modulation envelope
The Thread baseclass for all SoDa thread objects.
bool cw_tx_mode
if true, tx_mode is CW_L or CW_U
bool tx_noise_source_ena
When this is TRUE, audio modes (USB,LSB,AM,NBFM,WBFM) use a noise source for input.
double audio_sample_rate
wired in lots of places as 48KHz
double fm_mic_gain
separate gain control for FM deviation....
float af_gain
local microphone gain.
This class handles command line parameters and built-ins.
BaseBandTX(Params *params, DatMBox *tx_stream, CmdMBox *cmd_stream, AudioIfc *audio_ifc)
constructor
AudioIfc * audio_ifc
pointer to an AudioIfc object for the microphone input
void execSetCommand(Command *cmd)
handle SET commands from the command channel
unsigned int tx_buffer_size
how long is the outbound RF buffer
Resampler for 48KHz to 625KHz data stream, built on rational ReSampler class.
This is a list of all the commands that can "do something" to one or more components in the SoDa radi...
float * ssb_af_upsample
SSB modulation requires that we upsample before doing the quadrature generation.
SoDa::OSFilter * tx_audio_filter
TX audio filter.
ModulationType
modulation selector targets take one of these values
bool tx_stream_on
if true, we are transmitting.
DatMBox * tx_stream
outbound RF stream to USRPTX transmit chain
SoDa::ReSample48to625 * interpolator
Upsample from 48KHz to 625KHz.
SoDa::SoDaBuf * modulateFM(float *audio_buf, unsigned int len, double deviation)
create a narrowband/wideband FM modulation envelope
void run()
the run method – does the work of the audio transmitter process
std::complex< float > * audio_IQ_buf
temporary storage for outbound modulation envelope
unsigned int audio_buffer_size
length (in samples) of an input audio buffer
Overlap-and-save filter class.
void execGetCommand(Command *cmd)
execute GET commands from the command channel
double nbfm_deviation
phase advance for 2.5kHz deviation.
Generic Audio Interface Class.
CmdMBox * cmd_stream
command stream from UI and other units
float mic_gain
mic gain is adjustable, to make sure we aren't noxious.
SoDa::Command::ModulationType tx_mode
what modulation scheme? USB? LSB? CW_U?...
unsigned int cmd_subs
subscription ID for command stream
SoDa::HilbertTransformer * hilbert
The hilbert transformer to create an analytic (I/Q) signal.
bool tx_on
set by Command::TX_STATE to on or off
void execRepCommand(Command *cmd)
handle Report commands from the command channel
bool tx_audio_filter_ena
There is an audio filter in the chain, by default.
float * noise_buffer
This is a buffer that holds a set of "noise" samples (uniform random) for testing the TX audio chain...