ES9038Q2M Board

On the subject of interpolation filter design, there is a very good book with a very interesting chapter on S-D dac interpolation filtering. The book is called, Understanding Delta-Sigma Data Converters (IEEE Press Series on Microelectronic Systems) 2nd Edition. Understanding Delta-Sigma Data Converters (IEEE Press Series on Microelectronic Systems): Shanthi Pavan, Richard Schreier, Gabor C. Temes: 9781119258278: Amazon.com: Books

One thing in particular, and in reference to the interpolation filter we saw for Sharc, it turns out that there are good reasons for not doing the 8x interpolation that we need for Sabre all at once. :)

Thanks for pointing that out, I did a quick read of chapters 13.4 - 14. Still wrapping my head around it. :p
 
Mark, I did some tests with different clocks, and noticed THD improvement from noname 100MHz 3.3V OSC to SiTime SiT8209 and further with 50MHz Epsol crystal + internal DAC's OSC. The biggest improvement I got when replaced 100MHz OSC to SiT8209, don't remember exactly because I made many others modifications as well to improve THD, I think at least from .001% to .0006% step down only due to SiT8209. And Epcos standard crystal+internal 9038q2m oscillator reduces THD up to .00045%(or .00025% after THD_COMP tweaking) on my proto-board, which is highly optimized for a min size(USB dongle). Of course, I glad to get such a perfect clock for 1/30 of SiT8209 cost but 50MHz simply don't catch Fs=192, only <=96, so I need to use 100MHz crystal anyway. Unfortunately, 100MHz Xtals available in 5032 or bigger case.. It seems 9038q2m datasheet has mistake regarding 100MHz as max Xi, it rather min or the only single valid frequency, at least for SPDIF at 192.
 
...It seems...datasheet has mistake regarding 100MHz as max Xi, it rather min or the only single valid frequency, at least for SPDIF at 192...

Thank you for telling us about the results of your clock experiments.

That sounds very odd about SPDIF not working. How were you testing it? Coaxial or optical? If there was enough jitter or otherwise poor signal quality, then I could see how it might not work. Do you have a schematic of how that is being hooked up to the dac?

Regarding the effects of different clocks, good to see you tried that. Would you say you could hear any differences with the different clocks? If so, how would you describe them?

A much better dac clock that would be good to try if you could find one would be NDK NZ2016SDA 49.152MHz. Those clocks come in larger sizes too if 2016 size is too small. They might be a little too costly for your low cost dac, but it might be good for your own knowledge and or experience to find out how much they can help the sound of a dac.

NDK also makes an 80MHz clock that isn't quite as good as the one mentioned above (since it doesn't have the A suffix at the end of the part number), and it is a little bigger size too, NZ2520SD. Just mention it in case you might like to try that. Some people use them for Sabre mobile dacs.

Not too surprising you measured some differences in distortion with different clocks, but we sure would really appreciate to see an FFT showing the amplitudes of the various harmonics for each clock. Don't know if you are set up to be able to do that or not.

Also, it would be good to try adjusting the dac chip harmonic distortion compensation registers for minimum 2nd and 3rd harmonics. That will usually lower distortion some too. It would be interesting to see if you can hear a difference from that. If so, your customers probably could too.
 

Attachments

  • 1190948_e.pdf
    146.9 KB · Views: 125
Last edited:
Another Interpolation and DSP Post in Reference to Sharc

Hi Guys,
Regarding the suggestion to consider Sharc for interpolation filtering, etc. I see that Gustard now has a new dac out that measures very well at ASR, and it appears to be using Sharc for both external ASRC and interpolation filtering.

However, it looks like the only Sharc evaluation board available is for SC589. While that chip seems to have FIR and polyphase interpolation lib functions, it doesn't have ASRC (that I was able to locate). Although it appears to be the newest and top of the line Sharc, it looks like software development for is still comparatively incomplete.

