Is there a convention for MJD with a leap second?
I think not.
See http://www.ucolick.org/~sla/leapsecs/timescales.html
Also not that POSIX time_t suffers from the same problem.
-ch
In message: 004601c60ef9$e834ae50$9501000a@fakie
"Christopher Hoover" ch@murgatroid.com writes:
:
: > Is there a convention for MJD with a leap second?
:
: I think not.
:
: See http://www.ucolick.org/~sla/leapsecs/timescales.html
:
: Also not that POSIX time_t suffers from the same problem.
I've had many heated arguments with co-workers about what the right
thing to do here. Do you compute the day as if it had an extra
second, thus breaking the ability to subtract two MJD numbers to get a
meaningful elapsed time? Or, do you ignore the leap second entirely,
giving discontinuity around the leap second?
In the end, we opted to report MJD and HH:MM:SS.
Warner
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
Never mind, I think I see what's wrong... you can't integrate the dBc/Hz
values directly. You have to turn them back into linear ratios, do the
interval sum, and then, if you want dBc coming out, take 10*log10(sum).
-- john, KE5FX
-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com]On
Behalf Of John Miles
Sent: Monday, January 02, 2006 12: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
From: "John Miles" jmiles@pop.net
Subject: Re: [time-nuts] Help w/integration problem
Date: Mon, 2 Jan 2006 00:49:19 -0800
Message-ID: PKEGJHPHLLBACEOICCBJGEOCGBAA.jmiles@pop.net
Never mind, I think I see what's wrong... you can't integrate the dBc/Hz
values directly. You have to turn them back into linear ratios, do the
interval sum, and then, if you want dBc coming out, take 10*log10(sum).
You are almost there... you need to square the linears sum, which is quickly
done...
sum = 0
sum = sum + pow(10,value[1]/10)
sum = sum + pow(10,value[2]/10)
...
sum = sum + pow(10,value[n]/10)
rms = sqrt(sum)
dBc = 10 * log10(sum)
Normally you would use pow(10,value[1]/20) etc. to get the amplitudes back, but
RMS is about summing the power and that is the amplitude square as you recall.
Hmm... I'm less a math-freak this morning than usual. A good morning it is
anyway.
Cheers,
Magnus
-- john, KE5FX
-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com]On
Behalf Of John Miles
Sent: Monday, January 02, 2006 12: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
Thanks; yes, I've got the sqrt() part already, from both my original source
who requested the feature, and the Zarlink app note.
Naturally, the two sources don't agree. Equation 13 (and others) in the
Maxim app note at http://pdfserv.maxim-ic.com/en/an/AN3359.pdf says, in
effect:
RMS = sqrt(sum * 2)
On page 7 of the Zarlink app note, the x2 factor is left outside the radical
sign:
RMS = sqrt(sum) * 2
Unlike the question of whether to interpolate the column midpoints in dBc
space or linear spectral-density space, the position of that x2 term makes a
big difference in the final result. Any insights into who's got THAT one
right?
-- john, KE5FX
-----Original Message-----
From: Magnus Danielson [mailto:cfmd@bredband.net]
Sent: Monday, January 02, 2006 1:28 AM
To: time-nuts@febo.com; jmiles@pop.net
Subject: Re: [time-nuts] Help w/integration problem
From: "John Miles" jmiles@pop.net
Subject: Re: [time-nuts] Help w/integration problem
Date: Mon, 2 Jan 2006 00:49:19 -0800
Message-ID: PKEGJHPHLLBACEOICCBJGEOCGBAA.jmiles@pop.net
Never mind, I think I see what's wrong... you can't integrate the dBc/Hz
values directly. You have to turn them back into linear ratios, do the
interval sum, and then, if you want dBc coming out, take 10*log10(sum).
You are almost there... you need to square the linears sum, which
is quickly
done...
sum = 0
sum = sum + pow(10,value[1]/10)
sum = sum + pow(10,value[2]/10)
...
sum = sum + pow(10,value[n]/10)
rms = sqrt(sum)
dBc = 10 * log10(sum)
Normally you would use pow(10,value[1]/20) etc. to get the
amplitudes back, but
RMS is about summing the power and that is the amplitude square
as you recall.
Hmm... I'm less a math-freak this morning than usual. A good morning it is
anyway.
From: "John Miles" jmiles@pop.net
Subject: Re: [time-nuts] Help w/integration problem
Date: Mon, 2 Jan 2006 01:44:33 -0800
Message-ID: PKEGJHPHLLBACEOICCBJEEOEGBAA.jmiles@pop.net
Thanks; yes, I've got the sqrt() part already, from both my original source
who requested the feature, and the Zarlink app note.
I didn't bother to look at the Zarlink app note. Until now.
Naturally, the two sources don't agree. Equation 13 (and others) in the
Maxim app note at http://pdfserv.maxim-ic.com/en/an/AN3359.pdf says, in
effect:
RMS = sqrt(sum * 2)
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.
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.
Unlike the question of whether to interpolate the column midpoints in dBc
space or linear spectral-density space, the position of that x2 term makes a
big difference in the final result. Any insights into who's got THAT one
right?
I hope you've got some insight on that. I could dig deeper into the issue if
you are not quite satisfied. I have better references than the two PDFs you
mentioned. The whole single-sides/double-side spectra issue is a bit confusing
and painstaking at first, I know.
Cheers,
Magnus
-- john, KE5FX
-----Original Message-----
From: Magnus Danielson [mailto:cfmd@bredband.net]
Sent: Monday, January 02, 2006 1:28 AM
To: time-nuts@febo.com; jmiles@pop.net
Subject: Re: [time-nuts] Help w/integration problem
From: "John Miles" jmiles@pop.net
Subject: Re: [time-nuts] Help w/integration problem
Date: Mon, 2 Jan 2006 00:49:19 -0800
Message-ID: PKEGJHPHLLBACEOICCBJGEOCGBAA.jmiles@pop.net
Never mind, I think I see what's wrong... you can't integrate the dBc/Hz
values directly. You have to turn them back into linear ratios, do the
interval sum, and then, if you want dBc coming out, take 10*log10(sum).
You are almost there... you need to square the linears sum, which
is quickly
done...
sum = 0
sum = sum + pow(10,value[1]/10)
sum = sum + pow(10,value[2]/10)
...
sum = sum + pow(10,value[n]/10)
rms = sqrt(sum)
dBc = 10 * log10(sum)
Normally you would use pow(10,value[1]/20) etc. to get the
amplitudes back, but
RMS is about summing the power and that is the amplitude square
as you recall.
Hmm... I'm less a math-freak this morning than usual. A good morning it is
anyway.
time-nuts mailing list
time-nuts@febo.com
https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
Sorry for top posting, but I'm shifting the original topic, and
apologies for a long semi-off topic post.
I found the original post great and respect both of you guys very much.
Tonight, (perhaps some spirits, in the holiday spirit, are influencing
me, but) I thought about this discussion in a general case.
I learned from smart people and was stimulated to know that I could hang
out with people smarter than me.
I find this conversation a great example of the best use of the
internet. John has done much work in many realms, and has shared a good
amount of his very useful creations and experience with the rest of the
world on the internet.
Magnus, I know less about but he, seems to be one of the people I would
go to for guidance on any number of subjects.
This medium has brought these two, geographically widely separate (I
assume), people together on this conversation that will probably benefit
many with John's software.
I applaud you both for your willingness to share your knowledge and many
of the products of that knowledge.
But tonight, I'm thinking about the state of the world, in general.
This is a private, and limited mailing list, but its members seem to
reflect what I see on public newsgroups. The majority of contributions
seem to be by older people. John is young by most of these standards.
Popular folklore says that the internet is populated with young people.
So my question:
Are the younger people no longer attracted to the basic questions of
science and engineering, or am I just missing the messages from young
people for some reason?
I know this mailing list is not typical, but I don't see younger people
anywhere I go to share knowledge. Wish they were there.
On Mon, 02 Jan 2006 11:42:53 +0100 (CET), Magnus Danielson
cfmd@bredband.net wrote:
From: "John Miles" jmiles@pop.net
Subject: Re: [time-nuts] Help w/integration problem
Date: Mon, 2 Jan 2006 01:44:33 -0800
Message-ID: PKEGJHPHLLBACEOICCBJEEOEGBAA.jmiles@pop.net
Thanks; yes, I've got the sqrt() part already, from both my original source
who requested the feature, and the Zarlink app note.
I didn't bother to look at the Zarlink app note. Until now.
Naturally, the two sources don't agree. Equation 13 (and others) in the
Maxim app note at http://pdfserv.maxim-ic.com/en/an/AN3359.pdf says, in
effect:
RMS = sqrt(sum * 2)
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.
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.
Unlike the question of whether to interpolate the column midpoints in dBc
space or linear spectral-density space, the position of that x2 term makes a
big difference in the final result. Any insights into who's got THAT one
right?
I hope you've got some insight on that. I could dig deeper into the issue if
you are not quite satisfied. I have better references than the two PDFs you
mentioned. The whole single-sides/double-side spectra issue is a bit confusing
and painstaking at first, I know.
Cheers,
Magnus
-- john, KE5FX
[snip first message]
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
From: Rex rexa@sonic.net
Subject: Re: [time-nuts] Help - Hope?
Date: Mon, 02 Jan 2006 04:53:29 -0800
Message-ID: ej5ir119a0s0j98aadricj2ds92s45hlts@4ax.com
Rex,
Thanks for the kind words.
But tonight, I'm thinking about the state of the world, in general.
This is a private, and limited mailing list, but its members seem to
reflect what I see on public newsgroups. The majority of contributions
seem to be by older people. John is young by most of these standards.
Popular folklore says that the internet is populated with young people.
So my question:
Are the younger people no longer attracted to the basic questions of
science and engineering, or am I just missing the messages from young
people for some reason?
Define younger. Do they need to be 18-20 years or do olders farts like me (i'm
34) count in as younger?
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. They are
just dispersed alot more than they used to. There is still people that WANT
to pick up the knowledge of how to use the soldering iron, eager to learn the
magics of electronics and other sciences. They may seek this in other forums
than we oldies (well, relative oldies then) did, but in the end, they usually
get around to it. I'm not all that worried, rather the opposite, they are
starting to react. Whenever I bump into someone, I toss them in the general
right direction, trying to help them not only learning the skills, but also
learning the places where to suck up knowledge and make it a regular habbit.
It takes some time, but all of a sudden they bloome and it is a joy to see.
If you have something sensible to say, there are people there to listen.
I know this mailing list is not typical, but I don't see younger people
anywhere I go to share knowledge. Wish they were there.
The archives are public. This is how it is done today, kiddies search through
Google. Add some knowledge on Wikipedia and you have set the trap for them to
step into.
Cheers,
Magnus
Hi Mike --
I can't speak for John, but I'd sure find that program useful.
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
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.
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.
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
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).
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.
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
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).
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.
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
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
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
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
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.
"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.