time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

Re: [time-nuts] time-nuts Digest, Vol 18, Issue 1

JA
John Ackermann N8UR
Mon, Jan 2, 2006 2:09 PM

Hi Mike --

I can't speak for John, but I'd sure find that program useful.

73,
John

Mike Feher said the following on 01/02/2006 08:10 AM:

John -

I wrote a program about 20 years ago to calculate the total integrated noise
power from the individual power spectrum density points. It is in GW Basic
and I still use it almost daily. Let me know if you would like it. 73 - Mike

Mike B. Feher, N4FS
89 Arnold Blvd.
Howell, NJ, 07731
732-886-5960

-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On
Behalf Of John Miles
Sent: Monday, January 02, 2006 3:00 AM
To: Discussion of precise time and frequency measurement
Subject: [time-nuts] Help w/integration problem

Does anyone have a piece of C (BASIC, whatever) code that turns an array of
dBc/Hz values into integrated RMS noise?

I'm trying to use a simple rectangular integrator to divide a log-log plot
into "bins":

for (i=L_column; i < U_column-1; i++)
{
sum += ((value[i] - ((value[i] - value[i+1]) / 2.0)) *
(frequency[i+1] - frequency[i]));
}

This just takes the midpoint dBc/Hz value between successive columns of a
phase-noise plot, multiplies it by the frequency step between the columns in
question, and sums the result for all columns in the range of interest.

The output of this process, when I feed a typical noise graph with values
around -110 dBc/Hz to it, with frequency values at the lower and upper
limits of 1000 and 10000 Hz, is around -1E+6.  What I'd like is a value
corresponding to the "-63 dBc" value cited on pages 7 and 8 in this Zarlink
app note:

http://assets.zarlink.com/CA/Phase_Noise_and_Jitter_Article.pdf

In this note, the author shows a noise curve similar to the ones I'm working
with, and magically pulls -63 dBc out of the ether with no explanation of
the integration process that obtained it.  (What does it mean, in the
author's words, to take the area "under" a phase-noise curve, anyway?
What's the bottom dBc/Hz value?)

Being from the instant-gratification generation, I really don't want (and
won't understand) a calculus lecture.  I want the 5 lines of code that do
the integration. :-)  This is for the next release of my freeware GPIB
noise-measurement app, so your karma will be integrated along with the noise
if you're able to help!

-- john, KE5FX


time-nuts mailing list
time-nuts@febo.com
https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts


time-nuts mailing list
time-nuts@febo.com
https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts

Hi Mike -- I can't speak for John, but I'd sure find that program useful. 73, John ---- Mike Feher said the following on 01/02/2006 08:10 AM: > John - > > I wrote a program about 20 years ago to calculate the total integrated noise > power from the individual power spectrum density points. It is in GW Basic > and I still use it almost daily. Let me know if you would like it. 73 - Mike > > > Mike B. Feher, N4FS > 89 Arnold Blvd. > Howell, NJ, 07731 > 732-886-5960 > > > > -----Original Message----- > From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On > Behalf Of John Miles > Sent: Monday, January 02, 2006 3:00 AM > To: Discussion of precise time and frequency measurement > Subject: [time-nuts] Help w/integration problem > > Does anyone have a piece of C (BASIC, whatever) code that turns an array of > dBc/Hz values into integrated RMS noise? > > I'm trying to use a simple rectangular integrator to divide a log-log plot > into "bins": > > for (i=L_column; i < U_column-1; i++) > { > sum += ((value[i] - ((value[i] - value[i+1]) / 2.0)) * > (frequency[i+1] - frequency[i])); > } > > This just takes the midpoint dBc/Hz value between successive columns of a > phase-noise plot, multiplies it by the frequency step between the columns in > question, and sums the result for all columns in the range of interest. > > The output of this process, when I feed a typical noise graph with values > around -110 dBc/Hz to it, with frequency values at the lower and upper > limits of 1000 and 10000 Hz, is around -1E+6. What I'd *like* is a value > corresponding to the "-63 dBc" value cited on pages 7 and 8 in this Zarlink > app note: > > http://assets.zarlink.com/CA/Phase_Noise_and_Jitter_Article.pdf > > In this note, the author shows a noise curve similar to the ones I'm working > with, and magically pulls -63 dBc out of the ether with no explanation of > the integration process that obtained it. (What does it mean, in the > author's words, to take the area "under" a phase-noise curve, anyway? > What's the bottom dBc/Hz value?) > > Being from the instant-gratification generation, I really don't want (and > won't understand) a calculus lecture. I want the 5 lines of code that do > the integration. :-) This is for the next release of my freeware GPIB > noise-measurement app, so your karma will be integrated along with the noise > if you're able to help! > > -- john, KE5FX > > > _______________________________________________ > time-nuts mailing list > time-nuts@febo.com > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > > > _______________________________________________ > time-nuts mailing list > time-nuts@febo.com > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > >
PK
Poul-Henning Kamp
Mon, Jan 2, 2006 2:45 PM

