A nice, detailed article on the subject [link]
We enlisted Chicago Mastering Service engineers Jason Ward and Bob Weston to help us out, both of whom were somewhat skeptical that any knob tweaking could result in a better iTunes experience. We came away from the process learning that it absolutely is possible to improve the quality of compressed iTunes Plus tracks with a little bit of work, that Apple’s improved compression process does result in a better sound, and that 24/96 files aren’t a good format for consumers.
To test this, Ward downloaded a track from a recently mastered album available on iTunes. He then loaded the original 24/96 master file and used Apple’s supplied iTunes mastering tools to compress the file to iTunes Plus format. He then played both tracks back in iTunes, using the studio’s equipment to switch back and forth between the two versions. The version created directly from the 24/96 master did indeed have a slightly brighter, crisper sound, according to our observations.
Readers would probably know that I use iTunes as my music player. And now with the iCloud shackle, I can’t move to any other player
Purchased pair of power supplies from Connex. This is their their mid-power, heatsink-less power supply. When I ordered, Cristi of Connexelectronic was kind enough to inform me that a new version was in the works and asked me if I wanted to wait for the new model instead of getting the current model at that time. Obviously, I waited for the new model
The latest edition of this supply, the “RE” model, incorporates a CLC output filter to further clean up the output waveform. Factory measurements show 7-11 mV peak-to-peak @ +/-45V at 2A [link]. In addition, I like the following features:
- ‘Perfect” companion to the Hypex UCD-180 amplifier module in terms of size and power for a dual-mono configuration
- The input high-voltage capacitors have been increased in size (as compared with the photo of the older model)
- Based on the latest ST L6599A resonant controller
- $uper deal!
Here is a closer look at the output CLC filter. I we use the reported ripple value of 7-11 mV peak-to-peak for an output voltage of +/-45V, we get .011V/90V=0.012% or .009% RMS for the high value and .005 % RMS for the low value. These values are in the same ballpark as the (0.003%) number for a LM7805 regulator.
The input capacitors have been increased in size as compared with the photo in the Connex website (or this is the size for the 120V model. The 400V input caps are probably for the 200V world)
The auxiliary supply filter caps.
Here is the previous model without the CLC output configuration
The ST L6599A [link] is the resonant controller. This “resonant LLC” topology is widely used for the 80-Plus Gold and Platinum PS’s for PCs because it allows for highest efficiency( [example 1], [example 2]). There are also indications that Hypex is also using this topology for their SMPS: [link]
The use of resonant LLC also results in lower EMI emissions due to the soft switcingh of the FETs and sinusoidal current [link]. In hard-switching topologies, fast changes in voltage and current generally results in higher amounts of EMI.
TECHNOLOGY: CONVENTIONAL VS RESONANT
According to a Fairchild design document:
“The Conventional PWM technique processes power by controlling the duty cycle and interrupting the power flow. All the switching devices are hard-switched with abrupt changes of currents and voltages, which results in severe switching losses and noises.”
“Meanwhile, the resonant technique process power in a sinusoidal form and the switching devices are softly commutated. Therefore, the switching losses and noises can be dramatically reduced.”
“Among many resonant converters, the half-bridge LLC-type resonant converter has been the most popular topology for many applications since this topology has many advantages over other topologies; it can regulate the output over wide line and load variations with a relatively small variation of switching frequency, it can achieve zero voltage switching (ZVS) over the entire operating range, and all essential parasitic elements, including junction capacitances of all semi-conductor devices and the leakage inductance of the transformer, are utilized to achieve soft-switching.”
Soft switching is the main reason for much reduced EMI
The transformer has a new look -a cap- (don’t know if it is functional or just esthetics)
The output FETs are ST W20NM50. Specified at 500V / .22ohm /20amp. It is also rated at 14 amp continuous at 100 degrees C. Ample current carrying headroom mitigates the need for heat-sinks. These two parts alone are worth near 25% of the entire cost of the supply
Selecting mains voltage: 230V or 120V.
At first I was getting 0V. at the outputs. It turned out that the supplies are shipped for 230V operation. For 120V operation, the “120V jumper” must be installed (right photo).
Output voltage adjustment.
The nominal voltage of the supply is +/- 45V. There is a pot for voltage adjustment as shown in the photo below. I also replaced the output metal tabs for screw connectors for easier hookup.
These are the high and low values for the output voltage (previously measured with 330 ohm 10W power resistors loading the outputs)
I gutted an old discarded MUZAK PA amplifier and salvaged the case.
Reused the power cord and the lighted power switch. I added a ferrite bead to the power cord to further filter any potential EMI coming in our out through the power cable. The power supplies already have built-in EMI filters (as most SMTPs do).
The two green LEDs are connected to the auxiliary supplies and indicate that the power supplies are ON. I will later expose the LEDs from the UCD amplifier modules. Thus there will be light indicators for the AC in, the power supplies and the amplifier modules.
For testing and voltage adjustment, I use 1.5 Kohm 5W power resistors connected at the outputs.
The output voltage is very stable. The starting voltage is shown (44.96v). Eventually, it stabilizes at 45.00V.
In addition, with or without loading the outputs with the resistors, the power supplies are dead quiet (at least with my ears a few inches away from the supplies avoiding being zapped with high voltage ).
Mr. NWAVGuy has published one of his most interesting and technically revealing posts: The ODAC
LESSONS LEARNED: If this project has taught me anything, it’s that getting much better than 16 bit (96 dB) performance can be challenging. The first version of the ODAC, despite following the reference design, only had about 98 dB DNR. That’s about the same as the FiiO E10. The photo to the right shows a few dozen assorted surface mount parts that were laboriously swapped out one at a time and measurements repeated dozens of times using the dScope. Some improvements were far from intuitive. Audiophile preferred polyphenylene capacitors performed worse than less expensive types. Additional filtering on the digital power supply dramatically increased jitter. Chasing down the last few dB of dynamic range the chip is capable of proved to be especially challenging. When it was said and done, the DNR went from 98 dB to over 111 dB. That’s a huge difference and something the design-by-ear crowd would have never achieved.
The ODAC is based on very familiar components (Tenor 7022l and ESS 9023 DAC -both not having a freely available datasheet), but according to NWAVGuy, only after extensive component experimentation and measurement, was he able to achieve the numbers published in the DAC’s datasheet. This indeed is a very remarkable achievement given the fact that the entire board is USB powered, including the ESS DAC.
The final product is a collaborative effort with Yoyodyne Consulting and very affordable priced: $99 starting price.
(Another photo of a prototype board from diyaudio)
(Update 5/10/12): Production (with minor tweaks to the layout, resulting in improved jitter (-106 db)
I’m pleased to report the production version has even lower jitter. In the last ODAC article I reported the jitter components adding up to –103.3 dB. In the production version, as you can see below, it’s over 3 dB better at –106.5 dB with far fewer components.
I believe it’s related to some minor changes in the USB ground scheme. When you’re dealing with jitter components below -110 dB, even small changes in the digital grounds can impact jitter. You’re correct such changes carry a risk of making things worse instead of better. So, especially where the PC board layout is involved, we tried to play it safe with the final revisions based on everything I had learned along the way.
(Rev 2 (left) and Rev 1)
Notice the following:
- Replaced can-type of bypass capacitors with SMT types
- Replaced radial through-hole bypass caps with SMT types
- Use of large inductor in front of DAC supply regulator
Perhaps these larger-feature capacitors act like antennas and pick up more air-born EMI causing jitter problems? I notice a similar “trend” on the Musiland USB devices: newer models have done away with through-hole components (maybe it is just cost-savings). Compare the new 01 USD with the old 01 USD:
Some wisdom from the comments section
(Whether you agree or disagree with NWAVGuy’s approach, there is always something to learn in his posts and comments)
Cable ferrite for noise suppression
Use of ferrite bead on USB cable and choosing a “free” USB port [link]. I have been doing this for a while in my own setup
The ferrites do suppress common mode noise and also radiated noise. That lowers noise on the ODAC’s power supplies, which in turn, slightly improves the overall performance. The ferrites are also a good idea for RFI suppression from cell phones, etc. The ODAC has ferrite filtering on board, but it helps to keep as much noise as possible from even reaching the ODAC.
Audibility of jitter [link]
The ODAC and DAC1 both measure sufficiently well to be transparent. But they do measure differently and the DAC1 has a performance advantage in several areas, especially jitter. Yet they sound the same. This is further evidence you’re not going to get better sound by trying to further improve the ODAC, use the XMOS interface, etc.
Put another way, I doubt the XMOS interface beats the DAC1 for jitter. Yet the ODAC and DAC1 sound the same. And it’s not surprising. All the audible ODAC jitter components, using a worst case signal designed to expose the maximum amount of jitter, are below -110 dB and the total is below -103 dB. Consider Ethan Winer’s distortion audibility test. The distortion is entirely masked by the music around -75 dB. A level of -103 dB is massively lower. Ethan very conservatively sets the bar at -100 dB for assured total transparency.
Stay tuned to the next article which will be more technical in nature. Mr. NWAVGuy will go into more detail how he went about the improvements. This is a very valuable source for us diy types with no measuring equipment (and with bad ears ).
If you are getting a “License Invalid” message with this driver version (or newer), you may need to request an authorization key from Musiland.
I was getting the “License Invalid” message when installing this driver on my Musiland O3 US. Requested and received the authorization key. I’ve documented the procedure in the “Musiland” tab
Purchased a 400×240 pixel graphic touch-capable display (new link) module plus its accompanying Arduino MEGA-compatible shield from iTead Studio. The shield has been updated to version 2. See bottom of post for more information.
The shield has, in addition to the connections to the display module, connections to a battery-backed real time clock that has been implemented in the shield. The display module consists of the display panel (the screen), a touch controller and a SD Card socket.
The iTead description says:
The ITDB02 LCD module is work in 3.3V voltage level and it’s not compatible with Arduino MEGA pins, so we make a shield for Arduino MEGA. Now user can directly plug the ITDB02 in the shield and stand on the Arduino MEGA board.
In reality, the ITDB02 module IS fully compatible with Arduino MEGA pins. The shield just makes it much, much easier to connect to the Arduino board. With respect to the 3.3 power, the shield merely connects the Arduino 5V power pin to the display module’s VCC pin which feeds a local LDO regulator that generates the required 3.3V.
MEGA COMPATIBLE SHIELD
(Update 9/7/12): The resistors in the shield are there to limit the current to the protection diodes in the display module, so they are just in series with the signal lines. The inputs of the display must be 5V tolerant even thought the display operates at 3.3V. The better solution is to implement a level conversion 5V->3.3V and this has been done in the new version of the shield. More information in the Arduino forums [link]
COMPONENTS OF DISPLAY MODULE
Full color, 400×240 pixel TFT screen with a 16:9 widescreen aspect ratio. S/W supports 24-bit RGB color. The ITDB02-3.2WD uses the HX8352-A controller
On the back side of the display module:
3.3v LDO regulator: CE6209. The jumper J1 is there to bypass the regulator if your VCC is already 3.3V. First time I see a Chinese-branded LDO regulator.
Note that J1 is used to pass VCC if a regulator is not used. In this case, a regulator is used and thus J1 is open. There is also opportunity to increase C1.
SD Card socket
Here is the display module and the shield stacked on top of an Arduino MEGA 2560
The library (“UTFT” for “Universal TFT”) for this display has been developed by Mr Karlsen and is available here: [link]. Support for the 240×400 pixel display is available with version 1.10 and higher as this is a new display. The software also supports the wiring of the Mega shield shown above. (The control pins are assigned through s/w, though).
The controller for this screen is HX8352-A (apparently it replaces the ILI9327 controller). You will need to enter the controller model in the code as “HX8352A”. The enclosed documentation in the code tells you more. In addition, you need to know this controller model to take advantage of “memory saving” as specified in memorysaver.h
The library is ITDB02-TOUCH, also developed by Mr. Karlsen: [link]. Is also compatible with the wiring of the Mega shield shown above and any other wiring configuration as the 5 interface wires are assignable through s/w.
Real Time Clock:
Mr. Karlsen also developed a library for the SD Card socket/reader [link]. However it is limited to FAT16 formatted SD cards up to 2GB in size and 8.3 characters file names. There is also the Arduino SD Library [link] that supports both FAT16 and FAT32 file systems on standard SD cards and SDHC cards. It is also limited to 8.3 characters file names. There is also a tutorial on SD Card interfacing at LadyAda [link].
Even though the shield takes up all the pins in the Arduino MEGA board, not all the pins are used for the display module and the real time clock. You can connect other devices (e.g. soldering wires) to the free pins.
Pin-out assignment of display module
Includes the screen, touch controller, SDCard reader and Flash. Designation to the different device interfaces are as follows:
- Dxx: TFT screen
- SDxx: SDCard reader
- D_xx: Touch controller
- F_xx: Flash (not populated in this particular module)
Here is the pin mapping of the Ardino MEGA 2560 board:
Obviously the shield matches the 40-pin output of the display module with the pins of the Arduino. In addition, the shield has a real time clock that is separate from the display module and exports the interface pins of this device as well.
These are the pins that are used by the shield. You can refer to the pin basic pin mapping [link] and the manual in pdf [link] (I saved a local copy because this is now a discontinued product: ITDB02MEGAshield_DS ):
Shield/TFT Arduino MEGA pins (section) DB0 to DB15 22 to Digital 37 (Digital) - 16-bit data for screen RS, WR, CS, RST 38, 39, 40, 41 (Digital) - Screen control signals LED-A, VCC, GND 3.3V, 5V, GND (Power) - Power SD_OUT 50 (Digital) - SD Card reader SD_CLK 51 (Digital) - SD Card reader SD_IN 52 (Digital) - SD Card reader SD_CS 53 (Digital) - SD Card reader ------ 42-49 (Digital) - Free pins D_CLK 6 (PWM -also digital) - Touch controller D_CS 5 (PWM -also digital) - Touch controller D_IN 4 (PWM -also digital) - Touch controller D_OUT 3 (PWM -also digital) - Touch controller D_IRQ 2 (PWM -also digital) - Touch controller RTC (SDA) 20 (Communication) - Real Time clock (I2C) RTC (SLC) 21 (Communication) - Real Time clock (I2C) Since the RTC is an I2C device, these pins can be used to connect other I2C devices
Here is a diagram of the pin assignments:
Note: a readier discovered an error in diagram for the SD pins. Look at the pin assignment in the following diagram from the vendor’s website. The diagram corresponds to the new V2 shield, thus there is no real time clock (which is an I2C device). However if you use the shield, you don’t have to worry about the pin assignments except to figure out which pins are free for other functions:
Download the latest version of the UTFT library.
Copy the UTFT folder to the arduino-1.0\libraries folder
There is sample code for the 400×240 display in the arduino-1.0\libraries\UTFT\examples\Arduino folder. Comment the code for UNO and un-comment the code for MEGA (follow the instructions written in the code). Modify the UTFT function with the model for your controller. For the above display I used “HX8352A”
// Uncomment the next line for Arduino Mega UTFT myGLCD(HX8352A,38,39,40,41); // Remember to change the model parameter to suit your display module!
Compile with Arduino 1.0 (does not work with earlier versions of the Arduino software and upload
Here is all I can for now…
NEW VERSION OF THE SHIELD
The shield has been replaced with a newer mode. It does away with the real-time clock chip and replaces the resistors with logic chips (74xx541) for buffering and voltage level conversion, which is a better implementation. In addition it has a input voltage selection switch to make it compatible with Arduino (5v operation) or ChipKit (3.3v operation).
Possibly the buffer chip used in the new shield is a part similar to 74LCX541 which has 5V tolerant inputs and output. This design further protects the display module.
The resistors that were used in the previous version of the shield are there to limit the current to the protection diodes in the display module, so they are just in series with the signal lines. Based on the implementation of the shield, the inputs of the display must therefore be 5V tolerant even thought the display operates at 3.3V. The better solution is to implement a level conversion 5V->3.3V as implemented in the new version of the shield. More information in the Arduino forums [link]
The old version of the shield is still available in kit form: [link] for US $5.50. However it is missing the 3.3V regulator and the SD card reader (so maybe not such a good deal)
For some, this may be a better option because you can solder connection wires to some of the unused pins
Here is a blog on the Theory of Hearing (and other topics aimed at audiophiles) [link]
This tutorial contains information garnered from 26 years as a research scientist at Bell Labs in Acoustic Research at Murray Hill, and its lineal descendants, from a variety of papers, from learning while I was an Audio Architect at Microsoft, and when I was Chief Scientist for Neural Audio. It contains ideas gathered from a variety of papers and experiments, done by many people, over a long period of time.
The author has more than sufficient credentials and experience to present an authoritative synopsis on the topic. He concludes:
In summary, the processing done in the brain is exceptionally plastic, and can be guided by a variety of things. The result of all that processing is what we actually, consciously hear.
- If you listen to something differently (for different features or objects)
- You will remember different things
- This is not an illusion
- If you have reason to assume things may be different
- You will most likely listen differently
- Therefore, you will remember different things
A fellow diyer from Germany kindly sent me as a gift a PC board and other components for the IL715 isolator. I purchased the chip from Digikey. It came with very sophisticated packaging:
I configured the IL715 the “standard” way: both sides fully isolated including power and ground. Below is a photo of the mounted device including two .1 uF capacitor bypass for the power lines (forgive the messy soldering -I couldn’t find my bottle of flux ).
Other projects have implemented the use of isolators and the NVE part is the favorite part. But at that time I did not find compelling reasons to use isolators. In addition, according to the IL715 datasheet, the part adds 100 ps of jitter. So lowering jitter is not a reason to use these isolators. In fact the amount of jitter is in the same order of magnitude as the jitter present in modern FPGA-based USB interfaces so the added jitter is a significant amount.
Note on Jitter: likely the figures quoted are “peak-to-peak” values. Clock jitter values are typcally specified as RMS jitter. The approximate conversion is 15 ps peak to peak ~ 1 ps RMS. Thus in RMS values, the added jitter by the isolator is about 7 psec RMS. Typical FPGA-based USB interfaces will add in the order of 150 psec peak-to-peak or 10 psec RMS [link]
In theory, the reason to use a signal isolator is to block any potential noise coming from the I2S lines including ground. I suppose one can find benefit if the detrimental effect of the noise is greater than the effect of the added jitter.
The power for the input side (the USB interface) is taken off the 3.3V supply inside the Musiland 03 US. The power for the output side is taken off the 3.3V digital supply in the BII DAC. Conveniently, the through holes for the Tridents provide the 3.3V. This way the two devices are completely isolated from one another. Neither GND or Power are shared.
Connection between the BII DAC and IL715 and Musiland USB interface. Only used 3 of the 4 inputs/outputs (no need for master clock as the Sabre/Buffalo is configured for asynchronous operation).
I ran my unlock tests with and without the IL715 and here are the results:
First couple of hours after start-up; 44.1KHz, DPLL set at LOWEST
The start up behavior looks similar with or without the IL715. It takes about 1 hour for the system to stabilize. With the IL715 effectively blocking any potential noise passing through the USB interface, this implies that what we are seeing is the “warm-up” characteristics of the Sabre32/Buffalo DAC itself.
After the warm-up (bottom graph), the IL715 seems to slightly increase the number of unlocks. If we compare the this test with what we obtained before without the IL715, the configuration with the IL715 does not look as good. A longer test may show similar results as without the IL715, but this at least hints that there is no need to use the isolator.
This test also seems to indicate that the remaining unlocks are not due to noise coming through the I2S inputs (through the PC and USB interface) since they are isolated, but are due to some other factor.
Increase the sample rate to 88.2KHz; DPLL still at LOWEST
Since the behavior of the DAC with or without the IL715 is about the same, it is hard to see any substantial differences.
It is well known that increasing the sample rate also requires increasing the DPLL setting. In this experiment we will increase the sample rate to 88.2 KHz but leave the DPLL with the setting set at LOWEST. We can expect a large number of unlocks and hopefully see how they IL715 compares with the direct connection. The sample rate will be increased at the Musiland control panel after it has stabilized at 44.1KHz.
The graph below compares the performance of connection through the IL715 vs direct connection. As expected we get lots and lots of unlocks. The tests were done at the same time frame: 10:00 PM to 12:00 AM an then again in the morning in order to eliminate other contributing factors.
The IL715 connection seems to be better (less unlocks) but neither connection really works to listen to music. It is interesting to note that there are intervals where there are no unlocks. This continues to hint at the fact that inherent jitter of the device (which in the case of adding the IL715 results in a total of ~300 ps) is not the factor causing the unlocks. There are other factors that contribute to the instability of the DPLL or clock. These other factors may also contribute to increased jitter causing the unlocks. I think it is worthwhile to focus on providing cleaner to the USB interface (the Musiland is currently fed by USB power) and also in preventing noise from entering through the power line.
Between midnight and around 8 AM I switched the DPLL setting to LOW. Here are the results.
As expected there are no unlocks if the DPLL bandwidth is increased to the next setting. Both interfacing with the IL715 and direct gives the same results. Notice that in the beginning when changing the DPLL setting from LOWEST to LOW, there are a bunch of unlocks. Seems the DPLL can become destabilized with a change of sample requiring some time for it to stabilize. The implication here is that low settings for DPLL may not work well when playing music of different sample rates.
As discussed earlier, at least in theory, the reason to use a signal isolator is to block any potential noise coming from the I2S lines including ground. If one cannot find other ways to eliminate noise from the source, and it is demonstrated that the noise is real and it is detrimental to the DAC, then one might consider trading off the added jitter with the elimination of noise.
However as shown by these experiment, there is no clear advantage of using the IL715. With “normal” operation (DPLL=LOWEST with 44.1K and DPLL=LOW with 88.2K), there is no real difference between using the IL715 or a direct connection. We know for a fact that there is added jitter. The data also shows that there is NO “noise issue” from the source.
Since I am a fan for minimal components in the data path, I would side towards NOT using an isolator.
I still have Ian’s FIFO jitter eliminator to test…