Exemple #1
0
 def test_instfreq(self):
     """Test instantaneous frequency calculation."""
     signal, _ = fm.fmlin(128, 0.05, 0.3, 50)
     ifreq = fproc.inst_freq(signal)[0]
     self.assertAlmostEqual(ifreq.min(), 0.05, places=2)
     self.assertAlmostEqual(ifreq.max(), 0.3, places=2)
     self.assert_is_linear(ifreq)
Exemple #2
0
 def test_instfreq(self):
     """Test instantaneous frequency calculation."""
     signal, _ = fm.fmlin(128, 0.05, 0.3, 50)
     ifreq = fproc.inst_freq(signal)[0]
     self.assertAlmostEqual(ifreq.min(), 0.05, places=2)
     self.assertAlmostEqual(ifreq.max(), 0.3, places=2)
     self.assert_is_linear(ifreq)
Exemple #3
0
 def test_instfreq(self):
     signal, _ = fm.fmlin(128, 0.05, 0.3, 50)
     ifreq = fproc.inst_freq(signal)[0]
     self.assertAlmostEqual(ifreq.min(), 0.05, places=2)
     self.assertAlmostEqual(ifreq.max(), 0.3, places=2)
     self.assert_is_linear(ifreq)
Exemple #4
0
 def test_instfreq(self):
     signal, _ = fm.fmlin(128, 0.05, 0.3, 50)
     ifreq = fproc.inst_freq(signal)[0]
     self.assertAlmostEqual(ifreq.min(), 0.05, places=2)
     self.assertAlmostEqual(ifreq.max(), 0.3, places=2)
     self.assert_is_linear(ifreq)
Exemple #5
0
# -*- coding: utf-8 -*-
# vim:fenc=utf-8
#
# Copyright © 2015 jaidev <jaidev@newton>
#
# Distributed under terms of the MIT license.

"""

"""

import numpy as np
import matplotlib.pyplot as plt
from tftb.generators import dopnoise
from tftb.processing.freq_domain import inst_freq

z, iflaw = dopnoise(500, 200.0, 60.0, 10.0, 70.0, 128.0)
plt.subplot(211), plt.plot(np.real(z))
plt.grid()
plt.title('Complex noisy Doppler signal')
plt.xlim(0, 500)
ifl, t = inst_freq(z, np.arange(11, 479), 10)
plt.subplot(212)
plt.plot(iflaw, 'r', label='actual')
plt.plot(t, ifl, 'g', label='estimated')
plt.xlim(0, 500)
plt.legend()
plt.grid()
plt.title('Instantaneous frequency')
plt.show()
Exemple #6
0
    fig = plt.figure()
    if signal is not None:
        axsig = fig.add_subplot(211)
        axsig.set_position([0.10, 0.69, 0.80, 0.25])
        plt.sca(axsig)
        plt.plot(time_instants, np.real(signal))
        plt.title('Signal')
        plt.grid(True)
        plt.xlim(time_instants.min(), time_instants.max())
        axtfr = fig.add_subplot(212)
        axtfr.set_position([0.10, 0.21, 0.80, 0.45])
        plt.sca(axtfr)
    plt.plot(time_instants, iflaws)
    plt.xlim(time_instants.min(), time_instants.max())
    plt.grid(kwargs.get('grid', True))
    if minif >= 0:
        plt.ylim(0, 0.5)
    else:
        plt.ylim(-0.5, 0.5)
    plt.xlabel('Time')
    plt.ylabel('Normalized frequency')
    plt.title('Instantaneous frequency law(s)')
    plt.show()


if __name__ == '__main__':
    signal, _ = fmlin(256)
    time_samples = np.arange(3, 257)
    ifr = inst_freq(signal)
    plotifl(time_samples, ifr)
Exemple #7
0
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# vim:fenc=utf-8
#
# Copyright © 2015 jaidev <jaidev@newton>
#
# Distributed under terms of the MIT license.
"""

"""

import numpy as np
import matplotlib.pyplot as plt
from tftb.generators import dopnoise
from tftb.processing.freq_domain import inst_freq

z, iflaw = dopnoise(500, 200.0, 60.0, 10.0, 70.0, 128.0)
plt.subplot(211), plt.plot(np.real(z))
plt.grid()
plt.title('Complex noisy Doppler signal')
plt.xlim(0, 500)
ifl, t = inst_freq(z, np.arange(11, 479), 10)
plt.subplot(212)
plt.plot(iflaw, 'r', label='actual')
plt.plot(t, ifl, 'g', label='estimated')
plt.xlim(0, 500)
plt.legend()
plt.grid()
plt.title('Instantaneous frequency')
plt.show()
Exemple #8
0
    minif = np.amin(iflaws[indices])
    fig = plt.figure()
    if signal is not None:
        axsig = fig.add_subplot(211)
        axsig.set_position([0.10, 0.69, 0.80, 0.25])
        plt.sca(axsig)
        plt.plot(time_instants, np.real(signal))
        plt.title('Signal')
        plt.grid(True)
        plt.xlim(time_instants.min(), time_instants.max())
        axtfr = fig.add_subplot(212)
        axtfr.set_position([0.10, 0.21, 0.80, 0.45])
        plt.sca(axtfr)
    plt.plot(time_instants, iflaws)
    plt.xlim(time_instants.min(), time_instants.max())
    plt.grid(kwargs.get('grid', True))
    if minif >= 0:
        plt.ylim(0, 0.5)
    else:
        plt.ylim(-0.5, 0.5)
    plt.xlabel('Time')
    plt.ylabel('Normalized frequency')
    plt.title('Instantaneous frequency law(s)')
    plt.show()

if __name__ == '__main__':
    signal, _ = fmlin(256)
    time_samples = np.arange(3, 257)
    ifr = inst_freq(signal)
    plotifl(time_samples, ifr)