I am new to the concept of wavelet transforms. Can somebody please help me in understanding this ? and also how to implement it in c. Is Short term Fourier transform more efficient than Wavelet Transform for finding Transients ?
-
$\begingroup$ Good question: every method of analysis has particular patterns that it preferentially selects. You need to have some knowledge of what you expect; even if it's saying it is random. There are a lot of sources around that will explicitly compare the two. If nobody else speaks up I will review them. BTW: If you have the time and resources read "Ten Lectures on Wavelets" by Daubechies; who is justifiably famous in the field. I was very pleasently surprised when I got around it and thought it would very dated. Not so: she was a EE and writes like she actually want's you to understand! $\endgroup$– rrogersCommented Jan 5, 2016 at 23:17
-
$\begingroup$ I will definitely try to read the article you have mentioned. It will be helpful if you could give me some information on discrete transform implementation and how to analyse the result.Thank you. $\endgroup$– vvvCommented Jan 11, 2016 at 11:59
1 Answer
I would say that a matching Mother wavelet could be the best for detecting a transient; but both the selection and implementation would be much slower. The old adage: do you want quantity or quality :) or Bandwidth vs. noise. Life doesn't come in our neat intellectual packets. BTW: the simplest technique is an isolation capacitor and a threshold detector (sad to say I know a lot of ways to "cheat" ).
Evaluation process:
I would look to octave or scilab for a simulator to use.
Construct a model of transients you think are likely or that you are looking for.
Pass the transients through various canned analysis routines and then
Find the transients in the output; the crisper the "find" the more applicable the analysis is.
Reconstruct the input and see how good the reconstruction is; i.e. apply an error criterion to achieve a faithfulness measure.
If this seems tedious it's because it can be: but at each point in the process you get an idea about the effort involved.
Selection time
Design time and complexity
Execution time
Accuracy.
And most importantly:
Knowledge!
Like the wavelet theory: start coarsely/crudely and refine the evaluation process.
I looked on google and found: ----http://www.soest.hawaii.edu/MET/Faculty/bwang/bw/paper/wang45.pdf A real application of Waveform/Wavelet analysis of El nino and such; with all the hair: --https://inst.eecs.berkeley.edu/~ee225b/sp14/lectures/shorterm.pdf Which has a description of the process and history.
--http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.506.6298&rep=rep1&type=pdf Which discusses real usage ambiguity.
--Why Wavelet developed when we already had Short-time Fourier transform Which links to another discussion.
--https://en.wikipedia.org/wiki/Wavelet
Back to question: Most of the techniques are "complete" in the sense that the transforms are invertable and can recover the original input. In that sense all invertable transforms are equivalent. But like I said they isolate different features. Wavelet transforming is a mathematical process for utilizing Mother wavelets to isolate information in time and space. STFT is very specific whereas there are innumerable of "wavelet transforms" each having different sampling Mother wavelet shapes that are applied recursively to give many (time, freq) graphs; two dimensional pictures. STFT and Gabor and such are (as far as I know) specific but closely correspond to normal fourier/z-transform analysis.
There are a lot of c wavelet programs in the open source domain.
An effort to clarify "disturbance" analysis.
First you have to be able to define what a disturbance is and then the allowable type one/type two results; i.e. false positives/negatives and then do the system design around this.
Let me list a few "disturbances"; not necessarily related to power supplies.
For a nuclear containment vessel we tried to "listen" for what amounts to tearing at 100khz-1Mhz with transducers. A time exponential increase in the power of the signal was taken as (and experimentally verified) an indication of a problem.
As far as power supplies go: There are safety related issues such as over-voltage causing downstream failures. For these I always put in absolute hardware; zeners, surge suppressors. That I think will limit damage and fail-safe; shut things down. Do the thermal calculations with respect to the calories produced by hardware shunts.
Under-voltage is also a problem in some cases, as I found out by almost smashing a co-workers hand. Dropping the field voltage to a DC shunt drive motor causes it to speed up :) So "pulling the plug" at random is not a great idea; and a drop in field voltage should probably be acted on.
Other expected cases are parasitic resonances/oscillations occurring in the output power stage of supplies. These are typically produced by altered frequency response characteristics of bipolar output transistors during transitions. Typically these are real transients and not worrisome unless some downstream equipment is sensitive.
You have specification errors where for some reason, say a passing cyclotron, the system is substantially normal but some specified tolerance is breached. This can also happen slowly when equipment ages and drifts out of spec.
Of course in motor-generator situations transient signals might indicate mechanical wear.
Then you have fast raw supply transients that find their way through the regulators and occur at the output. That's the reason I use hardware suppresors/zeners that can absorb some over-voltage attempts without allow ing the disturbance through and recover easily.
-
$\begingroup$ Thanks a lot for the information. I am not able to up vote your answer because of less reputation. Correct me if i am wrong- it is not possible to detect the disturbance quickly using this technique and take an action as the method is only useful in analysing the spectral content and other details. $\endgroup$– vvvCommented Jan 28, 2016 at 6:18
-
$\begingroup$ It's easy to "predict" the past and hard to predict the future; now is in between. I don't know what real-time resources you have but it's probably true that if you want real-time responses you have to "pipeline" the processing and evaluate the subsequent results. Probably using a form of Baysian analysis. Comments are a restricted form; I will post some thoughts as another answer. $\endgroup$– rrogersCommented Jan 29, 2016 at 15:02
-
$\begingroup$ I added a list of things I would call "disturbances" to my answer. Please let me know if you think they are too far off topic. Basically I can't answer your question because I don't understand your particular problem. This is not a criticism but I have seen a lot of different errors and failures over the years. And you always have the problem that the "disturbance" might shut down your processor :) Similar things have happened: emergency runway light generators that required external power to start when their purpose was to supply the power when external power failed. $\endgroup$– rrogersCommented Jan 29, 2016 at 15:52