Espectrograma matplotlib

Espectrograma matplotlib
Un espectrograma es una representación gráfica de longitudes de onda a lo largo del tiempo que representa la potencia de transmisión en un momento dado en el tiempo. En términos simples, un espectrograma es una representación del sonido. También se conoce como VoiceGrams o Voiceprint. Los niveles de señal están representados por un espectrograma, que se muestra en una variedad de colores. Si el tono de la señal es brillante, esto indica que la intensidad de la señal es fuerte.

En otros términos, la tasa de muestreo del espectrograma está directamente relacionada con la luminancia del color. Se utiliza la serie de Fourier a corto plazo para hacer los espectrogramas. Realiza una evaluación simple de la frecuencia que varía en el tiempo. La idea principal es romper la onda de sonido en pequeños trozos, que luego se muestran en una trama contra la duración. El método SpecGram () se ha utilizado con los argumentos apropiados para esta representación visual.

En este artículo, veremos en detalle cómo dibujar un espectrograma en Python utilizando el módulo matplotlib.

Use PLT.método specgram ()

Aquí, vamos a discutir cómo utilizar la función PLT.specgram () para dibujar el espectrograma en Python.

Importar matplotlib.Pyplot como PLT
importar numpy como np
importación matemática
Time_diff = 0.0005
Time_arr = np.Linspace (1, 6, matemáticas.CEIL (6 / Time_diff))
D = 30*(NP.pecado (4 * np.pi * time_arr))
PLT.Specgram (d, fs = 8, cmap = "Rainbow")
PLT.Título ('Figura 1')
PLT.xlabel ("eje x")
PLT.Ylabel ("eje y")
PLT.espectáculo()

Antes de comenzar el código, tenemos que introducir diferentes bibliotecas. Mate.Pyplot se usa para crear visualizaciones animadas o estáticas. La biblioteca Numpy proporciona una gran cantidad de datos cuantitativos. Y la biblioteca de matemáticas se utiliza para llevar a cabo cálculos matemáticos.

En el paso posterior, tenemos que indicar el intervalo de tiempo para tomar la imagen de la señal producida. Ahora, inicializamos una matriz de valores utilizando la biblioteca Numpy. Aquí, llamamos a la función matemática.ceil () y el valor de la diferencia de tiempo se proporciona como un parámetro para esta función.

Además, creamos una nueva matriz que contiene los puntos de datos reales que queremos dibujar. Empleamos el método sin (). Como parámetro de esta función, multiplicamos los valores 3 y PI por la matriz ya existente. El espectrograma se está creando mediante el uso del PLT.método specgram ().

Los datos, la frecuencia y el color del gráfico se pasan como un parámetro de esta función. Del mismo modo, establecemos el título del eje x y el eje y mediante el uso del PLT.función de etiqueta (). Al final, representamos el gráfico con la ayuda del PLT.método show ().

Dibujar espectrograma que tenga esquema de color arcoiris

Podemos crear el espectrograma mediante el uso del PLT.función specgram (). Y aquí podemos especificar el mapa de color proporcionando el argumento 'CMAP' a la función PLT.specgram ().

Importar matplotlib.Pyplot como PLT
importar numpy como np
notario público.aleatorio.semilla (9360801)
d_t = 0.0007
Tiempo = NP.Arange (1.0, 30.0, D_T)
Sig1 = NP.pecado (5 * np.Pi * 150 * Tiempo)
Sig2 = 1.4 * NP.pecado (1.4 * NP.Pi * 450 * Tiempo)
Sig2 [Tiempo <= 11] = sig2[14 <= time] = 0
ruido = 0.8 * NP.aleatorio.aleatorio (tamaño = len (tiempo))
a = sig1 + sig2 + ruido
Nfft = 620
Fs = int (2.5 / d_t)
PLT.Specgram (a, fs = fs, cmap = "Rainbow")
PLT.Título ('Figura 2',
fontSize = 22, fontwe] ight = 'normal')
PLT.espectáculo()

Primero, importamos nuestras bibliotecas que se requieren para visualizaciones gráficas y análisis cuantitativos. Ahora, aplicamos la función aleatoria () de la biblioteca Numpy para declarar un conjunto de datos aleatorio. Especificamos el valor de la diferencia de tiempo. Tomamos una nueva variable y la declaramos con el método Arrange () de la biblioteca Numpy.

Además, integramos datos para dos señales mediante el uso del método sin () de la biblioteca Numpy. Creamos una nueva variable para el ruido por el método Random (). Aquí, pasamos la función de tamaño () para encontrar la longitud de la señal del intervalo de tiempo.

Ahora, hacemos una nueva variable que almacena los datos del ruido y otras dos señales. Además de esto, definimos el valor de la longitud del segmento y la frecuencia de muestreo. La función plt.se llama a specgram () para dibujar un espectrograma. Esta función contiene tres parámetros, incluido el conjunto de datos del eje x, la frecuencia de muestreo y el color del mapa.

Justo antes de mostrar el gráfico, especificamos el título para el gráfico mediante el uso del PLT.método title (). Aquí, podemos establecer la fuente y el peso de la fuente del título.

Uso de NFFT para dibujar espectrograma

En este paso, crearemos un espectrograma mediante el uso del parámetro NFFT.

Después de integrar las bibliotecas, tenemos que arreglar el estado aleatorio mediante el uso del método aleatorio (). Ahora, especificamos la diferencia de tiempo. Aquí, su valor es 0.0007. Además, declaramos el valor del intervalo de tiempo mediante el uso de la función Arrange () de la biblioteca Numpy.

En el siguiente paso, adquirimos los valores de ambas ondas de señal con la ayuda de la función sin (). Ahora, creamos un chirp temporal de la segunda señal. Agregamos el valor del ruido a la mezcla usando la función aleatoria (). Obtenemos la longitud de la onda de ruido.

Además, establecemos el valor de NFFT. Contiene el número de conjuntos de datos que están involucrados en cada bloque. El valor para la frecuencia de muestreo también está definido. Para crear gráficos, primero creamos dos objetos y luego empleamos el PLT.método de subtruces (). Aquí, establecemos el no. de filas como parámetro.

Además de esto, utilizamos el método SpecGram () para dibujar el espectrograma. Aquí, pasamos el valor de la superposición como parámetro. Esto muestra el NO. de puntos que se superponen entre trozos. Finalmente al final, tenemos que mostrar el gráfico mediante el uso de PLT.función show ().

Conclusión

Hemos explicado el método para crear un espectrograma en Python. Observamos la utilización del método SpecGram () para este tipo de visualización. Podemos especificar el esquema de color del espectrograma pasando 'CMAP' como parámetro para la función SpecGram (). Además, obtenemos el espectrograma que tiene un patrón de color del arco iris.