On the other hand, ADSP-21587 has FIR and ASRC library functions. Since I use external ASRC and I don't like the limited filter choices available AK4137, software ASRC might be attractive to have available. I kind of assume Gustard probably used one of the slightly older chips like ADSP-21587 because of somewhat more extensive software support. Unfortunately, no eval board for that chip.

Another concern I would have is that there are no performance specifications that I have seen for software DSP functions. Although FIR filters can probably be arbitrarily defined by numbers of taps, coefficients, and bit-depth, not so clear that a supported ASRC algorithm could be performance tweaked. The reason I would be concerned about that is because when I last looked and Sharc and Blackfin processors some time ago, I found that the hardware ASRC specs were not as good in terms of distortion as SRC4392 or AK4137. That was the primary reason I decided to drop consideration of Sharc and Blackfin. If desired to use ASRC for SPDIF resampling and or for jitter reduction of I2S, I would want the ASRC to be of excellent sound quality including being competitive with the best available hardware ASRC distortion performance.

Regarding the semi-linear phase properties of polyphase interpolation filtering, one could test it and see how it compares with the sound of something like DAC-3 or Solaris dacs. If found to be lacking, it seems likely the that the lib FIR function could be used to create arbitrary interpolation filtering if zero stuffing were applied by custom programming prior to calling the lib FIR function. Either that or a custom interpolation filter could be written. Since the lib functions appear to be distributed in binaries only, it might not be possible to account for I2S data block filter priming to accomplished perhaps more efficiently by modifying FIR lib source code. Rather it may be necessary to add prior block samples to the beginning of the next block to be filtered for priming purposes, then strip them from the FIR output later.

The other thing that is not clear to me is exactly how Sharc I2S output jitter can be well controlled. One could presumably buffer post-interpolated I2S data in Sharc, and then clock it out with an ultra-low jitter external reference clock. However, there would seem to be no way to guarantee jitter compliance to required levels without possibly requiring some post Sharc reclocking before passing I2S data to the dac so as to meet stated and unstated Sabre setup and hold requirements for best sound quality performance.
 
Last edited:
Okay, thank you very much. See SC589 uses the same ASRC core as AD1896, and there are 4 per DAI (in Signal Routing Unit). The output sample rate is limited to 192kHz, and distortion in (44.1kHz : 192kHz) mode is specified at -123dB. (Junk, to me.)

It happened that I was browsing around in CrossCore and didn't see that. Probably wasn't looking the right way since I haven't studied all the documentation yet.
 
Last edited:
The Sharc doesn't support DSD so does that mean the ASRC would need to be custom implemented anyway? Besides, the Ak4137eq datasheet shows -115 dB THD-N typical for 44.1 to DSD64 conversion vs the Sharc numbers are worst performance.
But maybe FPGAs would do better? 3lite has some graphs posted for his 16x interpolation filter project.
 
If PCM is done well enough with a good filter, it can sound pretty much just as good as DSD. The reason DSD often sounds better with built-in filters is because the filtering is much simpler than for PCM to get right, IMHO.

However, I still would like to have good DSD too, I just don't like AK4137 filter choices or something about it. AK4137 PCM filters appear to be applied after upsampling (or as part of the upsampling process, whichever way to think of it), and before conversion to DSD. It would be great to have a custom DSD modulator and custom ASRC so the filtering could be a better fit to match the sound of something like DAC-3. DAC-3 clearly sounds more like good analog as compared to AK4137 filters as applied an otherwise good quality Sabre implementation . Its just a lot of work involved to develop sufficient deep down low level expertise in everything. A fixed sample rate filter without even digital volume control would be a good start. Everything beyond that would be another upgrade. Go for high quality, but take it in baby steps at first, would be my philosophy at this point.

Regarding AK4137 DSD, by ear DSK256 sounds best. So why do anything other than upsample everything to be played in DSD to DSD256?

