Plotting a peak envelope
Show older comments
I have measured the swinging off of a resonant circuit with a oscilloscope. Now I'm trying to fit a peak envelope over this data. Therefore I've tried:
figure
plot(temp(:,1), smooth(temp(:,2),30))
hold on
plot(temp(:,1), smooth(abs(hilbert(temp(:,2))),190))
I still get a slightly oscillating function, instead of a constantly decreasing function. How can I improve the envelope function? Would really appreciate help. My solution is shown in the image. Cheers

P.s.: For the argument of smooth(x,y) I iteratively worked out optimal values
Accepted Answer
More Answers (2)
Camill Trüeb
on 11 Jul 2016
0 votes
Greg Dionne
on 11 Jul 2016
Edited: Greg Dionne
on 12 Jul 2016
If you have HILBERT then you have access to the Signal Processing Toolbox. If you have R2015b or later, try using ENVELOPE:
[d,s,r] = xlsread('F0002CH1.csv', 'E1:E2500')
%zoom in on decaying portion
envelope(d(580:end),500,'analytic')

2 Comments
Camill Trüeb
on 12 Jul 2016
Greg Dionne
on 12 Jul 2016
It should be in 16a.
cd ([matlabroot '/toolbox/signal/signal'])
edit envelope
Hopefully it'll be there.
Categories
Find more on Descriptive Statistics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!