If you have connected the I2S coming from the Amanero to the isolated I2S input, you must connect the Amanero's GND to the ISO GND. Otherwise you will definitely lose the benefit of the isolators and most likely have a problematic I2S connection.
So, no pros and cons. Just right and wrong.
A good hint is to test continuity between USB ground, chassis, and audio ground regularly to verify that the isolation is good. I only get ~0.x ohm when it's plugged in, a loop that goes from the dac ground and the computer's ground.
I would now like to make some speaker EQ and, if possible, phase compensation for a pair of line source speakers I have built. Looking back in the thread I did have this question a long time ago:
"As crossover: the dam1021/dam1121 have the hardware with support for up to 15 IIR biquad filters per board. How to do it is an advanced DIY project, not something I will provide support for. Probably much easier using a DSP....
Is all the information/prerequisites described in the manual to really pull this off?"
I mean; I don't request a guide, just want to know Sören, if all the prerequisites is in the manual to do this. So I don't start this investigation and project in wain.
Some of this compensation I would like to do as as IIR, some as FIR... for FIR I suppose I just "modify" the existing filters to also do passband processing in addition to the D/A conversion brick-wall filter.
If anyone know of such a project, please add a pointer - thanks!!
//
I would advise to look into:
FIR vs IIR filtering
There is a handy Biquad calculation spreadsheet on this page.
The filter text file describes the format. So implementing a few biquad filters should be straightforward.
@Soekris
What is the internal precision of the Biquad filters in bits? On PC side I use double floats, so I wonder what precision I would potentially lose when moving processing to Soekris DAC.
Sören, how many taps may I use per IIR?
//
Biquads have 3 input taps and 2 output taps (or actually 3 where one tap is 1.0).
Fedde
Hmm there's a new series of ultra low jitter clocks from SIlabs
XO
Any (I2C) Ultra Low Jitter Crystal Oscillator (XO) Si549 | Silicon Labs
Any (I2C) Ultra Low Jitter Crystal Oscillator (XO) Si544 | Silicon Labs
Any (I2C) Ultra Low Jitter Crystal Oscillator (XO) Si564 | Silicon Labs
VCXO
Si569 Any (I2C) Ultra Low Jitter Crystal Oscillator (VCXO) | Silicon Labs
Maybe one of these could be a drop in replacement (better than SI570/571) but they probably need to be programmed first...
XO
Any (I2C) Ultra Low Jitter Crystal Oscillator (XO) Si549 | Silicon Labs
Any (I2C) Ultra Low Jitter Crystal Oscillator (XO) Si544 | Silicon Labs
Any (I2C) Ultra Low Jitter Crystal Oscillator (XO) Si564 | Silicon Labs
VCXO
Si569 Any (I2C) Ultra Low Jitter Crystal Oscillator (VCXO) | Silicon Labs
Maybe one of these could be a drop in replacement (better than SI570/571) but they probably need to be programmed first...
@Soekris
What is the internal precision of the Biquad filters in bits? On PC side I use double floats, so I wonder what precision I would potentially lose when moving processing to Soekris DAC.
@Soekris: I have one question more: are the IIR filters before or after (DAC) volume control? I presume the chain is like below?
Data input -> FIR filters to 352/384k -> IIR filters -> Volume control -> Upsampling to 3 Mhz -> Resistor banks -> Output
fedde, thanks I get the biquad now I and managed to load some. I think 🙂
What I'm a bit puzzled over is how they are deployed...
-- type 1 = FIR1, 2 = FIR2, 16..30 = IIR, 30 = Deemphasis
-- IIR Coefficients is b0, b1, b2, a1, a2. a0 is assumed to be 1.0000
and for example:
dam1021,44100,8,16,5,0.8
16 IIR biquad 1
b0 = 0.9172257802529049
b1 = -1.792384354953564
...
dam1021,44100,8,17,5,0.8
17 IIR biquad 2
b0 = 0.8272257802529049
b1 = -1.392384354953564
...
would these always be active in addition to every other filter in the DAM?
And there are 14 free? 16...30 -1 deemp=14
But maybe only 13 because 29 is taken by DC-blocking filter?
//
What I'm a bit puzzled over is how they are deployed...
-- type 1 = FIR1, 2 = FIR2, 16..30 = IIR, 30 = Deemphasis
-- IIR Coefficients is b0, b1, b2, a1, a2. a0 is assumed to be 1.0000
and for example:
dam1021,44100,8,16,5,0.8
16 IIR biquad 1
b0 = 0.9172257802529049
b1 = -1.792384354953564
...
dam1021,44100,8,17,5,0.8
17 IIR biquad 2
b0 = 0.8272257802529049
b1 = -1.392384354953564
...
would these always be active in addition to every other filter in the DAM?
And there are 14 free? 16...30 -1 deemp=14
But maybe only 13 because 29 is taken by DC-blocking filter?
//
Last edited:
There was a nice section on that at moredamfilters:I would like to see more verbose documentation of filters.
//
RoomEQ and Crossovers with the DAM1021 | moreDAMfilters
Power supply question
Got late onboard thanks to a cheap gen1 board.
First of all many thanks to everyone who helped raise the sound of this project from the simply unacceptable to the nearly sublime. Yes, i did listen to the board prior to any mods and understand well a friend who was an early adopter and who sold his board screaming in horror within its first week 🙂
So, after fixing Vref with plenty of capacitance, new filter resistor values and the "superreg" transistor mod, the result is indeed quite pleasing. Removing the horror ceramic cap filter at output also helped.
So, here is the question: why not give the clock a separate regulator? The 3.3v gets shared between the clock and the micro and all that separates them is a flimsy RC filter. The 1R resistor makes the separation very easy. Of course i tried it and the change was substantial but not entirely an improvement, perhaps due to the regulator i had at hand.
Got late onboard thanks to a cheap gen1 board.
First of all many thanks to everyone who helped raise the sound of this project from the simply unacceptable to the nearly sublime. Yes, i did listen to the board prior to any mods and understand well a friend who was an early adopter and who sold his board screaming in horror within its first week 🙂
So, after fixing Vref with plenty of capacitance, new filter resistor values and the "superreg" transistor mod, the result is indeed quite pleasing. Removing the horror ceramic cap filter at output also helped.
So, here is the question: why not give the clock a separate regulator? The 3.3v gets shared between the clock and the micro and all that separates them is a flimsy RC filter. The 1R resistor makes the separation very easy. Of course i tried it and the change was substantial but not entirely an improvement, perhaps due to the regulator i had at hand.
Thanks zfe!
OK - now it makes sense. What I heard with my 4 biquads was the bass beeing OK but all my higher EQ was not there.
A bug. Only one biquad works at a time. And an old one at that.
Sören, please fix this.
//
OK - now it makes sense. What I heard with my 4 biquads was the bass beeing OK but all my higher EQ was not there.
A bug. Only one biquad works at a time. And an old one at that.
Sören, please fix this.
//
fedde, thanks I get the biquad now I and managed to load some. I think 🙂
What I'm a bit puzzled over is how they are deployed...
-- type 1 = FIR1, 2 = FIR2, 16..30 = IIR, 30 = Deemphasis
-- IIR Coefficients is b0, b1, b2, a1, a2. a0 is assumed to be 1.0000
and for example:
dam1021,44100,8,16,5,0.8
16 IIR biquad 1
b0 = 0.9172257802529049
b1 = -1.792384354953564
...
dam1021,44100,8,17,5,0.8
17 IIR biquad 2
b0 = 0.8272257802529049
b1 = -1.392384354953564
...
would these always be active in addition to every other filter in the DAM?
And there are 14 free? 16...30 -1 deemp=14
But maybe only 13 because 29 is taken by DC-blocking filter?
//
You need to use 352800 and 384000 as frequencies. And i think the gain should be 1 instead of 0.8. There are 15 IIR filters x 2 frequencies. Of the 15, 1 is used for deemphasis and 1 for 2Hz HPF. So you have 13 or 14 filters depending whether you want to use the 2Hz filter. By the way, a1 and a2 need to be inverted, this is not clearly described in the manual.
For example, I tried the following filters today:
(disclaimer, I did not measure the end result yet, but they appear to be ok)
dam1021, 352800, 8, 16, 5, 1
16 IIR filter, 352800 Hz, type=Low-shelf, freq= 160 Hz, gain= 4.5 dB, bw= 1.0
1.0005235415067368
-1.9964576108688858
0.99594457141929293
1.9964597340585233
-0.99646598973639311
dam1021, 384000, 8, 16, 5, 1
16 IIR filter, 384000 Hz, type=Low-shelf, freq= 160 Hz, gain= 4.5 dB, bw= 1.0
1.0004809936353041
-1.9967455877718776
0.9962734602126061
1.9967473802169671
-0.99675266140282137
Well, apparently there is a bug where only one (1) of the biquads gets executed even if you add several. At least that has been reported and verified with measurements. And I have not seen any bug reports saying it's gone.
Do you understand why there can be no coefficients under the 44,1 filter "declaration"? Like:
-- FIR1 filters for 44.1K/48K Samplerate
dam1021,44100,8,1004,3999,6.4
04 Linear Phase FIR1, 44.1 Ksps, 21.3 Khz - 1 db, 21.9 Khz -130 db
-- empty --
dam1021,48000,8,4,3999,6.4
04 Linear Phase FIR1, 48 Ksps, 23.2 Khz - 1 db, 23.8 Khz -130 db
-0.0000000033388097391170944
-0.0000000034687681803499536
-0.0000000030983288729504413
-0.0000000022790511231834339
-0.0000000011264009224108422
//
Do you understand why there can be no coefficients under the 44,1 filter "declaration"? Like:
-- FIR1 filters for 44.1K/48K Samplerate
dam1021,44100,8,1004,3999,6.4
04 Linear Phase FIR1, 44.1 Ksps, 21.3 Khz - 1 db, 21.9 Khz -130 db
-- empty --
dam1021,48000,8,4,3999,6.4
04 Linear Phase FIR1, 48 Ksps, 23.2 Khz - 1 db, 23.8 Khz -130 db
-0.0000000033388097391170944
-0.0000000034687681803499536
-0.0000000030983288729504413
-0.0000000022790511231834339
-0.0000000011264009224108422
//
Well, apparently there is a bug where only one (1) of the biquads gets executed even if you add several. At least that has been reported and verified with measurements. And I have not seen any bug reports saying it's gone.
Do you understand why there can be no coefficients under the 44,1 filter "declaration"? Like:
Well the post was from April 2015 and Paul already got a firmware patch. So it would surprise me if the fix would not be in the current firmware. I am pretty sure that I have six filters running currently. Sounds good to me.
Regarding your question of the FIR filter, this is a feature. The filter number is 1000+4, which means that filter 4 (as defined for 48 kHz) will be reused.
Fedde
Last edited:
Okey / good to hear that. I was so sure one needed to generate different filters for different fs I didn't even consider that. Anyways I took a chance and exchanged that present filter with one I generated with rePhase which contain my line source compensation - generating it for 352,8 it plays very well now 😀
So eventually success!
//
So eventually success!
//
By the way, a1 and a2 need to be inverted, this is not clearly described in the manual.
Aha.... How inverted? Please explain.
//
Aha.... How inverted? Please explain.
I used confusing (or even wrong) terminology here. I meant that in a Biquad filter, a1 and a2 get a minus sign. E.g. see the direct form diagrams in:
Digital biquad filter - Wikipedia
The question is then whether the minus sign is implemented in the hardware/software that processes the IIR or in the programmed in a1/a2 coefficients. In my case, I think I needed to add a minus sign for a1 and a2 in my IIR filter definition compared to the excel sheet.
Fedde
I think it is still possible to program in different filters for 44.1 and 48 kHz, by changing the filter number from 1004 to 4.Okey / good to hear that. I was so sure one needed to generate different filters for different fs I didn't even consider that. Anyways I took a chance and exchanged that present filter with one I generated with rePhase which contain my line source compensation - generating it for 352,8 it plays very well now 😀
So eventually success!
//
Fedde
- Home
- Vendor's Bazaar
- Reference DAC Module - Discrete R-2R Sign Magnitude 24 bit 384 KHz