time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

Re: [time-nuts] Determining Allan Deviation From Interpolated Peak Frequency Readings

MG
Mark Goldberg
Fri, Dec 15, 2017 5:08 PM

Thanks for the detailed response.

On Fri, Dec 15, 2017 at 5:42 AM, Attila Kinali attila@kinali.ch wrote:

Hey Mark

On Wed, 6 Dec 2017 15:43:49 -0700
Mark Goldberg marklgoldberg@gmail.com wrote:

https://sites.google.com/site/perseusmods/
and
https://sites.google.com/site/spectrumlabtesting/

using wide FFT bins and Spectrum Lab's peak frequency interpolation
function. I would appreciate comments as to the effectiveness of this
approach. I have a thick skin, so any criticism is welcome if it improves
the process.

The approach using FFT works, but just using the peak frequency, you throw
away half of the data (the phase) and also limit yourself in precision
to the bin width. It's not 100% clear that estimating the frequency
using an FFT is unbiased in this case, thus you might get worse (or better)
results than what the oscillator actually does.

Since I do not know the exact algorithm used to interpolate peak frequency,
I don't know the effect on precision. They do claim that the peak frequency
determination precision is much smaller than the bin width, which seems to
be shown by the data.

The results are good enough to discern between "bad" and "good" units under
test, but I have no way to compare my results to any other method of
measurement. This is all I have access to.

What you are trying to do is spectral estimation from a limited number of
samples. You want to have some kind of continuity, that might allow you to
track minute changes from block you are processing to the next block.
The easiest way to do this would be to downconvert the signal on the PC
to zero Hz and take the phase information (simplest way: use a NCO as a
reference, then pass the reference and signal into a CORDIC to get the
phase
difference). Recording this phase difference should give you a lower floor
for *DEV than your FFT method. It will also alow you to track small phase
changes (aka small frequency fluctuations) that happen over long periods.
Sherman and Jördens[1] describe the approach in more detail.

Other than that, the general approach looks ok.

                     Attila Kinali

[1] "Oscillator metrology with software defined radio",
by Sherman and Jördens, 2016
https://arxiv.org/abs/1605.03505

I have seen this paper before. Unfortunately, it is a lot more work to
implement than what I have already done. I am really a hardware engineer,
with decades old education in control systems that has not been used in a
long time. It would take getting my brain back in gear and re-studying, not
a bad thing actually!

The other issue is the Perseus drivers have issues under Windows 10 that
may or may not be solved. I was able to get it to work with Spectrum Lab,
but it does not work with many other tools that would be able to implement
this algorithm.

That said, I may look into it further in the future.

Mark

Thanks for the detailed response. On Fri, Dec 15, 2017 at 5:42 AM, Attila Kinali <attila@kinali.ch> wrote: > Hey Mark > > On Wed, 6 Dec 2017 15:43:49 -0700 > Mark Goldberg <marklgoldberg@gmail.com> wrote: > > > https://sites.google.com/site/perseusmods/ > > and > > https://sites.google.com/site/spectrumlabtesting/ > > > > using wide FFT bins and Spectrum Lab's peak frequency interpolation > > function. I would appreciate comments as to the effectiveness of this > > approach. I have a thick skin, so any criticism is welcome if it improves > > the process. > > The approach using FFT works, but just using the peak frequency, you throw > away half of the data (the phase) and also limit yourself in precision > to the bin width. It's not 100% clear that estimating the frequency > using an FFT is unbiased in this case, thus you might get worse (or better) > results than what the oscillator actually does. > Since I do not know the exact algorithm used to interpolate peak frequency, I don't know the effect on precision. They do claim that the peak frequency determination precision is much smaller than the bin width, which seems to be shown by the data. The results are good enough to discern between "bad" and "good" units under test, but I have no way to compare my results to any other method of measurement. This is all I have access to. > > What you are trying to do is spectral estimation from a limited number of > samples. You want to have some kind of continuity, that might allow you to > track minute changes from block you are processing to the next block. > The easiest way to do this would be to downconvert the signal on the PC > to zero Hz and take the phase information (simplest way: use a NCO as a > reference, then pass the reference and signal into a CORDIC to get the > phase > difference). Recording this phase difference should give you a lower floor > for *DEV than your FFT method. It will also alow you to track small phase > changes (aka small frequency fluctuations) that happen over long periods. > Sherman and Jördens[1] describe the approach in more detail. > > Other than that, the general approach looks ok. > > > Attila Kinali > > > [1] "Oscillator metrology with software defined radio", > by Sherman and Jördens, 2016 > https://arxiv.org/abs/1605.03505 > I have seen this paper before. Unfortunately, it is a lot more work to implement than what I have already done. I am really a hardware engineer, with decades old education in control systems that has not been used in a long time. It would take getting my brain back in gear and re-studying, not a bad thing actually! The other issue is the Perseus drivers have issues under Windows 10 that may or may not be solved. I was able to get it to work with Spectrum Lab, but it does not work with many other tools that would be able to implement this algorithm. That said, I may look into it further in the future. Mark
AK
Attila Kinali
Sat, Dec 16, 2017 10:57 AM

