Asynchronous I2S FIFO project, an ultimate weapon to fight the jitter

I'm currently building a stupidly excessive over the top power supply to replace Raspberry's battery, i'll let you know how it goes, but I dont really expect any improvement, just want to prove it to myself.

Second question- NO. USB ****s everything up.

Thanks Supra. Interrested by your experiment as we have close dac devices (but some caps arrengement).

Raspberry 3 + Moode Audioplayer is comming very soon (Synology limited GUI for the moment). I will see with my current material test if I hear a difference despite the FIFO & isolator. Sort of prove of concept about conceptual vs faith as assume JULF. (does the isolator solves all the noise behavior or else in the 3 I2S signals ? Me not Nobel price... just try to understand !)
 
Last edited:
Yes, I don't talk about the "data" itselves but eventually some electrical behavior (residual noise non filtered, micro voltage fluctuation, dunno but all what imagination could expect if we can hear a difference, and psychological as well, why not)

In my head only the clock board and PCM board should have to be feeded by the less noise as possible, e.g. with a cell to be sure to add not external noise. But if some experience tech/enginner can hear a difference with different supplies also before the isolator when checking with musical tests, it's worth to understand why ! (and look for the "ultimate" further improvements)... And if there are changes also with a diferent sources : e.g. difference between feeding the FIFO (I2S direct, USB to I2S, SD card to I2S) : Worth also to know why if datas are not corupted : can we quantify, find why, and improve even further...

Thank you to have rephrase it.
 
Last edited:
I'm currently building a stupidly excessive over the top power supply to replace Raspberry's battery, i'll let you know how it goes, but I dont really expect any improvement, just want to prove it to myself.

Second question- NO. USB ****s everything up.


i dont think its usb in itself that ****s everything up
its possibly its upstream noise factory

too many times we try to fix dubious signals (turn something bad into good)with isolators and reclocking
when really what we should have done was start with a good signal
if we ever get to a point where isolation and reclocking has no or a negative effect
we will be where we need to be
given the vast improvement in sound quality that the fifo gives the raspberry (cleanly powered or not) it seems obvious to me the rpi is far from optimal either
 
i dont think its usb in itself that ****s everything up
its possibly its upstream noise factory

too many times we try to fix dubious signals (turn something bad into good)with isolators and reclocking
when really what we should have done was start with a good signal

But wouldn't optical toslink (S/PDIF) be the ideal interface based on that logic? Galvanically isolated, so absolutely no electrical noise, and any possible jitter will be eliminated by the FIFO.
 
.... but the noise which can be generated by the active device at the output of the fiber ?!

