Loading...
Searching...
No Matches
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.
double | snr () override
| Use the register values to compute a new estimate.
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.
void | set_alpha (double alpha)
| Set the running-average coefficient.
virtual double | signal ()
| Returns the signal power estimate.
virtual double | noise ()
| Returns the noise power estimate.

## 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 | ) |

Constructor

Parameters:

Parameters

  alpha | the update rate of internal running average calculations.

## ~mpsk_snr_est_skew()

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

inline override

## Member Function Documentation

## snr()

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

override virtual

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 )

override virtual

Update the current registers.

Reimplemented from gr::digital::mpsk_snr_est.

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

- mpsk_snr_est.h