ΣSigmaStudio Ask AI Русский Log in

Seeking Help with AA-AP23123 Wondom DSP for Home Theater Setup

SigmaDSP & SigmaStudio kallumama Sep 4, 2024 00:00 1 replies Original on forum ↗
Subscribe
kallumama Question
Sep 4, 2024 00:00

Hello everyone,

I'm reaching out for some guidance on using the AA-AP23123 Wondom DSP, which is an unbalanced 2-In, 4-Out ADAU1701 DSP preamp with a 2-way digital crossover. I’m looking to use it similarly to how one might use the MiniDSP 2x4HD for my home theater setup.

Objective: I want to connect my LFE (Low-Frequency Effects) channel to Input 1 and then distribute it to 4 outputs. My goal is to achieve the following:

AutoEQ for room correction

Parametric EQ for fine-tuning the frequency response

Crossover to manage the frequency ranges

Delay to synchronize multiple subwoofers

Phase adjustments

Gain control for each output

Current Issue: I am encountering a problem related to the available RAM on the ADAU1701 DSP. Specifically, I’m running into limitations because I need to use 4 Delay nodes, each with a maximum delay of 8ms. The system is running out of RAM, and I’m not sure how to resolve this issue.

Questions:

Comparison with MiniDSP 2x4HD:

Can the AA-AP23123 Wondom DSP be used in the same way as the MiniDSP 2x4HD for my requirements? If so, what considerations should I keep in mind?

Handling RAM Limitations:

Is there a way to optimize the DSP program to handle the required delay nodes without exceeding the available RAM?

Are there any specific techniques or settings in SigmaStudio (the software used for programming the ADAU1701) that can help manage or reduce RAM usage?

General Advice for New Users:

As a newbie to SigmaStudio and DSP programming, are there any best practices or resources you’d recommend to help me better understand and utilize this DSP for my home theater system?

Any advice or tips from those with experience using the ADAU1701 DSP or similar setups would be greatly appreciated. Thank you in advance for your help!
I've attached the sigma studio file

Best regards,

Kallumama

file: ADAU1701_2IN4OUT_DSP_CODE_subwoofer v1.dspproj

Audio Signal Processors

hardware

bass management

subwoofer

SigmaDSP Audio Processors

adau1761

Unbalanced 2-In

4-Out ADAU1701 DSP Preamp 2-Way Digital Crossover

AA-AP23123 Wondom Dsp

Show More

DaveThib Reply
Sep 5, 2024 00:00

Hello kallumama,

Thanks for the detailed post and for including your project.

I did download your program and I hate to say but it compiled just fine. Here is the usage summary from the compiler output file.

################## Summary ########################
(Note: Estimates are based on a 48 kHz sample rate)

Number of instructions used (out of a possible 1024 ) = 871

Data RAM used (out of a possible 2048 ) = 1894

Parameter RAM used (out of a possible 1024 ) = 161

So you are close to the edge on memory usage for data RAM.

I was thinking the project file might have been corrupted. I would save often when you work and if you make significant changes then increment a version number. But, in this case your file worked fine for me. The compiler error you are getting is because something is missing and then it tries to recover and it just creates more errors. This is nothing you have done wrong. I have seen this happen when you add a new blocks and something gets corrupted. So often to recover I go back to an old version or just delete the new blocks and redo it. Fortunately, this does not happen often.

Regarding your other questions:

kallumama said:
Comparison with MiniDSP 2x4HD:

The MiniDSP device is a very different design. It uses a SHARC processor and has things like a toslink and USB interface. So it is kind of an unfair comparison. It is kind of like trying to compare a formula 1 car to a VW beetle. They will both get you down the street but one will do it slightly faster. The SHARC will have tons more memory for things like delay lines and FIR filters. Then it also runs so much faster making it possible to have plenty of available instructions when you run at 192kHz fs. For the ADAU1701 you will only have 256 instructions if you try to run at 192kHz. You will not be able to do much.

That said, you can do a decent stereo 2-way crossover if you do not get too greedy.

I will lump your other two questions together. Ram limitations there is not much you can do except keep your project simple and do not do extra things if you can avoid it. The other thing is to grow a block when possible and if it makes sense to do it. For a left and right channel I would grow one crossover to be stereo because you will have the exact same settings for both channels. This is a little more efficient with memory and instructions.

You are adding some switches for bypassing blocks which is good for troubleshooting but you bypassed some EQ sections and internally, there is a bypass selection box in the EQ block so the external bypass is not needed. I know you saw it because they are also checked off. Then I really do not know why you are using the crossovers and then summing the output? Why? Just use an EQ. Your project is not really working as a crossover.

For the delay, which is the phase adjustment. You mentioned delay and phase. In the digital world of DSP it is the same thing.

Usually in a speaker design you reference the delays from one driver in the system. So that driver will not need a delay block. In the speakers I have worked on usually the woofer is the latest signal because the acoustic center is further into the cabinet than it is for the tweeter. So no delay on the woofer and delay the tweeter to match the woofer. If you have a sub output then that complicates it a bit more. So you can save some memory that way.

In looking at your project. You are using single precision filters everywhere. You will run into problems with a high noise floor or tones when you use a single precision and set the corner frequency to less than 1/10th the sample rate. Roughly 500Hz. This DSP is fixed point and only 28 bits. So at low frequencies the coefficients get too small and you get round off errors and truncation errors etc. So use double precision but that will use more instructions.

You should also use some limiters at the output to prevent clipping.

I suggest you subscribe to my YouTube channel if you have not already. One of my videos is a 2-way crossover using an ADAU1701.

Channel Welcome Video! (youtube.com)

I just finished up this project today for a 2-way crossover using the Dayton Audio KABD-430 board. This project may work fine on the Wondom platform. I do not have that box so I am not certain. It does not have a subwoofer output nor Auto EQ. It is almost using all the instructions. It is using 918 out of 1024. I am not using a lot of delay because this speaker cabinet did not need it.

Stereo 2-way with Pot Controls Rev7 Cleaned Up.dspproj

Dave T