DSPRelated.com
Forums

time to frequency measurement

Started by alexs November 1, 2006
fizteh89 wrote:
> And BTW, this is a textbook material for future DSP students :-)
Which textbook, in current use by a major college or university, describes your state space solution in theory and detail? -- rhn
I said "future DSP students"

I will probably be dead by then, but who cares ? :-)

Ron N. wrote:
> fizteh89 wrote: > > And BTW, this is a textbook material for future DSP students :-) > > Which textbook, in current use by a major college or university, > describes your state space solution in theory and detail? > > -- > rhn
"A chicken laid an egg, but she is squeaking like she laid a planet"

Was it Bernard Show who said that?

VLV


fizteh89 wrote:

> I said "future DSP students" > > I will probably be dead by then, but who cares ? :-) > > Ron N. wrote: > >>fizteh89 wrote: >> >>>And BTW, this is a textbook material for future DSP students :-) >> >>Which textbook, in current use by a major college or university, >>describes your state space solution in theory and detail? >> >>-- >>rhn > >
Eggs can be different: the ones you eat at breakfast are not the same
as Faberge eggs :)

Same thing  with patents.

Vladimir Vassilevsky wrote:
> "A chicken laid an egg, but she is squeaking like she laid a planet" > > Was it Bernard Show who said that? > > VLV > > > fizteh89 wrote: > > > I said "future DSP students" > > > > I will probably be dead by then, but who cares ? :-) > > > > Ron N. wrote: > > > >>fizteh89 wrote: > >> > >>>And BTW, this is a textbook material for future DSP students :-) > >> > >>Which textbook, in current use by a major college or university, > >>describes your state space solution in theory and detail? > >> > >>-- > >>rhn > > > >
Bernhard, zero crossings is fine if the signals is of a digital nature.
 I played around with the zero crossing technique and found it to be a
major hassle.    The signal I expect to measure will be no more than a
few hundred millivolts at peak value, and is of relatively low
frequency.  So what happens is that at a zero crossing, the ADC will
bounce around plus minus, plus minus, giving a bunch zero crossings
when a crossing did take place.   Considering that zero volts might not
be the best place to look at a crossing, I chose a DC level.  Not as
bad, but not good either.  I prefer to work in the frequency domain on
this one.  However, if I can build a signal over alot of averages, my
poor time resolution will improve.  This will involved taking a
measurement, reseting the DUT, offset the next sample by the resolution
of my timing equipment, and so on.  I can then string them all together
like a time to phase diagram.

alexs wrote:
> Bernhard, zero crossings is fine if the signals is of a digital nature. > I played around with the zero crossing technique and found it to be a > major hassle. The signal I expect to measure will be no more than a > few hundred millivolts at peak value, and is of relatively low > frequency. So what happens is that at a zero crossing, the ADC will > bounce around plus minus, plus minus, giving a bunch zero crossings > when a crossing did take place.
Depending on how this noise (your ADC "bouncing") is spectrally distributed, you might be able to remove the noise by a low pass filter, thus giving you cleaner zero crossings.
> I prefer to work in the frequency domain on > this one.
Phase vocoder frequency analysis using two offset FFTs is an extension of the same idea as measuring the distance between two zero crossings. But using only one bin of two entire FFTs as your low pass filter plus phase correlator might not be as efficient as a good low pass filter plus an interpolator and/or autocorrelation. IMHO. YMMV. -- rhn A.T nicholson d.0.t C-o-M
Ron N. wrote:

> alexs wrote: >> Bernhard, zero crossings is fine if the signals is of a digital nature. >> I played around with the zero crossing technique and found it to be a >> major hassle. The signal I expect to measure will be no more than a >> few hundred millivolts at peak value, and is of relatively low >> frequency. So what happens is that at a zero crossing, the ADC will >> bounce around plus minus, plus minus, giving a bunch zero crossings >> when a crossing did take place. > > Depending on how this noise (your ADC "bouncing") is spectrally > distributed, you might be able to remove the noise by a low > pass filter, thus giving you cleaner zero crossings.
In a more general case with more or less arbitrary signals, I would never recommend this zero crossings approach, because the necessary denoising might be difficult, especially if the signal carries some modulation. The case here is different: Because the OP "knows" the signal perfectly well, not only the steady state, but also the expected settling behavior, it should be easy to denoise the signal so that the zero crossings are reliable enough as you (Ron) proposed. I did this successfully even on a modulated signal. Probably, a simple averaging algorithm would do the job.
> >> I prefer to work in the frequency domain on >> this one. >
Never mind, Alex. I would have proposed to do so, if you would have enough samples for a thorough frequency analysis, and if you would not have additional information about the pyhsics/electronics which cause the settling. However, since you deal with a single signal of known frequency behavior, what additional information should you get out of broadband frequency analysis like FFT, which do not take into account your additional knowledge? Besides, the time resolution of the FFT result, is rather poor (remember that the result of the ideal continous form of the FT carries no time information at all). So what you really want to know is when the frequency of the signal has converged enough to meet your specs. You ask for a time, so you probably would do best to apply a timely analysis. You have some internal insight, so apply it and make use of it to improve the results. The best approach depends on how your signal settles. So let me give you an idea for the case that the frequency settles with an exponential decline: Let's number the zero crossings like this: z0, z1, z2, z3, ..., zn where z0 is the oldest and zn the newest, and these are absolut time values. Measure the distances between (filtered) zero crossings in this way: d0=(z1-z0)/1 d1=(z2-z0)/2 d2=(z3-z0)/3 d3=(z4-z0)/4 ... The (integral) frequency value is 2/dn, and the sequence develops proportional to the settling of your signal. The higher order values of dn are much more reliable than the first d0, because all the errors of your ADC bouncing go away except on the latest and the first. I would plot the expected settling curve, calculated on these numbers (Matlab/SciLab would do an excellent job), compare with the measured values and find out how they match. You'd see exponentially declining curves, and the measured would all spread around the predicted curve of the critical settling (which settles within 2us). I'm quite sure that you'll easily find a suiting algorithm to decide if your settling is fast enough. Again: all this depends on the ability to predict the form of the settling's frequency changes. This additional knowledge will considerably improve the method and make it superior to any other non-adapted means. Bernhard
It sounds from the description of the DUT (the presence of internal
filtering) that the output is substantially sinusoidal. You can create a
very simple software FM demodulator by multiplying the sampled signal by
the signal delayed by a fixed time interval(Td). The time interval is
selected to be one quarter period of the center frequency of the FM
demodulator. The output of the multiplier will contain two components, a
double frequency component that can be removed with low-pass filtering,
and a low frequency signal that is related to the difference between the
actual frequency and 1/4Td. If you use a time delay of 2 samples at your
65MSPS sample rate, you will get a demodulator center frequency of
8.125MHz. You can program your part to generate a steady state frequency
close to this value.

