Exceeding capabilities of ADAU1781
Hi there,
I am trying to implement DSP schematic with a 9 band double precision optimized EQ. However, whenever I go beyond 7 bands, I observe a distorted output.
I was wondering if there is a way to identify whether I have exceed the processing capabilities with Sigma Studio. Based on the output, from the compiler, it appears fine. However, the resulting audio output is distorted.
Sigma Studio Version 3.9. Build 2, Rev 1220
Analog Devices Compiler for the 3rd generation SigmaDSP core.
Build date = 7/24/2013 at 10:32 PM
## Summary ##
(Note: Estimates are based on a 48 kHz sample rate)
Instructions used:
447 (out of a possible 512 )
Modulo Data RAM used (X Memory):
226 (out of a possible 512 )
Non Modulo Data RAM used (X Memory):
2 (out of a possible 512 )
Parameter RAM used (Y Memory):
157 (out of a possible 512 )
Instance Mips Inst Data Coeff Other
(max)
SPhat1 162 162 90 52
Automatic Volume Control1 123 123 56 49
Stereo Switch 69 69 22 1
Mid EQ1 17 17 50 39 using: Biquad Looping SP
Beginning 17 17 0 1
SafeLoadCode 15 15 0 7
LPF 10 10 7 8 using: Biquad Looping SP
End 6 6 0 0
Input1 4 4 2 0
Add1 3 3 1 0
Output4 2 2 0 0
Output1 2 2 0 0
Output2 2 2 0 0
Output3 2 2 0 0
Subroutines called:
* Biquad Looping SP 111 13 0 0
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 545 447 228 157
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
(%) 53% 87% 45% 31%
Files written:
program_data.dat - load file for downloading code using ADI loader
hex_program_data.dat - load file for downloading code using microcontroller
ParamAddress.dat - Parameter RAM locations for schematic instances
Hi Rocky:
It doesn't seem like you are exceeding the capabilities of the 1781. I'm not sure how much the datasheet shows but there are 2 limits that you must take into account in relationship to the programs to execute on the 1781. The first one is related to not exceeding the number of instructions to use (<512), the other is to not exceed the number of MIPS to use (<1024). If you are running however at a hight sampling rate (say 96kHz) then the MIPS limits gets reduced by half. To use more MIPS than instructions, you should do what you are already doing, (using algorithms that contain subroutins within).
Could you share your project?
Also, can you comment on the FS you are using?
Thank you
Miguel
Thanks Miguel,
Thank you for the clarification. I was under the impression that that was the case. However, I was seeing artifacts in the output that would indicate some issues.
As for the project, I can send you the project via email.
The FS that I am using is 48kHz
-Rocky
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.