Question about Crosstalk

I have been measuring crosstalk between the left/right ( or A/B) channels on amplifiers/preamps/receivers/ for several months. I keep the Left channel from the QA402 connected to the device input and terminate the UUT’s Right channel input with either a short or 50ohm termination. I do a frequency response (expochirp) measurement and use the dBr setting so the left channel is at the top of the display. As I am looking at devices that are typically >30yrs old w/out a spec for crosstalk, I have not put tons of thought into the data until recently when I some other crosstalk plots (or channel separation or isolation would be the same in my book) and they were typically looking much better then what I am getting. I decided to see what the crosstalk between the channels of just the QA402 was. For this measurement the Right channel +/- inputs are terminated into 50ohms and the Left channel - terminated into a short, and the Left output connected directly to the Left input. FREQ RESP does not have an option to mute one of the outputs like there is for Gen 1. I would think it would help when doing such a measurement…? For perspective, the crosstalk for a Yamaha M80 amp was listed as : 40Hz >106dB, 1KHz> 89dB and 10KHz >76dB. Here is a plot that I made for the QA402 crosstalk… any suggestions to improve this? Thanks for your time.

Update- I decided to run the automated test AmpFreqResponse and got this result, which seems much more reasonable…?.. about 130dB of isolation between L& R.

1 Like

Hi @Var, crosstalk is trickier than it seems because there are at least two mechanisms at play. The first is that the output somehow couples into the input. And this mechanism is sometimes a physical coupling between traces. For example, the left trace runs adjacent the right trace, and some of the left signal is coupled into the some of the right signal. That is what most of us probably think of for crosstalk. But a second mechanism that is more pervasive is coupling via the supply. For example, in a power amp, if you drive the left channel hard, at some point, you’ll see a bit of the left channel show up on the power supply rails as the current draw causes the supply to sag just a bit. When this is happening, you can probe a rail and see the 1 kHz or whatever on the rail. And then, it couples into the other channel. In an opamp, you have the PSRR help quash this. But in older amps that are open loop, or without much feedback, there’s not much PSRR to help.

In the QA40x hardware, you can see this as you crank the amplitude. For example, here’s the QA403 in single-ended loopback at 0 dBV, and the right channel input is shorted. Here we could say the cross talk is about -160 dB.

Now, let’s “unshort” the right channel inputs. This results in the default 100K to ground, and these now high-z inputs will pick up a lot of stuff, including 60 Hz and the 1 kHz. Now, we might say the cross talk is about -105 dB. Clearly, the output is being picked up by the high-z input. And this is all relative insensitive to the full scale input settings.

OK, so let’s go back and short the right channel inputs. Now, I’ll set the full scale input to +24 dBV and I’ll set the output to +18 dBV. we know the left channel is +18, and here we see the right channel is -98. So, our 1 kHz at this point is about 98+18=-116 dB below the left channel.

This is a substantial degradation from the shorted input -160 we saw before. And yet, the inputs are still shorted! So, we can surmise this is probably coming from the internal power supply. That is, the left and right channels share the regulated LDO output rails, and the regulation of the LDO under the high currents of the left channel driving into the lower-value internal resistors that are throughout the DAC side signal path are the culprit.

And we can see that too in the current: At 18 dBV out in single-ended loopback the USB draw is about 950 mA. And at 0 dBV out in single-ended loopback (where we got the killer -160 dB figure) the USB current is about 840 mA.

Additionally, you can see the 2H starts to come up too, and that is likely from LDO trying it’s best to keep the voltage constant, and doing better on some frequencies than others.

So, to back up a bit, what seems like a simple measurement can actually get fairly complicated. Now, the good news is that testing power amps that have around 25 dB of gain, you are probably around the 0 to 6 dBV level out of the QA40x, and at that level the QA40x cross-talk is still phenomenal.

Probably what would be most useful here is a new plugin, where you’d specify a chirp over a range of levels, and then the crosstalk would be graphed relative to the output signal. I think for the best accuracy, you’d want to prompt the user to short the left DUT input, drive the right, and the prompt the user to short the right DUT input, and drive the left.

And then maybe show the group of the left channels as a single color (since they’d ideally be around the same level) and ditto for the right (except do that in another color).

This would let you quickly see crosstalk versus freq and level, and you could tailer the output range based on the amp you are evaluating.

