EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Suggestions for audio noise mitigation?

Started by Lewin A.R.W. Edwards January 14, 2004
I have an appliance built around an SBC and an LCD monitor, all in a
metal housing. We can't direct-drive the LCD, because of
resolution/timing issues; we use analog VGA output to drive the LCD
via an analog-digital board. The inside is a terrifying hive of EMI;
to get UL compliance we have to seal every hole with conductive tape.

The SBC's audio output doesn't deliver enough power to drive the
internal speakers directly, so we have an internal audio amplifier
based on the Philips TDA7053A (selected because it's very simple - one
capacitor is about the sum total of the circuit). Now, we need to
control speaker volume in software, but I didn't want the design
complexity of I2C-controlled amplifiers or digital pots, so we just
control the SBC's mixer output volume and the amplifier's
characteristics are fixed.

The amp is powered from the same 12V rail that powers the LCD
analog-digital board. The SBC runs off a separate 5V rail.

Problem is that high-contrast patterns on the LCD (e.g. the B&W
stipple pattern XFree86 shows while starting :) cause a buzz in the
amp output. This noise appears to be generated by the LCD controller
board, not the SBC. So I'm working with a clean audio source; the
noise is being picked up elsewhere.

I've:

* Decreased the input shunt resistors on the amp as far as practical
while still maintaining a good volume range.
* Moved the amp as far away as possible from everything else. This
doesn't seem to make any noticeable difference.
* Put a large bypass cap on the amp's power rails.
* Disconnected the ground line on the input to the amp. This, plus my
finger anywhere on the audio line, makes the unit into an AM radio
tuned to WCBS New York.
* Run the audio cable (from SBC to amp) through a fat ferrite bead.
This was the best step I took so far.
* Run the 12V line to the amp through another ferrite. This didn't
make any noticeable difference.

* For test purposes, disconnected the internal amp and connected
external amplified speakers. No significant noise. Still no noise even
when I disassemble the external speakers and put the PCB inside my
housing. That circuit is complex and has an unlabeled IC in it, though
- I don't want to try to copy it.

The noise is still just outside acceptable despite my best efforts.
So, I'm looking for other ideas on how to mitigate this noise. What
else could I add to this circuit? Is there some better kind of audio
power amp I could use?

