Published on June 12, 2020
Copyright © Dan P. Bullard
I like helping people with technical problems, and recently a former coworker enlisted me to help with a problem his guys were seeing. A device had a rather high THD, but you couldn't tell by looking at the wave in time domain. As usual I did some experiments and created a tiny distortion in a sine wave with 10mvpp of noise. Do you see the distortion? I bet you don't! That's OK, the distortion causes harmonics that looks like this:
This plot really can't help us figure out where the distortion is, so we need another tool, a microscope to zoom in and magnify the distortion, but not amplify the noise. What can we do?
You may remember a couple of articles I wrote in the past where I showed how I could amplify all the harmonics of a spectrum to alter the time domain version of the wave. However, those articles used waves that were noise-free, not real waves that might contain some noise from the environment, instrumentation or other sources. But if I amplify only the first 50 or so harmonics, I can at least see where the problem is without amplifying all the noise. Some will get in, but like a low-pass filter, I will exclude the majority of the noise while still magnifying the most significant harmonics. Remember, that generally, (but not always) harmonics are larger in the lower frequencies.
So, what I did is that I did an FFT on my very slightly distorted wave above and then I boosted the amplitude of the first 52 harmonics in frequency domain. I multiplied each complex number for each of those harmonics by 64 (the .re by sqrt(64) and the .im by sqrt(64)) and then did an inverse FFT. I did not multiply the fundamental by anything other than 1, otherwise I wouldn't be any further ahead than I am now. Also, unlike a normal LNA with a low pass filter, I did not amplify the noise between the fundamental and the first 52 harmonics. This is something you cannot do in a real circuit, but I can do it mathematically in Excel or any other math platform. After doing the inverse FFT, I plot the time domain wave, and ta-da!
There it is in all its glory, a distortion at 0.6V corresponding to a phase angle of about 37 degrees in the transfer function. Now we can go look at the transfer function in that area and figure out what the hell is going on with this part. Oh, notice that it's asymmetrical too, it doesn't appear on the negative side, so no need to go looking there.
Now if you look very closely at the first plot I showed you, you will see the distortion, but at the time, you didn't know where to look, did you? Why do you know where to look now? Because I boosted the first 52 harmonics in magnitude without changing the harmonic signature, and that means that Bullard Laws of Harmonics are not disturbed, I didn't break any laws, I used them to find my problem. I think it's a pretty clever technique and has some promise in the real world, but only time will tell if people accept it, adopt it and name it for me. If you want to try it yourself, just use this link to get started.