¿Cómo trazar la coherencia entre dos señales en Python?

Matplotlib es una increíble biblioteca de visualización en Python para gráficos 2D de arrays. Matplotlib es una biblioteca de visualización de datos multiplataforma basada en arrays NumPy y diseñada para funcionar con la pila SciPy más amplia.
 

¿Qué es la coherencia y la correlación?

Coherencia: Se utiliza para medir la correlación entre dos señales.
Correlación: Define el grado de dependencia de una cantidad sobre la otra. Si una cantidad depende totalmente de otra, se dice que la correlación entre ellas es 1. Si dos cantidades o variables no están relacionadas entre sí, entonces tienen correlación cero.
La coherencia es la densidad espectral cruzada normalizada:
 

\[Cxy = \frac{|Pxy|^2}{Pxx-Pyy}\]

En Python, Matplotlib.pyplot.cohere() se usa para encontrar la coherencia entre dos señales.

Sintaxis:

Parámetros: este método acepta los siguientes parámetros
: 1) x, y: es la secuencia de datos. 
2) Fs: es un parámetro escalar y su valor predeterminado es 2, 
3) ventana: este parámetro toma un segmento de datos como argumento y devuelve la versión en ventana del segmento. Su valor predeterminado es window_hanning() 
4) lados: este parámetro especifica qué lados del espectro devolver. Esto puede tener los siguientes valores: ‘predeterminado’, ‘una cara’ y ‘dos ​​caras’. 
5) pad_to: este parámetro contiene el valor entero al que se rellena el segmento de datos. 
6) FC:Este parámetro también contiene el valor entero para compensar las extensiones x del gráfico para reflejar el rango de frecuencia. Su valor por defecto es 0 
7) NFFT: Este parámetro contiene el número de puntos de datos utilizados en cada bloque para la FFT. 
8) detrend: este parámetro contiene la función aplicada a cada segmento antes de la fft-ing, diseñada para eliminar la tendencia media o lineal {‘none’, ‘mean’, ‘linear’}. 
scale by freq: este parámetro permite la integración sobre los valores de frecuencia devueltos. 
9) superposición: este parámetro es el número de puntos de superposición entre bloques. 
10) Fc : Este parámetro es la frecuencia central de x.

Devoluciones: Este método devuelve lo siguiente 
: 1) Cxy: Esto devuelve el vector de coherencia. 2) freqs: Devuelve las frecuencias de los elementos en Cxy. 

 

La resultante es (Cxy, frecuencias)

Veamos los siguientes ejemplos donde encontraremos la coherencia entre las dos señales usando la función anterior.

Ejemplo 1:

python3

import numpy as np
import matplotlib.pyplot as plt
 
 
# signal 1
time1=np.arange(0,100,0.1)
cossignal1= np.cos(time1)
 
plt.plot(cossignal1)
plt.title("Signal 1")
plt.show()
 
 
# signal 2
time2=np.arange(0,100,0.1)
cossignal2= np.cos(time2)
 
plt.plot(cossignal2)
plt.title("Signal 2")
plt.show()
 
# Store the value of correlation in a
# variable say 'cor' using the following code:
cor=plt.cohere(cossignal1,cossignal2)
 
 
# plot the coherence graph
plt.show()

Producción:

Ejemplo 2: Coherencia entre señal seno y coseno
 

Python3

import numpy as np
import matplotlib.pyplot as plt
 
 
# signal 1
time1 = np.arange(0, 100, 0.1)
sinsignal1 = np.sin(time1)
 
plt.plot(sinsignal1)
plt.title("Sine Signal")
plt.show()
 
# signal 2
time2 = np.arange(0, 100, 0.1)
cossignal2 = np.cos(time2)
 
plt.plot(cossignal2)
plt.title("Code Signal")
plt.show()
 
# Store the value of correlation in
# a variable say 'cor' using the
# following code
cor = plt.cohere(sinsignal1, cossignal2)   
 
# Plot the coherence graph
plt.show()

Producción:
 

Publicación traducida automáticamente

Artículo escrito por romy421kumari y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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