Find the "ringing" frequency from sum of multiple overlapping transients

  • #1
Swamp Thing
Insights Author
953
648
I am looking for an algorithm that will get the best estimate of the ringing frequency of a system subjected to impulse excitations at random times.

The individual responses might look like this:
1727341474232.png


And the total which I would like to analyze would be like:
1727341489267.png
 
Mathematics news on Phys.org
  • #2
Swamp Thing said:
I am looking for an algorithm that will get the best estimate of the ringing frequency of a system subjected to impulse excitations at random times.
"random" is not specific enough. Random impulses can contain any combination of frequencies. A single impulse has a well-defined frequency content. That is how the frequency response is usually studied. There are a selection of input noise called white noise, pink noise, brown noise, etc. I do not know if those terms have official definitions of their frequency content. White noise is often used and has been defined.

EDIT: Several of the "colors" of noise have been defined: white, pink, brownian, etc. Some are formal definitions and others are informal.
 
Last edited:
  • #3
FactChecker said:
"random" is not specific enough.
It is only the timing of the input impulses that is random. That is to say, the time between two successive impulses arriving at the input to the system is random. However, the impulse shape is fixed -- essentially a rectangular pulse whose duration is much, much smaller than the period of the decaying oscillation, so that its actual length or even shape doesn't really matter.

So we have a combination of many decaying oscillations and we have to work from that to find the frequency of the decaying oscillation.
 
  • #4
Swamp Thing said:
It is only the timing of the input impulses that is random.
Yes, but you can generate any desired frequency content from different timing and amplitudes of the impulses.
 
  • #5
If the amplitudes of the impulses are constant and only the timing is random, is there an algorithm that can give an estimate of the ringing frequency?
 
  • #6
Swamp Thing said:
If the amplitudes of the impulses are constant and only the timing is random, is there an algorithm that can give an estimate of the ringing frequency?
You must be more precise about the nature of "random". That is too vague.
 
  • #7
Just as an example to kick off with, let's say the time between two successive impulses has a uniform distribution from 0.01 to 100 times the approximately expected value of the oscillation frequency. (Also let's assume that we do know a priori that the oscillation period is within one order of magnitude of one time unit).
 
  • Like
Likes FactChecker
  • #8
Swamp Thing said:
let's say the time between two successive impulses has a uniform distribution
That is much better. I am not an expert in this subject, so I can't help much more. I do not know if this matches any of the standard noise models. The simplest analysis is the response to a single step or impulse input. There are several "colors" of noise that have been defined for different uses. Your definition might match one of those. See this article on colors of noise.

EDIT: With modern computer tools, the response to an impulse, a step, or a standard colored noise input can be obtained fairly easily if you know the Laplace transformation of the system being studied. Matlab is one such computer tool.
 
Last edited:
  • #9
It depends on the accuracy needed and how important it is to you. You can use short-time Fourier transforms (STFT) to get rough estimates of the frequency and decay time, or you can put effort into getting high-quality estimates. I'll outline how I'd do the latter.

There are 2N+2 parameters that need to be estimated, where N is the number of excitation impulses:
  • Oscillation frequency f
  • Decay time τ
  • Number of excitation impulses N
  • Time of each impulse, tn
  • Amplitude of each impulse, An
Any real system will have noise present, so the accuracy you can achieve will be determined by the SNR of the smallest impulse. Good estimates require SNR much greater than one. I would use a Bayesian estimator with these steps.
  1. Form the autocorrelation function. There will be N2 correlation peaks, assuming that the intervals between pulses are unique. This gives you N.
  2. I would produce K-1 frequency estimates from the phase differences between successive pairs of samples, where K is the number of samples in your data record. The resulting distribution of values can be used as the Bayesian prior distribution for f.
  3. The Fourier transform (FT) of an exponentially damped sinusoid is a Lorentzian line centered at f. (A Lorentzian line has a real absorption peak and an imaginary dispersive shape that is bimodal.) The FT of a sum of decaying exponentials with random time offsets is a sum of Lorentzian lines at f but with random phase rolls. The random phases will cause the sum to tend towards zero, but if N is not too large, you should be able to see the basic line shape. Estimate τ from the width of the real absorption peak. For the prior probability distribution, use a Gaussian centered on τ with a standard deviation (width) that represents the state of uncertainty of this fairly crude initial guess.
  4. Use Bretthorst's Bayesian methodology to refine f and τ, https://bayes.wustl.edu/glb/book.pdf , using his multiple sinusoid model. The pulse times and amplitudes are "nuisance parameters" that can be integrated away so they do not need to be estimated.
  5. Repeat the entire analysis for N-1 and N+1 pulses (and maybe more) to be sure you've gotten it right. This is particularly important if SNR is low or if the time between pulses is short compared to the decay time.
