Correlation of Signals
Correlation of Signals
Pouyan Ebrahimbabaie
2
Motivation
3
Motivation
4
Correlation signal
𝒓𝒙𝒚 𝒍 = 𝒙 𝒏 × 𝒚 𝒏 − 𝒍 −∞<𝒍<∞
𝒏=−∞
5
Correlation signal
𝒓𝒙𝒚 𝒍 = 𝒙 𝒏 × 𝒚 𝒏 − 𝒍 −∞<𝒍<∞
𝒏=−∞
𝒓𝒙𝒚 𝒍 = 𝒙 𝒏 × 𝒚 𝒏 − 𝒍 −∞<𝒍<∞
𝒏=−∞
Alternative formula:
𝒓𝒙𝒚 𝒍 = 𝒙 𝒍 ∗ 𝒚[−𝒍]
7
Correlation signal
𝒓𝒙𝒚 𝒍 = 𝒙 𝒏 × 𝒚 𝒏 − 𝒍 −∞<𝒍<∞
𝒏=−∞
Alternative formula:
𝒓𝒙𝒚 𝒍 = 𝒙 𝒍 ∗ 𝒚[−𝒍]
Normalized correlation:
𝒓𝒙𝒚 𝒍
−𝟏 ≤ 𝝆𝒙𝒚 [𝒍] ≜ ≤𝟏
𝑬𝒙 𝑬𝒚 8
How does it work?!
Example 1:
let 𝒙 𝒏 = 𝒄𝒚 𝒏 − 𝒏𝟎 , 𝒄 > 𝟎
9
How does it work?!
Example 1:
let 𝒙 𝒏 = 𝒄𝒚 𝒏 − 𝒏𝟎 , 𝒄 > 𝟎
𝝆𝒙𝒚 𝒍
𝒏𝟎 𝒍
10
How does it work?!
Example 1:
let 𝒙 𝒏 = 𝒄𝒚 𝒏 − 𝒏𝟎 , 𝒄 > 𝟎 → 𝝆𝒙𝒚 𝒏𝟎 = 𝟏 .
𝝆𝒙𝒚 𝒍
𝒏𝟎 𝒍
11
How does it work?!
Example 2:
let 𝒙 𝒏 and 𝒚 𝒏 be two uncorrelated signal.
𝝆𝒙𝒚 𝒍
𝒍
12
Autocorrelation
𝒓𝒙 𝒍 = 𝒙 𝒍 ∗ 𝒙[−𝒍]
Autocorrelation
𝒓𝒙 𝒍 = 𝒙 𝒍 ∗ 𝒙[−𝒍]
Wiener-Khintchine theorem:
𝐃𝐓𝐅𝐓 𝟐
𝒋𝝎
𝒓𝒙 𝒍 = 𝒙 𝒍 ∗ 𝒙 −𝒍 𝑹𝒙 𝝎 = 𝑿(𝒆 )
Numerical computation of correlation signal
Cross correlation:
∞
𝒓𝒙𝒚 𝒍 = 𝒙 𝒏 × 𝒚 𝒏 − 𝒍 −∞<𝒍<∞
𝒏=−∞
MATLAB function:
𝒚 𝒏 = 𝒙[𝒏]
Echo
𝒚 𝒏 = 𝒙[𝒏]
Echo
𝒚 𝒏 = 𝒙 𝒏 + 𝒂 𝒙[𝒏 − 𝑫]
Echo
𝒚 𝒏 = 𝒙 𝒏 + 𝒂 𝒙[𝒏 − 𝑫]
Attenuation Distance
Echo
𝒚 𝒏 = 𝒙 𝒏 + 𝒂 𝒚[𝒏 − 𝑫] →
𝒀 𝒛 = 𝑿 𝒛 + 𝒂 𝑿 𝒛 𝒛−𝑫
Echo
𝒚 𝒏 = 𝒙 𝒏 + 𝒂 𝒚[𝒏 − 𝑫] →
𝒀 𝒛 = 𝑿 𝒛 + 𝒂 𝑿 𝒛 𝒛−𝑫 →
Echo filter: 𝑯[𝒛] = 𝒀 [𝒛]/𝑿[𝒛] = (𝟏 + 𝒂𝒛−𝑫 )
Application (sound)
MATLAB functions:
[x,Fs]=audioread(‘Filename.wav’)
% Reads audio file and return sampled signal x
(all channels), and sampling frequency Fs.
• https://nl.mathworks.com/help/matlab/ref/audioread.ht
ml
• https://nl.mathworks.com/help/matlab/ref/filter.html
• https://nl.mathworks.com/help/signal/ref/xcorr.html