I am experiencing a problem when I try to implement a crossover network at the output of an ADAU 1772/1777 to use headphone output 0 as a tweeter and headphone output 1 as a woofer for dual driver headphones.
My configuration is made to use a Codec for each earpiece so I can use both outputs of one codec for each earpiece.
At the input I have 2 microphones: one internal for feedback active noise cancellation (Analog Input 2) and one external for hearthrough (Analog Input 3).
The filter banks (all general 2nd order) are flat by default and only the CO filters are set. All other filters are programmed live, based on individual ear transfer function.
Here's what I do:
1- The crossover filters are implemented without the outer mic and Add block: in that situation, the crossover works fine.
2- I insert the outer mic filters + linear gain (0) + add block: the response of the tweeter changes to a kind of bandpass filter with a large gain.
3- If I remove the linear gain AND the input 3 is unmuted: the tweeter is not outputing signal
4- If I mute Input 3: the tweeter response return to a bandpass + gain shape
5 - When I insert a stimulus and probe the outputs, I have no waveform available when the add block is there. With no add block, the simulated waveforms are exactly as measured at the outputs.
Find attached my project file with all settings and schematic.
Here's a list of what I tried with no success:
- Tried with Sigma studio 4.6
- Removing all filters except CO
- Using Line mode
- muting Negative output
- Disabling negative output
- Using 3 inputs Add block
- Trying different sample rates
- Trying other filter types including IIR filters with calculated coefficients
- Implementing a single earpiece version on evaluation modules of the ADAU1772 and ADAU1777
- Disable a maximum of items such as digital IOs / ADC0/1 / etc..
I also implemented on the ADAU1787 FastDSP core and in that case, the implementation works! The main difference I see is that there is no add block by itself. It's a mixer block with integrated gain.
Can anyone tell me if I do something incorrect or if there's really an issue in the software?
Thank you in advance,