What do you think?

PS. Are you generally shorting the unused input when making a crosstalk measurement?

1 Like

Thanks for the more thorough explanation and suggestions. I short the unused UUT input- almost always the right channel. Most power amps run 25-29dB so I rarely go above 6dBv input signal, so at least that is good. The amp freq response plugin lets you vary the input, for the plot I did I just picked 2 levels and deleted one of them. An actual plugin for crosstalk where the plot was automatically referenced to the Left Channel ( it would not need to be actually plotted) would be handy. I think I will start using the ampfreqresp plugin when I do that measurement, and run it at two different input power levels. Thanks for your help… I had a post about the USER2 Weighting not working- I thought it had been working- but looking at the release notes I may have been mistaken?
Update- One thing I just noticed is that you are showing the crosstalk with a 1khz signal applied instead of doing an Expochirp type measurement… I decided to hook up one of my bench amps- a Bryston solid state unit, and did an AmpfFreqResponse with these settings, which had the amp putting out 5w/8ohms with a -13dBV input:

and the resulting plot (-10dBV input trace deleted):

Factoring that the Left input is -13dBV, the crosstalk varies from about 98dB to 71dB.The crosstalk spec for this amp is about 100dB, but based on the noise level with the amp putting out 50w, so not quite sure if it would be meeting it. Maybe I should try plotting as gain so the crosstalk is shown directly…? I have only been measuring the crosstalk with a signal going into the left channel with the right input terminated and have been assuming I would get nearly the same results if I put the signal into the right channel and terminated the left channel. Having a plugin that has you measure both channels would be fine. I would like the ability have specific power levels to test at instead of a minimum, max and increment level (which I know is easier for programming). Maybe the option to have 3 input levels with the option to provide a label for the traces. For instance, I would probably have tested the Bryston amp at 1w, 5w and 40w (8ohms), and rather than have the graph labeled “-13dBV (left)”, which is done automatically, it would be nice if I could enter what I want the label to be (having the channel designation automatically is fine). I don’t think putting something in the “Series Name” box is part of the label…? Thanks again!

1 Like

but shouldn’t the crosstalk value be level independent?
About level to be used, which depends on what are you testing (pre, power, DAC) AudioPrecision AN says: “Unity gain, 1 Vrms output or 1 watt are typical choices.”
However on the CTA standard (CTA-490-A R-2008) says about level to be used: “The amplifier shall be adjusted for standard test conditions from the set of input terminals under test. The input level shall then be increased until the output level is 3 dB less than the power output rating, for a power amplifier, or 3 dB less than the voltage output rating for a preamplifier.”

Matt brought up a good point about coupling from the power supply(s) that could occur when the amp is being driven harder, so I guess the crosstalk would be different, though I have not done any testing at two different power levels. Based on the spec you provided, I will start doing my crosstalk testing such that amplifier’s power is set for 1/2 power (or the equivalent if testing a preamp)- I still should be in good shape as far as QA402 levels since I would be less than 4dBv going out of the QA402 based on the amps I have tested.

The BRYSTON should be dual mono, so no changes should be measured changing levels. It might be the right amplifier to test the crosstalk since there’s no interaction (PSU or traces) between the channels. I think that if the DUT is real dual mono, there shouldn’t be any capacitive coupling between the channels, therefore no rising of the curve as frequency increases.

The Bryston is set up dual mono, but they do have some common connections along the way I am pretty sure. I don’t really have an explanation for the rising of the crosstalk as frequency is increased. I ran just the system and got pretty good flat results (130dB) as seen in the plot above. I checked some crosstalk plots for a recent amp review on the ASR site and it ran from 95dB at 20hz to 72dB at 20khz, so he got a similar slope using his AP analyzer…

Hi @Var, release 1.180 is up and it has a new plugin for measuring crosstalk. When time permits can you give it a try? Wiki HERE

Also, release 1.180 adds in new UI for the weighting. Here you can specify A or C weighting, and there are two USER weightings. The USER weightings can be applied alone or together, and in addition to the A or C weighting if needed.

In the plot below, you can see the RIAA Record and RIAA Playback curves applied at the same time on a chirp in loopback. It’s flat, but there are some ripples that could probably be improved by improving the weighting files.

but I thought the “A” weighting is a defined filter

