High Stability Sound Card

I am using the Spectrum Lab software in an attempt to measure audio frequencies to an accuracy of sub-milli Hz. The method uses an audio card (on-board or USB). My challenge is finding a sound card/USB interface with very high sample rate stability, in order of 0.1PPM I think I need.

I don't actually need to be *accurate* as in exactly 44.1KHz sample rate or 48Khz or whatever because I can compensate for that. What I need is very low drift and probably low jitter. I am not an expert in the theory of jitter etc.

Does anyone have any suggestions as to sound cards / external USB interfaces that could do the job? Or mods?

Thanks
Dave.
 
There are various ways to go about doing what you say you want to do. However, it would help to know more about your requirements. For example, what do you need in terms of accuracy as verses precision? Also, over what time period do you need to measure frequency (can you integrate sine wave frequency over, say, one minute; or do you need to take a frequency reading, say, maybe every 10mS)? Will you measure one frequency at a time where a frequency counter type approach might work okay, or do you need something like FFT analysis?
 
Hi Markw4, thanks.
Precision is important here, not accuracy. I can compensate in software for a difference in sampling rate , but more difficult to compensate for short term drift in sampling rate. Precise enough to measure frequency sub milli Hz .Measuring the frequency over a couple of minutes is absolutely fine. My software (Spectrum Lab) does the FFT analysis, I need the hardware performance to get the precision I need. Hope that info helps. Appreciate the Help
David
 
I am using the Spectrum Lab software in an attempt to measure audio frequencies to an accuracy of sub-milli Hz.
You need to sample for a long time to be able to measure to 0.001Hz, think many minutes. For an FFT at 48kSPS, you'd need a 67108864 point FFT to get that resolution, or about 23minutes of sampling.

You're better off doing direct correlations to characterize the frequency, which needs much less processing and storage, since you are just refining a single sinusoid model regularly to keep it matched to the signal.

I suspect the professional approach is just stick a rubidium-disciplined crystal oscillator into the 10MHz input of your test equipment, ie you need something more like a dynamic signal analyzer and less like a soundcard.

However I doubt any existing equipment (or even software) will do the measurement you want out of the box.

Sounds like you are trying to measure pulsar signals?
 
0.1 ppm stability in 20 minutes should be doable for a normal crystal oscillator as long as the temperature stays stable. External sound card in a temperature-controlled environment, with half an hour to heat up before starting any measurements?
 
You need to sample for a long time to be able to measure to 0.001Hz, think many minutes. For an FFT at 48kSPS, you'd need a 67108864 point FFT to get that resolution, or about 23minutes of sampling.

You're better off doing direct correlations to characterize the frequency, which needs much less processing and storage, since you are just refining a single sinusoid model regularly to keep it matched to the signal.

I suspect the professional approach is just stick a rubidium-disciplined crystal oscillator into the 10MHz input of your test equipment, ie you need something more like a dynamic signal analyzer and less like a soundcard.

However I doubt any existing equipment (or even software) will do the measurement you want out of the box.

Sounds like you are trying to measure pulsar signals?

I've been doing freq stability measurements with the AP to measure notch filter drift to 0.01Hz. Measuring the AP generator and the notch. The AP can handle 1.4M points FFT in a single run iirc, and if I remember corrctly it took 5 or 10 minutes to complete a run, and then graph it. It's been some years, but it did work.
The notch had the 4 freq determining caps in a temp controlled assembly ;-)

Jan
 
Last edited:
I second the correlation method suggestion (fitting a sine curve to the sampled time waveform). Very fast and precise, yields frequency, amplitude, and phase at single run, while averaging out measurement noise. Short sequence of samples (a few tens of fundamental periods long) is enough, longer runs accumulate too large the lsq error and the precision drops, IME.

Simple to simulate the performance in matlab/octave, including measurement of noise impact. In octave the function is nonlin_curvefit in package optim. Of course running the calculations in double (float64).

For measuring spectrum the FFT is the way (due to vastly more data involved), but for measuring instant frequency (and amplitude + phase) the curve fitting has served me perfectly.