Any suggestions appreciated. This project is kind of an interference
nightmare, I poke it gingerly with sticks...
"Lewin A.R.W. Edwards" wrote:
> > I have an appliance built around an SBC and an LCD monitor, all in a > metal housing. We can't direct-drive the LCD, because of > resolution/timing issues; we use analog VGA output to drive the LCD > via an analog-digital board. The inside is a terrifying hive of EMI; > to get UL compliance we have to seal every hole with conductive tape. >
... snip ...
> > The noise is still just outside acceptable despite my best efforts. > So, I'm looking for other ideas on how to mitigate this noise. What > else could I add to this circuit? Is there some better kind of audio > power amp I could use? > > Any suggestions appreciated. This project is kind of an interference > nightmare, I poke it gingerly with sticks...
Make sure your audio ground is isolated from digital ground. It doesn't take many synchronized digital power surges to make an audible racket. Watch out which ground is used by which bypass caps. Try to tie them together at one place, to minimize any common impedances. -- Chuck F (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net) Available for consulting/temporary embedded and systems. <http://cbfalconer.home.att.net> USE worldnet address!
"Lewin A.R.W. Edwards" <larwe@larwe.com> wrote in message
news:608b6569.0401141942.5ecb5bcc@posting.google.com...
> I have an appliance built around an SBC and an LCD monitor, all in a > metal housing. We can't direct-drive the LCD, because of > resolution/timing issues; we use analog VGA output to drive the LCD > via an analog-digital board. The inside is a terrifying hive of EMI; > to get UL compliance we have to seal every hole with conductive tape. > > The SBC's audio output doesn't deliver enough power to drive the > internal speakers directly, so we have an internal audio amplifier > based on the Philips TDA7053A (selected because it's very simple - one > capacitor is about the sum total of the circuit). Now, we need to > control speaker volume in software, but I didn't want the design > complexity of I2C-controlled amplifiers or digital pots, so we just > control the SBC's mixer output volume and the amplifier's > characteristics are fixed. > > The amp is powered from the same 12V rail that powers the LCD > analog-digital board. The SBC runs off a separate 5V rail. > > Problem is that high-contrast patterns on the LCD (e.g. the B&W > stipple pattern XFree86 shows while starting :) cause a buzz in the > amp output. This noise appears to be generated by the LCD controller > board, not the SBC. So I'm working with a clean audio source; the > noise is being picked up elsewhere. > > I've: > > * Decreased the input shunt resistors on the amp as far as practical > while still maintaining a good volume range. > * Moved the amp as far away as possible from everything else. This > doesn't seem to make any noticeable difference. > * Put a large bypass cap on the amp's power rails. > * Disconnected the ground line on the input to the amp. This, plus my > finger anywhere on the audio line, makes the unit into an AM radio > tuned to WCBS New York. > * Run the audio cable (from SBC to amp) through a fat ferrite bead. > This was the best step I took so far. > * Run the 12V line to the amp through another ferrite. This didn't > make any noticeable difference. > > * For test purposes, disconnected the internal amp and connected > external amplified speakers. No significant noise. Still no noise even > when I disassemble the external speakers and put the PCB inside my > housing. That circuit is complex and has an unlabeled IC in it, though > - I don't want to try to copy it. > > The noise is still just outside acceptable despite my best efforts. > So, I'm looking for other ideas on how to mitigate this noise. What > else could I add to this circuit? Is there some better kind of audio > power amp I could use? > > Any suggestions appreciated. This project is kind of an interference > nightmare, I poke it gingerly with sticks...
I'd try wrapping a coil of wire around the audio cable in hook it in series with a capacitor. Maybe if you're lucky it will create a tank circuit with an inverse frequency, dampening the noise field. It might make it worse and it may not do a dang thing.
Lewin A.R.W. Edwards wrote:
> I have an appliance built around an SBC and an LCD monitor, all in a > metal housing. We can't direct-drive the LCD, because of > resolution/timing issues; we use analog VGA output to drive the LCD > via an analog-digital board. The inside is a terrifying hive of EMI; > to get UL compliance we have to seal every hole with conductive tape. > > The SBC's audio output doesn't deliver enough power to drive the > internal speakers directly, so we have an internal audio amplifier > based on the Philips TDA7053A (selected because it's very simple - one > capacitor is about the sum total of the circuit). Now, we need to > control speaker volume in software, but I didn't want the design > complexity of I2C-controlled amplifiers or digital pots, so we just > control the SBC's mixer output volume and the amplifier's > characteristics are fixed. > > The amp is powered from the same 12V rail that powers the LCD > analog-digital board. The SBC runs off a separate 5V rail. > > Problem is that high-contrast patterns on the LCD (e.g. the B&W > stipple pattern XFree86 shows while starting :) cause a buzz in the > amp output. This noise appears to be generated by the LCD controller > board, not the SBC. So I'm working with a clean audio source; the > noise is being picked up elsewhere. > > I've: > > * Decreased the input shunt resistors on the amp as far as practical > while still maintaining a good volume range. > * Moved the amp as far away as possible from everything else. This > doesn't seem to make any noticeable difference. > * Put a large bypass cap on the amp's power rails. > * Disconnected the ground line on the input to the amp. This, plus my > finger anywhere on the audio line, makes the unit into an AM radio > tuned to WCBS New York. > * Run the audio cable (from SBC to amp) through a fat ferrite bead. > This was the best step I took so far. > * Run the 12V line to the amp through another ferrite. This didn't > make any noticeable difference. > > * For test purposes, disconnected the internal amp and connected > external amplified speakers. No significant noise. Still no noise even > when I disassemble the external speakers and put the PCB inside my > housing. That circuit is complex and has an unlabeled IC in it, though > - I don't want to try to copy it. > > The noise is still just outside acceptable despite my best efforts. > So, I'm looking for other ideas on how to mitigate this noise. What > else could I add to this circuit? Is there some better kind of audio > power amp I could use? > > Any suggestions appreciated. This project is kind of an interference > nightmare, I poke it gingerly with sticks...
The amplifier chip is made for battery-operated equipment - there is little information on its power supply rejection ratio in the data sheet. The chip seems to be somewhat susceptible to RF inputs, as it likes to play an AM radio. I'd put small capacitors directly across the amplifier inputs, with maybe some series resistance. There are separate signal and power ground pins on the chip. If the noise comes in due to a ground loop, it's tempting to separate them and take the signal ground along the input cable from the same source. To test for a ground loop, I'd disconnect the input and ground it to the signal ground, being careful not to disturb the DC level on the input. A second test would be leaving the circuit as it is now, but feed the power from a clean supply. You do have both recommended bypass capacitors? Philips' data sheet recommends the usual combination of a ceramic RF bypass and a sturdy electrolytic for audio bypassing. HTH Tauno Voipio tauno voipio @ iki fi
larwe@larwe.com (Lewin A.R.W. Edwards) writes:

