We've integrated the AER version 16.0.0.1 (aer_gcarmv7a_obj_16_0_0_1_Linux) on OMAP4 based video communication device. We are finding the convergence test failing on our device in a typical room environment. We are seeing the adaptive filter diverging more often for all kinds of signals, white noise, CSS and even for typical speech signals.
We have been able to reproduce the issue on the aer simulation environment also by feeding in the send in signal (mic signal) captured on the real device. For the test, we are using the default tail length of 200ms, CSS signal (css_16k_-18dBFS.pcm) as receive in input and enabling only "AER enable" and "AER update enable".
We've modified the aersim.c file in order take the send in signal from a file. We've made sure that the system is causal by setting y2x delay to 0, planning to optimize it later for the correct value.
The output signals receive out and send out signals are stored in the files receiveout.pcm and sendout.pcm, both are in little endian format.
Can you please help us in finding out the root cause of this issue?
Attached tar.gz file containing all the files.
Build Steps
Use the below modified files to build the aer simulation environment.
- aersim.c - to input the send in signal captured on the device
- aersim_setup.c - set he y2x delay to 0 just to make sure the system is hundred percent causal for this experiment, later we will set the optimal delay.
- aersimcfg.txt - disabled everything except AER enable and AER update enable (required on the target)
Execution steps
1) copy css_16k_-18dBFS.pcm ../../vectors/inp/ directory on the target
2) copy the aersimcfg.txt to the test directory
2) run the executable
# ./aertest_cortexA8.xv7A
More details on the Usage -
# ./aertest_cortexA8.xv7A -h
Usage:
./aertest_cortexA8.xv7A
-p Use real device send in signal
1 - enable <default>
0 - disable
if 1 then the program takes send in signal from the file sendin.pcm
and writes receive out and send out signals to receiveout.pcm and sendout.pcm files, near end signal is discarded
All these three files are in the little endian format
The far end signal is always from a file specified in the aersimcfg.txt' and for this test it is ne_pink_16k.pcm (big endian format only)
-h - print this message
Thanks in advance.