Let me have a noisy speech signal $y(k)$ as below.

$$ y(k) = x(k) + v(k) $$

where, $k$ is the discrete-time index, $x(k)$ is clean speech signal, $v(k)$ is a zero-mean random process, uncorrelated with $x(k)$ e.g. white noise.

If we put into this as a vector form:

$$ \textbf{y} (k) = \textbf{x}(k)+\textbf{v}(k)$$


$$ \textbf{y}(k) = [y(k) \text{ }\ y(k-1) \text{ }\ ... \text{ }\ y(k-L+1)]^T,$$

$L$ is a length of vector.

If we try to calculate the correlation matrix of size $L \times\ L$, the noisy speech signal can be written as

$$ \textbf{R}_y = E[\textbf{y}(k)\textbf{y}^T(k)] = \textbf{R}_x+\textbf{R}_v.$$

Also, $\textbf{R}_x = E[\textbf{x}(k)\textbf{x}^T(k)]$, $\textbf{R}_v = E[\textbf{v}(k)\textbf{v}^T(k)]$.

However, the speech signal is not the stationary signal but the transient signal. This correlation matrix also can be used for calculating MVDR(Minimum Variance Distortionless Response) process.

Here is what I want to know.

Because $\textbf{y}(k)$ is not the stationary signal, I think there is a method for calculating the correlation matrix for transient signal.

How can we calculate the cross-correlation matrix for transient signal?

Thank you in advance.

Above article is in the below. If there is any problem, I do delete this post. Thank you.

Jingdong Chen, Jacob Benesty, Yiteng Huang, and Tomas Gaensler(2011), "On single channel noise reduction in the time domain," Acoustics, Speech and Signal Processing (ICASSP), 2011 IEEE International Conference on, On page(s): 277 - 280.


Correct speech signal is non-stationary. Hence, you have to stop here as whole dsp is based on stationary assumption, as of now at least to a larger extent. But as we cannot sit idle, we go ahead with quasi-stationary assumption. Take a window (rect/hamming/hanning - these have trade-offs) of 20-30 msec (this is different for male/female/music and is taken as 3-4 pitch periods in speech signal, you can keep it fixed at 30 msec (also referred as narrowband speech processing to get an intuition). Using this window break the speech signal into frames by windowing and shifting the window and extracting a frame for every window. You now have a bag of window length vectors of the given speech signal. Find auto-corr of these for any further processing as within the window the signal is assumed to be stationary (! though not exactly but better than the whole signal).

  • $\begingroup$ Thank you for your comment. Yeah, I tried to calculate the speech signal as transient signal. So I questioned concern this theme. I need to study about quasi-stationary assumption. :) Also, let me summary what you mentioned. If I have one 30 msec frame, $F$. If I have a speech signal which length is $100F$, I have 100 frames if there is no overlap, right? In quasi-stationary assumption, each frame(30 msec signal) is treated as stationary signal? $\endgroup$ – actlee Dec 27 '13 at 6:39
  • $\begingroup$ Yes, the moment you take auto-correlation on a signal that inherently means you have assumed stationary assumption in that frame. If the answer help you do give 1 up or else 1 down, forum should make the good answers highlighted! $\endgroup$ – Neeks Dec 27 '13 at 6:58
  • $\begingroup$ Yeah, thanks. I would like to give up though I could not because I dont have enough reputation. :) However, this answer really helps me. Thanks. $\endgroup$ – actlee Dec 27 '13 at 7:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.