> Problem is that high-contrast patterns on the LCD (e.g. the B&W > stipple pattern XFree86 shows while starting :) cause a buzz in the > amp output. This noise appears to be generated by the LCD controller > board, not the SBC. So I'm working with a clean audio source; the > noise is being picked up elsewhere.
At least simple LCDs produce an awful amount of noise due to their structure. The whole panel is a big capacitor fed with a largish square wave. I do not know whether this applies to all LCDs, but this may be the noise source. What is the frequency of the noise? The noise produced this way is a clean series of sharp spikes (high-passed square).
> * Decreased the input shunt resistors on the amp as far as practical > while still maintaining a good volume range.
RC or LC (with a ferrite) filter in the input might be worh trying. Decreasing the shunt resistor does decrese the impedance of the line. However, the impedance is likely to be rather low already, as it is driven by an output. A filter needs at least two components, one in series and one parallel (shunt).
> * Put a large bypass cap on the amp's power rails.
The parallel cap is not extremely effective against noise without a series inductance. If your noise frequency is lowish (in the kilohertz region), it is rather unlikely you get it through the power supply, as the PSRR of the amplifier is probably good enough in low frequencies.
> * Disconnected the ground line on the input to the amp. This, plus my > finger anywhere on the audio line, makes the unit into an AM radio > tuned to WCBS New York.
:)
> * Run the audio cable (from SBC to amp) through a fat ferrite bead. > This was the best step I took so far.
The same effect could be obtained by a common mode choke near the amp. If you can make the audio line differential, then you could use the following filter (which can be built on the PCB): - ferrite beads in series in the line (both conductors) - a capacitor across the line near the amp - two capacitors between the conductors and GND The ferrites are not very effective in low frequencies, so you might tey to replace them with suitable resistors. You can tailor the common mode and differential filters separately, as they use different capacitors. You can try doing something like this even with a non-differential signal. Just pretend it is differential and use separate conductors for the power supply ground and the signal ground. The common-mode range of the amplifier may not reach the possibly negative input voltages during spikes, but you can make a voltage divider to some virtual ground to avoid that problem.
> Any suggestions appreciated. This project is kind of an interference > nightmare, I poke it gingerly with sticks...
EMI/EMC is a nightmare. Why doesn't the signal obey the circuit diagram... - Ville -- Ville Voipio, Dr.Tech., M.Sc. (EE)
larwe@larwe.com (Lewin A.R.W. Edwards) writes:

> The SBC's audio output doesn't deliver enough power to drive the > internal speakers directly, so we have an internal audio amplifier > based on the Philips TDA7053A (selected because it's very simple - one > capacitor is about the sum total of the circuit).
Now I found it. Your problem did sound somehow familiar. Something quite similar was in a TI spam I just got. Have a look at TI TPA6211 datasheet, figures 30 and 32. It is a differential audio aplifier, but can be used in single-ended systems as well (figure 30). The input filter is shown in figure 32. The part is designed for cellular handsets, i.e. for bad EMI environment. I haven't tried it myself, but according to the datasheet the part should behave much better than the Philips part. The price seems to be $0.55 in 1 ku. Of course, you'll need two of them for stereo, but the QFN package is not exactly large. (There is also an EVM available, which may save some time and trouble.) Other manufacturers may have similar parts. And EMC/EMI is full of "should"s. But maybe this helps. - Ville -- Ville Voipio, Dr.Tech., M.Sc. (EE)
On 15 Jan 2004 10:57:25 +0200, vvoipio@kosh.hut.fi said...
> larwe@larwe.com (Lewin A.R.W. Edwards) writes: > > > The SBC's audio output doesn't deliver enough power to drive the > > internal speakers directly, so we have an internal audio amplifier > > based on the Philips TDA7053A (selected because it's very simple - one > > capacitor is about the sum total of the circuit). > > Now I found it. Your problem did sound somehow familiar. Something > quite similar was in a TI spam I just got.
TI never sent me any thing until I subscribed :)
> > Have a look at TI TPA6211 datasheet, figures 30 and 32. It is a > differential audio aplifier, but can be used in single-ended > systems as well (figure 30). The input filter is shown in figure 32. > > The part is designed for cellular handsets, i.e. for bad EMI > environment. I haven't tried it myself, but according to the > datasheet the part should behave much better than the Philips part. > The price seems to be $0.55 in 1 ku. Of course, you'll need two > of them for stereo, but the QFN package is not exactly large. > (There is also an EVM available, which may save some time and trouble.) > > Other manufacturers may have similar parts. And EMC/EMI is full > of "should"s. But maybe this helps. > > - Ville >
I think your power supply suggestions should do the trick since the OP said that an externally amplified speaker set didn't have a noise problem. -- Best Regards, Mike
On Wed, 14 Jan 2004 19:42:57 -0800, Lewin A.R.W. Edwards wrote:

> -----snip-----
Your problem is the internal amplifier as you've already determined. If you look at the Philips spec sheet: http://www.semiconductors.philips.com/acrobat/datasheets/TDA7053A_4.pdf you'll see that the part is intended for mobile applications using a battery which has a much stiffer, cleaner, supply voltage than a conventional power supply. Especially if you're using a switching supply. The spec to look for is SVRR, Supply Voltage Ripply Rejection which is only 34 db. If you absolutely must use the part then clean up the supply. First I'd try a linear supply if you now use a switcher. Or even a wall-wart. Then a nice hefty inductor of say a henry with an equally hefty electrolytic of maybe 10,000 ufd between the choke and the amplifier. This is a bit of black magic since we can't see your layout or shielding nor do we have any idea of what other digital noise abounds. First overkill to find the noise threshold then back off on the filtering. A last resort might be to add some ferrous material between the LCD and the amplifier as close as possible to the LCD. Ferrite beads are useless at audio frequencies, you need mass. -- Regards, Albert ---------------------------------------------------------------------- AM Research, Inc. The Embedded Systems Experts http://www.amresearch.com 916.780.7623 ----------------------------------------------------------------------
Lewin A.R.W. Edwards wrote:
> I have an appliance built around an SBC and an LCD monitor, all in a > metal housing. We can't direct-drive the LCD, because of > resolution/timing issues; we use analog VGA output to drive the LCD > via an analog-digital board. The inside is a terrifying hive of EMI; > to get UL compliance we have to seal every hole with conductive tape. > > The SBC's audio output doesn't deliver enough power to drive the > internal speakers directly, so we have an internal audio amplifier > based on the Philips TDA7053A (selected because it's very simple - one > capacitor is about the sum total of the circuit). Now, we need to > control speaker volume in software, but I didn't want the design > complexity of I2C-controlled amplifiers or digital pots, so we just > control the SBC's mixer output volume and the amplifier's > characteristics are fixed. > > The amp is powered from the same 12V rail that powers the LCD > analog-digital board. The SBC runs off a separate 5V rail. > > Problem is that high-contrast patterns on the LCD (e.g. the B&W > stipple pattern XFree86 shows while starting :) cause a buzz in the > amp output. This noise appears to be generated by the LCD controller > board, not the SBC. So I'm working with a clean audio source; the > noise is being picked up elsewhere. > > I've: > > * Decreased the input shunt resistors on the amp as far as practical > while still maintaining a good volume range. > * Moved the amp as far away as possible from everything else. This > doesn't seem to make any noticeable difference. > * Put a large bypass cap on the amp's power rails. > * Disconnected the ground line on the input to the amp. This, plus my > finger anywhere on the audio line, makes the unit into an AM radio > tuned to WCBS New York. > * Run the audio cable (from SBC to amp) through a fat ferrite bead. > This was the best step I took so far. > * Run the 12V line to the amp through another ferrite. This didn't > make any noticeable difference. > > * For test purposes, disconnected the internal amp and connected > external amplified speakers. No significant noise. Still no noise even > when I disassemble the external speakers and put the PCB inside my > housing. That circuit is complex and has an unlabeled IC in it, though > - I don't want to try to copy it. > > The noise is still just outside acceptable despite my best efforts. > So, I'm looking for other ideas on how to mitigate this noise. What > else could I add to this circuit? Is there some better kind of audio > power amp I could use? > > Any suggestions appreciated. This project is kind of an interference > nightmare, I poke it gingerly with sticks...
I saved my ass once by amplifying some of the ground noise and feeding it back inverted into the input of the audio amp. It worked amazingly well. There is historical precedent for this technique. Most old tube amps feed a little 60Hz from the filament transformer back into the input to cancel out the hum.
Hi Albert,

