有2个信号A(t),B(t)代表输出功率。 A是延时输出。如何实现这个公式
Cross_cor(delay)=[A(t + delay) − <A(t)>]*[B(t) − <B(t)>] / {[A(t)-<A(t)]^2 * [B(t)-<B(t)]^2} ^2
答案 0 :(得分:0)
我要说[X]是X的平均值:
R(dt)= [(A(t + dt) - [A(t)])*(B(t) - [B(t)])] /(std(A)* std(B) )
分子采用两个函数A(t)和B(t)并使它们居中,这就是减去均值所做的。我可以创建两个新功能,使这一切看起来更容易一些:
C(t)= A(t) - [A(t)] D(t)= B(t) - [B(t)]
然后:
R(dt)= [C(t + dt)* D(t)] /(std(C)* std(D))
现在我将这两个功能结合起来并采取平均值。如果这两个函数彼此精确地移动,则这将是1,这意味着正相关。
您可以通过执行以下操作在Matlab中执行此操作:
a = randn(1,50);
b = randn(1,50);
x1 = mean((a - mean(a)) .* (b - mean(b)))/(std(a) * std(b))
这给了我dt = 0的crosscor,另一个dt do:
x2 = mean((a(2:50) - mean(a(2:50))) .* (b(1:49) - mean(b(1:49))))/(std(a) * std(b))