In message 20060102.141403.105215125.cfmd@bredband.net, Magnus Danielson writes:

But to answer your question, younger people is still attracted and there is
still plenty of people having the right mind for these things around.

A major difference for these younger people is that the technology
of today is reverse engineering resistant.

There is practically nothing to learn today by taking things apart:
you can't see how they work.

--
Poul-Henning Kamp      | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG        | TCP/IP since RFC 956
FreeBSD committer      | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.

In message <20060102.141403.105215125.cfmd@bredband.net>, Magnus Danielson writes: >But to answer your question, younger people is still attracted and there is >still plenty of people having the right mind for these things around. A major difference for these younger people is that the technology of today is reverse engineering resistant. There is practically nothing to learn today by taking things apart: you can't see how they work. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.
MF
Mike Feher
Mon, Jan 2, 2006 2:51 PM

John -

Do you also need GW Basic? I'll FTP the programs and send the URL shortly.
73 - Mike

Mike B. Feher, N4FS
89 Arnold Blvd.
Howell, NJ, 07731
732-886-5960

-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On
Behalf Of John Ackermann N8UR
Sent: Monday, January 02, 2006 9:09 AM
To: Discussion of precise time and frequency measurement
Subject: Re: [time-nuts] Help w/integration problem

Hi Mike --

I can't speak for John, but I'd sure find that program useful.

73,
John

Mike Feher said the following on 01/02/2006 08:10 AM:

John -

I wrote a program about 20 years ago to calculate the total integrated

noise

power from the individual power spectrum density points. It is in GW Basic
and I still use it almost daily. Let me know if you would like it. 73 -

Mike

Mike B. Feher, N4FS
89 Arnold Blvd.
Howell, NJ, 07731
732-886-5960

-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On
Behalf Of John Miles
Sent: Monday, January 02, 2006 3:00 AM
To: Discussion of precise time and frequency measurement
Subject: [time-nuts] Help w/integration problem

Does anyone have a piece of C (BASIC, whatever) code that turns an array

of

dBc/Hz values into integrated RMS noise?

I'm trying to use a simple rectangular integrator to divide a log-log plot
into "bins":

for (i=L_column; i < U_column-1; i++)
{
sum += ((value[i] - ((value[i] - value[i+1]) / 2.0)) *
(frequency[i+1] - frequency[i]));
}

This just takes the midpoint dBc/Hz value between successive columns of a
phase-noise plot, multiplies it by the frequency step between the columns

in

question, and sums the result for all columns in the range of interest.

The output of this process, when I feed a typical noise graph with values
around -110 dBc/Hz to it, with frequency values at the lower and upper
limits of 1000 and 10000 Hz, is around -1E+6.  What I'd like is a value
corresponding to the "-63 dBc" value cited on pages 7 and 8 in this

Zarlink

app note:

http://assets.zarlink.com/CA/Phase_Noise_and_Jitter_Article.pdf

In this note, the author shows a noise curve similar to the ones I'm

working

with, and magically pulls -63 dBc out of the ether with no explanation of
the integration process that obtained it.  (What does it mean, in the
author's words, to take the area "under" a phase-noise curve, anyway?
What's the bottom dBc/Hz value?)

Being from the instant-gratification generation, I really don't want (and
won't understand) a calculus lecture.  I want the 5 lines of code that do
the integration. :-)  This is for the next release of my freeware GPIB
noise-measurement app, so your karma will be integrated along with the

noise

