SNR Estimator using 2nd and 4th-order moments. More...
#include <gnuradio/digital/mpsk_snr_est.h>
| Public Member Functions | |
| snr_est_m2m4 (double alpha, double ka, double kw) | |
| ~snr_est_m2m4 () 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 | 
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. In this case, you can set your own estimations for k_a and k_w, the kurtosis of the signal and noise, to fit this estimation better to your signal and channel conditions.
A word of warning: this estimator has not been fully tested or proved with any amount of rigor. The estimation for M4 in particular might be ignoring effectf of when k_a and k_w are different. Use this estimator with caution and a copy of the reference on hand.
The digital_mpsk_snr_est_m2m4 assumes k_a and k_w to simplify the computations for M-PSK and AWGN channels. Use that estimator unless you have a way to guess or estimate these values here.
Original paper: R. Matzner, "An SNR estimation algorithm for complex baseband signal using higher order statistics," Facta Universitatis (Nis), no. 6, pp. 41-52, 1993.
Reference used in derivation: 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.
| gr::digital::snr_est_m2m4::snr_est_m2m4 | ( | double | alpha, | 
| double | ka, | ||
| double | kw ) | 
Constructor
Parameters:
| alpha | the update rate of internal running average calculations. | 
| ka | estimate of the signal kurtosis (1 for PSK) | 
| kw | estimate of the channel noise kurtosis (2 for AWGN) | 
References gr::digital::mpsk_snr_est::alpha().
| 
 | inlineoverride | 
| 
 | overridevirtual | 
Use the register values to compute a new estimate.
Reimplemented from gr::digital::mpsk_snr_est.
| 
 | overridevirtual | 
Update the current registers.
Reimplemented from gr::digital::mpsk_snr_est.