def test_integer_all(self): f0 = 10 t1 = 3 f1 = 20 t = np.linspace(-1, 1, 11) float_result = waveforms.chirp(t, float(f0), float(t1), float(f1)) int_result = waveforms.chirp(t, f0, t1, f1) err_msg = "Integer input 'f0=10, t1=3, f1=20' gives wrong result" assert_equal(int_result, float_result, err_msg=err_msg)
def test_integer_f1(self): f0 = 10.0 t1 = 3.0 t = np.linspace(-1, 1, 11) f1 = 20.0 float_result = waveforms.chirp(t, f0, t1, f1) f1 = 20 int_result = waveforms.chirp(t, f0, t1, f1) err_msg = "Integer input 'f1=20' gives wrong result" assert_equal(int_result, float_result, err_msg=err_msg)
def test_quadratic_at_zero2(self): w = waveforms.chirp(t=0, f0=1.0, f1=2.0, t1=1.0, method='quadratic', vertex_zero=False) assert_almost_equal(w, 1.0)
def make_linear(f0, t1, f1, filename=None, fig_size=FIG_SIZE): t = np.linspace(0, t1, 5001) w = chirp(t, f0=f0, f1=f1, t1=t1, method="linear") figure(1, figsize=fig_size) clf() subplot(2, 1, 1) plot(t, w) tstr = "Linear Chirp, f(0)=%g, f(%g)=%g" % (f0, t1, f1) title(tstr) subplot(2, 1, 2) plot(t, f0 + (f1 - f0) * t / t1, "r") grid(True) ylabel("Frequency (Hz)") xlabel("time (sec)") if filename is None: show() else: savefig(filename)
def make_quadratic_v0false(f0, t1, f1, filename=None, fig_size=FIG_SIZE): t = np.linspace(0, t1, 5001) w = chirp(t, f0=f0, f1=f1, t1=t1, method="quadratic", vertex_zero=False) figure(1, figsize=fig_size) clf() subplot(2, 1, 1) plot(t, w) tstr = "Quadratic Chirp, f(0)=%g, f(%g)=%g (vertex_zero=False)" % (f0, t1, f1) title(tstr) subplot(2, 1, 2) plot(t, f1 - (f1 - f0) * (t1 - t) ** 2 / t1 ** 2, "r") grid(True) ylabel("Frequency (Hz)") xlabel("time (sec)") if filename is None: show() else: savefig(filename)
def make_hyperbolic(f0, t1, f1, filename=None, fig_size=FIG_SIZE): t = np.linspace(0, t1, 5001) w = chirp(t, f0=f0, f1=f1, t1=t1, method='hyperbolic') figure(1, figsize=fig_size) clf() subplot(2, 1, 1) plot(t, w) tstr = "Hyperbolic Chirp, f(0)=%g, f(%g)=%g" % (f0, t1, f1) title(tstr) subplot(2, 1, 2) plot(t, f0 * f1 * t1 / ((f0 - f1) * t + f1 * t1), 'r') grid(True) ylabel('Frequency (Hz)') xlabel('time (sec)') if filename is None: show() else: savefig(filename)
def make_quadratic(f0, t1, f1, filename=None, fig_size=FIG_SIZE): t = np.linspace(0, t1, 5001) w = chirp(t, f0=f0, f1=f1, t1=t1, method='quadratic') figure(1, figsize=fig_size) clf() subplot(2, 1, 1) plot(t, w) tstr = "Quadratic Chirp, f(0)=%g, f(%g)=%g" % (f0, t1, f1) title(tstr) subplot(2, 1, 2) plot(t, f0 + (f1 - f0) * t**2 / t1**2, 'r') grid(True) ylabel('Frequency (Hz)') xlabel('time (sec)') if filename is None: show() else: savefig(filename)
def make_quadratic(f0, t1, f1, filename=None, fig_size=FIG_SIZE): t = np.linspace(0, t1, 5001) w = chirp(t, f0=f0, f1=f1, t1=t1, method='quadratic') figure(1, figsize=fig_size) clf() subplot(2,1,1) plot(t, w) tstr = "Quadratic Chirp, f(0)=%g, f(%g)=%g" % (f0, t1, f1) title(tstr) subplot(2,1,2) plot(t, f0 + (f1-f0)*t**2/t1**2, 'r') grid(True) ylabel('Frequency (Hz)') xlabel('time (sec)') if filename is None: show() else: savefig(filename)
def make_hyperbolic(f0, t1, f1, filename=None, fig_size=FIG_SIZE): t = np.linspace(0, t1, 5001) w = chirp(t, f0=f0, f1=f1, t1=t1, method="hyperbolic") figure(1, figsize=fig_size) clf() subplot(2, 1, 1) plot(t, w) tstr = "Hyperbolic Chirp, f(0)=%g, f(%g)=%g" % (f0, t1, f1) title(tstr) subplot(2, 1, 2) plot(t, f0 * f1 * t1 / ((f0 - f1) * t + f1 * t1), "r") grid(True) ylabel("Frequency (Hz)") xlabel("time (sec)") if filename is None: show() else: savefig(filename)
def make_logarithmic(f0, t1, f1, filename=None, fig_size=FIG_SIZE): t = np.linspace(0, t1, 5001) w = chirp(t, f0=f0, f1=f1, t1=t1, method="logarithmic") figure(1, figsize=fig_size) clf() subplot(2, 1, 1) plot(t, w) tstr = "Logarithmic Chirp, f(0)=%g, f(%g)=%g" % (f0, t1, f1) title(tstr) subplot(2, 1, 2) plot(t, f0 * (f1 / f0) ** (t / t1), "r") # yscale('log') grid(True) ylabel("Frequency (Hz)") xlabel("time (sec)") if filename is None: show() else: savefig(filename)
def make_logarithmic(f0, t1, f1, filename=None, fig_size=FIG_SIZE): t = np.linspace(0, t1, 5001) w = chirp(t, f0=f0, f1=f1, t1=t1, method='logarithmic') figure(1, figsize=fig_size) clf() subplot(2, 1, 1) plot(t, w) tstr = "Logarithmic Chirp, f(0)=%g, f(%g)=%g" % (f0, t1, f1) title(tstr) subplot(2, 1, 2) plot(t, f0 * (f1 / f0)**(t / t1), 'r') # yscale('log') grid(True) ylabel('Frequency (Hz)') xlabel('time (sec)') if filename is None: show() else: savefig(filename)
def make_linear(f0, t1, f1, filename=None, fig_size=FIG_SIZE): t = np.linspace(0, t1, 5001) w = chirp(t, f0=f0, f1=f1, t1=t1, method='linear') figure(1, figsize=fig_size) clf() subplot(2, 1, 1) plot(t, w) tstr = "Linear Chirp, f(0)=%g, f(%g)=%g" % (f0, t1, f1) title(tstr) # subplot(2,1,2) # plot(t, f0 + (f1-f0)*t/t1, 'r') # grid(True) # ylabel('Frequency (Hz)') # xlabel('time (sec)') # if filename is None: # show() # else: # savefig(filename) return w
def test_logarithmic_at_zero(self): w = waveforms.chirp(t=0, f0=1.0, f1=2.0, t1=1.0, method='logarithmic') assert_almost_equal(w, 1.0)
def test_hyperbolic_at_zero(self): w = waveforms.chirp(t=0, f0=10.0, f1=1.0, t1=1.0, method='hyperbolic') assert_almost_equal(w, 1.0)
def test_linear_at_zero(self): w = waveforms.chirp(t=0, f0=1.0, f1=2.0, t1=1.0, method='linear') assert_almost_equal(w, 1.0)
def test_quadratic_at_zero(self): w = waveforms.chirp(t=0, f0=1.0, f1=2.0, t1=1.0, method="quadratic") assert_almost_equal(w, 1.0)