Esempio n. 1
0
 def plot_group_delay(self, a, b):
     w, gd = signal.group_delay((b, a))
     plt.plot(w, numpy.round(gd, 5))
     plt.ylabel('Retardo de grupo [muestras]')
     plt.xlabel('Frecuencia [rad/muestra]')
     plt.title('Retardo de grupo')
     plt.show()
Esempio n. 2
0
 def zplane(self, a, b):
     # Fix axes
     ax = plt.gca()
     ax.spines['left'].set_position('zero')
     ax.spines['bottom'].set_position('zero')
     ax.spines['right'].set_visible(False)
     ax.spines['top'].set_visible(False)
     # Draw circle
     circle = patches.Circle((0, 0),
                             radius=1,
                             color='black',
                             ls='dashed',
                             fill=False)
     ax.add_patch(circle)
     # Make a and b of equal length
     a = numpy.append(a, numpy.repeat(0, max(len(a), len(b)) - len(a)))
     b = numpy.append(b, numpy.repeat(0, max(len(a), len(b)) - len(b)))
     # Plot poles
     p = numpy.roots(a)
     plt.plot(p.real, p.imag, 'kx', ms=7)
     # Plot zeros
     z = numpy.roots(b)
     plt.plot(z.real, z.imag, 'ko', ms=7)
     plt.axis('scaled')
     plt.show()
Esempio n. 3
0
 def plot_freq_resp(self, a, b, worN=None):
     w, h = signal.freqz(b, a, worN)
     plt.plot(w, 20 * numpy.log10(abs(h)), 'b')
     plt.ylabel('Amplitud [dB]', color='b')
     plt.xlabel('Frecuencia [rad/muestra]')
     plt.gca().twinx()
     angles = numpy.unwrap(numpy.angle(h))
     plt.plot(w, angles, 'g')
     plt.ylabel('Fase (rad)', color='g')
     plt.grid()
     plt.show()
Esempio n. 4
0
    def leer_wave(self, filename):
        """Lectura de un fichero de audio para representación gráfica

        - filename, cadena de texto, es la ruta donde se encuentra el fichero a analizar"""
        framerate, data = wavfile.read(filename)
        t = numpy.arange(start=0,
                         stop=1.0 * data.size / framerate,
                         step=1. / framerate)
        plt.figure(1)
        plt.subplot(211)
        plt.title('Onda de:\n' + filename)
        plt.xlabel('Tiempo (seg)')
        plt.plot(data)
        return plt, data, framerate
Esempio n. 5
0
    def leer_wave(self, filename):
        """Lee un fichero de audio y muestra en la salida los datos leidos en x
        y la frecuencia de muestreo a la que se ha grabado el audio

        Entrada:
        - filename, cadena de texto, ruta del fichero que queremos leer

        Salidas:
        - x, array, datos en bruto del fichero leido
        - framerate, entero, frecuencia de muestreo del audio"""
        framerate, data = wavfile.read(filename)
        plt.figure(1, figsize=(9, 9))
        plt.subplot(211)
        plt.title('Onda de:\n' + filename)
        plt.ylabel('Amplitud')
        plt.xlabel('Tiempo [muestras]')
        plt.plot(data)
        return data, framerate