SPUC
3.0
|
A QPSK receiver that can operate at exactly 2 samples/symbol. More...
#include <qpsk.h>
Public Types | |
typedef fundtype< Numeric >::ftype | CNumeric |
Public Member Functions | |
Numeric | I_data () |
Numeric | Q_data () |
complex< CNumeric > | data () |
Numeric | carrier_loop () |
Numeric | symbol_loop () |
bool | symclk (void) |
qpsk (void) | |
void | reset (void) |
void | clock (complex< CNumeric >adc_out) |
Public Attributes | |
a_d | ADC |
loop_filter< Numeric > | carrier_loop_filter |
loop_filter< Numeric > | symbol_loop_filter |
Numeric | carrier_loop_out |
Numeric | symbol_loop_out |
bool | symbol_clk |
bool | symbol_clk_pls |
bool | sample_clk |
bool | symbol_x2_clk |
bool | symbol_x2_clk_pls |
vco< Numeric > | c_nco |
fir< complex< CNumeric >, long > | rcv_sqrt_rc |
delay< complex< CNumeric > > | final_baseband_delay |
delay< complex< CNumeric > > | hard_decision_delay |
delay< complex< CNumeric > > | timing_disc_delay |
long | bpsk |
long | dec_rate_log |
Numeric | carrier_error |
Numeric | symbol_nco_out |
complex< CNumeric > | prev_sam |
complex< CNumeric > | prev_sym |
complex< CNumeric > | decision |
complex< CNumeric > | hard_decision_prev |
complex< CNumeric > | final_baseband_prev |
complex< CNumeric > | baseband |
complex< CNumeric > | resampled |
complex< CNumeric > | carrier_in |
complex< CNumeric > | carrier_nco_out |
complex< CNumeric > | mf_in |
complex< CNumeric > | mf_out |
complex< CNumeric > | final_baseband |
complex< CNumeric > | hard_decision |
Numeric | timing_error |
Numeric | nda_timing_error |
A QPSK receiver that can operate at exactly 2 samples/symbol.
to illustrate carrier phase locked loop and demod process see qpsk_variable for more comprehensive example.
typedef fundtype<Numeric>::ftype SPUC::qpsk< Numeric >::CNumeric |
|
inline |
References SPUC::loop_filter< Numeric, Coeff >::k0, SPUC::loop_filter< Numeric, Coeff >::k0_en, SPUC::loop_filter< Numeric, Coeff >::k1, SPUC::loop_filter< Numeric, Coeff >::k1_en, SPUC::fir< Numeric, Coeff >::num_taps, SPUC::qpsk< Numeric >::reset(), SPUC::root_raised_cosine_quantized(), and SPUC::fir< Numeric, Coeff >::settaps().
|
inline |
|
inline |
References SPUC::qpsk< Numeric >::baseband, SPUC::delay< Numeric >::checkback(), SPUC::vco< Numeric >::clock(), SPUC::dd_symbol(), SPUC::qpsk< Numeric >::hard_decision, SPUC::delay< Numeric >::input(), SPUC::qpsk< Numeric >::mf_out, SPUC::nda_symbol(), SPUC::qpsk_dd_phase(), SPUC::qpsk< Numeric >::resampled, SPUC::round(), SPUC::signbit(), SPUC::qpsk< Numeric >::symbol_clk, SPUC::loop_filter< Numeric, Coeff >::update(), and SPUC::fir< Numeric, Coeff >::update().
Referenced by SPUC::sim_qpsk< Numeric >::rx_step().
|
inline |
|
inline |
|
inline |
|
inline |
References SPUC::vco< Numeric >::reset(), SPUC::fir< Numeric, Coeff >::reset(), SPUC::loop_filter< Numeric, Coeff >::reset(), and SPUC::vco< Numeric >::reset_frequency().
Referenced by SPUC::sim_qpsk< Numeric >::loop_init(), and SPUC::qpsk< Numeric >::qpsk().
|
inline |
|
inline |
Referenced by SPUC::sim_qpsk< Numeric >::rx_step().
a_d SPUC::qpsk< Numeric >::ADC |
complex<CNumeric> SPUC::qpsk< Numeric >::baseband |
Referenced by SPUC::qpsk< Numeric >::clock().
long SPUC::qpsk< Numeric >::bpsk |
vco<Numeric> SPUC::qpsk< Numeric >::c_nco |
Numeric SPUC::qpsk< Numeric >::carrier_error |
complex<CNumeric> SPUC::qpsk< Numeric >::carrier_in |
loop_filter<Numeric> SPUC::qpsk< Numeric >::carrier_loop_filter |
Numeric SPUC::qpsk< Numeric >::carrier_loop_out |
complex<CNumeric> SPUC::qpsk< Numeric >::carrier_nco_out |
long SPUC::qpsk< Numeric >::dec_rate_log |
complex<CNumeric> SPUC::qpsk< Numeric >::decision |
complex<CNumeric> SPUC::qpsk< Numeric >::final_baseband |
delay< complex<CNumeric> > SPUC::qpsk< Numeric >::final_baseband_delay |
complex<CNumeric> SPUC::qpsk< Numeric >::final_baseband_prev |
complex<CNumeric> SPUC::qpsk< Numeric >::hard_decision |
Referenced by SPUC::qpsk< Numeric >::clock().
delay< complex<CNumeric> > SPUC::qpsk< Numeric >::hard_decision_delay |
complex<CNumeric> SPUC::qpsk< Numeric >::hard_decision_prev |
complex<CNumeric> SPUC::qpsk< Numeric >::mf_in |
complex<CNumeric> SPUC::qpsk< Numeric >::mf_out |
Referenced by SPUC::qpsk< Numeric >::clock().
Numeric SPUC::qpsk< Numeric >::nda_timing_error |
complex<CNumeric> SPUC::qpsk< Numeric >::prev_sam |
complex<CNumeric> SPUC::qpsk< Numeric >::prev_sym |
fir< complex<CNumeric>, long > SPUC::qpsk< Numeric >::rcv_sqrt_rc |
complex<CNumeric> SPUC::qpsk< Numeric >::resampled |
Referenced by SPUC::qpsk< Numeric >::clock().
bool SPUC::qpsk< Numeric >::sample_clk |
bool SPUC::qpsk< Numeric >::symbol_clk |
Referenced by SPUC::qpsk< Numeric >::clock().
bool SPUC::qpsk< Numeric >::symbol_clk_pls |
loop_filter<Numeric> SPUC::qpsk< Numeric >::symbol_loop_filter |
Numeric SPUC::qpsk< Numeric >::symbol_loop_out |
Numeric SPUC::qpsk< Numeric >::symbol_nco_out |
bool SPUC::qpsk< Numeric >::symbol_x2_clk |
bool SPUC::qpsk< Numeric >::symbol_x2_clk_pls |
delay< complex<CNumeric> > SPUC::qpsk< Numeric >::timing_disc_delay |
Numeric SPUC::qpsk< Numeric >::timing_error |