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