hi guys
i have a pcg signal
and i want to using SHANNON ENERGY ENVELOPE for it
but i didnt find the code for it, in 'envelope' documentation there is only peak,rms and analytic function
is there any way to use the shannon energy envelope ?
shannon.PNG
thank you so much

 Réponse acceptée

Star Strider
Star Strider le 17 Jan 2019
Shannon energy is defined as , so use an anonymous function such as:
ShannonEnergy = @(x) x.^2 .* log(x.^2);
and then take the peak envelope.
That is what I would do.

5 commentaires

Hi thanks for the response :)
sorry can you explain it more detail to me?
how can i take the ShannonEnergy to the peak envelope?
this is the code for peak envelope right? how can i insert the ShannonEnergy?
envelope(data,10,'peak')
Thank you very much!
My pleasure.
Now that I have your data, this appears to be the best option:
ShannonEnergy = @(x) x.^2 .* log(x.^2);
D = load('matlab.mat');
data = D.data;
Fs = D.fs;
t = linspace(0, 1, numel(data))/Fs;
SEdata = ShannonEnergy(data - mean(data));
SEenv = envelope(-SEdata, 100, 'peak');
figure
plot(t, data, '-b')
hold on
% plot(t, SEdata, '-g')
plot(t, SEenv, '-r', 'LineWidth',1)
hold off
Experiment with the various parameters of the envelope function to get the result you want.
Mr noobys
Mr noobys le 17 Jan 2019
Thank you so much !
thats solve my problem :D
Star Strider
Star Strider le 17 Jan 2019
As always, my pleasure!
cedric Adomaya
cedric Adomaya le 23 Déc 2019
help me with matlab.mat in this code

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by