Hello,

I have been working on acoustic echo cancellation while following the research paper :

Conference Paper Echo Detection and Delay Estimation using a Pattern Recognti...

Since I am working on real-time audio data so my problem is as follows:

  • I have a buffer that stores Far-end (packets being played by phone) data in terms of 21.33ms chunk equivalent to 1024 shorts.( Sampling rate 48000 Hz)
  • A near-end packet is recorded i.e 21.33ms of data with the same format as mentioned above.

Problem Statement:

  • Let's suppose we have a Far-end packet containing the word "hello"

------------------------------

| |

| H E L L O |

------------------------------

is being played by phone and now its echo is being recorded in a Near-End packet. Now the cases arise here are that this could be recorded as:1

------------------------------

  • | |
  • | H E L L O |

    ------------------------------

    Hello completely recorded in one packet.

    2. ------------------------------ ------------------------------

    | | | |

    | H E | | L L O |

    ------------------------------ ------------------------------

    Distributed in two Near-end packets

    3. ------------------------------ ------------------------------

    | | | |

    | H | | E L L O |

    ------------------------------ ------------------------------

    and so on random distribution of far-end audio between multiple chunks of near-end audio.

    Now, I want to detect echo and perform cancellation. That can be done if I get an accurate chunk of far-end whose echo is in the near end chunk. Right now I am making overlapped chunks with the shift of 1 sample equivalent to 0.020833 ms of data. But this is quite computationally over expensive.

    So 2 questions arise here:

  • What should be the optimal length of overlapping?
  • What could be the minimum resolution of acoustic echo in terms of time in ms? i.e minimum echo delay change? Can it be like 0.1ms or 0.02 ms ?
  • I hope my question will be cleared. I tried to explain it yet keep it concise.

    Any help will be appreciated.

    Regards,

    Khubaib Ahmad

    More Khubaib Ahmad's questions See All
    Similar questions and discussions