Guía Señales y Sistemas

1 Primer semana

1.1 Generación se señales

1.1.1 Imports

Con este fin, debemos importar las siguientes librerías

import numpy as np
from scipy import signal

1.1.2 Generación

  1. Defino la frecuencia de muestreo f_m

    fm = fm_0
  2. Creo un arreglo con los valores de t para los cuales generaremos las señales 0 \leq 1- \frac{1}{f_m} Para ello uso la función arange de numpy

    t = np.arange(0, 1, 1/fm)
  3. Defino la frecuencia de las señales f_s = f_{s_0}

    fs = fs_0
  4. Por último genero la señal deseada

    1. Señal senoidal

      Siendo que la señal senoidal se define como: y(t) = A~sen(2 \pi \ f_s \ t + \varphi) Debemos definir la amplitud de la señal: A = A_0 Y el desfase de la misma: \varphi = \varphi_0

      A = A_0
      phi = phi_0

      Utilizamos la funcion np.sin()

      señal_senoidal = A*np.sin(2*np.pi*fs*t+phi)
      Señal senoidal
    2. Señal rampa

      Utilizamos la función sawtooth , presente en el módulo signal de scipy

      rampa = signal.sawtooth(t)
      Señal rampa
    3. Señal cuadrada

      Utilizamos la función square , presente en el módulo signal de scipy

      cuadrada = signal.square(t)
      Señal cuadrada
    4. Señal aleatoria - ruido uniforme

      Utilizamos la función np.random.rand

      ruido_uniforme = np.random.rand(len(t))
      Ruido uniforme
    5. Señal aleatoria - ruido gaussiano

      Utilizamos la función np.random.randn

      ruido_gaussiano = np.random.randn(len(t))
      Ruido gaussiano