> you look at the Philips spec sheet: > http://www.semiconductors.philips.com/acrobat/datasheets/TDA7053A_4.pdf > you'll see that the part is intended for mobile applications using a > battery which has a much stiffer, cleaner, supply voltage than a
The only reason we chose this is because it worked well on the breadboard and it's both cheap and the circuit is very very simple. This subassembly is assembled by hand, so simplicity is important. Actually we were originally using the TDA7053, but it seems to be impossible to buy that part, so I respun it for the 7053A. The amp isn't always necessary. We have two sources of SBCs. One source uses an LM4863 "Boomer" amp directly on the SBC, so an ext amp isn't needed. When supply fluctuates, we use a different SBC that doesn't have an on-board power amp.
> only 34 db. If you absolutely must use the part then clean up the supply. > First I'd try a linear supply if you now use a switcher. Or even a
Our appliance has an internal open-frame SMPS, Astec SA40-1313, with +12 and +5 rails. We can't change this. I guess I could put say a 7809 on the 12V rail and power the amp from that +9V.
> This is a bit of black magic since we can't see your layout or shielding > nor do we have any idea of what other digital noise abounds. First > overkill to find the noise threshold then back off on the filtering.
The whole thing is black magic really :) But overkill works for me.
> A last resort might be to add some ferrous material between the LCD and > the amplifier as close as possible to the LCD. Ferrite beads are useless > at audio frequencies, you need mass.
The LCD is separated from the amp and other electronics by a 3mm thick steel wall. The appliance is built around a subchassis. The LCD and its inverter are screwed to one side of this wall, the electronics are screwed to the other side, and a two-piece cosmetic painted metal can surrounds the resultant assembly. The source of the noise appears to be the LCD controller board, rather than the LCD itself (this determined by selectively powering things down and disconnecting cables). Thanks for the reply!

The 2024 Embedded Online Conference