Hello, I'm a new user to SigmaStudio, learning via the EVAL-ADAU1466Z board. I am using it to develop an active loudspeaker.
I have set up self-boot by adding an E2PROM block and ostensibly written the program to it per the steps detailed in the user guide.
I am currently testing just one PEQ filter from choosing Filters>Double Precision>Parametric EQ. I set its parameters to 1000 Hz, -12 dB, .5 Q. When I put the EVAL-ADAU1466Z in the system and measure the loudspeaker DUT, I do not see the expected result. I can compare the EVAL-ADAU1466Z with a different manufacturer's DSP solution with the same filter setting, which produces the expected obvious broad, large dip at 1000 Hz in the DUT's magnitude curve. The EVAL-ADAU1466Z instead appears to be applying the PEQ, at 500 Hz instead of 1000 Hz.
I have double checked the program in SigmaStudio and repeated the steps to write the latest compiled to the E2PROM and enabled self-boot. I do not currently have the ability to measure the DUT with the EVAL-ADAU1466Z while SigmaStuido is connected due to a computer location and USB cable length limitation.
Below is a screen capture of schematic tab with the PEQ selected.
Thank you in advance for your assistance!
It appears like you have the Sample Rate box atop the SigmaStudio Schematic window set to 96K. This box tells SigmaStudio to calculate time-dependent parameters such as filter coefficients to work with this rate, but it doesn't instruct the DSP to actually run at this rate, Separate setting(s) inside SigmaStudio's Register Controls window as well as choice of crystal or clock frequency set the DSP's core sample rate, which otherwise defaults to 48K. When the DSP runs at 48K with filters designed for 96K, everything slows by half -- so a 1 KHz filter peaks at 500 Hz.
In addition, the AD1938 codecs on the EVAL-ADAU1466Z board are hardwired for standalone operation -- to eliminate the need for initialization at power-up. This locks the codecs to 48K as well (see page 18 of the EVAL-ADAU1466Z Users Manual). So you'll need to do your testing at 48K. Although the DSP itself can run faster, the board's analog inputs and outputs are hardwired for 48K.
Bob,Due to the 1 octave shift, I wondered if it had something to do with me changing the sampling frequency to 96K. I set the sample rate to 96K in order to get a more granular all-pass delay (10.4 microsecond vs. 20.8 microseconds via a 48K sampling rate) that I intend to employ in one of the filters I seek to implement. I was aware that the ADC and DACs only run at 48K, but assumed that the upconversion and down conversion would happen automatically.To get the 10.4 microsecond increment for delay based on 1/96KHz, can I make the DSP run at 96K by changing the register control settings?Best regards,Steve
Yes you certainly make the core sample rate 96K with the register control -- there's a FAQ on EZ:
How do I change the sample rate of my SigmaStudio system?
but unfortunately it has not yet been updated for Sigma 300-350 chips (ADAU145x, ADAU146x). If I can figure out the settings I'll post an addition to that thread and let you know here. Of course if anyone already knows how to work these settings, they are free to update it as well...
A couple of things... This 1466 eval board can be modified to have the codec be controlled from the DSP. It will require some hardware modification.
If you need a delay that is less than one sample period you can always use the fractional delay line instead of using an all-pass filter. This may not be what you need but I wanted to alert you to its existence.
Much thanks! For now using 48K will work.