Source code for tftb.generators.tests.test_noise
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# vim:fenc=utf-8
#
# Copyright © 2015 jaidev <jaidev@newton>
#
# Distributed under terms of the MIT license.
"""Tests for the generators.noise module."""
import unittest
import numpy as np
from tftb.tests.test_base import TestBase
from tftb.generators import noise
[docs]class TestNoise(TestBase):
[docs] def test_noisecu(self):
"""Test uniform white noise generation."""
x = noise.noisecu(128)
self.assertAlmostEqual(x.std() ** 2, 1, places=1)
[docs] def test_noisecg(self):
"""Test Gaussian white noise generation."""
x = noise.noisecg(128)
self.assertAlmostEqual(x.std() ** 2, 1, places=1)
[docs] def test_dopnoise(self):
"""Test doppler noise generation"""
signal, iflaw = noise.dopnoise(500, 200, 60, 10, 70, 128)
energy = np.sum(np.abs(signal) ** 2)
self.assertAlmostEqual(energy, 1, 3)
self.assert_is_monotonic_decreasing(iflaw)
signal, iflaw = noise.dopnoise(500, 200, 60, 10, 70)
energy = np.sum(np.abs(signal) ** 2)
self.assertAlmostEqual(energy, 1, 3)
self.assert_is_monotonic_decreasing(iflaw)
if __name__ == '__main__':
unittest.main()