From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
I want to calculate the envelope of the amplitude of a signal in real-time. Initial testing with the Hilbert transform has been unsatisfactory. I now square the signal, detect the maxima of the squared signal and do an interpolation on these maxima to recover the envelope of the signal. However, this results in an unacceptable delay of 1/2 signal period. How can reliably calculate the envelope a signal in real-time?
I see you tried to implement the Hilbert Transform.. DId you write this your self our did you try an example program? IBellow I put down a link to an example VI which does a Hilbert Transform. Did you see this VI before and does it also not do what you want to achief? The link:
Thank you for your reply. I indeed tried the example vi. However, i know found what i did wrong in initial testing. I took the square root of the signal before applying the Hilbert. Results are much better now. However, still one question: if I apply a signal that contains transients (say a sawtooth of 200 units in amplitude) the Hilbert results in a signal that has peaks up to 600 units. Is there any way compensate reliably for transients?