SNR Estimator

Hi guys,

Currently, I’m using GNUraido with UHD to do some research about SNR and
BER. To estimate the SNR, I use the metric of a paper named Robust
Frequency and Timing Synchonization for OFDM," IEEE Trans.
Communications,
vol. 45, no. 12, 1997, which has been implemented in the ofdm_sync_pn.py
file. According to the method of this paper, I get the timing metric(
M(d)
) from the binary file “ofdm_sync_pn-mf_f.dat”, and the peak signal
from “ofdm_sync_pn-peaks_b.dat”. Then I sampled the timing metric using
peak signal at matlab. After that, taking the metric into the formula
(-1 +
1/(1-sqrt(M(d))), which is from the paper.

What my problem is the SNR I got from this method is not sensitive to
the
signal power changing, I mean, I try to reduce the transmission
amplitude
to get a bad SNR. But the SNR did not change so much, even I can observe
that the frame error increasing sharply. I wonder if you can help me to
point out my mistakes, or if you have any better SNR estimator( the mpsk
does not work for my research, because I need to change the modulation a
lot).

Thanks,
Song