In the meantime, a custom filter should try to compensate or override AK4137 filters as much as possible. Since a custom filter can presumably have a lower corner frequency than AK4137, if set to one of the 2 fast transition filters (since we know if starting from 44.1 Khz there can't be anything over 22kHz frequency content including if we upsample to 192kHz or higher). Then we would have a lot of empty bandwidth for a gentle filter slope starting above 22kHz so long as we are deep into attenuation at frequencies where the upsampled alias images of 22kHz newly reside. (Of course, there is always the possibility that AK4137 is filtering its 192kHz, or any other upsampled output sample rate, based on the input sample rate, kind of like we would want to do only not the fully taking advantage of the situation as we would like to. That possibility is sort of suggested by the performance of the two AK4137 slow transition filters, as they cut into the top of the 22kHz source spectrum and attenuate too many higher frequencies.)
 
Last edited:
Mark,

from your experience there Is no alternative to use quality electrolytic caps (Nichicon Muse or other non polar or polimer organic) for better sound other than using parallel Wima MKS4 10 10 22 33 33 from +15 to gnd and from -15 to gnd
that Is recomended to be used local for each op amp or one time per power supply rail.
In common case there are manuy op amps
what type of regulator and local amount of capacitance are you using


Because I tried it on my dac while trying to reduce sensitivity to different types of opamps that I didn't think should sound as different as they did. Excellent improvement in sound quality.

I later was acting as a reviewer for the new Allo Katana dac. I reported that it didn't sound that good to me using the power supplies recommended by Allo. They suggested I get on with the testing to try to get better sound quality, so I tried it with linear supplies and that helped a lot, but it was still a bit grainy. I told Allo when I could I would try moving my film caps from my dac to the +-15v power inputs on Katana I was feeding with a linear supply. Wow. Really improved it too, the remaining graininess was gone and it was very smooth.

Later I tried again with Katana using mostly 33uf Wima mks4 caps in parallel adding up to about the same value as before. Didn't think it sounded quite as good. During a period when my other block of film caps of various sizes was free for a few days again, I directly compared the blocks of parallel 33uf caps with the mixed value caps and my initial impression was confirmed. The group with some smaller value caps sounded better again. I suspect it has to do with the impedance of the caps at higher audio frequencies. If you look at graphs that Wima publishes for the mks4 film caps, you can see that the larger uf value caps are not specified to as high of frequencies. They kind of go off the bottom of the graph.

Even later, I had a guy over to visit who makes his living as a high end audio designer, including a stint at Pass Labs where he designed their very popular headphone amp that was the hit of one of the CES shows, and sells for $3,500. I told him about my use of film caps in the power supply helping sound quality, and he said with a look on his face like I was dumb, "Well, of course."

EDIT: The film caps were tried only after trying other things with very low ESR electrolytics. We are talking 10,000uf of .053 ohm ESR caps in that case. Didn't help one bit over using 1,000uf electrolytics. But, 108uf of film caps per rail, in the right values, was plenty. Therefore, I recommend trying it, despite the cost. Don't know of another way at the moment to improve sound quality in the same way, although I suspect large area multi-layer PCBs with power and ground planes might be best. I know there are dielectrics that can be added to such PCBs between layers to help lower power supply impedance up to high frequencies. That, and distributed small value lumped capacitors might be ideal.
 
samoloko,
I am sure there are other ways to get equivalently good sound quality without using film caps. Benchmark DAC-3 does it. eziitis has described the 3-transistor Nazar regulator as doing it. It may be that the better or best shunt regulators do it. Unfortunately, out of the various options, most people including me have not directly compared all the alternative methods that might be used, so nobody I am aware of can say for sure which approach is best, or which approaches can equal each other in terms of bottom line sound quality. What it comes down to in my view is that somebody needs to do some more work on it and share the results so the whole community can benefit from the knowledge. At one point there was an effort to do that with voltage regulators which was published in Linear Audio. Unfortunately, two of the best ones they found are no longer available, so the information in the article is somewhat less valuable now. In terms of my own personal policy, I can only recommend what I know works in my experience, although I have mentioned here and there that the Nazar circuit recommended by eziitis might be an alternative to try.
 
Hi Kay,
I did try low-jitter clocks with AK4137 and it actually sounded worse that way. The best results I have had have been with a clock divider and very precise delay. Short of going to such lengths, I would recommend to leave the stock AK4137 clocks alone.

It could be that over time a somewhat better and a bit more simple way to sync AK4137 output and the dac chip I2S input will be found, but nothing to report on about that at this time.

Regards,
Mark
 
Last edited:
Mark,

I have respect and do not Intend to question your work at all
I am gratefull that you sharing with us your experience

just want to know exact condition (regulator and local decopling caps) so I can evaluate and adopt to my condition
In fact I do have player modded output stage with so much capacitance added using electrolityc cap that It Is unlistenable

samoloko,
I am sure there are other ways to get equivalently good sound quality without using film caps. Benchmark DAC-3 does it. eziitis has described the 3-transistor Nazar regulator as doing it. It may be that the better or best shunt regulators do it. Unfortunately, out of the various options, most people including me have not directly compared all the alternative methods that might be used, so nobody I am aware of can say for sure which approach is best, or which approaches can equal each other in terms of bottom line sound quality. What it comes down to in my view is that somebody needs to do some more work on it and share the results so the whole community can benefit from the knowledge. At one point there was an effort to do that with voltage regulators which was published in Linear Audio. Unfortunately, two of the best ones they found are no longer available, so the information in the article is somewhat less valuable now. In terms of my own personal policy, I can only recommend what I know works in my experience, although I have mentioned here and there that the Nazar circuit recommended by eziitis might be an alternative to try.
 
Last edited:
Samoloko,

I think I already described all that before, probably more than once, but you know how finding what you want in this thread can be difficult sometimes. Let me take a moment to look at the DacPostList that I attach from time to time...

For my test dac, I think the info is in the post at the following link: https://www.diyaudio.com/forums/digital-line-level/314935-es9038q2m-board-292.html#post5569145

Some more info at: https://www.diyaudio.com/forums/digital-line-level/314935-es9038q2m-board-316.html#post5603783

The opamps all have the standard .1uf X7R and 10uf tantalum at each power pin.

Allo Katana reacted the same way to film caps and it was running from my slightly modified linear bench supply. It originally used LM317/337, but at one point the 317 was damaged and got replaced with a similarly rated non-super LDO (part # escapes me at the moment). Rectifiers were also replaced in that PS with soft recovery types. I find that within reason most power supplies and opamps seem to produce better results with film caps present, although I haven't gotten around to testing some shunt regulators I have here, nor the Nazar regulator suggested by eziitis (which I would have to prototype). Only opamp that didn't like film caps was AD797, probably no surprise if one reads what the data sheet has to say about decoupling and instability. In brief, AD797 doesn't seem to like power supply rails that are rather low impedance over a wide-ish bandwidth. Most opamps seem to work better with it, at least for audio.

My other finding was that huge amounts of low ESR electrolytics don't necessarily help one bit. Some specialty types might help more including those many people tend to favor for audio, but as caps go, good film caps can be very hard to beat up to maybe 100kHz or so for 10uf and slightly larger types. Probably less HF for 33uf, and maybe 22uf somewhere in between. Very small low voltage film caps may be good up to a few MHz, but at some point it gets hard to beat ceramics as frequency continues to go up. NPO/C0G ceramics can be good at audio frequencies even in the signal path, but they often make poor choices for decoupling due to excesively high Q and ESL combining to produce under-damped resonances and crazy impedance variations.

-Mark
 
Last edited:
Hi Mark,

I finally got my replacement Es9038q2m board and reapplied the mods that I had done to the first one before the mishap. It works but not without problems. I think I may have damaged my cheap Chinese Kubota psu when the first board got shorted. When the new board is hooked up and power is applied the negative rail voltage on the psu drops from -15 vdc down to ~ -3 vdc, the right rail drops from 15 vdc to 13 vdc, not good. I doubt that the board can pull that much power. I had noticed this on the old board after the pins on the dac chip got shorted out with a stray blob of solder on the legs. The dac plays and sounds much the same but where the old board sounded very clean there is underlying background noise with the new board. I have a new LT1083 based psu on the way. Hopefully that gets things back on track.

Paul
 
... the psu drops from -15 vdc down to ~ -3 vdc, the right rail drops from 15 vdc to 13 vdc...

Hi Paul,

What current is the power supply rated for? Maybe you could test it with some resistors or low voltage light bulbs or something? Do you have clear picture of the power supply circuitry? How about a schematic?

Probably good to do a little troubleshooting and or learn about how to do it, that is, in case you haven't done it for a power supply similar to the one in question.

-Mark
 
I had noticed this on the old board after the pins on the dac chip got shorted out with a stray blob of solder on the legs.

Paul,
Another thought just occurred to me, which is that the dac chip itself doesn't run on +-15v directly at all, and not clear how a blob of solder there would take out -15v supply of all things. I wonder, what if the problem after the solder blob was removed was primarily the power supply and not the dac chip? It seemed a bit uncertain to me that the dac chip should get nuked by a little blob of splattered solder, although it could. It also seems odd that a short on a part that runs at 3.3v would take out a +-15v power supply, but not the 5v (or 8v, if its used on the board you have instead of 5v) and the 3.3v regulator(s). It's just that when too many things happen at once it would seem reasonable test each suspect part separately to be sure of exactly what has happened, and to try to get a better understanding of what is cause and what is effect. By the way, if you are using a USB board of some type, maybe XMOS or Amanero, have you checked it to make sure its still okay?
 
Last edited:
Moving Forward with Interpolation Filter Ideas

Thanks for pointing that out...

You are very welcome, of course!

Say, while we are talking perhaps a proposition that might interest you: Been thinking about how one might make a proof of concept dac system topology using a Sharc interpolation filter. First cut at it could be with the polyphase filter code you posted just to see how it sounds, and maybe a second version later using zero-stuffing prior to the standard Sharc FIR filter library function. With that basic concept in mind I have started working on a block diagram hardware/software proof of concept system that might be able to produce excellent PCM sound quality with the dac chip working in synchronous 128_fs mode (the mode that is reputed to have best sound quality).

On the hardware front, I would have to take some timing measurements on my current modded dac test system in order to develop a hardware design for one particular timing critical I2S interface point.

I would also have to put together some pieces of test hardware to patch it all together. What I am thinking of proposing would be to share what I have in the way of a block diagram, and then start to work on implementing certain hardware pieces, assuming I would be able to figure it out sufficiently. If I can get that done, I would be willing to send you some hardware items to use with what pieces you already have such that you would have a complete hardware setup for initial development and testing. What I would ask in return if you would be willing to do it would be to implement the software block diagram components inside Sharc (and to revise the software block diagram as needed to to make working software interpolation functionality.

What I would then propose to do would be to keep thinking about how to provide similar software functionality in FPGA. However, Sharc can run at 64-bit float for very modest Sharc chip prices. Similarly modest FPGA prices would probably dictate nominally 32-bit integer filters (with maybe a few extra bits providing a little overflow capability). I would tend to expect that Sharc may able to do the calculations while preserving more numerical accuracy, so it might win a sound quality contest between the two. We would have to see how that might turn out.

Of course, so far I have described the design as being a proof of concept system. Why should become clear once a block diagram is available as a visual aid for design discussions.

Please let me know if you think you might be interested. I'm asking because I think it would be too much for me to pursue two competing and rather different interpolation filter hardware platforms and software environments in order to test out how well one might work as opposed to the other.
 
Last edited: