DSP Xover project (part 2) - Page 69 - diyAudio
Go Back   Home > Forums > Source & Line > Digital Line Level

Digital Line Level DACs, Digital Crossovers, Equalizers, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 19th March 2013, 12:27 PM   #681
Shaun is offline Shaun  South Africa
diyAudio Member
 
Shaun's Avatar
 
Join Date: Aug 2001
Location: Cape Town, South Africa
Quote:
Originally Posted by chaparK View Post
There's one unused hardware led. I was thinking of using it to signal when the load goes beyond 100% on any core. How about that?
Yes! I had the same idea.

Quote:
Originally Posted by chaparK View Post
Right now, you can adjust globally the output level in the Board Configuration dialogue.
Would it be alright to replace this global adjustment with individual controls for each channel? Any thoughts?
That should be helpful. Would it be possible to implement it as an add-on to what currently exists? I mean, at the user level, retain the current "global" output level control, but add another gain/attenuation setting for individual channels (even if, in reality, it may be a single setting per channel). This way, we can have a default gain of 0dB that we never bother with, unless we have amplifiers with unequal gains (as in Kazam's case).
__________________
Shaun Onverwacht
|||||||||| DON'T PANIC ||||||||||
  Reply With Quote
Old 19th March 2013, 12:29 PM   #682
JLOP is offline JLOP  France
diyAudio Member
 
Join Date: Sep 2011
Location: Luxembourg
Quote:
Originally Posted by chaparK View Post
Right now, you can adjust globally the output level in the Board Configuration dialogue.
Would it be alright to replace this global adjustment with individual controls for each channel? Any thoughts?
If I may, and if it is technically feasible, I would have gain adjustments at both level as the aim of the adjustment is not the same
- channel adjustment : normally you do not change it once system is properly configured
- gobal gain : will be used many times a day, even CD by CD as the level are very different, and you wont take the risk to damage your reference channel settings.

BR
  Reply With Quote
Old 19th March 2013, 12:33 PM   #683
diyAudio Member
 
Join Date: Feb 2013
Quote:
Currently, all the gains that you set in the processing tabs are DSP gains. I said to Kazam that it would be easy to add independent analogue gain everywhere in the system - except on the GUI (i.e. the pc app interface). So it's a bit tricky in the GUI because I must also support boards without analogue volume...
Would it be OK to ask the user to specify if he has an analog volume chip installed?

Perhaps this information could even be stored in the EEPROM at a protected address.
  Reply With Quote
Old 19th March 2013, 12:49 PM   #684
hajj is offline hajj  Lebanon
diyAudio Member
 
hajj's Avatar
 
Join Date: Nov 2009
Quote:
Originally Posted by chaparK View Post
Thanks Thierry I'll check this app soon.



Indeed we had a brief chat with Kazam and I thought we could discuss this topic here as this would be a great feature.

Not just specifically for Kazam's application, but also to provide more flexibility in the gain structure.

Currently, all the gains that you set in the processing tabs are DSP gains. I said to Kazam that it would be easy to add independent analogue gain everywhere in the system - except on the GUI (i.e. the pc app interface). So it's a bit tricky in the GUI because I must also support boards without analogue volume...

Right now, you can adjust globally the output level in the Board Configuration dialogue.
Would it be alright to replace this global adjustment with individual controls for each channel? Any thoughts?
Someone correct me if i'm wrong, but let's suppose the following scenario:

System:
Speakers: 2-way with 96db/w Fullrange driver and 88db/w Woofer
Amps: full range amp: 31db gain, Woofer amp: 21db gain
In total, one would need 18db of correction to match the fullrange driver to the woofer.
The 18db are only a best case scenario if no further correction and boosting are needed for the woofer.
Let's consider that the woofer needs an extra 20db of boost at lower frequencies (not extreme in a Typical OB application)

The board will not output more than 2Vrms, which will be the woofers' amp full signal swing, meaning that the fullrange driver, the more sensitive driver in the setup, will be fed a signal that's much closer to the noise floor than the Woofer, a really bad idea since we are much more sensitive to noise at the higher frequencies the fullrange driver has to handle.
And that's only at the analog level without taking into consideration the extra problems in the digital domain.

Are my assumptions right?

Regards

Nick
  Reply With Quote
Old 19th March 2013, 12:56 PM   #685
diyAudio Member
 
Join Date: Feb 2013
Quote:
Originally Posted by hajj View Post
Are my assumptions right?

Regards

Nick
Correct I would think.

I do think the board can pump out 6Vrms though according to the manual. This would be 15dB gain compared to the nominal 1Vrms.

/K
  Reply With Quote
Old 19th March 2013, 01:01 PM   #686
diyAudio Member
 
Join Date: Dec 2010
Going above 100% is a bit difficult :-)

