identifying the continuous sweep's envelope

4 次查看(过去 30 天)
Hi,
There is a problem identifying the continuous sweep's envelope using the Hilbert transform. Its providing lot of oscillations and there is mismatch most of the points
can you clarify with other ideas?
Thanks
% ------------------------------------------------
clear all
close all
clc
D = uigetdir(pwd,'Select Directory');
[t, X]= folder2array_V2(D,'data_Y2 (t)_Y2 (t).csv');
x=X(1,:);
Nx=length(x);
% t=1/Fs:1/Fs:length(x)/Fs;
Hx=hilbert(x); % Hilbert transform of the signal
est_env=abs(Hx); % Envelope estimation by taking the analytic signal modulus
figure(1)
plot(t,x,'linewidth',2); hold on
plot(t,est_env,'linewidth',1)
xlabel('Time (s)')
ylabel('Signal')
legend('Original signal','Estimated envelope')
enev.png

回答(1 个)

Daniel M
Daniel M 2019-10-16
I've had success using PaddedHilbert on the file exchange in the past. <https://www.mathworks.com/matlabcentral/fileexchange/25505-paddedhilbert>

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

标签

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by