John - Do you also need GW Basic? I'll FTP the programs and send the URL shortly. 73 - Mike Mike B. Feher, N4FS 89 Arnold Blvd. Howell, NJ, 07731 732-886-5960 -----Original Message----- From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On Behalf Of John Ackermann N8UR Sent: Monday, January 02, 2006 9:09 AM To: Discussion of precise time and frequency measurement Subject: Re: [time-nuts] Help w/integration problem Hi Mike -- I can't speak for John, but I'd sure find that program useful. 73, John ---- Mike Feher said the following on 01/02/2006 08:10 AM: > John - > > I wrote a program about 20 years ago to calculate the total integrated noise > power from the individual power spectrum density points. It is in GW Basic > and I still use it almost daily. Let me know if you would like it. 73 - Mike > > > Mike B. Feher, N4FS > 89 Arnold Blvd. > Howell, NJ, 07731 > 732-886-5960 > > > > -----Original Message----- > From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On > Behalf Of John Miles > Sent: Monday, January 02, 2006 3:00 AM > To: Discussion of precise time and frequency measurement > Subject: [time-nuts] Help w/integration problem > > Does anyone have a piece of C (BASIC, whatever) code that turns an array of > dBc/Hz values into integrated RMS noise? > > I'm trying to use a simple rectangular integrator to divide a log-log plot > into "bins": > > for (i=L_column; i < U_column-1; i++) > { > sum += ((value[i] - ((value[i] - value[i+1]) / 2.0)) * > (frequency[i+1] - frequency[i])); > } > > This just takes the midpoint dBc/Hz value between successive columns of a > phase-noise plot, multiplies it by the frequency step between the columns in > question, and sums the result for all columns in the range of interest. > > The output of this process, when I feed a typical noise graph with values > around -110 dBc/Hz to it, with frequency values at the lower and upper > limits of 1000 and 10000 Hz, is around -1E+6. What I'd *like* is a value > corresponding to the "-63 dBc" value cited on pages 7 and 8 in this Zarlink > app note: > > http://assets.zarlink.com/CA/Phase_Noise_and_Jitter_Article.pdf > > In this note, the author shows a noise curve similar to the ones I'm working > with, and magically pulls -63 dBc out of the ether with no explanation of > the integration process that obtained it. (What does it mean, in the > author's words, to take the area "under" a phase-noise curve, anyway? > What's the bottom dBc/Hz value?) > > Being from the instant-gratification generation, I really don't want (and > won't understand) a calculus lecture. I want the 5 lines of code that do > the integration. :-) This is for the next release of my freeware GPIB > noise-measurement app, so your karma will be integrated along with the noise > if you're able to help! > > -- john, KE5FX > > > _______________________________________________ > time-nuts mailing list > time-nuts@febo.com > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > > > _______________________________________________ > time-nuts mailing list > time-nuts@febo.com > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > > _______________________________________________ time-nuts mailing list time-nuts@febo.com https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
JA
John Ackermann N8UR
Mon, Jan 2, 2006 3:02 PM

Hi Mike --

