Taller DSP 1 – Señal sinusoidal digital

La idea de este post es disponibilizar un taller que permita a lxs estudiantes aprender sobre los conceptos relacionados a las señales digitales y como las desiciones que se toman en el proceso de digitalización pueden impactar sustancialmente en el registro o generación de una señal. Para ello se utiliza el lenguaje python con sus respectivas librerias.


# Importando librerias
import numpy as np

t_i = 0
t_f = 1

f_s = 1000

#Importamos librerias
import numpy as np
import matplotlib.pyplot as plt
from __future__ import print_function
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets as widgets

# Amplitude = A
# Frequency = f
# Phase = phi
# tiempo inicia = t_i
# tiempo final = t_f

# Cantidad de muestras por segundo
f_s = 100#Samples/s

# Punto de inicio y final de mi experimento
t_i = 0
t_f = 1

T_s = 1/f_s # Periodo de muestreo (Lapso de tiempo entre muestra y muestra)

# Espacio muestreal t
t = np.arange(t_i,t_f,T_s)

def sinusoidal(t_i,t_f,f_s,A,f,phi):
    s = A*np.sin(2*np.pi*f*t+phi)
    plt.figure(1,figsize=(10,7),dpi=200)
    plt.plot(t,s,label="signal 1")
    plt.title(r"$S_1(t)$")
    plt.xlabel("t(s)")
    plt.ylabel("Amplitude s(t)")
    #plt.xlim(0.5*step,2.5*step)
    plt.legend()
    plt.show()

%matplotlib inline
interact(sinusoidal,t_i=widgets.FloatSlider(min=0, max=0.9, step=0.1, value=0),t_f=widgets.FloatSlider(min=1, max=10, step=0.1, value=1),f_s=widgets.FloatSlider(min=1, max=1000000, step=1, value=1000),A=widgets.FloatSlider(min=0, max=5, step=0.1, value=1),f=widgets.FloatSlider(min=0, max=1000, step=1, value=1),phi=widgets.FloatSlider(min=0, max=2*np.pi, step=0.01, value=0));
#IntSlider(min=1.001, max=1.002, step=1, value=10)

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos requeridos están marcados *

Most Recent Posts

  • All Post
  • Digital Signal Processing
  • install
  • Python

Category