else
if(maxVec(lenmax)
figure(i)
plot(imf(i,:));
% for i=1:line
%
%
% end
subplot(line+1,1,1),plot(x);
for i=1:line
subplot(line+1,1,i+1),plot(imf(i,:));
end
% figure(1)
% plot(imf);
% figure(2)
% plot(imf');
return;
HHT 程序:
% emd_HHT :
%
%
% imfX
% imfHSp
%
%
%
to compute the Hilbert spectrum of every imf and then
get instantaneous frequency of them
: input data, imf
: output data, the Hilbert spectrum of all imf
function imfHSp = emd_HHT (imfX)
aX = imfX; % get imf
iNo = size (imfX, 1) - 1; % imf number
dL = size (imfX, 2);
imfHSp = [];
% clear imf
for i = 1 : iNo
% get one imf
imfA = aX (i, :);
y = hilbert (imfA); % hilbert transform
fai = angle(y);
% get phase angle
fai = unwrap(fai);
omig = diff (fai);
omig = [omig
omig = omig / (2 * pi);
% get angle speed
omig(dL - 1) ];% add a data to omig at last position after diff
imfHSp = [imfHSp; omig];
end
if iNo == 0
imfA = aX ;
% get one imf
y = hilbert (imfA); % hilbert transform
fai = angle(y);
% get phase angle
fai = unwrap(fai);
omig = diff (fai);
omig = [omig
omig = omig / (2 * pi);
imfHSp = [imfHSp; omig];
% get angle speed
omig(dL - 1) ];% add a data to omig at last position after diff
end
return;