DSP Xover project (part 2)

Thanks, but when using spdif outputs you're a bit limited anyway.

:confused: spdif or any other outputs doesn't affect DSP load.

On another matter. In post 1249 you posted a picture of the Wave io
connection. I have connected over the uf-l connectors but I'm getting blinks
from the dsp-overload led. I haven't listened to it yet but I suspect that it will
behave as it did for a few others. Did you try the uf.l connection ? And do you
think that you can find the time to make drawing of the connection. The
picture was a bit unclear.

Connections are detailed in the Startup Guide. The only addition is the power supply to the transmitter part of the WaveIO's IL715. That's just a wire from the 5VD on Expansion Port 1 to the I2S header of the WaveIO (plus the ground return).
 
:confused: spdif or any other outputs doesn't affect DSP load.



Connections are detailed in the Startup Guide. The only addition is the power supply to the transmitter part of the WaveIO's IL715. That's just a wire from the 5VD on Expansion Port 1 to the I2S header of the WaveIO (plus the ground return).

Let's se now, first spdif is for channel one and two. Second spdif is for channel
three and four and so on, rigth ? I can't see any possibility to divide six
channels evenly over these outputs. Am I doing this wrong or...? I will try to
put the midfrequencis on one core since it has most done to it and see what
that gives.

Edit: That worked like a charm :) 88% on core0 81% on core1.
Basically just moved channel one and two to channel seven and eigth.
 
Last edited:
Hi Everyone,

as my current Najda board is currently dismounted, I can't check this right now. could someone confirm the following hardware implementation on the board:

Lower cinch row : Left In/OUT1/OUT3/OUT5/OUT7
upper cinch row : Right In/OUT2/OUT4/OUT6/OUT8

Thanks in advance
Jean Claude
 
Hi ,

I would like to know if it is possible to have 8 I2S output, Is it software limited or hardware limited???

Thank you

Currently only 6 I2S outs are supported.
It would be possible to increase this number by using some pins of Expansion Port 1. Indeed, the DSP has pin switching capability, i.e. you can reroute pins between I2S ports. I'd need to double check this however.
 
Hi,

I've made some progress on my build. I'm still standing by for some pcbs to arrive from China to complete it

Jean Claude
 

Attachments

  • Najda_jcg_1.jpg
    Najda_jcg_1.jpg
    368.5 KB · Views: 877
I just managed to create a 3-way 192khz 4/order first xo and 2/order second
xo, one eq for channel 3 and 4. 96% on core 0. With 96 khz it's no problem at all.

Hi,
thank you for providing your configuration file. When I load it, I have DSP load of core 1 of 101%! and if I switch to coaxial input load increases to 120%. The strange thing is that if I switch to expansion 1 it remains 120%. if I disconnect from PC and start Najda and connect to PC again, now the load is 101%.
If I make a new setup with 192 SR it starts with 86% load on core 1. And whatever combination I try to distribute the load, I am never getting core 0 below 100%! I have bass/treble desactivated, also no EQ, only delay for bass/ treble. Is there something wrong with my Najda?

Regards
Sigi
 
Very nice assembly Jean-Claude. :up:

Hi,
thank you for providing your configuration file. When I load it, I have DSP load of core 1 of 101%! and if I switch to coaxial input load increases to 120%. The strange thing is that if I switch to expansion 1 it remains 120%. if I disconnect from PC and start Najda and connect to PC again, now the load is 101%.
If I make a new setup with 192 SR it starts with 86% load on core 1. And whatever combination I try to distribute the load, I am never getting core 0 below 100%! I have bass/treble desactivated, also no EQ, only delay for bass/ treble. Is there something wrong with my Najda?

Regards
Sigi

Alright Sigi, let's try to debug this together. What's are the DSP loads on your machine when you create fresh IIR presets at 48, 96 and 192 kHz?

Thanks,

Nick
 
Last edited:
It seems that mine does the same thing. If you switch to coaxial dsp usage
goes up and if you go back to for instance exp1 it stayes the same way until
you restart "Najda" (standby and on again).

Edit: This is the file I'm working on at the moment. Seems to be working (with a small margin but anyway).

http://www.dahlbergaudiodesign.se/3way-th-192.zip
 
Last edited:
Alright Sigi, let's try to debug this together. What's are the DSP loads on your machine when you create fresh IIR presets at 48, 96 and 192 kHz?
Thanks,Nick

