I am working on an echo removal project. So far, I have successfully identified the far-end signal of length 21 ms at a sampling rate of 48000Hz whose echo is present in my near-end signal of 21ms. I did it using Echo Detection and Delay Estimation using a Pattern Recognition Approach and Cepstral Correlation .

Now, I want to remove that far-end echoed signal from my near-end signal which contains(echoed signal of farend and voice).

Things I tried:

  1. Time-domain subtraction of PCM signals. i.e $y[n] = x_{ne}[n] - x_{fe}[n]$, where $x_{ne}[n]$ is the near-end signal and $x_{fe}[n]$ is the far-end echo signal.
  2. Spectral Subtraction technique Eliminate Signal A from Signal B. Even Ephraim-Malah

In both, I am not getting the expected result as for spectral subtraction I read that It works well when there is static noise or one signal is stationary. For non-stationary signals, it doesn't work well.

What are the other techniques to remove the echo in my scenario? Since I have identified the far-end chunk whose echo is present in the near end chunk, I just want to remove it from near end chunk.


Your Answer

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

Browse other questions tagged or ask your own question.