📜  如何在Python中绘制两个信号之间的连贯性?

📅  最后修改于: 2022-05-13 01:54:28.984000             🧑  作者: Mango

如何在Python中绘制两个信号之间的连贯性?

Matplotlib是Python中用于数组二维图的惊人可视化库。 Matplotlib 是一个基于 NumPy 数组构建的多平台数据可视化库,旨在与更广泛的 SciPy 堆栈配合使用。

什么是连贯性和相关性?

相干性:用于测量两个信号之间的相关性。
相关性:它定义了一个量相对于另一个量的依赖程度。如果一个量完全依赖于另一个量,则它们之间的相关性称为 1。如果两个量或变量彼此不相关,则它们的相关性为零。
Coherence 是归一化的交叉谱密度:

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

在Python中, Matplotlib.pyplot.cohere() 用于查找两个信号之间的相干性。

让我们看看下面的例子,我们将使用上面的函数找到两个信号之间的一致性。

示例 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()


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()


输出:

示例 2:正弦和余弦信号之间的相干性

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()

输出: