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

How to map register data to my Protocol data

SigmaDSP & SigmaStudio EnyaKim Dec 18, 2025 00:00 1 replies Original on forum ↗
Subscribe
EnyaKim Question
Dec 18, 2025 00:00

As all we know,If I want to real-time adjust the DSP Parameter by MCU.I need to use the Safeload API to load it.
But in some case like crossover.I want to change the frequency division point in LR24.
Everytime I input the different frequency correspond to 10 Safeload action.
So if I want to set its range at 1000hz-5000hz ,Step 1hz. It is 4000*10=40000 action!!!
So I need package 40000 action at Software to achieve just this.And there are more other algorithm,all them will increase the Safeload API.

What can i do to make this more easy.
Because I want to use upper computer software with modbus rtu uart to real time adjust dsp core.
I know some algorithm can map numerical formula like EQ(and some algorithm have few information or they are not open to see),But at last,Even I know the Formula to compute it,how to map it to safaload register data API?

software

pastedimage1766118327451v4.png
pastedimage1766118327451v4.png
KJBob Reply
Dec 25, 2025 00:00

Hello Enyakim,

For what it's worth I can help with the formulas which calculate IIR coefficients for the filters in the crossover. The LR24 filters are pairs of identical cascaded second-order Butterworth filters -- lowpass for the woofer, highpass for the tweeter. Figure their coefficients with the attached spreadsheet. Set the Q to (sqrt (1/2)) to achieve the Butterworth response. I attached a project with a stock 1 KHz crossover and a set of filters with coefficients manually entered from the spreadsheet -- their responses match.

Adapt the formulas in the spreadsheet cells to work in your microcontroller. You'll need to flip the signs (reverse the polarity) of the a coefficients when safeloading them; the type-in IIR Coefficient filters in SigmaStudio do this for you. Also, some DSP texts use a for the forward coefficients and b for the feedback coefficients, while the SigmaStudio notation is the opposite.

In addition, I might suggest going logarithmic for your frequency choices. For example, have your program choose the piano keys from B5 (988 Hz) to E7 (5274 Hz). This range covers 30 frequency selections, with each step multiplying the previous one by the twelfth root of two. You could use a smaller multiple (for example, the 24th root of 2) if you need 59 choices with better resolution. I don't know about designing speakers, yet I've seen few things in audio where one Hz out of thousands matters much.

XLS 2-way_1452.dspproj

Best regards,

Bob

8664.2-way_1452_sch.png
8664.2-way_1452_sch.png
1.72.png-120x120x2.png
1.72.png-120x120x2.png