MPSK SNR Estimator

From GNU Radio
Revision as of 20:55, 12 March 2019 by 777arc (talk | contribs) (Created page with "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...")
(diff) โ† Older revision | Latest revision (diff) | Newer revision โ†’ (diff)
Jump to navigation Jump to search

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 -

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.