在很多应用领域都需要计算两个信号的相干性,比如两个地震信号是否相关的,又或者比如设计的波形,与采集回来的波是否相同。其实最明显的,就是两束光波的相干性,双缝干涉实验会看到明亮相隔的条纹。光的相干(coherence)指的是两个光的波动(光波)在传播过程中保持着相同的的相位差,具有相同的频率,或者有完全一致的波形。这样的两束光可以在传播过程中产生稳定的干涉(interference),也就是相长干涉、相消干涉。但在现实中完美的相干光能是不存在的,通常用相干性来描述光的相干性能,包含时间相干性和空间相干性。从激光器出来的激光通常有很好的相干性。这种激光在分束后合并可以产生稳定的相干条纹。相干在物理学上还有更加普遍的意义,它代表两个波,或者波集,具有的相关性( correlation)。
假如自己发出一束电磁波出去,而再接受一束电磁波返回,怎么样判断是否自己发射出去再返回的电磁波,就可以采用相干性函数来判断了。
下面通过例子来演示使用matplotlib里函数cohere计算相干性,并进行可视化。首先设置随机函数的种子为固定值,以便不同人运行这个例子得到相同的结果:
np.random.seed(20210224)
接着下来就是创建两列随