Low-distortion Audio-range Oscillator

AX tech editor
Joined 2002
Paid Member
4M points, 16 averages, a few dB better.
Red is AP, Yel is Viktor.
This is nice (except for the long time it takes). Can see now down to about -140dB. But, that Vicnic oscillator is even better, still shows no distortion.

But I am not giving up, just got started! :cool:

I should mention that both the tracking notch and the Viktor are fed from a Powerbank through a SilentSwicher ;-)


Jan
 

Attachments

  • GenMon vs notch out non-track  797 797 710 710 5534 GenMon vs Vicnic 4Mpts 16ave.PNG
    GenMon vs notch out non-track 797 797 710 710 5534 GenMon vs Vicnic 4Mpts 16ave.PNG
    53.4 KB · Views: 350
Last edited:
Notch troubles

[...]
With the notch and DiANA's latest upgrade you should be able to cross-check your measurements with a more conventional sound card.
[...]
Hi Demian and all other DiAna users.

Please wait for the next upgrade (coming soon, btw). I've encountered another issue that might affect the accuracy and distortion measurement floor. DiAna applies to one of ADC channels a reference signal in order to synchronize (phase locking) the notched test signal (which misses a fundamental to synchronize on). So far so good. BUT since both ADC channels of most audio interfaces are on the same chip, some cross-talk occurs from the reference channel to the test (notched) channel, including the harmonics from the reference signal, which seriously limits the measurement floor by some 20dB (from ca. -150 to ca. -130dB).
One way to circumvent cross-talk is using two sound interfaces. So I'm busy with an upgrade that supports two separate sound cards. For the time being, only for two Lynx L22. More on this on the DiAna thread when I'm finished with the upgrade.

Cheers, E.
 
Edmond, how large is the reference signal? Can you lower it to the bare minimum, to limit the absolute levels of the xtalk?
Jan

Hi Jan,

My (preliminary) tests were only done with a ref. signal of -18dB (13%) WRT full scale. Of course I could lower that level, but then more noise come into play. How much, I've not figured that out yet.

Cheers, E.
 
Edmond, regarding your 2 soundcards setup - Lynx L22s can be synchronized (Clock out -> clock in). Will your code work with two standalone (i.e. unsynchronized) soundcards?

# off-topic

Hi Phofman,

Yes . DiAna can be phase locked on a signal from "outside". Just enable the enable the "External sync" option (provided that the frequency of this external signal equals the fundamental of the test signal, otherwise you will get rubbish of course). This way you even can analyze signals from *.wav files.

Cheers, E.
 
Member
Joined 2004
Paid Member
I did what I thought would be a quick check of the crosstalk on my L22. Windows had other plans but with a reinstallation of the Lynx drivers its "working". In any case this is what I get with a -8 dBFS (per Virtins) on channel A and channel B shorted. Is this similar to what you are seeing? I don't see any harmonic crosstalk.

Source HK4400 (modded) 600 Ohm output.
 

Attachments

  • l22 xtalk.PNG
    l22 xtalk.PNG
    34.2 KB · Views: 295
Hi Demian,

The figures I got were a bit confusing. The harmonic cross-talk not only depended on which sound card was used as reference, but also depended on the sound card that was used for generating the sine wave. Anyhow, I got much higher cross-talk figures, which varied between -125 and -166dB. May I suggest to discuss this matter in more detail (and on the other thread) when I've finished the upgrade of DiAna and investigated this cross-talk issue in more depth?

Cheers, E.
 
Member
Joined 2004
Paid Member
Sure-
One idea to explore would be to run the reference in inverted phase which may cancel some of the crosstalk.
Those measurements were not using the soundcard as the source. There may be a fair amount of internal crosstalk on the output to input. I'll try that later to see what I get and post in the other thread.

I'll watch the other thread: DiAna, a software Distortion Analyzer for developments
 
4M points, 16 averages, a few dB better.
Red is AP, Yel is Viktor.
This is nice (except for the long time it takes). Can see now down to about -140dB. But, that Vicnic oscillator is even better, still shows no distortion
One thing to keep in mind is that if the FFT is too long, the bands become too narrow relative to the inherent frequency error and frequency stability of the oscillator. So, over the averaging period, spurious energy could 'float' into several bands and become mischaracterized, since some of the energy of a harmonic will get counted in more than one FFT bin.

Each bin also has a 'response curve' due to the windowing function used. So, if spurious energy happens to fall between two bands, it can be read inaccurately, since energy will be spread among two bins and not one.

The reason I mention this is that I find that with the APx 555, I use a 192kHz analyzer sample rate with 256k point FFTs, and synchronous averaging of 128 FFTs with the Dolph-Chebyshev 250 window. This seems to provide the best tradeoff of bin width, averaging noise reduction and bin top flatness. FFTs wider than 512K seem to make the bins too narrow to get an accurate spur reading. Of course, your AP and these oscillators are different, but it's worth trading off FFT length and # of averages and seeing where you get the most stable and repeatable readings. Also, synchronous averaging is extremely valuable in reducing the noise floor and thus the accuracy of spurious level readings.
 