Actually, I'm most likely to convert it to Perl or Python or something
to run on my Linux boxes.  I'll be happy to make the port available to
anyone who wants it (no guarantees when it'll be done, though).

73,
John

Mike Feher said the following on 01/02/2006 09:51 AM:

John -

Do you also need GW Basic? I'll FTP the programs and send the URL shortly.
73 - Mike

Mike B. Feher, N4FS
89 Arnold Blvd.
Howell, NJ, 07731
732-886-5960

-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On
Behalf Of John Ackermann N8UR
Sent: Monday, January 02, 2006 9:09 AM
To: Discussion of precise time and frequency measurement
Subject: Re: [time-nuts] Help w/integration problem

Hi Mike --

I can't speak for John, but I'd sure find that program useful.

73,
John

Mike Feher said the following on 01/02/2006 08:10 AM:

John -

I wrote a program about 20 years ago to calculate the total integrated

noise

power from the individual power spectrum density points. It is in GW Basic
and I still use it almost daily. Let me know if you would like it. 73 -

Mike

Mike B. Feher, N4FS
89 Arnold Blvd.
Howell, NJ, 07731
732-886-5960

-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On
Behalf Of John Miles
Sent: Monday, January 02, 2006 3:00 AM
To: Discussion of precise time and frequency measurement
Subject: [time-nuts] Help w/integration problem

Does anyone have a piece of C (BASIC, whatever) code that turns an array

of

dBc/Hz values into integrated RMS noise?

I'm trying to use a simple rectangular integrator to divide a log-log plot
into "bins":

for (i=L_column; i < U_column-1; i++)
{
sum += ((value[i] - ((value[i] - value[i+1]) / 2.0)) *
(frequency[i+1] - frequency[i]));
}

This just takes the midpoint dBc/Hz value between successive columns of a
phase-noise plot, multiplies it by the frequency step between the columns

in

question, and sums the result for all columns in the range of interest.

The output of this process, when I feed a typical noise graph with values
around -110 dBc/Hz to it, with frequency values at the lower and upper
limits of 1000 and 10000 Hz, is around -1E+6.  What I'd like is a value
corresponding to the "-63 dBc" value cited on pages 7 and 8 in this

Zarlink

app note:

http://assets.zarlink.com/CA/Phase_Noise_and_Jitter_Article.pdf

In this note, the author shows a noise curve similar to the ones I'm

working

with, and magically pulls -63 dBc out of the ether with no explanation of
the integration process that obtained it.  (What does it mean, in the
author's words, to take the area "under" a phase-noise curve, anyway?
What's the bottom dBc/Hz value?)

Being from the instant-gratification generation, I really don't want (and
won't understand) a calculus lecture.  I want the 5 lines of code that do
the integration. :-)  This is for the next release of my freeware GPIB
noise-measurement app, so your karma will be integrated along with the

noise

Hi Mike -- Actually, I'm most likely to convert it to Perl or Python or something to run on my Linux boxes. I'll be happy to make the port available to anyone who wants it (no guarantees when it'll be done, though). 73, John ---- Mike Feher said the following on 01/02/2006 09:51 AM: > John - > > Do you also need GW Basic? I'll FTP the programs and send the URL shortly. > 73 - Mike > > > Mike B. Feher, N4FS > 89 Arnold Blvd. > Howell, NJ, 07731 > 732-886-5960 > > > > -----Original Message----- > From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On > Behalf Of John Ackermann N8UR > Sent: Monday, January 02, 2006 9:09 AM > To: Discussion of precise time and frequency measurement > Subject: Re: [time-nuts] Help w/integration problem > > Hi Mike -- > > I can't speak for John, but I'd sure find that program useful. > > 73, > John > ---- > > Mike Feher said the following on 01/02/2006 08:10 AM: > >>John - >> >>I wrote a program about 20 years ago to calculate the total integrated > > noise > >>power from the individual power spectrum density points. It is in GW Basic >>and I still use it almost daily. Let me know if you would like it. 73 - > > Mike > >> >>Mike B. Feher, N4FS >>89 Arnold Blvd. >>Howell, NJ, 07731 >>732-886-5960 >> >> >> >>-----Original Message----- >>From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On >>Behalf Of John Miles >>Sent: Monday, January 02, 2006 3:00 AM >>To: Discussion of precise time and frequency measurement >>Subject: [time-nuts] Help w/integration problem >> >>Does anyone have a piece of C (BASIC, whatever) code that turns an array > > of > >>dBc/Hz values into integrated RMS noise? >> >>I'm trying to use a simple rectangular integrator to divide a log-log plot >>into "bins": >> >> for (i=L_column; i < U_column-1; i++) >> { >> sum += ((value[i] - ((value[i] - value[i+1]) / 2.0)) * >>(frequency[i+1] - frequency[i])); >> } >> >>This just takes the midpoint dBc/Hz value between successive columns of a >>phase-noise plot, multiplies it by the frequency step between the columns > > in > >>question, and sums the result for all columns in the range of interest. >> >>The output of this process, when I feed a typical noise graph with values >>around -110 dBc/Hz to it, with frequency values at the lower and upper >>limits of 1000 and 10000 Hz, is around -1E+6. What I'd *like* is a value >>corresponding to the "-63 dBc" value cited on pages 7 and 8 in this > > Zarlink > >>app note: >> >>http://assets.zarlink.com/CA/Phase_Noise_and_Jitter_Article.pdf >> >>In this note, the author shows a noise curve similar to the ones I'm > > working > >>with, and magically pulls -63 dBc out of the ether with no explanation of >>the integration process that obtained it. (What does it mean, in the >>author's words, to take the area "under" a phase-noise curve, anyway? >>What's the bottom dBc/Hz value?) >> >>Being from the instant-gratification generation, I really don't want (and >>won't understand) a calculus lecture. I want the 5 lines of code that do >>the integration. :-) This is for the next release of my freeware GPIB >>noise-measurement app, so your karma will be integrated along with the > > noise > >>if you're able to help! >> >>-- john, KE5FX >> >> >>_______________________________________________ >>time-nuts mailing list >>time-nuts@febo.com >>https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts >> >> >>_______________________________________________ >>time-nuts mailing list >>time-nuts@febo.com >>https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts >> >> > > > > _______________________________________________ > time-nuts mailing list > time-nuts@febo.com > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > > > _______________________________________________ > time-nuts mailing list > time-nuts@febo.com > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > >
MF
Mike Feher
Mon, Jan 2, 2006 3:11 PM

I figured that is what you would do. As I recall in this program I doubled
the answer to obtain the total double sided noise power. You will see that
in the program, towards the end, and can eliminate the doubling if you only
want the single sided total power over the selected integration limits. Here
is the URL:

http://www@eozinc.com/DOS/PHASE1.BAS

Mike B. Feher, N4FS
89 Arnold Blvd.
Howell, NJ, 07731
732-886-5960

-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On
Behalf Of John Ackermann N8UR
Sent: Monday, January 02, 2006 10:02 AM
To: Discussion of precise time and frequency measurement
Subject: Re: [time-nuts] Help w/integration problem

Hi Mike --

Actually, I'm most likely to convert it to Perl or Python or something
to run on my Linux boxes.  I'll be happy to make the port available to
anyone who wants it (no guarantees when it'll be done, though).

73,
John

Mike Feher said the following on 01/02/2006 09:51 AM:

John -

Do you also need GW Basic? I'll FTP the programs and send the URL shortly.
73 - Mike

Mike B. Feher, N4FS
89 Arnold Blvd.
Howell, NJ, 07731
732-886-5960

-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On
Behalf Of John Ackermann N8UR
Sent: Monday, January 02, 2006 9:09 AM
To: Discussion of precise time and frequency measurement
Subject: Re: [time-nuts] Help w/integration problem

Hi Mike --

I can't speak for John, but I'd sure find that program useful.

73,
John

Mike Feher said the following on 01/02/2006 08:10 AM:

John -

I wrote a program about 20 years ago to calculate the total integrated

noise

power from the individual power spectrum density points. It is in GW Basic
and I still use it almost daily. Let me know if you would like it. 73 -

Mike

Mike B. Feher, N4FS
89 Arnold Blvd.
Howell, NJ, 07731
732-886-5960

-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On
Behalf Of John Miles
Sent: Monday, January 02, 2006 3:00 AM
To: Discussion of precise time and frequency measurement
Subject: [time-nuts] Help w/integration problem

Does anyone have a piece of C (BASIC, whatever) code that turns an array

of

dBc/Hz values into integrated RMS noise?

I'm trying to use a simple rectangular integrator to divide a log-log plot
into "bins":

for (i=L_column; i < U_column-1; i++)
{
sum += ((value[i] - ((value[i] - value[i+1]) / 2.0)) *
(frequency[i+1] - frequency[i]));
}

This just takes the midpoint dBc/Hz value between successive columns of a
phase-noise plot, multiplies it by the frequency step between the columns

in

question, and sums the result for all columns in the range of interest.

The output of this process, when I feed a typical noise graph with values
around -110 dBc/Hz to it, with frequency values at the lower and upper
limits of 1000 and 10000 Hz, is around -1E+6.  What I'd like is a value
corresponding to the "-63 dBc" value cited on pages 7 and 8 in this

Zarlink

app note:

http://assets.zarlink.com/CA/Phase_Noise_and_Jitter_Article.pdf

In this note, the author shows a noise curve similar to the ones I'm

working

with, and magically pulls -63 dBc out of the ether with no explanation of
the integration process that obtained it.  (What does it mean, in the
author's words, to take the area "under" a phase-noise curve, anyway?
What's the bottom dBc/Hz value?)

Being from the instant-gratification generation, I really don't want (and
won't understand) a calculus lecture.  I want the 5 lines of code that do
the integration. :-)  This is for the next release of my freeware GPIB
noise-measurement app, so your karma will be integrated along with the

noise

I figured that is what you would do. As I recall in this program I doubled the answer to obtain the total double sided noise power. You will see that in the program, towards the end, and can eliminate the doubling if you only want the single sided total power over the selected integration limits. Here is the URL: http://www@eozinc.com/DOS/PHASE1.BAS Mike B. Feher, N4FS 89 Arnold Blvd. Howell, NJ, 07731 732-886-5960 -----Original Message----- From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On Behalf Of John Ackermann N8UR Sent: Monday, January 02, 2006 10:02 AM To: Discussion of precise time and frequency measurement Subject: Re: [time-nuts] Help w/integration problem Hi Mike -- Actually, I'm most likely to convert it to Perl or Python or something to run on my Linux boxes. I'll be happy to make the port available to anyone who wants it (no guarantees when it'll be done, though). 73, John ---- Mike Feher said the following on 01/02/2006 09:51 AM: > John - > > Do you also need GW Basic? I'll FTP the programs and send the URL shortly. > 73 - Mike > > > Mike B. Feher, N4FS > 89 Arnold Blvd. > Howell, NJ, 07731 > 732-886-5960 > > > > -----Original Message----- > From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On > Behalf Of John Ackermann N8UR > Sent: Monday, January 02, 2006 9:09 AM > To: Discussion of precise time and frequency measurement > Subject: Re: [time-nuts] Help w/integration problem > > Hi Mike -- > > I can't speak for John, but I'd sure find that program useful. > > 73, > John > ---- > > Mike Feher said the following on 01/02/2006 08:10 AM: > >>John - >> >>I wrote a program about 20 years ago to calculate the total integrated > > noise > >>power from the individual power spectrum density points. It is in GW Basic >>and I still use it almost daily. Let me know if you would like it. 73 - > > Mike > >> >>Mike B. Feher, N4FS >>89 Arnold Blvd. >>Howell, NJ, 07731 >>732-886-5960 >> >> >> >>-----Original Message----- >>From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On >>Behalf Of John Miles >>Sent: Monday, January 02, 2006 3:00 AM >>To: Discussion of precise time and frequency measurement >>Subject: [time-nuts] Help w/integration problem >> >>Does anyone have a piece of C (BASIC, whatever) code that turns an array > > of > >>dBc/Hz values into integrated RMS noise? >> >>I'm trying to use a simple rectangular integrator to divide a log-log plot >>into "bins": >> >> for (i=L_column; i < U_column-1; i++) >> { >> sum += ((value[i] - ((value[i] - value[i+1]) / 2.0)) * >>(frequency[i+1] - frequency[i])); >> } >> >>This just takes the midpoint dBc/Hz value between successive columns of a >>phase-noise plot, multiplies it by the frequency step between the columns > > in > >>question, and sums the result for all columns in the range of interest. >> >>The output of this process, when I feed a typical noise graph with values >>around -110 dBc/Hz to it, with frequency values at the lower and upper >>limits of 1000 and 10000 Hz, is around -1E+6. What I'd *like* is a value >>corresponding to the "-63 dBc" value cited on pages 7 and 8 in this > > Zarlink > >>app note: >> >>http://assets.zarlink.com/CA/Phase_Noise_and_Jitter_Article.pdf >> >>In this note, the author shows a noise curve similar to the ones I'm > > working > >>with, and magically pulls -63 dBc out of the ether with no explanation of >>the integration process that obtained it. (What does it mean, in the >>author's words, to take the area "under" a phase-noise curve, anyway? >>What's the bottom dBc/Hz value?) >> >>Being from the instant-gratification generation, I really don't want (and >>won't understand) a calculus lecture. I want the 5 lines of code that do >>the integration. :-) This is for the next release of my freeware GPIB >>noise-measurement app, so your karma will be integrated along with the > > noise > >>if you're able to help! >> >>-- john, KE5FX >> >> >>_______________________________________________ >>time-nuts mailing list >>time-nuts@febo.com >>https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts >> >> >>_______________________________________________ >>time-nuts mailing list >>time-nuts@febo.com >>https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts >> >> > > > > _______________________________________________ > time-nuts mailing list > time-nuts@febo.com > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > > > _______________________________________________ > time-nuts mailing list > time-nuts@febo.com > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > > _______________________________________________ time-nuts mailing list time-nuts@febo.com https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
JM
John Miles
Mon, Jan 2, 2006 7:30 PM

Hi, Mike --

That would indeed be interesting to see... but your file looks like a
compiled (or at least tokenized) binary.  Is there an interpreter for
Win2K/XP that will let me list your program, or some other way to get a
plaintext listing?

BTW, I don't know if you saw the note I posted to the hp_agilent list or
not, but I've got PN.EXE, SSM.EXE, and 7470.EXE running on the 8568A now.
As soon as I get this noise-integration feature nailed down, I'll build a
new release that should work on your 8566A.  Will be in touch offline.

-- john, KE5FX

-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com]On
Behalf Of Mike Feher
Sent: Monday, January 02, 2006 7:12 AM
To: 'Discussion of precise time and frequency measurement'
Subject: Re: [time-nuts] Help w/integration problem

I figured that is what you would do. As I recall in this program I doubled
the answer to obtain the total double sided noise power. You will see that
in the program, towards the end, and can eliminate the doubling
if you only
want the single sided total power over the selected integration
limits. Here
is the URL:

http://www@eozinc.com/DOS/PHASE1.BAS

Hi, Mike -- That would indeed be interesting to see... but your file looks like a compiled (or at least tokenized) binary. Is there an interpreter for Win2K/XP that will let me list your program, or some other way to get a plaintext listing? BTW, I don't know if you saw the note I posted to the hp_agilent list or not, but I've got PN.EXE, SSM.EXE, and 7470.EXE running on the 8568A now. As soon as I get this noise-integration feature nailed down, I'll build a new release that should work on your 8566A. Will be in touch offline. -- john, KE5FX > -----Original Message----- > From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com]On > Behalf Of Mike Feher > Sent: Monday, January 02, 2006 7:12 AM > To: 'Discussion of precise time and frequency measurement' > Subject: Re: [time-nuts] Help w/integration problem > > > I figured that is what you would do. As I recall in this program I doubled > the answer to obtain the total double sided noise power. You will see that > in the program, towards the end, and can eliminate the doubling > if you only > want the single sided total power over the selected integration > limits. Here > is the URL: > > http://www@eozinc.com/DOS/PHASE1.BAS > > >
JM
John Miles
Mon, Jan 2, 2006 7:42 PM

Yes, the magic happends between (11) and (12). The integration is
0 to infinity
and not -infinity to infinity, since we already know it mirrors arround 0.
Mind you that these are twice the power, not twice the amplitude.
The energy at
fc-f will have the same energy and be coherent to the energy at
fc+f, so these
energies add up perfectly. There is a special-case when you can't
argue like
this, but we can look the other way here and pick out the real reference
literature when we need to.

Thanks; you're right, given the integration limits in the Maxim note, their
way makes more sense.

On page 7 of the Zarlink app note, the x2 factor is left

outside the radical

sign:

RMS = sqrt(sum) * 2

Looks like sloppy work to me compared to the Maxim paper, which gives
motivation to the formulas.

Agreed.  I'll leave the *2 operation inside the radicand.  Much appreciate
the help!

-- john, KE5FX

> Yes, the magic happends between (11) and (12). The integration is > 0 to infinity > and not -infinity to infinity, since we already know it mirrors arround 0. > Mind you that these are twice the power, not twice the amplitude. > The energy at > fc-f will have the same energy and be coherent to the energy at > fc+f, so these > energies add up perfectly. There is a special-case when you can't > argue like > this, but we can look the other way here and pick out the real reference > literature when we need to. Thanks; you're right, given the integration limits in the Maxim note, their way makes more sense. > > On page 7 of the Zarlink app note, the x2 factor is left > outside the radical > > sign: > > > > RMS = sqrt(sum) * 2 > > Looks like sloppy work to me compared to the Maxim paper, which gives > motivation to the formulas. Agreed. I'll leave the *2 operation inside the radicand. Much appreciate the help! -- john, KE5FX
MD
Magnus Danielson
Mon, Jan 2, 2006 8:02 PM

From: "John Miles" jmiles@pop.net
Subject: Re: [time-nuts] Help w/integration problem
Date: Mon, 2 Jan 2006 11:42:33 -0800
Message-ID: PKEGJHPHLLBACEOICCBJIEPKGBAA.jmiles@pop.net

Yes, the magic happends between (11) and (12). The integration is
0 to infinity
and not -infinity to infinity, since we already know it mirrors arround 0.
Mind you that these are twice the power, not twice the amplitude.
The energy at
fc-f will have the same energy and be coherent to the energy at
fc+f, so these
energies add up perfectly. There is a special-case when you can't
argue like
this, but we can look the other way here and pick out the real reference
literature when we need to.

Thanks; you're right, given the integration limits in the Maxim note, their
way makes more sense.

Indeed. It took some time to get sure, but once I was sure it was obvious.

On page 7 of the Zarlink app note, the x2 factor is left

outside the radical

sign:

RMS = sqrt(sum) * 2

Looks like sloppy work to me compared to the Maxim paper, which gives
motivation to the formulas.

Agreed.  I'll leave the *2 operation inside the radicand.  Much appreciate
the help!

Anytime! Also, if you look at the Maxim paper, it rather looks like a graphical
error not to extend the squareroot sign all the way. The logical place to put
the 2 if not included in the square-root is actually before as customary.

Cheers,
Magnus

From: "John Miles" <jmiles@pop.net> Subject: Re: [time-nuts] Help w/integration problem Date: Mon, 2 Jan 2006 11:42:33 -0800 Message-ID: <PKEGJHPHLLBACEOICCBJIEPKGBAA.jmiles@pop.net> > > Yes, the magic happends between (11) and (12). The integration is > > 0 to infinity > > and not -infinity to infinity, since we already know it mirrors arround 0. > > Mind you that these are twice the power, not twice the amplitude. > > The energy at > > fc-f will have the same energy and be coherent to the energy at > > fc+f, so these > > energies add up perfectly. There is a special-case when you can't > > argue like > > this, but we can look the other way here and pick out the real reference > > literature when we need to. > > Thanks; you're right, given the integration limits in the Maxim note, their > way makes more sense. Indeed. It took some time to get sure, but once I was sure it was obvious. > > > On page 7 of the Zarlink app note, the x2 factor is left > > outside the radical > > > sign: > > > > > > RMS = sqrt(sum) * 2 > > > > Looks like sloppy work to me compared to the Maxim paper, which gives > > motivation to the formulas. > > Agreed. I'll leave the *2 operation inside the radicand. Much appreciate > the help! Anytime! Also, if you look at the Maxim paper, it rather looks like a graphical error not to extend the squareroot sign all the way. The logical place to put the 2 if not included in the square-root is actually before as customary. Cheers, Magnus
JM
John Miles
Mon, Jan 2, 2006 8:56 PM

I think we're seeing the technology shift to a different level of
abstraction, that's all.  If the operating principles of a system built from
components cannot be understood in structural terms (i.e., from
disassembly), then your definition of "component" is what's insufficient.
You just need to move up a level and try again.

Even in this rarefied company, few of us truly work from first principles.
A veteran RFIC designer may well have forgotten Maxwell's equations and all
of their implications.  I'm not familiar with the details of RFIC modelling,
design, and fabrication, but I understand how the end product is applied at
the circuit level.  A kid playing with a WiFi card and a Pringles can
doesn't know the first thing about how his Wifi card works, but he will,
after some experimenting, understand how to use it to talk to his neighbor's
access point.

To the chip designer, a "component" is probably a subcircuit model that
exists only in software.  To me, a "component" is the resulting chip, with
pins you can solder stuff to.  To the kid, the "component" is the monolithic
WiFi card.  There is little to be gained by assigning relative levels of
merit to different abstraction levels, or assuming that society is doomed
because people rarely work their way down the abstraction hierarchy without
a compelling need.

I'm happiest when I'm able to work all the way down the lowest level of
abstraction I can actually put my hands on, but that doesn't carry much
weight in a global sense.  Witness the trouble I run into when I actually
need the first principles that I ran away from when I dropped out of
college. :-)

-- john, KE5FX

-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com]On
Behalf Of Poul-Henning Kamp
Sent: Monday, January 02, 2006 6:46 AM
To: Discussion of precise time and frequency measurement
Subject: Re: [time-nuts] Help - Hope?

In message 20060102.141403.105215125.cfmd@bredband.net, Magnus
Danielson writes:

But to answer your question, younger people is still attracted

and there is

still plenty of people having the right mind for these things around.

A major difference for these younger people is that the technology
of today is reverse engineering resistant.

There is practically nothing to learn today by taking things apart:
you can't see how they work.

I think we're seeing the technology shift to a different level of abstraction, that's all. If the operating principles of a system built from components cannot be understood in structural terms (i.e., from disassembly), then your definition of "component" is what's insufficient. You just need to move up a level and try again. Even in this rarefied company, few of us truly work from first principles. A veteran RFIC designer may well have forgotten Maxwell's equations and all of their implications. I'm not familiar with the details of RFIC modelling, design, and fabrication, but I understand how the end product is applied at the circuit level. A kid playing with a WiFi card and a Pringles can doesn't know the first thing about how his Wifi card works, but he will, after some experimenting, understand how to use it to talk to his neighbor's access point. To the chip designer, a "component" is probably a subcircuit model that exists only in software. To me, a "component" is the resulting chip, with pins you can solder stuff to. To the kid, the "component" is the monolithic WiFi card. There is little to be gained by assigning relative levels of merit to different abstraction levels, or assuming that society is doomed because people rarely work their way down the abstraction hierarchy without a compelling need. I'm happiest when I'm able to work all the way down the lowest level of abstraction I can actually put my hands on, but that doesn't carry much weight in a global sense. Witness the trouble I run into when I actually _need_ the first principles that I ran away from when I dropped out of college. :-) -- john, KE5FX > -----Original Message----- > From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com]On > Behalf Of Poul-Henning Kamp > Sent: Monday, January 02, 2006 6:46 AM > To: Discussion of precise time and frequency measurement > Subject: Re: [time-nuts] Help - Hope? > > > In message <20060102.141403.105215125.cfmd@bredband.net>, Magnus > Danielson writes: > > >But to answer your question, younger people is still attracted > and there is > >still plenty of people having the right mind for these things around. > > A major difference for these younger people is that the technology > of today is reverse engineering resistant. > > There is practically nothing to learn today by taking things apart: > you can't see how they work. > >
S
shoppa@trailing-edge.com
Mon, Jan 2, 2006 9:14 PM

