I am using the ADAU1777 for my project and want to use the DSP to implement 4 low pass filters, but I cannot find the specifications for the DSP instructions. I tried to model it with Sigma Studio (4.5 rev 1779), but the serial data inputs and outputs are not available in Sigma Studio.
So I have the following questions:
Kind regards,Ad van de Voort
The filters are Direct Form 1. This is described in the Wiki Help files located here:
HankCodec said:but the serial data inputs and outputs are not available in Sigma Studio.
This is not true,
Go to the Hardware Configuration tab. On that page near the bottom there is a tab called Register Control.
When that window opens you see a bunch of new tabs along the top. One of those is Signal Routing. This page will allow you to route the serial input and output port signals just about anywhere in the part. They go through sample rate converters which is a huge help in the system design. Here is what the page looks like:
So you route the desired serial input signals to the four core inputs.
The four core inputs appear in on the Schematic tab of the SigmaStudio window. Here is where you find them and what they look like:
Now that the signals are inside the core you can process them using the library cells that can be placed (dragged) into the project. You can connect them where you like and how you like. So you certainly can filter the four inputs independently.
Here is an example I put together in about five minutes.
This core is a filter engine. It is not a general purpose DSP. It executes 32 biquads per sample period. This does not change as the core sample rate changes. So unless you are running on battery power I would run the core at 192kHz and the ADCs at 192kHz. The serial ports can run at almost any rate so this does not enter into the core and ADC rate decision.
Do once the program is complete in SigmaStudio you click on the link/compile/download and it programs the part and starts the DSP running.
So this should give you a start.
You can find more help on this forum. I would also search for the ADAU1772 on the forum since that part is very close to this part and any of its example programs will run on the 1777.
Thanks for your detailed answer. You are right: the serial inputs are available, I was only looking at the schematic tab.
I can proceed now, but I have some other questions. I am using a cascade of IIR biquads (SOS) and I want to prevent overflow and also have a maximum SNR.
Is there an indication that an overflow has occurred, when running on the ADAU1777?
What is the implementation of the biquads: Direct Form I or other?
Do all calculations use 26 bits (5.21 format) as specified in the datasheet or are intermediate results using more bits? If so, how many?
Do you have any tips on how to prevent overflow?
I am not able to divulge too many details of the core of this device but we will have many more bits in the accumulator to handle the filter calculations and not overflow within reason. All the data that is transferred between the filters will be 5.21 format and then the next filter is calculated with the large width of the accumulator. This part was exactly designed to execute a string of Bi-quads so it can handle the calculations. If all the filters are boosting at the same frequency then of course the audio will clip the 5.21 signal size but it is not because of lack of calculation size.
So as long as you limit the signal you can prevent clipping for the most part but it is a challenge with the design. There are four limiters built into the part. We do not have any way of trapping overflow so preventing it with good gain structure and limiting would be the best way to handle this.
Thanks for the information. I have implemented the filters and everything is working fine. The Direct Form I is convenient so we only have to look to the
I measured THD+N with and without filters
The Direct Form I is convenient so we only have to look to the output of each section. Also extra bits in the calculation are helping .
I measured THD+N with and without filters and no difference so it seems that there is no overflow.
This question has been answered and can be closed. Thanks again.