问题描述
我正在使用python,但这是一个通用问题(与算法等相关性更强),因此我跳过了一些步骤以了解问题的要点:
我生成这样的正弦信号:
import math as m
signal = [m.sin(2*m.pi*1*(t/n-d)) for t in range(n)]
因此归一化为正弦信号,该频率为1,时间从0到1秒(因此基本上是一个简单的正弦波周期)。还有一个延迟项d,它会延迟信号(导致相移)。 n只是样本数
我还会创建另一个信号,但会有另一个延迟。假设我对第一个信号使用0的延迟,对第二个信号使用x的延迟(为清楚起见,我将其缩写为缩写):
signal1 = signal(delay=0)
signal2 = signal(delay=x)
然后进行关联:
from scipy import signal as sgn
corr11 = sgn.correlate(signal1,signal1,mode = 'full')
corr12 = sgn.correlate(signal1,signal2,mode = 'full')
我也知道信号延迟与相关点的最大值相关,所以我取出了两个点:
import numpy as np
a1 = np.argmax(corr11)
a2 = np.argmax(corr12)
因此,我发现信号与其自身的相关在相关数组(或图/函数)的中间具有最大峰值。但是另一个高峰很奇怪:
- 在延迟0和1:a2与a1相同
- 在延迟0.5时:a2与a1的距离是a1(反相信号)的0.5
- 延迟0.28328:a2为a1的0.75
- 延迟0.1:a2为a1的0.90888
问题是,在将信号相关之后,延迟d与峰值位置如何相关?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)