"John Miles" jmiles@pop.net wrote:

To the chip designer, a "component" is probably a subcircuit model that
exists only in software.  To me, a "component" is the resulting chip, with
pins you can solder stuff to.  To the kid, the "component" is the monolithic
WiFi card.  There is little to be gained by assigning relative levels of
merit to different abstraction levels, or assuming that society is doomed
because people rarely work their way down the abstraction hierarchy without
a compelling need.

When I was a kid, all the oldest hams looked down on us young'uns who
built transmitters etc. To them, making a radio was to make a spark gap
transmitter involving wood and metal lathes, varnish, copper wire
and installing your own cloth insulation.  We didn't know how lucky
we were, buying resistors and capacitors off the shelf instead of making
them from scratch :-).

Tim.

"John Miles" <jmiles@pop.net> wrote: > To the chip designer, a "component" is probably a subcircuit model that > exists only in software. To me, a "component" is the resulting chip, with > pins you can solder stuff to. To the kid, the "component" is the monolithic > WiFi card. There is little to be gained by assigning relative levels of > merit to different abstraction levels, or assuming that society is doomed > because people rarely work their way down the abstraction hierarchy without > a compelling need. When I was a kid, all the oldest hams looked down on us young'uns who built transmitters etc. To them, making a radio was to make a spark gap transmitter involving wood and metal lathes, varnish, copper wire and installing your own cloth insulation. We didn't know how lucky we were, buying resistors and capacitors off the shelf instead of making them from scratch :-). Tim.