[sdiy] Interesting f vs. t graphs of pitch instability

Andre Majorel aym-htnys at teaser.fr
Sat Feb 20 21:00:06 CET 2010


On 2010-02-20 17:25 +0100, Magnus Danielson wrote:
> Andre Majorel wrote:
> >The wavering on my MS-20 has become worse lately so I've started
> >to look into it. Some interesting graphs have been made in the
> >process :
> >
> >  http://www.teaser.fr/~amajorel/ms20/files/waver1.png
> >
> >Those are four frequency vs. time plots. On the X axis, the frame
> >number. On the Y axis, the frequency in Hz. Each dot represents
> >one cycle. Each plot is one minute long so should have about 5400
> >points.
> >
> >>From top left to bottom right :
> >- VCO2 driven by the CV from by the keyboard,
> >- the same with preset VR4 shunted,
> >- VCO2 driven by an external fixed voltage (no wavering !),
> >- mathematically generated sawtooth of the same approximate
> >  frequency.
> 
> Do you have the frequency or time data available in suitable text form?

There are three .flac files in
http://www.teaser.fr/~amajorel/ms20/files/ corresponding to the
first three graphs. This is how they're processed :

#!/bin/sh
tmp1=.flac2fvst.tmp
for f; do
  flac -cd "$f" | aufreq0 -M >"$tmp1"
  (
    echo "set yrange[480:505]"
    printf 'set title "f vs. t for %s"\n' "$f"
    printf 'plot "%s" using 1:2 with dots\n' "$tmp1"
  ) | gnuplot -persist
done

aufreq0 is the frequency counter. It reads signed shorts. -M makes
it write to stdout the frequency for each cycle.

> I would like to do some analysis just for fun.
> 
> By the looks of it, you have both excessive white FM (1/f² phase
> noise) and flicker FM (1/f³ phase noise).
> 
> >Note how much frequency noise there is. It probably isn't an
> >artefact of the frequency counter as the graph for the
> >mathematically generated sawtooth is clean.
> 
> Usually you see white and flicker phase noise pollute the data, but
> it depends on the details of the counter. What counter did you use?

http://www.teaser.fr/~amajorel/misc/aufreq-standalone-2008-01-01.tar.gz

It integrates the signal and declares a cycle has passed every
time the integral becomes positive again. The integrator is
slightly leaky.

In order to estimate the period with better precision than 1/Fs,
the counter computes a fractional frame number for the zero
crossing by linear interpolation.

If it didn't, the graphs would look very different.  There would
be a band at 490 Hz, one at 44100 / ((44100 / 490) + 1) = 484.6 Hz,
one at 44100 / ((44100 / 490) - 1) = 495.5 Hz and not much else.

> >Also note how the dot density is higher at the extreme
> >frequencies. I have no idea why. It might be related to the fact
> >that most of the time-domain noise is 50 Hz hum...
> 
> Sounds very reasonable, looking at the histogram of a sine you would
> see something very similar to the histogram of this data.

You're saying the frequency spends more time at the extremes
because a 50 Hz sine spends more time at the extremes ? Mmm...
Guess I'll have to trust you on that.

-- 
André Majorel http://www.teaser.fr/~amajorel/



More information about the Synth-diy mailing list