Can I sound a note of caution here though? I don't know how the %load is actually measured on this DSP but typically we sample cpu state every clock tick ( 1/100 second ?) to see if the cpu is busy then average those values for a time period ( 1 second ? ) and report the % utilisation as the percentage of samples where the cpu wasn't idle. That means if the load is showing 50% it just means that for half the samples it was busy and half not. If it was 100% busy for the first half of the sample period and idle for the second half we still have a 100% busy situation to deal with despite the load only being 50%.

Quote:
Originally Posted by chaparK View Post
Regarding DSP load, any is good as long as it's below 100%.
You must make sure you don't go above 100% on any core. It's a drama otherwise.

Indeed, if you go above 100% on any core, the DSP will drop one sample and this will translate into halving the sampling frequency.
  Reply With Quote
Old 19th March 2013, 02:08 PM   #687
chaparK is offline chaparK  Luxembourg
diyAudio Member
 
Join Date: Apr 2010
Location: Luxembourg
Quote:
Originally Posted by Shaun View Post
Yes! I had the same idea.

That should be helpful. Would it be possible to implement it as an add-on to what currently exists? I mean, at the user level, retain the current "global" output level control, but add another gain/attenuation setting for individual channels (even if, in reality, it may be a single setting per channel). This way, we can have a default gain of 0dB that we never bother with, unless we have amplifiers with unequal gains (as in Kazam's case).
Shaun we are totally in phase

I'm OK for this: if the volume chip is installed, then the user can either adjust the output level globally or in a per-channel fashion.
For example a tick box that disables one set of controls or the other.

Quote:
Originally Posted by JLOP View Post
If I may, and if it is technically feasible, I would have gain adjustments at both level as the aim of the adjustment is not the same
- channel adjustment : normally you do not change it once system is properly configured
- gobal gain : will be used many times a day, even CD by CD as the level are very different, and you wont take the risk to damage your reference channel settings.
BR
So we're talking here about nominal output level, not volume. I see the nominal output level as the max electrical level that the board will output. It can be set globally, and we're looking at a sensible way to have it independent for each channel.
Volume comes on top of output nominal level. Volume works only as an attenuator so you never go beyond nominal level.

Quote:
Originally Posted by kazam View Post
Would it be OK to ask the user to specify if he has an analog volume chip installed?

Perhaps this information could even be stored in the EEPROM at a protected address.
Actually the chip is detected on hardware when the board is booting. This information is required so that mutes and volume are handled either by the analogue volume chip (if installed) or by the DACs.

This information is also transferred to the application when you connect, because the control letting you adjust the global output level is disabled if the chip is not installed.

Quote:
Originally Posted by hajj View Post
Someone correct me if i'm wrong, but let's suppose the following scenario:

System:
Speakers: 2-way with 96db/w Fullrange driver and 88db/w Woofer
Amps: full range amp: 31db gain, Woofer amp: 21db gain
In total, one would need 18db of correction to match the fullrange driver to the woofer.
The 18db are only a best case scenario if no further correction and boosting are needed for the woofer.
Let's consider that the woofer needs an extra 20db of boost at lower frequencies (not extreme in a Typical OB application)

The board will not output more than 2Vrms, which will be the woofers' amp full signal swing, meaning that the fullrange driver, the more sensitive driver in the setup, will be fed a signal that's much closer to the noise floor than the Woofer, a really bad idea since we are much more sensitive to noise at the higher frequencies the fullrange driver has to handle.
And that's only at the analog level without taking into consideration the extra problems in the digital domain.

Are my assumptions right?

Regards

Nick
Quote:
Originally Posted by kazam View Post
Correct I would think.

I do think the board can pump out 6Vrms though according to the manual. This would be 15dB gain compared to the nominal 1Vrms.

/K
So the analogue chip requires rails of +/-8V to +/-9V. There are onboard regulators for this chip. To play it safe, i've set their outputs to +/- 8.5V. So the signal swing at the output of the CS3318 will not exceed 17 V peak to peak, which is indeed about 6 Vrms.

Quote:
Originally Posted by goosewing View Post
Going above 100% is a bit difficult :-)

Can I sound a note of caution here though? I don't know how the %load is actually measured on this DSP but typically we sample cpu state every clock tick ( 1/100 second ?) to see if the cpu is busy then average those values for a time period ( 1 second ? ) and report the % utilisation as the percentage of samples where the cpu wasn't idle. That means if the load is showing 50% it just means that for half the samples it was busy and half not. If it was 100% busy for the first half of the sample period and idle for the second half we still have a 100% busy situation to deal with despite the load only being 50%.
I actually don't compute CPU load the way you describe, at all.
DSP load on Najda is 100% reliable, and there are also hardware load meters on board. If Najda says 50%, then it's really always 50%
Fact is, if you overload the DSPs, they will report CPU load greater than 100% and the meters in the app will turn red.
  Reply With Quote
Old 19th March 2013, 02:31 PM   #688
hajj is offline hajj  Lebanon
diyAudio Member
 
hajj's Avatar
 
Join Date: Nov 2009
Quote:
Originally Posted by chaparK View Post
So the analogue chip requires rails of +/-8V to +/-9V. There are onboard regulators for this chip. To play it safe, i've set their outputs to +/- 8.5V. So the signal swing at the output of the CS3318 will not exceed 17 V peak to peak, which is indeed about 6 Vrms.
Sorry about the mixup.
6Vrms it is then
This solves the problem for most applications, but in some extreme cases, like the OB system/amp gains mentioned earlier, some might still need some extra gain at the woofer amp level.
  Reply With Quote
Old 19th March 2013, 02:56 PM   #689
diyAudio Member
 
Join Date: Feb 2013
Just looked at the data sheet for CS3318 and now I have a much clearer picture. Great little chip!

A tick box does sound like the best solution, adding functionality but hiding it in default mode.
  Reply With Quote
Old 19th March 2013, 10:54 PM   #690
diyAudio Member
 
Speedysteve7's Avatar
 
Join Date: Dec 2009
Location: Hants/Berkshire/Surrey
Measured things this evening with Holmimpulse.
Pretty flat +/-5dB in room at listening position was what I had before. Still got that - no reason why not. Shows my passives where pretty good then...

On to time alignment. I have always wanted to time align the tapped horns sub 100Hz with the rest, but a delay due to 4.8m long horn path equaling many metres physical position had rendered that impossible.
I did achieve it briefly with the Behringers and the Auto alignment routine with Mic input that worked pretty well. But the SQ of the Behringers so dire I have junked them.

Ok, so here is the measurement before: Tapped horn in blue, bass horn in red.

Click the image to open in full size.

The slight out of phase 1st peak is deemed by Holmimpulse as a spurious and disounted. They are def +ve to +ve correctly.
Perhaps I am pushing the boundaries of what's possible...
That's 7.8ms ahead the bass horn (and all the rest as they are physically aligned).

Here is the delay in Najda

Click the image to open in full size.

Here is the measured change

Click the image to open in full size.

I or Holmimpulse messed up the scales somewhat, but I remeasured a few times and it was consistent, and it's locked on to 0 time better this time for some reason.

I then applied the same delay to the other 3 channels in Najda and measured all again to confirm alignment, all good, spot on in fact.
The tweeter is ever so slightly ahead even though it is taking its line feed off the upper horn output. This is as it should be I guess with DSP delay. I could reverse align from tweeter down but that is another evenings work.

One thing I noticed is that on making the changes on the fly Najda would not play until I disconnected the PC in the SW and then went to Standby and on again.

This was repeated over and over so it is 100% reproduceable.

Same thing happened if I loaded the changes in as a preset and then disconnected the PC. Najda goes to mute automatically but unmuting did not result in sound. The latest preset was showing loaded. Going to a previous one made no change.
Najda would not play anything until I went through standby and on again cycle. Then my latest file was loaded and the sound was fine.

I am also getting the same thing fairly often just swapping between presets. Quite often I need to cycle standby to get sound.
Was not like that before.


Interesting. Just put Joan as Police woman The deep field album - track 2. The Magic. Pulsing bass is not connected with the the deeper stuff. Sounds more together. Anyone who says you cannot hear time delay on deep bass should here this.
I am doing A/B comparisons and it is not small difference.

[QUOTE=There's one unused hardware led. I was thinking of using it to signal when the load goes beyond 100% on any core. How about that?[/QUOTE]

That would be nice as I already drilled a hole for it in my lash up front panel

Last edited by Speedysteve7; 19th March 2013 at 11:23 PM.
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
DSP Xover project chaparK Digital Line Level 141 3rd July 2011 11:16 AM
Help Please for simple active Xover project dcathro Analog Line Level 4 9th September 2010 06:47 AM
Violet DSP Evolution - an Open Baffle Project cuibono Multi-Way 211 18th May 2010 03:26 AM
Software digital DSP ... Xover/filters/EQ ?? JinMTVT Digital Source 2 8th October 2004 07:02 AM
DSP card & proper xover for heathkit 859A speaker cabinet x. onasis Multi-Way 6 22nd April 2003 08:39 PM


New To Site? Need Help?

All times are GMT. The time now is 04:36 AM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2