After you remove the double frequency component, you will see the time
trajectory of you frequency. Be aware, as others have written, that this
signal will contain noise in proportion to the noise level of the signal
you are measuring. By decreasing the bandwidth of the low pass filter used
to eliminate the double frequency component, you may be able to improve the
S/N ratio of the demodulator output. However, doing this will also slow
down the demodulator, potentially obscuring the transient you are trying
to observe.

This technique will allow you to see the settling dynamics of the DUT so
that you can be sure that the part is not just "passing through" as the
DUT frequency continues to vary around the settled value.

Eric Rosenfeld
eric@exemplardsp.com


>Ron N. wrote: > >> alexs wrote: >>> Bernhard, zero crossings is fine if the signals is of a digital
nature.
>>> I played around with the zero crossing technique and found it to be
a
>>> major hassle. The signal I expect to measure will be no more than
a
>>> few hundred millivolts at peak value, and is of relatively low >>> frequency. So what happens is that at a zero crossing, the ADC will >>> bounce around plus minus, plus minus, giving a bunch zero crossings >>> when a crossing did take place. >> >> Depending on how this noise (your ADC "bouncing") is spectrally >> distributed, you might be able to remove the noise by a low >> pass filter, thus giving you cleaner zero crossings. > >In a more general case with more or less arbitrary signals, I would
never
>recommend this zero crossings approach, because the necessary denoising >might be difficult, especially if the signal carries some modulation. > >The case here is different: >Because the OP "knows" the signal perfectly well, not only the steady
state,
>but also the expected settling behavior, it should be easy to denoise
the
>signal so that the zero crossings are reliable enough as you (Ron) >proposed. I did this successfully even on a modulated signal. > >Probably, a simple averaging algorithm would do the job. > >> >>> I prefer to work in the frequency domain on >>> this one. >> >Never mind, Alex. >I would have proposed to do so, if you would have enough samples for a >thorough frequency analysis, and if you would not have additional >information about the pyhsics/electronics which cause the settling. > >However, since you deal with a single signal of known frequency
behavior,
>what additional information should you get out of broadband frequency >analysis like FFT, which do not take into account your additional >knowledge? >Besides, the time resolution of the FFT result, is rather poor (remember >that the result of the ideal continous form of the FT carries no time >information at all). > >So what you really want to know is when the frequency of the signal has >converged enough to meet your specs. You ask for a time, so you probably >would do best to apply a timely analysis. You have some internal
insight,
>so apply it and make use of it to improve the results. > >The best approach depends on how your signal settles. So let me give you
an
>idea for the case that the frequency settles with an exponential
decline:
>Let's number the zero crossings like this: z0, z1, z2, z3, ..., zn >where z0 is the oldest and zn the newest, and these are absolut time
values.
>Measure the distances between (filtered) zero crossings in this way: >d0=(z1-z0)/1 >d1=(z2-z0)/2 >d2=(z3-z0)/3 >d3=(z4-z0)/4 >... >The (integral) frequency value is 2/dn, and the sequence develops >proportional to the settling of your signal. >The higher order values of dn are much more reliable than the first d0, >because all the errors of your ADC bouncing go away except on the latest >and the first. > >I would plot the expected settling curve, calculated on these numbers >(Matlab/SciLab would do an excellent job), compare with the measured
values
>and find out how they match. >You'd see exponentially declining curves, and the measured would all >spread around the predicted curve of the critical settling (which
settles
>within 2us). > >I'm quite sure that you'll easily find a suiting algorithm to decide >if your settling is fast enough. > >Again: all this depends on the ability to predict the form of the
settling's
>frequency changes. This additional knowledge will considerably improve
the
>method and make it superior to any other non-adapted means. > >Bernhard > >

exemplardsp wrote:
> It sounds from the description of the DUT (the presence of internal > filtering) that the output is substantially sinusoidal. You can create a > very simple software FM demodulator by multiplying the sampled signal by > the signal delayed by a fixed time interval(Td).
This demodulator will be equally sensitive to AM as it is to FM, which is a highly unwanted property. Other than that, it is no different from a discriminator. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com