Thursday, 11 August 2016

Digital Switching for Audio


I want to be able to digitally switch the input of a line-level preamplifier. I was considering using relays to physically connect or disconnect each source to the input of the amp, which would be perfect in terms of fidelity. But is that sort of overkill? Would CMOS transmission gates be good enough? Am I overlooking something far simpler and more obvious? Thanks.



Answer



Relays have the best specs: (almost) zero resistance when on, infinite resistance when off. Use reed-relays, not power relays.


enter image description here


They're better suited for the low current, and often have a lifetime as high as 100 \$\times\$ 10\$^6\$ operations, which is forever. Reed relays won't give you an audible click either. If you use SPDT or DPDT relays you can switch between signal and ground, so that the input doesn't pick up noise when off.


If you want to go electronic there's the 74HC4066, like Pentium100 suggests, but you'll easily find switches with better specs. Analog Devices has a wide offering, the dual SPDT ADG1636 has very good figures: 1\$\Omega\$ on resistance, and 0.007% THD+N.
On the other hand, the 74HC4066 has 0.12% THD (at 4V\$_{PP}\$) and 50\$\Omega\$ on resistance. With a series resistor of 47k\$\Omega\$ that results in a 0.00012% THD. The ADG1636 will result in 0.00000015% :-). Keep in mind that the 4066 is SPST.
If you're a purist you go for the AD, otherwise the 4066 will do if you don't need the double throw feature.


The electronic switches can be controlled by a logic voltage and hardly need power (the ADG1636 consumes less than 1\$\mu\$A).



No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...