220 likes | 346 Views
BIEN425 – Lecture 8. By the end of the lecture, you should be able to: Compute cross- /auto-correlation using matrix multiplication Compute cross- /auto-correlation using DFT and Matlab Relate auto-correlation of white noise with its average power Extract periodic signal from noise.
E N D
BIEN425 – Lecture 8 • By the end of the lecture, you should be able to: • Compute cross- /auto-correlation using matrix multiplication • Compute cross- /auto-correlation using DFT and Matlab • Relate auto-correlation of white noise with its average power • Extract periodic signal from noise
Recall: Convolution • Is a filter operation that computes the zero-state output corresponding to an input x(k) • Matlab code: conv.m • As denoted by * • If h(i) is a L-point signal, and x(k) is a M-point signal then the convolution has length L+M-1
Circular convolution • Let h(k) and x(k) be N-point signals and xp(k) be the periodic extension of x(k). Circular convolution is defined as • Very simply yc(k) = C(x)h, where C(x) is defined as:
Note that circular convolution is more efficient (faster) • However, it cannot be used directly to compute zero-state response • Also needs to assume h(k) and x(k) have the same length. • Another problem is with periodicity • We can solve this using zero-padding. But the zero-state response is not periodic
Zero padding • Pad both h(k) and x(k) to be length N = L+M-1, now denoted as hz(k) and xz(k) • Now, y = C(xz)hz y is now M+L-1 in length
Example • Matlab example
Fast convolution • Convolution in the time domain maps into multiplication in the frequency domain using Z-transform. • We may substitute circular for linear convolution; DFT for Z-transform
h(k) hz(k) Zero pad FFT y(k) IFFT x(k) xz(k) Zero pad FFT • Now if enough zeros are padded to h(k) and x(k) so that they both have length N≥L+M-1 where N = 2r • This is called fast linear convolution We get Hz(i) and Xz(i)
Cross-correlation • Measures the degree to which a pattern of L-point signal y(k) is similar to the pattern of an M-point signal x(k) • This definition works fine for deterministic signals. • To generalize it to include stochastic signals: For example: on next slide
Again, it can be computed using matrix formulation: • Example 4.8, the index corresponding to the largest rxy(k) represents the optimal delay.
Normalized linear cross-correlation • So that it takes on values [-1, 1] This allows us to measure the amount of “significance” that is independent on the scaling or amplitude of the signal
We can have a fixed threshold to determine if two signalsare significantly similar.
x(k) xz(k) Zero pad FFT rxy(k) IFFT /L y(k) yz(k) Zero pad FFT * Fast correlation • Again, similar to fast convolution, we could utilize properties of FFT to achieve a fast version of correlation • Block diagram:
Auto-correlation • For special case where y(k) = x(k) • It can be expressed in terms of expected values • For the special case of white noise v(k),
Relating auto-correlation and PSD If we apply the same principle of circular convolution to correlation, circular-correlation cxy(k) can be obtained Notice here (–k)
Extracting periodic signals from noise Motivation? • Let’s say y(k) = x(k) + v(k), 0≤ k <N and the period M<N. • Therefore, for k≠0, cyy(k) = cxx(k) x(k) is periodic M (but we didn’t know that from the beginning Because correlation of noise with any other signal is 0!
Auto-correlation averages the noise out! • Also note that cxx(k) is periodic • Therefore, the period of x(k) can be estimated by examining the peaks and valleys in cyy(k)
Once the period of a noise-corrupted signal is determined, we can estimate the original periodic signal • Let L = floor (N/M) • We define delta function of period M 0 ≤ k < M By definition Because L = floor of (N/M)
Now the second term approaches 0 for large L • Therefore Because x is period M
d(k) v(k) Circularcrosscorrelation N/L x(k) y(k) Block diagram