Hi Nick,
here the results:
48 Khz : core 0=22%, core 1= 17%

96 Khz : core 0=37%, core 1= 27%

192 Khz: core 0=91%, core 1=68%

If I configure Analog input at 192Khz : core 0=88%, core 1=66%

Regards

Sigi
 
Hi Nick,
I have a theoretical question ( perhaps stupid, don't know). Would it be possible to make a customized configuration? I mean, by example in my system I don't need in the channel setup more than 6 channels, also don't need eq, gain adjustment,etc. Would this contribute to a lower DSP core load? and is this feasible?

Regards

Sigi
 
Hi Nick,
here the results:
48 Khz : core 0=22%, core 1= 17%

96 Khz : core 0=37%, core 1= 27%

192 Khz: core 0=91%, core 1=68%

If I configure Analog input at 192Khz : core 0=88%, core 1=66%

Regards

Sigi

Hi Sigi,

These figures look pretty much like what I'm getting with Bass/Treble on.

Can you please double check you have turned it off? ( Menu Settings -> Bass/Treble Settings, uncheck the Enable box).

Hi Nick,
I have a theoretical question ( perhaps stupid, don't know). Would it be possible to make a customized configuration? I mean, by example in my system I don't need in the channel setup more than 6 channels, also don't need eq, gain adjustment,etc. Would this contribute to a lower DSP core load? and is this feasible?

Regards

Sigi

This is not a stupid question at all. We had already discussed here that we could enable or disable individual processing channels. This would yield significant DSP load savings for those of you who use less than all 10 channels. Maybe we can push this in the next release.

Cheers,

Nick
 
Looking at it again, really very nice. Where did you have your panels machined?

Well I sent dxf files to Hifi2000 (modushop) in Italy and they did it for me but, the price for the box (GX388) jumped from 65 € to 200 € including VAT but excluding shipping.

Here are the front and rear plates

About DSP resources saving, if it's not possible or too complicated to have a pool of resources that could be shared between channels, then having the possibilities to disable individuals channels could be a solution.
 

Attachments

  • GX388_front_2.jpg
    GX388_front_2.jpg
    129.3 KB · Views: 656
  • GX388_rear_1.jpg
    GX388_rear_1.jpg
    121.3 KB · Views: 641
Well I sent dxf files to Hifi2000 (modushop) in Italy and they did it for me but, the price for the box (GX388) jumped from 65 € to 200 € including VAT but excluding shipping.

Here are the front and rear plates

That's really very nice, thanks for posting. The price is indeed expensive, but you have requested complicated work as well (compared to simple circular or rectangular cuts) so that looks like a fair deal.

About DSP resources saving, if it's not possible or too complicated to have a pool of resources that could be shared between channels, then having the possibilities to disable individuals channels could be a solution.

The problem is that program flow decisions do not come for free.

Let's take a conditional jump on the DSP. It's not a DSP specific instruction, and it uses up to 5 clock cycles to execute (when a MAC uses only 1 cycle).

Multiply this by 10, because there are 10 channels: that's 50 clock cycles that are not available anymore per sampling period. At 48 kHz sampling rate, this is near to nothing, but at 192 kHz, that's nearly 2%.

Basically, the more real-time flexibility I add, the more resources we spend on logic and the fewer resources we have left for DSP tasks.
 
That's really very nice, thanks for posting. The price is indeed expensive, but you have requested complicated work as well (compared to simple circular or rectangular cuts) so that looks like a fair deal.



The problem is that program flow decisions do not come for free.

Let's take a conditional jump on the DSP. It's not a DSP specific instruction, and it uses up to 5 clock cycles to execute (when a MAC uses only 1 cycle).

Multiply this by 10, because there are 10 channels: that's 50 clock cycles that are not available anymore per sampling period. At 48 kHz sampling rate, this is near to nothing, but at 192 kHz, that's nearly 2%.

Basically, the more real-time flexibility I add, the more resources we spend on logic and the fewer resources we have left for DSP tasks.

Thanks for the explanation, well so it's a compromise. Let's thinks about the balance:

you said at the lower end (48ks) it's almost nothing, at the other end (192ks) it's 2% so 2% in the worst case.

With the current implementation, you are already near 80% with a very basic LR24 and almost nothing more. so maybe accepting to loose 2% in favor of a more flexible arrangement could be beneficial at the end, don't you think ?