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

 採用された回答

Star Strider
Star Strider 2019 年 1 月 17 日

1 投票

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 件のコメント

Mr noobys
Mr noobys 2019 年 1 月 17 日
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!
Star Strider
Star Strider 2019 年 1 月 17 日
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 2019 年 1 月 17 日
Thank you so much !
thats solve my problem :D
Star Strider
Star Strider 2019 年 1 月 17 日
As always, my pleasure!
cedric Adomaya
cedric Adomaya 2019 年 12 月 23 日
help me with matlab.mat in this code

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by