Isolator is equal to a TosLink reception board in quality ? It's an old story but people seemed not to like Toslink because the quality of the actives devices or noise they can further add ? And it's 24/192 max (personnaly it's enough for me, nobody proved than 384 oversampling is hearable vs 192 only !)

@ Nige2000: We assume to use RaspBerry or likes because it's easier to make a clean 5 V than filtering the huge polution of the SMPS the PCs have. Indeed nobody measured the quality of the I2S output of a cleaned supplied Pi ; i.e. if the layout of the Pi itself is a noise generator through its I2S output. The only thing which push me to buy a Pi instead an Odroid C1+ is the clean I2S-uf-l board Ian made for the Pi. ANd as far I know compatible with the Pi3.

Now if the Fifo/ isolator/reclocker is good enough (fully proof) to use a Windows with a smps PC and the said bad USB non Linuxed: I would use this last : to profit from more versatile soft : FIR, DRC,... to work in the digital domain more easily and cheaply !
 
Last edited:
.... but the noise which can be generated by the active device at the output of the fiber ?!

Sure - but is that noise in any way dependent on the quality of the signal going into the fiber?

Now if the Fifo/ isolator/reclocker is good enough (fully proof) to use a Windows with a smps PC and the said bad USB non Linuxed: I would use this last : to profit from more versatile soft : FIR, DRC,... to work in the digital domain more easily and cheaply !
Of course all the FIR/DRC etc. is equally possible under Linux, but you probably need something more powerful than a RPi.
 
I'm surprised than the members of the other bar about audio & computers hadn't work on some protocol to test all of this to make it an old resolved story... maybe they are mor on the code side !

Well a this point with the same supply I would like to now if a 5 V feeded USB to I2S sounds different than a Pi to I2S via uf-l boards and all the chain of Ian's front end after !

More than one, like Supra had listened a difference.

Then if there is no difference because the isolator makes ultimatly a good job (I haven't understood how the isolator works but by isolating the ground as reference) to erase all source issues about the signal there should be no difference between spidf, Toslink, Windows, Linux, Mac-nux, Jriver, Bug heafd emperor Something with 16 Go Ram, etc, etc !

From here : take the pc source you want or you have to improve the phase filter of your speaker passive filter in the digital domain before, makes some room EQ against the bad room modes, etc !

We should try as owners to investigate it, cause there are a lot of possibilities according the results ! For instance you can supress the USB, keep the PI but jusT as a player but process some treatment in the main PC/server side, etc !

Where to measure it ? at the input or output of the isolator ? At the end of the process at the last output device (PCM boards or Clock boards, assuming those lasts are LiPOFE4 cell feeded) ?

We can certainly organise that. In his side Ian is always improving his stuffs by keeping the last best performance with the chips (isolator chip e.g.) choosed inside the constructors catalogs...

I mean as far than ears can hear a difference, I have any pleasure with scopes personnaly.
 
Last edited:
I'm surprised than the members of the other bar about audio & computers hadn't work on some protocol to test all of this to make it an old resolved story... maybe they are mor on the code side!

There are a bunch of applicable protocols and measurements that could be done. Noise is easy to measure, jitter is not too difficult (look at the work done by archimago), and even properly controlled listening test protocols are well defined. The problem is that none of the "science can't explain everything" brigade are willing to do (or even acknowledge) any measurements or controlled tests.

Well a this point with the same supply I would like to now if a 5 V feeded USB to I2S sounds different than a Pi to I2S via uf-l boards and all the chain of Ian's front end after !

More than one, like Supra had listened a difference.
Yes, that would be reasonably easy to verify both with measurements and controlled listening tests, but why bother when you can just rely on your own, subjective and uncontrolled opinion?

Where to measure it ? at the input or output of the isolator ? At the end of the process at the last output device (PCM boards or Clock boards, assuming those lasts are LiPOFE4 cell feeded) ?
The only really relevant point to measure at is at the output of the DAC - after all, that is what you listen to, not some bits coming out of an I2S cable...
 
with pcs isolation is much more effective on usb than on i2s lines
id rather have no i2s isolation and only usb isolation
as long as the usb to i2s device is cleanly and separately powered
problem is hi-speed usb isolators are not mainstream nor cheap
intona is probably the most common

if you take devices like this
SD lossless digital turntable (Deluxe Edition) II2S coaxial output-in Radio & TV Broadcast Equipments from Consumer Electronics on Aliexpress.com | Alibaba Group
the list of potential problems significantly shortens
granted the clocks are completely inadequate and the power supply could be better
it is 3.3v throughout and replacing the clocks is not too difficult
and with a bit of diy it becomes a decent i2s source
 
No, you're free to bother yourself, no problem !

Is 192 K Hz is RF ? When you say proper ground plane you mean this Odroid C1+ or Raspeberry are not ? Both of them are bad ?

I remember a conversation between Marce and the guy behind JLSound, they have slighty a different opinion about the few cm of the common ground of the 3 I2S lines ; to make it short, JLsounds said it doesn't bother for the 2 o 3 cm left between the plug and the emitter chip (I don't talk on the side of the dac board).... For instance : you can conect the two 50 ohms pcbs with 3 x 4" uf-l cables (so each with its own signal return path) but have on the pins of the emitter plug just one pin connected to the gnd at its feet while the I2S emitter chip is at 2 or 3" inch from this plug (so the same gnd plane for all the board parts).
 
Last edited:
Maybe one single Gnd pin is enough at 1" or 2" from the emitter for the ground return ? I don't know, we need advice from people who know RF behavior. Nothing is perfect, it is just to know what trade offs are good.

The B3 adapter is used as Ian was designed,a row for the signal a row for the ground,one pin or 10 pin of ground connected makes no difference,the essential is that each connector UFL be grounded.
 
Is 192 K Hz is RF?

Technically yes, LF (Low Frequency) band, but electronics designers wouldn't consider it "real" RF from an EMF radiation point of view.

When you say proper ground plane you mean this Odroid C1+ or Raspeberry are not ? Both of them are bad?
They both have proper ground planes (the operating frequencies are way higher than 192 kHz). I was simply commenting on the '1" or 2" for the ground return'.

I remember a conversation between Marce and the guy behind JLSound, they have slighty a different opinion about the few cm of the common ground of the 3 I2S lines ; to make it short, JLsounds said it doesn't bother for the 2 o 3 cm left between the plug and the emitter chip (I don't talk on the side of the dac board)....
I would say the JLSound guy has a traditional analog audio point of view, and Marce a high-speed digital view.
 
Indeed. Isn't that the whole point of the FIFO?

Yes. As long as data is correct (bit perfect), FIFO doesn't care about input signal (jitter).

However, if the input signal is too poor, or has too much EMI noise, it will make the I2S receiver inside FPGA chip getting more chance to pick up wrong data(especially in case of SCK signal is affected by noise) . I this case, high quality input signal is still preferred.

I designed a RPi I2S adapter with u.fl connectors months ago. Though I didn't notice any issue so far, but I'm still worry about if that is good enough.

I think a Pi I2S isolater could be a great help. So, I'm considering if I should design a RPi I2S isolator HAT...

Regards,
Ian
 
The B3 adapter is used as Ian was designed,a row for the signal a row for the ground,one pin or 10 pin of ground connected makes no difference,the essential is that each connector UFL be grounded.

Yes I understood that already, the question was if each of the three I2S line has to have its close own personal return path gnd (assuming it is important for high frequency behavior and it seems it is !) if the few cm between the gnd of the uf-l and a further gnd traces to/ near the gnd of the emitter chip is still important.

I already read it's not so important untill say 192 K hz (here the max than these little Pi boards can accept) while it becomes important with higher speed : 384, DSD...

Well it will not change the face of the world it is just about knowledge curiosiy and to know the good enough trade off :)

(PS : unfornatully I have the Ian's Pi uf-l board, not the one made for the Bufallo/Odroid compatible.... but the Pi3 has close specs while Odroid C1+ having maybe its ufl plug very close to the chip.... but as says JULF it doesn't matter maybe at our relative not high speed sampling Fhz...)