SPUC  3.0
Public Types | Public Member Functions | Public Attributes | List of all members
SPUC::sim_qam< Numeric > Class Template Reference

A Class for simulating a QAM system. More...

#include <sim_qam.h>

Collaboration diagram for SPUC::sim_qam< Numeric >:
Collaboration graph
[legend]

Public Types

typedef fundtype< Numeric >::ftype CNumeric
 
typedef complex< CNumericcomplex_type
 

Public Member Functions

 ~sim_qam ()
 
 sim_qam (float_type rc_alpha=0.25)
 
void loop_init (long rate, long conv_rate, float_type carrier_off=0, float_type time_off=0)
 
complex< float_typetx_step ()
 
void step (void)
 
complex< long > rx_step (complex_type x)
 
void loop_end (void)
 

Public Attributes

const long over
 
float_type alpha
 
lagrange< complex< float_type > > interp
 
fir< complex< float_type >
, float_type
rx_filter
 
qam_tx< float_typeTX
 
noisen
 
base_demod< Numeric > * DUT
 
vco< float_type > * freq_offset
 
a_dADC
 
float_type var
 
float_type snr
 
float_type channel_pwr
 
complex< float_typetx_data
 
complex< long > data
 
long output_delay
 
long rate
 
bool enable_freq_offset
 
bool enable_time_offset
 
float_type carrier_offset_rate
 
float_type time_inc
 
float_type time_offset
 
complex_type adc_out
 
complex< float_typebase
 
complex< float_typemain
 
complex< float_typemain1
 
complex< float_typebase1
 
complex< float_typeb_noise
 
long rcv_symbols
 
long tx_symbols
 
long count
 
float_type phase_inc
 
float_type phase_acc
 

Detailed Description

template<class Numeric>
class SPUC::sim_qam< Numeric >

A Class for simulating a QAM system.

that includes transmitters, receivers, A/D, frequency offsets, gaussian noise, and a BER tester

Author
Tony Kirke

Member Typedef Documentation

template<class Numeric >
typedef fundtype<Numeric>::ftype SPUC::sim_qam< Numeric >::CNumeric
template<class Numeric >
typedef complex<CNumeric> SPUC::sim_qam< Numeric >::complex_type

Constructor & Destructor Documentation

template<class Numeric >
SPUC::sim_qam< Numeric >::~sim_qam ( )
inline
template<class Numeric >
SPUC::sim_qam< Numeric >::sim_qam ( float_type  rc_alpha = 0.25)
inline

Member Function Documentation

template<class Numeric >
void SPUC::sim_qam< Numeric >::loop_end ( void  )
inline
template<class Numeric >
void SPUC::sim_qam< Numeric >::loop_init ( long  rate,
long  conv_rate,
float_type  carrier_off = 0,
float_type  time_off = 0 
)
inline
template<class Numeric >
complex<long> SPUC::sim_qam< Numeric >::rx_step ( complex_type  x)
inline

References SPUC::base_demod< Numeric >::step(), and SPUC::base_demod< Numeric >::sym_pulse().

Referenced by SPUC::sim_qam< Numeric >::step().

Here is the call graph for this function:

template<class Numeric >
void SPUC::sim_qam< Numeric >::step ( void  )
inline

References SPUC::a_d::clock(), SPUC::sim_qam< Numeric >::rx_step(), and SPUC::sim_qam< Numeric >::tx_step().

Here is the call graph for this function:

template<class Numeric >
complex<float_type> SPUC::sim_qam< Numeric >::tx_step ( )
inline

Member Data Documentation

template<class Numeric >
a_d* SPUC::sim_qam< Numeric >::ADC
template<class Numeric >
complex_type SPUC::sim_qam< Numeric >::adc_out
template<class Numeric >
float_type SPUC::sim_qam< Numeric >::alpha
template<class Numeric >
complex<float_type> SPUC::sim_qam< Numeric >::b_noise
template<class Numeric >
complex<float_type> SPUC::sim_qam< Numeric >::base
template<class Numeric >
complex<float_type> SPUC::sim_qam< Numeric >::base1
template<class Numeric >
float_type SPUC::sim_qam< Numeric >::carrier_offset_rate
template<class Numeric >
float_type SPUC::sim_qam< Numeric >::channel_pwr
template<class Numeric >
long SPUC::sim_qam< Numeric >::count
template<class Numeric >
complex<long> SPUC::sim_qam< Numeric >::data
template<class Numeric >
base_demod<Numeric>* SPUC::sim_qam< Numeric >::DUT
template<class Numeric >
bool SPUC::sim_qam< Numeric >::enable_freq_offset
template<class Numeric >
bool SPUC::sim_qam< Numeric >::enable_time_offset
template<class Numeric >
vco<float_type>* SPUC::sim_qam< Numeric >::freq_offset
template<class Numeric >
lagrange<complex<float_type> > SPUC::sim_qam< Numeric >::interp
template<class Numeric >
complex<float_type> SPUC::sim_qam< Numeric >::main
template<class Numeric >
complex<float_type> SPUC::sim_qam< Numeric >::main1
template<class Numeric >
noise* SPUC::sim_qam< Numeric >::n
template<class Numeric >
long SPUC::sim_qam< Numeric >::output_delay
template<class Numeric >
const long SPUC::sim_qam< Numeric >::over
template<class Numeric >
float_type SPUC::sim_qam< Numeric >::phase_acc
template<class Numeric >
float_type SPUC::sim_qam< Numeric >::phase_inc
template<class Numeric >
long SPUC::sim_qam< Numeric >::rate
template<class Numeric >
long SPUC::sim_qam< Numeric >::rcv_symbols
template<class Numeric >
fir<complex<float_type>,float_type > SPUC::sim_qam< Numeric >::rx_filter
template<class Numeric >
float_type SPUC::sim_qam< Numeric >::snr
template<class Numeric >
float_type SPUC::sim_qam< Numeric >::time_inc
template<class Numeric >
float_type SPUC::sim_qam< Numeric >::time_offset
template<class Numeric >
qam_tx<float_type> SPUC::sim_qam< Numeric >::TX
template<class Numeric >
complex<float_type> SPUC::sim_qam< Numeric >::tx_data
template<class Numeric >
long SPUC::sim_qam< Numeric >::tx_symbols
template<class Numeric >
float_type SPUC::sim_qam< Numeric >::var

The documentation for this class was generated from the following file: