DSP Xover project (part 2)

Perhaps the following would be good in a separate "build thread", with pictures of peoples' builds included. The initial post would be modifiable to allow updates (seen it done, not sure how);

Cost of parts
Parts needed are
-power supply 30-50€
-8 less couple of €
-display about 6€
-8 push to make switches 1€ each
-IR sensor 0.5€
-case and power cord etc -whatever you want...
-One for all remote 10€
-some hook up wire.

Users' recommendations (can ignore USB drivers notes having since beta model specific)
http://www.diyaudio.com/forums/digi...sp-xover-project-part-2-a-12.html#post3404628

Potential power supplies
(housed types preferred)
model SNP9021-1 (not housed);
http://www.skynetpower.com.tw/pdf/SNP-902Series.pdf
MTW30-51212 TDK-Lambda | Mouser

LCD/OLED screens

items in lcd 2x16 store on eBay!
ART New LCD 2x16-H LED- W/KK (HD44780) H=36mm Blackline [ART016002H76-DIW] | eBay
1602 White Character OLED 16x2 Modules Arduino Compatible HD44780 | eBay

"Here's a list of IR receiver modules that have been tested with the board, they all work nice and are about 1 dollar each at digikey or similar shop:"

Rohm RPM7138
Vishay TSOP34338
Vishay TSOP38238
Vishay TSOP39338.

Remotes
Apple Remote | H i F i D U I N O
Hot in 2012! Original Rii 2.4GHz Wireless Mini PC Keyboard Touchpad with IR Remote Controller USB V2.0 Black: Amazon.co.uk: Computers & Accessories


USB audio input
Amareno USB to I2S

Switches ("For switches I'd recommend unlit ones, of tactile type")
BLACK 2 TAG 1A SPST ROUND METAL MINIATURE PUSH TO MAKE BUTTON WITH 11MM FIXING H | eBay
9509136118 - MEC - SWITCH MODULE, BLACK | Farnell United Kingdom

Enclosures[/U]
FS4309 Full aluminum chassis preamp case power amp box DIY | eBay
#2806 Aluminum Preamplifier enclosure /DAC case/ amplifier chassis AMP BOX | eBay
S-3207 Aluminum amplifier case / Enclosure /amplifier BOX/ PSU Case | eBay
 
Here is a set of biquads for a 100Hz LR4 HP witha 1000 Hz B2 LP, sampling rate= 96000.



n=3
b0=0.0010232176384572448,
b1=0.0020464352769144897,
b2=0.0010232176384572448,
a1=1.9075016260205944,
a2=-0.9115944965744232,
b0=0.9953826895856792,
b1=-1.9907653791713589,
b2=0.9953826895856792,
a1=1.990744059502277,
a2=-0.99078669884044,
b0=0.9953826895856792,
b1=-1.9907653791713589,
b2=0.9953826895856792,
a1=1.990744059502277,
a2=-0.99078669884044,
 
I'm looking now at custom biquads.
Can someone post here a set of coefficients so that I can see how the formatting is looking like?

What I have in mind for now is as exemplified below:

Code:
N                  ; Number of biquads
b0                 ; First biquad coef set
b1
b2
a1
a2
b0                 ; Second biquad
...
...
b0                 ; Nth biquad
b1
b2
a1
a2

So all coefficients are normalized with respect to a0 (= 1).

Would that be compatible with the files you're otherwise dealing with?

Another option is :
g
b1
b2
a1
a2

where b0 has been normalized to 1 via the gain factor g. Since you need to normalize gain across all stages this might be a better idea.

I suggest IEEE-754 double precision floating point format for all numbers: IEEE-754

This is float64 in Python, double in C, real(kind=8) in Fortran, standard precision in Matlab. What's not to like?

/K
 
From the manual;
"Please also note that there's only one receiver onboard. An analogue switch controlled by the micro
will route one of the optical or coaxial input to the receiver. Thus, if you set the switch for the
optical signal while supplying a coaxial stream, the receiver won't be able to sense the latter and the
led will not light on in this circumstance."

Please confirm, by "won't be able to sense the latter", that means the unit will continue to play the original signal inputted, or will it give silence?
 
Perhaps the following would be good in a separate "build thread", with pictures of peoples' builds included. The initial post would be modifiable to allow updates (seen it done, not sure how);

Thanks SAC, that's really great you collected all the data. Unfortunately, as you said, if it stays here it's going to be soon buried under another layer of posts...

A couple of remarks:
- Najda doesn't support Apple remote for now. We know thanks to Maravedis that it's feasible but I still need to get such a remote in order to push that into the code.
- Among USB to I2S converters, I've also tested successfully the QLS-HIFI QA01, which is based on the Tenor chip.

Here is a set of biquads for a 100Hz LR4 HP witha 1000 Hz B2 LP, sampling rate= 96000.

Thanks John. Is this the content of a file produced by some application? What I'm especially interested about is the formatting of the file, i.e. whether the text 'n=', 'b0=' etc and trailing commas are originally included in the file.

Another option is :
g
b1
b2
a1
a2

where b0 has been normalized to 1 via the gain factor g. Since you need to normalize gain across all stages this might be a better idea.

I suggest IEEE-754 double precision floating point format for all numbers: IEEE-754

This is float64 in Python, double in C, real(kind=8) in Fortran, standard precision in Matlab. What's not to like?

/K

Anything is possible. However, I'd rather simply comply with the most common formatting so that users don't need to modify their files before loading them into Najda. My understanding is that you use Matlab and the likes in order to generate coefs so you can actually format your output files the way you (or Najda) want it - which wouldn't be so easy if you were using a biquad design software or spreadsheet.

From the manual;
"Please also note that there's only one receiver onboard. An analogue switch controlled by the micro
will route one of the optical or coaxial input to the receiver. Thus, if you set the switch for the
optical signal while supplying a coaxial stream, the receiver won't be able to sense the latter and the
led will not light on in this circumstance."

Please confirm, by "won't be able to sense the latter", that means the unit will continue to play the original signal inputted, or will it give silence?

Yes I reckon this paragraph is not clear. There must be a zone of shadow in any manual ;)
Actually it just means that the led will not light on if you supply a signal via SPDIF coax but have selected the optical input and vice-versa.

Regarding sound, if you supply a signal via optical (resp. coax) and select optical (resp. coax) input in the menu, then Najda will of course play that signal.

I think I'l remove that paragraph from the manual, it's just unclear and useless :eek:
 
Anything is possible. However, I'd rather simply comply with the most common formatting so that users don't need to modify their files before loading them into Najda. My understanding is that you use Matlab and the likes in order to generate coefs so you can actually format your output files the way you (or Najda) want it - which wouldn't be so easy if you were using a biquad design software or spreadsheet.

I use Python! Sure, for me anything is OK as long as it's documented. You have to make a decision regarding precision though or at least let us know what format strings are OK and how many digits of precision you accept.

/K
 
Thanks John. Is this the content of a file produced by some application? What I'm especially interested about is the formatting of the file, i.e. whether the text 'n=', 'b0=' etc and trailing commas are originally included in the file.

The biquad coefficients are lifted from an Excel code that is used to generate them for input to a miniDSP plug-in, including the commas. I added the n = 3.

The excel code is actually formated so that the coefficients can be cut and pasted into the miniDSP plug-in. As you asked, a0 =1. by default which is also how miniDSP takes the inputs.

It would be nice if the input were that same for both so if someone has a miniDSP set up with biquads they could cut and past into your setup software.

I would at keep the normalization as you have it (a0=1.) otherwise it would get complicated to move coefficients across platforms.

Understand that I am an end user. For my speaker systems all I care about is being able to define the filters in the analog domain. Another DIYer put together the EXCEL spread sheet which allows me so specify the analog filter parameters and it generates the biquad coefficients in the format required for the miniDSP. That's perfect for me. It's all I need or want to know.

From my point of view, if people want to use your dsp platform with my speakers that is fine. But I don't want to have to start generating biquad coefficients with different normalizations, etc, to move from platform to platform. Otherwise sooner or later I'll lose track of what is current on one platform or the other. Of course, you have top do what is right for you.
 
REW will generate a coefficient file that can be imported into the miniDSP. File looks like:

biquad1,
b0=0.9114016939658645,
b1=-1.7509187392203338,
b2=0.8546256540342524,
a1=1.7509187392203338,
a2=-0.7660273480001167,
biquad2,
b0=1.001292222206909,
b1=-1.9977344507743764,
b2=0.9964850176313853,
a1=1.9977344507743764,
a2=-0.9977772398382942,
biquad3,
b0=1.0,
b1=0.0,
b2=0.0,
a1=0.0,
a2=0.0,
biquad4,
b0=1.0,
b1=0.0,
b2=0.0,
a1=0.0,
a2=0.0,
biquad5,
b0=1.0,
b1=0.0,
b2=0.0,
a1=0.0,
a2=0.0,
biquad6,
b0=1.0,
b1=0.0,
b2=0.0,
a1=0.0,
a2=0.0
 
Hi Nick,

I'm sure the info I have collated will help builders for sourcing/ideas. I'll just go ahead and open up another thread;
http://www.diyaudio.com/forums/digital-line-level/234773-nadja-builds-resource-list.html#post3466913

Yeah, I was unsure what was going on in that LED description. So it is just an LED issue, and the input will switch no problem should I move from the coaxial to an optical device without turning off the source first.

Thanks SAC, that's going to be handy.
Otherwise yes, you can switch between any source any time, no problem.

The biquad coefficients are lifted from an Excel code that is used to generate them for input to a miniDSP plug-in, including the commas. I added the n = 3.

REW will generate a coefficient file that can be imported into the miniDSP. File looks like:

I'll vote for that one:)

best,
Paal

Thanks all for your help, I'll see with Xav if we can code a routine compatible with both above formats. The only difference being the 'biquad n' lines in the REW file, that should be doable.
So we'll have all coefficients normalized with respect to a0 (a0 = 1) and gain embedded in numerator coefs.

Cheers!

Nick
 
Last edited: