Post Go back to editing

Sigma Studio "Add" block creates issues on post filters

Category: Software
Product Number: Sigma Studio
Software Version: Version 4.7 Build 0 Rev 1831

Hello,

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.

Sigma Studio Project.zip

Can anyone tell me if I do something incorrect or if there's really an issue in the software?

Thank you in advance,

Parents
  • Hello Francis,

    I have a work-around but not a good explanation as to why at the moment. I discussed this with my colleagues, and we are consulting with the programmer so I had an idea of what the compiler might be doing wrong but when I look at the compiler output after my fix I still do not understand why this works and the original does not. 

    With the thought that I need to get a work-around to you quickly I am writing this without a full explanation. There clearly seems to be a compiler bug and there were similar issues with the ADAU1787 compiler that were fixed. 

    Until this gets fixed, add one more gain block and this will fix the problem. It splits up the writes to the output ports. 

    You still have enough instructions. 

    Dave T

Reply
  • Hello Francis,

    I have a work-around but not a good explanation as to why at the moment. I discussed this with my colleagues, and we are consulting with the programmer so I had an idea of what the compiler might be doing wrong but when I look at the compiler output after my fix I still do not understand why this works and the original does not. 

    With the thought that I need to get a work-around to you quickly I am writing this without a full explanation. There clearly seems to be a compiler bug and there were similar issues with the ADAU1787 compiler that were fixed. 

    Until this gets fixed, add one more gain block and this will fix the problem. It splits up the writes to the output ports. 

    You still have enough instructions. 

    Dave T

Children