High frequency noise on active speaker setup

Hi all,

I encountered a problem with my latest development I never had before.
As any part of the setup may be the root cause I do not really know what sub-forum fits best.

In the last years I created several variations of active speakers always based on the same approach.

A single ended ADC directly as input, a Teensy4.0 microcontroller for audio processing and 2x30W Raspberry Pi hats as amplifiers with the chassis directly connected to the amps.
The microcontroller does some equalization and the crossover calculation.
For powering that stuff switching power supplies are used.

Audio comes from a very old denon pre-amp in my home office and a Marantz AV-Receiver in my living (cinematik 😀 ) room.

The last variation has three 2x30W amps so 6 chassis connected. PSU is a 24V/220W desk PSU connected throu a DIN-4 connector to the carrier board.

The problem now is that I have high pitched noise, but only if I connect both speakers to the pre-amp and have both powered on.
I can cut the connection at any point, the audio line or the power line and everything is fine.

With a simple scope measurement I could not see anything on line.

I read a bit before come here for some advice what to do next and it feels a bit as of the PSUs lift the ground level. If the ground level even lifts some 100uV it would create a difference on the single ended ADC result. I even suspect that the PSU keeps the 24V stable. So I can not see any noise on the power line.
This lift would be at the switching frequency of the PSU. As long as only a single speaker is on, switching frequency is simply to high to change anything to the result.
But with both PSU connected it would create interferences on the ground, connecting both speakers through the pre-amp. The result would probably the differences of the switching frequencies of the PSUs and than would make it audible.

As I can command the micro controller to turn off the audio by writing zeros to the amplifiers, what kills the noise, I am somewhat sure that it happens on the analog part of the setup.

One idea I have seen somewhere in web, to add a low value resistor into the ground line to the pre-amp. As I have different audio line length in my homeoffice and my living room, I also have different levels of the noise. With the longer cables in the living room it is lower.

I already thought to switch the ADC to differential mode. But as I have a hardwire setup for the ADC it would need a complete board rework.

Another thing, where am I not sure if I remember it right, because it was before I came to the point where I accepted a general problem here, was that the setup does not had the problem as long the carrier board was not mounted to the back of the speakers. As the dayton audio chassis have a massiv magnet, could this create this behaviour?

I think I explained enough so you may have an idea what my problem is.

Any suggestion would be great.
 
If you use 3 identical 2-channel D-amps on one PSU (switch mode or linear), there may be some audible noise. The small difference in the amps working frequency is audible at the output, as it is below the filter in the audio band.
Think of a working general frequency of 400 kHz. The internal oscillator of one amp is 0.5% off.
So you got the difference from 400 kHz and 402 kHz which will give you a nice 2000 Hz signal at the output.

Because of this problem you can put one amp into master mode, giving the working frequency for the following slave amps. Also, when doing this, you can space the phase of the working frequency of all amps like 90°. This makes better use of the power supply. This has nothing to do with the phase of the audio signal!
Just look into the data sheet of your amp chip for more information.

The occurance of this problem may be only with one power supply, while another one my not have it. This depends on how the output filers of the SMPS are designed. You may try to fit additional capacitors into each line from PS to the individual amps or at the PS output, but it is cheaper and simple, plus 100% effective and SOTA to sync them.

PS a diode in line with each amps positive supply may work, too. I saw this on many cheap amp boards with the TPA3116d2
 
Thanks for the idea.

If I understand you correctly the switching frequency of the class D amp creates interferences on the power line?
Than I should see them with my oscilloscope right?

I already have a 1000uF capacitor on the 24V input. So should be somewhat stable.

As I use Raspberry Pi hats I have only limited access to the class D chip.

The class-D amps are getting fed through an I2S bus. So the audio chain is almost digital. This is why I added, that the noise ends if I send zeros to the amps. automute is off as well so the amps are not shutdown while sending zeros.
 
That is an idea too.
I will change that maybe on the end of the week as I use the speakers anyways. Its not that loud but its audible enough on low levels.

Besides ... it does not rise with the sound level.
Need to reflash the software for that. As the sampling rate is hard coded in the micro-controller. All filters depend on that.
 
Thanks for the idea.

If I understand you correctly the switching frequency of the class D amp creates interferences on the power line?
Than I should see them with my oscilloscope right?

I already have a 1000uF capacitor on the 24V input. So should be somewhat stable.

