GNU Radio Manual and C++ API Reference
The Free & Open Software Radio Ecosystem
gr::digital::mpsk_snr_est_skew Class Reference

SNR Estimator using skewness correction. More...

#include <gnuradio/digital/mpsk_snr_est.h>

Public Member Functions

 mpsk_snr_est_skew (double alpha)
 ~mpsk_snr_est_skew () override
int update (int noutput_items, const gr_complex *input) override
 Update the current registers. More...
double snr () override
 Use the register values to compute a new estimate. More...
- Public Member Functions inherited from gr::digital::mpsk_snr_est
 mpsk_snr_est (double alpha)
virtual ~mpsk_snr_est ()
double alpha () const
 Get the running-average coefficient. More...
void set_alpha (double alpha)
 Set the running-average coefficient. More...
virtual double signal ()
 Returns the signal power estimate. More...
virtual double noise ()
 Returns the noise power estimate. More...

Additional Inherited Members

- Protected Attributes inherited from gr::digital::mpsk_snr_est
double d_alpha
double d_beta
double d_signal
double d_noise

Detailed Description

SNR Estimator using skewness correction.

This is an estimator that came from a discussion between Tom Rondeau and fred harris with no known paper reference. The idea is that at low SNR, the variance estimations will be affected because of fold-over around the decision boundaries, which results in a skewness to the samples. We estimate the skewness and use this as a correcting term.

This algorithm only appears to work well for BPSK signals.

Constructor & Destructor Documentation

◆ mpsk_snr_est_skew()

gr::digital::mpsk_snr_est_skew::mpsk_snr_est_skew ( double  alpha)



alphathe update rate of internal running average calculations.

◆ ~mpsk_snr_est_skew()

gr::digital::mpsk_snr_est_skew::~mpsk_snr_est_skew ( )

Member Function Documentation

◆ snr()

double gr::digital::mpsk_snr_est_skew::snr ( )

Use the register values to compute a new estimate.

Reimplemented from gr::digital::mpsk_snr_est.

◆ update()

int gr::digital::mpsk_snr_est_skew::update ( int  noutput_items,
const gr_complex input 

Update the current registers.

Reimplemented from gr::digital::mpsk_snr_est.

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