Fixed noise variance calculation

This commit is contained in:
2022-11-10 11:43:04 +01:00
parent 20049e55f0
commit f791a9a086
3 changed files with 27 additions and 23 deletions

View File

@@ -28,16 +28,19 @@ class NoiseAmpFromSNRTestCase(unittest.TestCase):
def test_get_noise_amp_from_SNR(self):
SNR1 = 0
SNR2 = 6
SNR2 = 3
SNR3 = 20
SNR4 = -20
SNR5 = 60
self.assertEqual(noise.get_noise_amp_from_SNR(SNR1, signal_amp=1), 1)
self.assertAlmostEqual(noise.get_noise_amp_from_SNR(SNR2, signal_amp=1), 0.5, places=2)
self.assertEqual(noise.get_noise_amp_from_SNR(SNR3, signal_amp=1), 0.1)
self.assertEqual(noise.get_noise_amp_from_SNR(SNR4, signal_amp=1), 10)
self.assertEqual(noise.get_noise_amp_from_SNR(SNR5, signal_amp=2), 0.002)
var1 = noise.get_noise_variance_from_SNR(SNR1, n=8, k=8)
var2 = noise.get_noise_variance_from_SNR(SNR2, n=8, k=8)
var3 = noise.get_noise_variance_from_SNR(SNR3, n=8, k=8)
var4 = noise.get_noise_variance_from_SNR(SNR4, n=8, k=8)
self.assertEqual(var1, 1 * 0.5)
self.assertAlmostEqual(var2, 0.5 * 0.5, places=2)
self.assertEqual(var3, 0.01 * 0.5)
self.assertEqual(var4, 100 * 0.5)
class CodesTestCase(unittest.TestCase):