On Fri, 15 Dec 2017 10:08:29 -0700
Mark Goldberg marklgoldberg@gmail.com wrote:

The approach using FFT works, but just using the peak frequency, you throw
away half of the data (the phase) and also limit yourself in precision
to the bin width. It's not 100% clear that estimating the frequency
using an FFT is unbiased in this case, thus you might get worse (or better)
results than what the oscillator actually does.

Since I do not know the exact algorithm used to interpolate peak frequency,
I don't know the effect on precision. They do claim that the peak frequency
determination precision is much smaller than the bin width, which seems to
be shown by the data.

The results are good enough to discern between "bad" and "good" units under
test, but I have no way to compare my results to any other method of
measurement. This is all I have access to.

If all you want is to discern good and bad units, this is good enough.

[1] "Oscillator metrology with software defined radio",
by Sherman and Jördens, 2016
https://arxiv.org/abs/1605.03505

I have seen this paper before. Unfortunately, it is a lot more work to
implement than what I have already done. I am really a hardware engineer,
with decades old education in control systems that has not been used in a
long time. It would take getting my brain back in gear and re-studying, not
a bad thing actually!

The other issue is the Perseus drivers have issues under Windows 10 that
may or may not be solved. I was able to get it to work with Spectrum Lab,
but it does not work with many other tools that would be able to implement
this algorithm.

That said, I may look into it further in the future.

Apparently the Perseus is supported by GnuRadio[1]. Which means you can
just click your control system together (similar to LabView). According
to [2] the driver uses libusb and works on windows as well.

If you want to use GnuRadio, I suggest you go to one of the many Hackfests[3]
they have and let them jump-start you (I started this way years ago).

			Attila Kinali

[1] https://gnuradio.org/
[2] https://github.com/Microtelecom/libperseus-sdr
[3] https://www.gnuradio.org/event-type/hackfest/

--
<JaberWorky> The bad part of Zurich is where the degenerates
throw DARK chocolate at you.

On Fri, 15 Dec 2017 10:08:29 -0700 Mark Goldberg <marklgoldberg@gmail.com> wrote: > > The approach using FFT works, but just using the peak frequency, you throw > > away half of the data (the phase) and also limit yourself in precision > > to the bin width. It's not 100% clear that estimating the frequency > > using an FFT is unbiased in this case, thus you might get worse (or better) > > results than what the oscillator actually does. > > > > Since I do not know the exact algorithm used to interpolate peak frequency, > I don't know the effect on precision. They do claim that the peak frequency > determination precision is much smaller than the bin width, which seems to > be shown by the data. > > The results are good enough to discern between "bad" and "good" units under > test, but I have no way to compare my results to any other method of > measurement. This is all I have access to. If all you want is to discern good and bad units, this is good enough. > > [1] "Oscillator metrology with software defined radio", > > by Sherman and Jördens, 2016 > > https://arxiv.org/abs/1605.03505 > > > > I have seen this paper before. Unfortunately, it is a lot more work to > implement than what I have already done. I am really a hardware engineer, > with decades old education in control systems that has not been used in a > long time. It would take getting my brain back in gear and re-studying, not > a bad thing actually! > > The other issue is the Perseus drivers have issues under Windows 10 that > may or may not be solved. I was able to get it to work with Spectrum Lab, > but it does not work with many other tools that would be able to implement > this algorithm. > > That said, I may look into it further in the future. Apparently the Perseus is supported by GnuRadio[1]. Which means you can just click your control system together (similar to LabView). According to [2] the driver uses libusb and works on windows as well. If you want to use GnuRadio, I suggest you go to one of the many Hackfests[3] they have and let them jump-start you (I started this way years ago). Attila Kinali [1] https://gnuradio.org/ [2] https://github.com/Microtelecom/libperseus-sdr [3] https://www.gnuradio.org/event-type/hackfest/ -- <JaberWorky> The bad part of Zurich is where the degenerates throw DARK chocolate at you.
GH
Gerhard Hoffmann
Sat, Dec 16, 2017 2:36 PM

