summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2011-12-30 11:10:23 -0500
committerTom Rondeau <trondeau@vt.edu>2011-12-30 11:11:07 -0500
commitef4d48de26b64d89851a93fc5402b33fcc1a809f (patch)
treeec38490428181cc78b91f93b90e4bcdfd6793a97
parenta4d62472975aaeb50fa96c360c4b24d3ad84cf6e (diff)
digital: update to qa and example code for new constructor with tag_nsamples arg.
-rwxr-xr-xgr-digital/examples/snr_estimators.py10
-rwxr-xr-xgr-digital/python/qa_mpsk_snr_est.py22
2 files changed, 22 insertions, 10 deletions
diff --git a/gr-digital/examples/snr_estimators.py b/gr-digital/examples/snr_estimators.py
index 6bd9257fac..432abd4553 100755
--- a/gr-digital/examples/snr_estimators.py
+++ b/gr-digital/examples/snr_estimators.py
@@ -118,8 +118,8 @@ def main():
snr_python = list()
snr_gr = list()
- gain =0.5
- alpha = 0.004
+ # when to issue an SNR tag; can be ignored in this example.
+ ntag = 10000
n_cpx = xx + 1j*xy
@@ -133,10 +133,10 @@ def main():
for snr in SNR_dB:
SNR = 10.0**(snr/10.0)
scale = scipy.sqrt(SNR)
- yy = gain*(bits + n_cpx/scale)
+ yy = bits + n_cpx/scale
print "SNR: ", snr
- Sknown = scipy.mean((yy/gain)**2)
+ Sknown = scipy.mean(yy**2)
Nknown = scipy.var(n_cpx/scale)/2
snr0 = Sknown/Nknown
snr0dB = 10.0*scipy.log10(snr0)
@@ -146,7 +146,7 @@ def main():
snr_python.append(snrdB)
gr_src = gr.vector_source_c(bits.tolist(), False)
- gr_snr = digital.mpsk_snr_est_cc(gr_est, 0.001)
+ gr_snr = digital.mpsk_snr_est_cc(gr_est, ntag, 0.001)
gr_chn = gr.channel_model(1.0/scale)
gr_snk = gr.null_sink(gr.sizeof_gr_complex)
tb = gr.top_block()
diff --git a/gr-digital/python/qa_mpsk_snr_est.py b/gr-digital/python/qa_mpsk_snr_est.py
index d62b8b84f2..e3abff908f 100755
--- a/gr-digital/python/qa_mpsk_snr_est.py
+++ b/gr-digital/python/qa_mpsk_snr_est.py
@@ -60,7 +60,9 @@ class test_mpsk_snr_est (gr_unittest.TestCase):
def test_mpsk_snr_est_simple (self):
expected_result = [11.48, 5.91, 3.30, 2.08, 1.46]
- op = digital.mpsk_snr_est_cc (digital.SNR_EST_SIMPLE, 0.001)
+ N = 10000
+ alpha = 0.001
+ op = digital.mpsk_snr_est_cc (digital.SNR_EST_SIMPLE, N, alpha)
actual_result = self.mpsk_snr_est_setup(op)
self.assertFloatTuplesAlmostEqual (expected_result, actual_result, 2)
@@ -68,21 +70,29 @@ class test_mpsk_snr_est (gr_unittest.TestCase):
def test_mpsk_snr_est_skew (self):
expected_result = [11.48, 5.91, 3.30, 2.08, 1.46]
- op = digital.mpsk_snr_est_cc (digital.SNR_EST_SKEW, 0.001)
+ N = 10000
+ alpha = 0.001
+ op = digital.mpsk_snr_est_cc (digital.SNR_EST_SKEW, N, alpha)
+
actual_result = self.mpsk_snr_est_setup(op)
self.assertFloatTuplesAlmostEqual (expected_result, actual_result, 2)
def test_mpsk_snr_est_m2m4 (self):
expected_result = [11.02, 6.20, 4.98, 5.16, 5.66]
- op = digital.mpsk_snr_est_cc (digital.SNR_EST_M2M4, 0.001)
+ N = 10000
+ alpha = 0.001
+ op = digital.mpsk_snr_est_cc (digital.SNR_EST_M2M4, N, alpha)
+
actual_result = self.mpsk_snr_est_setup(op)
self.assertFloatTuplesAlmostEqual (expected_result, actual_result, 2)
def test_mpsk_snr_est_svn (self):
expected_result = [10.90, 6.00, 4.76, 4.97, 5.49]
- op = digital.mpsk_snr_est_cc (digital.SNR_EST_SVR, 0.001)
+ N = 10000
+ alpha = 0.001
+ op = digital.mpsk_snr_est_cc (digital.SNR_EST_SVR, N, alpha)
actual_result = self.mpsk_snr_est_setup(op)
self.assertFloatTuplesAlmostEqual (expected_result, actual_result, 2)
@@ -95,7 +105,9 @@ class test_mpsk_snr_est (gr_unittest.TestCase):
src_data = [b+(i*n) for b,n in zip(self._bits, self._noise)]
src = gr.vector_source_c (src_data)
- op = digital.probe_mpsk_snr_est_c (digital.SNR_EST_M2M4, 0.001)
+
+ alpha = 0.001
+ op = digital.probe_mpsk_snr_est_c (digital.SNR_EST_M2M4, alpha)
tb = gr.top_block ()
tb.connect (src, op)