As I use Raspberry Pi hats I have only limited access to the class D chip.

The class-D amps are getting fed through an I2S bus. So the audio chain is almost digital. This is why I added, that the noise ends if I send zeros to the amps. automute is off as well so the amps are not shutdown while sending zeros.

You should see the frequency on the output, of course. So it should be somehow be visible at he power line too, in theory. I'm not interested in useless research, I simply solve problems in the best way possible. So I didn't experiment with any band aids. Surprisingly in one amp I found some solder pad hidden under the heat sink, which could be used to make the Master/ Slave connection. Also a resistor had to be removed and one changed. Not really complicated once you understood the manual.

Do not trust the idea to send Zero's to the amp. It may do something on it's own you don't expect.
Maybe try to activate the analog input to verify that it originates from the I2S and not the PS. If it is there with analog in too, measure it and try changing the PS for another one. If the amplitude changes, this would be a strong hint that it is this specific problem. A large electolythic may not have any influence, Some smaller values, staged like 100, 10, 1 etc. may work much better. There are some frequency components that are not "seen" by large caps.
Changeing SMPS was how I found out about the problem in my case of an annoying, constant low volume sound.

There is a TI forum where real technicians give advice. Even the TI employees have different opinion about this problem. Some say synchronising is not neccesary, while others consider it good construction practice not to take any risk, as the frequency may as well be be in the not audible region. I think the ones with the second opinion have more practice...
Often during a long production time tollerances in chips are reduced. So some production runs may not have and problematic differences in oscillation frequency, while others or from mixed up series do.
 
If you use 3 identical 2-channel D-amps on one PSU (switch mode or linear), there may be some audible noise. The small difference in the amps working frequency is audible at the output, as it is below the filter in the audio band.
Think of a working general frequency of 400 kHz. The internal oscillator of one amp is 0.5% off.
So you got the difference from 400 kHz and 402 kHz which will give you a nice 2000 Hz signal at the output.
Which is why multi-channel class-D amps usually run off a single clock, either distributed to them all from a common clock generator, or daisy-chained from the first in line.
 
An often overseen problem is the fact that very little noise voltages in the (sub-) millivolt region maybe audible disturbing.
You cannot expect to trace these with some wide band oscilloscope.
If you want to troubleshoot supply lines etc for your noise, a signal tracer is a preferable option.
That is some simple amplifier and loudspeaker. Any al cheapo guitar practice amp will do the trick.
 
Yeah. I expect some noise on the ground plane. As I wrote in the initial post, it would lift the ground reference of the ADC and thus change the sample, overlaying the noise into the digital processing line.
I am already thinking about some ways to measure this with some battery powered opamp.
 
Why don't you simply feed each amp by its own power supply? If the noise is gone, you know the cause, if not you need not follow that trail any more.
Always do the most simple and logic test first, don't speculate and experiment.
If you got 50/100Hz problems, that may be a ground issue, but higher frequency have nothing to do with that.
 
Hi and thanks for all the help.

Unfortunately I had no time to do my next checks until now. So now a quick update.


Some weekends ago I used my spare base board for experimenting a bit. Because my electronics fun corner ( 🤣 ) is a bit far away from my test pre-amp I took the power from a different wall socket .... and the noise vanished!!!

Plugging it together with the other speaker leads to the noise again. As I suspected noise transfer through the PE anyways I removed the fuse for the room and checked the PE cabling. I found that some dumb ... bend all PE contacts in the wall sockets away. 😡 None of my equipment had a PE connected.

So first thing was to replace two of them so that all equipment now has connection to the PE.

Now I had the noise always, independent of the used wall socket. Unfortunately my PC, from where I typically play my music in my homeoffice creats more of it .... 😢 But that is another problem.

In the end it is now clear that the noise is transfered through the PE.

Today I used the spare base board and powered it through my lab power supply. No noise, beyond the one from the PC.

Upcoming changes:

For the speakers I will change to simple non-switching supplies.
The PC will get a new PSU as well, already sitting on the table and waiting. I know that this will probably not change much. But its time anyway. The installed one is now 7+ years old and more power was anyways on the plan.

To decouple the PC from the pre-amp I will try an external DAC connected through a TOSLINK. That should help a bit.
 
Its high frequency clock noise, its basically RFI and will travel by various means. Being low frequency RF it is hard to filter out (ferrites work better at higher frequencies), but if you have some ferrite torroids its worth trying to add them to various cables.