USB DAC distortion on different headphones? - Page 1
Forum section: electronics / projects

author: stmdude
author_rank: Frequent Contributor
timestamp: May 21, 2016, 05:47:02 pm
content: So, my work laptop has horrible audio-quality on its line-out, so I went looking for a USB Soundcard. Turns out that they're horribly overpriced..What's an electronics tinkerer to do? Why, build my own, of course!Said and done, and it works really well, except for this one thing... I'm testing with two different headphones.The first pair measures 29Ohm (between tip and sleeve), the second pair measures 36Ohm.The 36Ohm ones sound perfect, but the 29Ohm ones get _horrible_ distortion. The headphones themselves are fine. They work well with anything else I plug them into, so it's definitely my USB DAC that is to blame.Now, the question.. What could cause this? What did I miss? To say that analog is my weak-point would be to give me too much credit.The chip I'm using is a PCM2706C, and the schematic is basically the reference design from the datasheet (for what that's worth)Output when connected to 36Ohm headphones (440Hz tone):Output when connected to 29Ohm headphones (Same 440Hz tone):Schematic are attached to this post.

author: AndyC_772
author_rank: Super Contributor
timestamp: May 21, 2016, 06:10:30 pm
content: Looks like the amplifier has gone unstable when driving the 29 Ohm phones. It's not something that would normally be referred to as 'distortion'.Measuring the DC resistance of the headphones doesn't really tell you anything about their impedance at audio frequencies, nor their impedance at whatever frequency the amplifier is oscillating at. To measure this properly you'd need an impedance analyser... and once you have one, you'll never believe in the idea of (say) an "8 ohm" speaker ever again.In your schematic there's an RC ("Zobel") network on each output, which is meant to help prevent this instability. It may be that simply altering these component values will make the amplifier more stable with different types of headphones.

author: NiHaoMike
author_rank: Super Contributor
timestamp: May 21, 2016, 06:13:46 pm
content: What happens if you add resistors in series with the output? Something like 33-180 ohms would be a good start, with higher values obviously decreasing the maximum volume but increasing SNR for typical listening volumes.

author: stmdude
author_rank: Frequent Contributor
timestamp: May 21, 2016, 06:16:10 pm
content: Quote from: AndyC_772 on May 21, 2016, 06:10:30 pmAre you talking about R5+C6 and R6+C7 being Zobel networks ?( Just so that I know which components I should be changing out to see what changes )

author: AndyC_772
author_rank: Super Contributor
timestamp: May 21, 2016, 06:19:21 pm
content: Correct, they're the ones.

author: stmdude
author_rank: Frequent Contributor
timestamp: May 21, 2016, 06:24:33 pm
content: Quote from: NiHaoMike on May 21, 2016, 06:13:46 pmI added 100Ohms to each channel, and that fixed it right up. The maximum volume was _way_ too high anyways, which in hind-sight might have been a clue.But, how is this different from changing R9 and R10 to 3.4K resistors?

author: stmdude
author_rank: Frequent Contributor
timestamp: May 21, 2016, 06:44:33 pm
content: Quote from: AndyC_772 on May 21, 2016, 06:19:21 pmHow right you are.Changed the resistors from 16Ohm to 56Ohm, no change.Changed the 22nF caps to 100nF caps, and the amp seems much happier. Nice clean signal on the 29Ohm headphones, as well as the 36Ohm ones. Checked the whole spectrum from 22Hz to 16KHz, just in case.Problem solved, I think.I just need to borrow some other headphones from people to test a bit more. If I run into the same issue, I know where to go hunting.Thanks a lot guys!

author: stmdude
author_rank: Frequent Contributor
timestamp: May 21, 2016, 06:51:56 pm
content: Quote from: stmdude on May 21, 2016, 06:24:33 pmI'm an idiot. I added 100Ohms in parallel, which would be no different from changing R9+R10. This problem only occured "most of the time", apparently I got lucky when I tested 100Ohm in parallell.