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

SNR Estimator using 2nd and 4th-order moments. More...

#include <gnuradio/digital/mpsk_snr_est.h>

Public Member Functions

 mpsk_snr_est_m2m4 (double alpha)
 
 ~mpsk_snr_est_m2m4 () 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 int update (int noutput_items, const gr_complex *input)
 Update the current registers. More...
 
virtual double snr ()
 Use the register values to compute a new estimate. 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 2nd and 4th-order moments.

An SNR estimator for M-PSK signals that uses 2nd (M2) and 4th (M4) order moments. This estimator uses knowledge of the kurtosis of the signal ( \(k_a)\) and noise ( \(k_w\)) to make its estimation. We use Beaulieu's approximations here to M-PSK signals and AWGN channels such that \(k_a=1\) and \(k_w=2\). These approximations significantly reduce the complexity of the calculations (and computations) required.

Reference: D. R. Pauluzzi and N. C. Beaulieu, "A comparison of SNR estimation techniques for the AWGN channel," IEEE Trans. Communications, Vol. 48, No. 10, pp. 1681-1691, 2000.

Constructor & Destructor Documentation

◆ mpsk_snr_est_m2m4()

gr::digital::mpsk_snr_est_m2m4::mpsk_snr_est_m2m4 ( double  alpha)

Constructor

Parameters:

Parameters
alphathe update rate of internal running average calculations.

◆ ~mpsk_snr_est_m2m4()

gr::digital::mpsk_snr_est_m2m4::~mpsk_snr_est_m2m4 ( )
inlineoverride

Member Function Documentation

◆ snr()

double gr::digital::mpsk_snr_est_m2m4::snr ( )
overridevirtual

Use the register values to compute a new estimate.

Reimplemented from gr::digital::mpsk_snr_est.

◆ update()

int gr::digital::mpsk_snr_est_m2m4::update ( int  noutput_items,
const gr_complex input 
)
overridevirtual

Update the current registers.

Reimplemented from gr::digital::mpsk_snr_est.


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