If I have 3 signals coming from 3 microphones with noise $n$ delayed like this:

$S_1(t) = x(t) + n(t+\phi_1)$

$S_2(t) = x(t) + n(t+\phi_2)$

$S_3(t) = x(t) + n(t+\phi_3)$

Their shared feature $x(t)$ is in phase and exactly the same. $x(t)$ is a voice and the noise can be anything different from $x(t)$.

EDIT 1: To be more precise, the different noises also share similar features but with different phases:

$n_1(t) = \sum_{0 \to n} m_1(t+\tau_1) + m_2(t+\tau_2) + ... +m_n(t+\tau_n)$ $n_2(t) = \sum_{0 \to n} m_1(t+\tau'_1) + m_2(t+\tau'_2) + ... +m_n(t+\tau'_n)$


I approximately know what $x(t)$ is, a voice call like "Hello Robot".

How can I extract and detect $x(t)$ from these three signals?

  • $\begingroup$ What do you mean by "collerated"? $\endgroup$
    – MBaz
    Sep 25, 2017 at 22:07
  • $\begingroup$ Sorry I translated the word from French and thought it had the same meaning. I mean that these signals are exactly the same, with the same phase and the same amplitude. $\endgroup$ Sep 26, 2017 at 9:06

1 Answer 1


Depending on how good your approximation of x(t) is, you might want to try this:

  1. Subtract your approx. of x(t) from all $S$
  2. Cross correlate the signals to get $\phi_2$ and $\phi_3$ (choose $\phi_1$ = 0)
  3. You now should have n(t),
  4. Subtract $n(t)$ from orig $S_1$.
  5. You now have x(t)

edit: Please note, that this will only work if your approximation of x(t) is quite good, and the noise you have really is equal in all mics (and not introduced due to electronics etc.)


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.