Am 16.12.2017 um 11:57 schrieb Attila Kinali:

[1] "Oscillator metrology with software defined radio",
by Sherman and Jördens, 2016
https://arxiv.org/abs/1605.03505

I have seen this paper before. Unfortunately, it is a lot more work to
implement than what I have already done. I am really a hardware engineer,
with decades old education in control systems that has not been used in a
long time. It would take getting my brain back in gear and re-studying, not
a bad thing actually!

The other issue is the Perseus drivers have issues under Windows 10 that
may or may not be solved. I was able to get it to work with Spectrum Lab,
but it does not work with many other tools that would be able to implement
this algorithm.

That said, I may look into it further in the future.

Apparently the Perseus is supported by GnuRadio[1]. Which means you can
just click your control system together (similar to LabView). According
to [2] the driver uses libusb and works on windows as well.

If you want to use GnuRadio, I suggest you go to one of the many Hackfests[3]
they have and let them jump-start you (I started this way years ago).

I'm about to buy a RedPitaya Stemlab 125-14. Cost is just €310 in .de,
seems to have respectable performance, can emulate the
GnuRadio hardware boards more or less right out of the box,
Win  & Linux.

And it is a nice stepping stone to what I really want: a bigger ZYNC
with JESD204B support, AD9680/ADC32RF45 ADCs & AD9142 or
similar DACs for direct L-band digitizing. No more
phase-shifting preselector or IF filters.
There seem to appear better ADC/DAC chips every month for Gen5.

That could be a Timepod++  :-)

regards, Gerhard

https://www.redpitaya.com/c96/stemsuplabsup-125-14   >
< http://pavel-demin.github.io/red-pitaya-notes/sdr-transceiver-hpsdr/ >

Am 16.12.2017 um 11:57 schrieb Attila Kinali: > >>> [1] "Oscillator metrology with software defined radio", >>> by Sherman and Jördens, 2016 >>> https://arxiv.org/abs/1605.03505 >>> >> I have seen this paper before. Unfortunately, it is a lot more work to >> implement than what I have already done. I am really a hardware engineer, >> with decades old education in control systems that has not been used in a >> long time. It would take getting my brain back in gear and re-studying, not >> a bad thing actually! >> >> The other issue is the Perseus drivers have issues under Windows 10 that >> may or may not be solved. I was able to get it to work with Spectrum Lab, >> but it does not work with many other tools that would be able to implement >> this algorithm. >> >> That said, I may look into it further in the future. > Apparently the Perseus is supported by GnuRadio[1]. Which means you can > just click your control system together (similar to LabView). According > to [2] the driver uses libusb and works on windows as well. > > If you want to use GnuRadio, I suggest you go to one of the many Hackfests[3] > they have and let them jump-start you (I started this way years ago). > I'm about to buy a RedPitaya Stemlab 125-14. Cost is just €310 in .de, seems to have respectable performance, can emulate the GnuRadio hardware boards more or less right out of the box, Win  & Linux. And it is a nice stepping stone to what I really want: a bigger ZYNC with JESD204B support, AD9680/ADC32RF45 ADCs & AD9142 or similar DACs for direct L-band digitizing. No more phase-shifting preselector or IF filters. There seem to appear better ADC/DAC chips every month for Gen5. That could be a Timepod++  :-) regards, Gerhard <  https://www.redpitaya.com/c96/stemsuplabsup-125-14   > < http://pavel-demin.github.io/red-pitaya-notes/sdr-transceiver-hpsdr/ >
MG
Mark Goldberg
Sat, Dec 16, 2017 3:08 PM

