This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Acoustic Echo Cancellation for CA8168

Other Parts Discussed in Thread: DM3730

Dear all:

    I  am able to  run  AER   in codec engine  by calling  AER API. But   result  of acoustic echo cancellation  is  disappointed.  The  echo  only  is cancelled  a little.

    In codec, aerSendIn(void *aerInst, void *send_in, void *send_out, void *sout_8kHz, void *recv_out_sync, void *sout_pnlp_8kHz,void *trace_buf)  is called  to process  data.  The 8K  pcm  echo data  is storaged in send_in buffer;8K pcm  synchronized receive path output data is storaged in recv_out_sync buffer. The send_out buffer is  output data. 

   Following is the  pcm file:

   5850.aer_tx.pcm.txt

   1200.aer_rx.pcm.txt

   5621.aer_out.pcm.txt

   The aer_tx.pcm is synchronized receive path output data; aer_rx.pcm is echo data;aer_out.pcm is output data through echo cancellation processing.

   The pcm files is 8KHz,mono,16-bit intel PCM(LSB,MSB).

  • This was moved to this forum only today, Will  get back by Monday.

    regards

    YD

  • Golden,

     

    Please make sure AER is configured properly. Here is a check list:

    1. did you enable AER?

    2. what is parameter y2x_delay? There is 200msec delay from your aer_tx.pcm to aer_rx.pcm.

    3. what CPU are you using? Is it little endian or big endian? Please make sure the endianess of your data matches the endianess of the AER library object code.

     

    Regards,

    Jianzhong

  • Hi,

       Now the  AER can work well.  But a new  problem  occurs:

       I  new and open 20 aer instances,   the init processing  is normal.  The aerNew() and aerOpen()  return  no error.

       When aerReceiveIn() is called to process data, the 0-11 aer instances can work well. When the twelfth aer instance execute aerReceiveIn(), the aerReceive return error.

       The error value means that  the twelth aer instance don't open, but the aerOpen()  return success.

       The memory  space is enough.

       The CPU is CA8168.

  • Hi,

    Is the error code returned by aerReceiveIn() equal to 3 (aer_ERR_NOTOPENED)? What about aerSendIn()?

     

    Regards,

    Jianzhong

     

  • Dear Golden, 

    I noted that you could run  AER   in codec engine  by calling  AER API. I'm struggling to integrate AER (DSP version) into Codec Engine in DVSDK. My platform is DM3730. Can you give me any guide for that? I believe that you are also using DSP version AER, right?

    Thanks in advance,

    Jeff