If you know the noise power level, you can compute the Cramer Rao lower bound on the variance of the frequency estimate to get an idea of the best that can be possibly accomplished, and then use that to determine how many frequencies you should test for. Let's say you decide to test 100 frequencies and also try 100 decay time values, then you will compute 10,000 posterior probabilities for each N value. The parameter set [f, τ, N] with the highest probability (the maximum a posteriori probability or MAP) is your best estimate. A nice thing about Bayesian estimation is it provides information about the confidence in the estimate. If the MAP is 95%, you can be confident that you have fit the data well, but if it's 22% (due to low SNR, e.g.), you know not to trust it too much.

If that's too much, just play around with the FT and use the estimates in #2 and #3 as your estimates instead of as prior probability information for the Bayesian inference.
 
  • Informative
Likes Swamp Thing
  • #10
There's also Prony's Method of fitting multiple damped sinusoids to data. It assumes that all sinusoids start at the beginning of the data record, however, so you'd have to give some thought to how to incorporate different impulse times.
 
  • #11
marcusl said:
You can use short-time Fourier transforms (STFT) to get rough estimates of the frequency and decay time, or you can put effort into getting high-quality estimates. I'll outline how I'd do the latter.

Thank you so much for taking the time to put this roadmap together. I am familiar with some of the concepts that you refer to, but there are quite a few that I will have to look up, study, experiment with.

marcusl said:
It depends on the accuracy needed and how important it is to you.
As a retired engineer and incurable tinkerer, from time to time I like to dabble in some project or other where I learn a few new things. But usually, a point comes (before project completion) where my curiosity is satiated and I feel totally fed up with that topic. It doesn't help that during this obsession phase I sleep very little. So then, at that point I set that subject aside for a few months or even for a couple of years. I then spend some time in non-technical pursuits like reading light cheap novels, ghost stories and even books that I used to read as a child. I get more exercise, fresh air and what have you. At that point I am able to give more attention to my dental hygiene etc.

I recently went through a dental hygiene obsession phase where I bought a water flosser, regular flosser/picks, a dental mirror, a jar of xylitol, a thing that you pop into your mouth to hold it open, etc etc. Now that the teeth obsession has lifted, I have hardly used any of this stuff in two months

Right now I am in the middle of an obsession phase --- so yes, this question is indeed extremely important to me at the moment. But in a couple of weeks' time, who knows?

Thank you again!
 
Last edited:
  • Like
Likes FactChecker
  • #12
Swamp Thing said:
But usually, a point comes (before project completion) where my curiosity is satiated and I feel totally fed up with that topic. ,,, Right now I am in the middle of an obsession phase so this question is indeed extremely important to me. But in a couple of weeks, who knows?
That's how I feel since I am retired. Once my intellectual curiosity is fully satisfied, there is no point in continuing. But I don't get so obsessive that I can not sleep as you do.
 
  • #13
Swamp Thing said:
It is only the timing of the input impulses that is random. That is to say, the time between two successive impulses arriving at the input to the system is random. However, the impulse shape is fixed -- essentially a rectangular pulse whose duration is much, much smaller than the period of the decaying oscillation, so that its actual length or even shape doesn't really matter.

So we have a combination of many decaying oscillations and we have to work from that to find the frequency of the decaying oscillation.
What you describe is the case of a pulse-position data signal applied to a tuned circuit. The output is a noise spectrum having the shape of the LC response and there is no single frequency in the output.
 

Similar threads

Replies
1
Views
951
Replies
10
Views
434
Replies
3
Views
3K
Replies
52
Views
4K
Replies
3
Views
2K
Replies
11
Views
3K
Back
Top