On Sat, Dec 16, 2017 at 3:57 AM, Attila Kinali attila@kinali.ch wrote:

Apparently the Perseus is supported by GnuRadio[1]. Which means you can
just click your control system together (similar to LabView). According
to [2] the driver uses libusb and works on windows as well.

If you want to use GnuRadio, I suggest you go to one of the many
Hackfests[3]
they have and let them jump-start you (I started this way years ago).

There are issues with the Perseus, Windows 10 and USB3. It is hit and miss
with various software. I am not sure it would actually work with GnuRadio
on the computer I use in my Ham Radio / Electronics lab. I do have three
computers running Linux but they are elsewhere. Simon Brown has posted some
positive messages about the cause of this being found on the Perseus Forum.
Hopefully it can be fixed. The creator of the Perseus has had to move on to
other things and can only provide limited help.

It would be a big project fro me though. I have lots of projects, but will
consider it. I do have a friend that is much more of an expert with
GnuRadio.

Thanks,

Mark
W7MLG

On Sat, Dec 16, 2017 at 3:57 AM, Attila Kinali <attila@kinali.ch> wrote: > > > Apparently the Perseus is supported by GnuRadio[1]. Which means you can > just click your control system together (similar to LabView). According > to [2] the driver uses libusb and works on windows as well. > > If you want to use GnuRadio, I suggest you go to one of the many > Hackfests[3] > they have and let them jump-start you (I started this way years ago). > There are issues with the Perseus, Windows 10 and USB3. It is hit and miss with various software. I am not sure it would actually work with GnuRadio on the computer I use in my Ham Radio / Electronics lab. I do have three computers running Linux but they are elsewhere. Simon Brown has posted some positive messages about the cause of this being found on the Perseus Forum. Hopefully it can be fixed. The creator of the Perseus has had to move on to other things and can only provide limited help. It would be a big project fro me though. I have lots of projects, but will consider it. I do have a friend that is much more of an expert with GnuRadio. Thanks, Mark W7MLG
MG
Mark Goldberg
Sat, Dec 16, 2017 3:22 PM

On Sat, Dec 16, 2017 at 7:36 AM, Gerhard Hoffmann dk4xp@arcor.de wrote:

I'm about to buy a RedPitaya Stemlab 125-14. Cost is just €310 in .de,

seems to have respectable performance, can emulate the
GnuRadio hardware boards more or less right out of the box,
Win  & Linux.

And it is a nice stepping stone to what I really want: a bigger ZYNC
with JESD204B support, AD9680/ADC32RF45 ADCs & AD9142 or
similar DACs for direct L-band digitizing. No more
phase-shifting preselector or IF filters.
There seem to appear better ADC/DAC chips every month for Gen5.

That could be a Timepod++  :-)

You know you guys are going to wind up costing me more money! The RedPitya
looks like an amazing product for the price, dual ADCs and DACs and a Zync
for that price! And, they are available at Digikey in the US for pretty
good prices. Again, a project for the future possibly.

Thanks,

Mark
W7MLG

On Sat, Dec 16, 2017 at 7:36 AM, Gerhard Hoffmann <dk4xp@arcor.de> wrote: I'm about to buy a RedPitaya Stemlab 125-14. Cost is just €310 in .de, > seems to have respectable performance, can emulate the > GnuRadio hardware boards more or less right out of the box, > Win & Linux. > > And it is a nice stepping stone to what I really want: a bigger ZYNC > with JESD204B support, AD9680/ADC32RF45 ADCs & AD9142 or > similar DACs for direct L-band digitizing. No more > phase-shifting preselector or IF filters. > There seem to appear better ADC/DAC chips every month for Gen5. > > That could be a Timepod++ :-) > > You know you guys are going to wind up costing me more money! The RedPitya looks like an amazing product for the price, dual ADCs and DACs and a Zync for that price! And, they are available at Digikey in the US for pretty good prices. Again, a project for the future possibly. Thanks, Mark W7MLG