It is, but there are slightly different flavors that will yield small differences around 20-40 Hz or so.

Here’s wiki transfer function for A-weighting (and what is in 1.180 and after).

But you can find other representations on the web. The formula below is the old A weighting used (prior to version 1.180) and this is also the version favored by ChatGPT


They are very, very close. The only difference is the 12192 coeff vs the 12200 coeff

You can generate a 0 dBV chirp in loopback, and then use the cursor to check the value at any point. Since Wiki has the plot most will use to check the response, I wanted the QA40x to match Wiki.

Thanks for the explanation and it was nice to see math that I can understand. Interesting that chatgpt gave the old version. Lately, I have not been using the A weighting unless the spec stated that was used. Hope to remeasure a preamp’s crosstalk today…
Update- I did remeasure the crosstalk on a Carver Preamp using the new plugin. I should point out that the volume was adjusted was set to give 0dB gain. The spec for crosstalk is 45dB. I thought the routine worked well and here is the plot that was generated:

Other than with a 6dBV input, the crosstalk would meet the requirement. I was comparing with the data I had made previously using the expochirp method, and it was not the same (with just the 6dBV input that I used, so I decided to remeasure it using the expochirp method & a 128k FFT like the plugin used, and this is what I got:

The crosstalk looks about 12dB better (for the 6dBV input) using the expochrip method…?

Hi @Var, a very informative plot. Are the 0 and 6 dBV on top of each other?

If you measure manually using fixed sines does that match the graph? If you measure using the chirp using dBV instead of dBr does that still yield a similar value?

Yes- the 0dBr line and the Left trace are right on top of each other (easier to see on the original .jpg). With the right channel referenced to the 0dBr Left channel, crosstalk is then read directly against the dBr scale. What I just noticed is that the new plugin, with the 0dBV input signal, measured about the same as the chirp method…? I will try it using expo chirp and dbV, but one thing that may be happening may be related to the fact that I enabled the input level adder to 6dB, which I usually never do- I think the default was 12dB. I will try a few manual measurements with the DUT right channel input shorted, as well as using the plugin w/out the input level adder checked and the chirp method with dBv and report back- most likey later today…thanks !

UPDATE- The eight manual measurements with 6dBV in gave the same results as the Expochirp plot above- 52dB to 46dB of crosstalk. I repeated the Expochrip measurement using dBV instead of dBr, and got this, which shows 52-46dB of crosstalk as well:

I re- ran the crosstalk plugin with fewer steps, but did not use the input adder, and got this:

The 6dBV input traces look better, but are still 6dB higher than they should be. I am beginning to wonder if maybe the input adder value is being applied even though it is turned off ?

Are you in balanced or single-ended?

For the amplifier measurements they would be balanced, I suppose, with the QA402’s L/R “-” inputs connected to the 4/8ohm loads “-” amp connection, though the input to the amp would be unbalanced. For the C1 preamp measurement above, the measurement would be unbalanced with the QA402’s L/R “-” inputs connected to shorts.

Matt- knowing you are very busy, I hope you will investigate this further- I don’t think the routine is working properly…? Thanks

Yes, I think you are right. It will be fixed for new release

Thanks! I have been using the expochirp FR method which works but shows the noise so is not as “clean” looking…

I was able to run the latest (1.183rev) Crosstalk automated test on a power amp. Here is what I got from the routine:

and these were the settings:

My only nit is that the automatic Yaxis title"Cross Talk" should have (dB) added to it which I did manually. Then I ran it my normal method using the expochirp with the Right input to the amp shorted, and got this plot:

which shows about 43dB of crosstalk at 20khz instead of 20dB from the automated test… not sure why so much difference- I did a quick check and the expochirp method is correct…

Yes, good call, fixed for the next release.

Can you please run the crosstalk test again? And when it’s finished make sure it remains at the 20 kHz test point (that is, uncheck the Edit->Settings “Restore state”

And then, with that measurement in place, add the measurement “Pk dBV” measurement tiles for both left and right. And that way I can see what the automated test was looking at.

I will re-run in a few hours once I remove what is on my bench. I did check the “Restore state” in settings once that option became available. My sweep is set for 10hz-30khz, I change the graph to display 20-20khz, so I assume being at 30khz is ok. Then will add Pk dBV" and capture that and post it here…Thanks as always