Difference between revisions of "MPSK SNR Estimator"

From GNU Radio
Jump to: navigation, search
Line 12: Line 12:
 
Below are some ROUGH estimates of what values of SNR each of these types of estimators is good for. In general, these offer a trade-off between accuracy and performance.
 
Below are some ROUGH estimates of what values of SNR each of these types of estimators is good for. In general, these offer a trade-off between accuracy and performance.
  
    Simple: >= 7 dB
+
# Simple: >= 7 dB
    Skewness: >= 5 dB
+
# Skewness: >= 5 dB
    2nd and 4th Moment: >= 1 dB
+
# 2nd and 4th Moment: >= 1 dB
    SVR: >= 0dB
+
# SVR: >= 0dB
  
 
See https://www.gnuradio.org/doc/doxygen-3.6.4/group__snr__blk.html for more details
 
See https://www.gnuradio.org/doc/doxygen-3.6.4/group__snr__blk.html for more details

Revision as of 20:59, 12 March 2019

A block for computing SNR of a M-PSK signal (e.g., BPSK, QPSK, 8-PSK). It copies the input stream to the output stream, but adds a tag that contains the estimated SNR every N samples. It may work with other types of signals, but with a certain amount of error.

Under the hood, the block uses 2nd (M2) and 4th (M4) order moments. This estimator uses knowledge of the kurtosis of the signal (𝑘𝑎) and noise (𝑘𝑤) to make its estimation. We use Beaulieu's approximations here to M-PSK signals and AWGN channels such that 𝑘𝑎=1 and 𝑘𝑤=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.


Parameters

Type -

Below are some ROUGH estimates of what values of SNR each of these types of estimators is good for. In general, these offer a trade-off between accuracy and performance.

  1. Simple: >= 7 dB
  2. Skewness: >= 5 dB
  3. 2nd and 4th Moment: >= 1 dB
  4. SVR: >= 0dB

See https://www.gnuradio.org/doc/doxygen-3.6.4/group__snr__blk.html for more details

Samples between tags - after this many samples, a tag containing the SNR (key='snr') will be sent on the output port.

Filter Alpha - the update rate of internal running average calculations.