Member
Joined 2004
Paid Member
Definitely the analog oscillators drift. I have watched the harmonics 'melt away" as the oscillator shifts frequency. I have not been able to lock them with a simple circuit and a full PLL is a lot of hardware for a low distortion oscillator to get stability. The Boonton does that with a lot of complexity.
 
Made some progress today with proto#2 of my auto-tracking active notch.
The attached shows the result from a rainy Sunday.

The yellow trace is the output of the 1kHz notch, input is Viktor's 1kHz oscillator. The notch dept is about 44dB, and there is no distortion visible. The noise floor at 2kHz is ~-138dB and at 3kHz ~-144dB.

The red trace is with the AP generator as input. Here we clearly see the residual of the AP generator, at ~-136dB and 3rd at ~-138dB.

If I do a loopback I get these same numbers for the AP. So the concept seems to work and I can already show that Victor's oscillator is better than the AP.

I am not sure what I am seeing re: noise floor. The measurement with the AP generator has a lower noise floor, so the relatively high noise floor of the yellow Viktor curve seems to indicate that the Viktor measurement is limited by its noise.
Viktor always shows lower noise which might be due to the fact that he uses a much smaller bin width than the AP.

Viktor, Demian, others, do you have any comments/hints on this?

Jan


If I interpret it correctly, then Viktor is more interested in low distortion than low noise. You can not have both. The resistors in his oscillator are relatively large.
 
A project on my list is to add a sync input to a quality oscillator like Viktor's in order to provide truly synchronous analysis. Using synchronous averaging is a helpful start to reducing noise, but it does not address oscillator drift and you still need to use a windowing function. With an analog generator locked to the FFT analyzer, you can get rid of the window function and also use an FFT size that is optimal only for the ADC hardware, and not also the oscillator drift.

There's an article called 'Injection-lock a Wien-bridge oscillator' from Glen Brisebois of Linear Technology in the October 2012 issue of EDN. He goes into a good bit of detail about how to lock an oscillator, and the long and short is that you can inject a small amount of the sync signal into the oscillator's feedback loop and the quality oscillator will lock to the injected signal. So, you get the distortion properties of the analog oscillator while being able to lock the oscillator frequency to an external clock.

Practically, this can be used with an AP nicely: the AP can provide a DAC generated sine wave that is inherently locked to the system sample rate, and this signal will then be able to be injected into an external analog oscillator to lock it to the AP's sample clock, making it synchronous to the FFT analyzer. This principle probably also applies to many soundcard type analyzers, since the generator and analyzer will usually share the same sample clock.

I think the details of this are little more than adding a jack to an oscillator board and an attenuator, and maybe a little filtering, but I don't have an external oscillator to use for this purpose, so I have not experimented with this. Perhaps someone on this thread will want to take a stab at it?
 
Definitely the analog oscillators drift. I have watched the harmonics 'melt away" as the oscillator shifts frequency. I have not been able to lock them with a simple circuit and a full PLL is a lot of hardware for a low distortion oscillator to get stability. The Boonton does that with a lot of complexity.
Does DiAna stay locked on this drifting signal?

Cheers, E.
 
Made some progress today with proto#2 of my auto-tracking active notch.
The attached shows the result from a rainy Sunday.

The yellow trace is the output of the 1kHz notch, input is Viktor's 1kHz oscillator. The notch dept is about 44dB, and there is no distortion visible. The noise floor at 2kHz is ~-138dB and at 3kHz ~-144dB.

The red trace is with the AP generator as input. Here we clearly see the residual of the AP generator, at ~-136dB and 3rd at ~-138dB.

If I do a loopback I get these same numbers for the AP. So the concept seems to work and I can already show that Victor's oscillator is better than the AP.

I am not sure what I am seeing re: noise floor. The measurement with the AP generator has a lower noise floor, so the relatively high noise floor of the yellow Viktor curve seems to indicate that the Viktor measurement is limited by its noise.
Viktor always shows lower noise which might be due to the fact that he uses a much smaller bin width than the AP.

Viktor, Demian, others, do you have any comments/hints on this?

Jan

I might hazard a guess that Victor's oscillator has more phase noise than the AP, perhaps due to noise injected by the oscillator agc. If one runs the agc control JFET with very low signal across it, it will generate less distortion.

However, the penalty is that the agc circuit may inject more noise into the oscillator loop if the agc is to still have adequate control range (authority) for control of oscillator amplitude. This can manifest itself as the notch depth at the fundamental frequency not being as deep, as there are noise sidebands about the fundamental.

Just speculation ...

Cheers,
Bob
 
In my opinion the low level harmonics measurement possibility test can be done in this way:
1) Needs to derive the 2nd or 3rd harmonic from the fundamental. As example via a half wave rectifier and a band-pass filter.
2) A calibrated divider must be used for to get needed level of the harmonic signal.
3) This low level calibrated signal can be measured in mix with the fundamental or separately. In the case of a mixed signal, also the phase reverse function can be used to the harmonic signal for to see the difference (the difference can be observed when the injected and real harmonics have similar levels).
Anyway for to measure very low harmonic levels, the oscillator board must be placed in a closed metal case without a random air flow from the outside and warmed up within at least 20 minutes.
Then we can see what really happens.

I am measuring my oscillators at maximum output level, maximum FFT length, and when the frequency thermal drift becomes negligible.