- https://www.mathworks.com/help/signal/ref/emd.html
- https://in.mathworks.com/help/signal/ref/hht.html
- https://in.mathworks.com/help/matlab/ref/unwrap.html
Instantaneous amplitude and unwrapped phase of IMF using HHT
16 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Mohiuddin Chowdury
el 25 de En. de 2024
Comentada: Mohiuddin Chowdury
el 5 de Feb. de 2024
I can't find the command for extracting instantaneous amplitude and unwrapped phase of an IMF using Hilbert Huang Transform. Please help me.
Sincerely,
MD. Mohiuddin Chowdury
0 comentarios
Respuesta aceptada
akshatsood
el 5 de Feb. de 2024
Editada: akshatsood
el 5 de Feb. de 2024
From what I understand, it seems you aim to determine the instantaneous amplitude and the unwrapped phase of an Intrinsic Mode Function (IMF) through the Hilbert-Huang Transform. To accomplish this, you should apply the "hht" function to perform the Hilbert-Huang Transform, which will enable you to calculate the instantaneous amplitude. Following this, you can employ the "unwrap" function to obtain the unwrapped phase of the IMF.
Before proceeding to the commands, it would be advantageous to grasp the underlying mechanics of the "hht" function. This understanding will give clarity on the process of how we will extract the desired information. Please refer to the snapshot provided on the documentation page of "hht" function for a detailed overview :
The "hht" function outputs the following variables where hs is the hilbert spectrum of signal, f & t are the frequency and time values, imfinsf is instantaneous frequency of each IMF and imfinse is the instantaneous energy of each IMF.
Considering the attached screenshot, we need to compute which can be calculated from the instantaneous energy (represented as ) stored in the ouput variable "imfinse". Evaluating the square root of "imfinse" would return the instantaneous amplitude for each IMF . For the unwrapped phase, it would be sufficient to use the "unwrap" function.
Here is a sample code snippet to demonstrate the approach
t = 0:1/fs:2-1/fs;
q = chirp(t-2,4,1/2,6,'quadratic',100,'convex').*exp(-4*(t-1).^2);
fs = 2000;
imf = emd(q,'Display',1); % decompose q into finite number of IMFs
% computing the Hilbert Huang transform
[hs, f, t, imfinsf, imfinse] = hht(imf,fs,'FrequencyLimits',[0 20]);
instantaneousAmplitude = sqrt(imfinse);
unwrappedPhase = unwrap(hs);
Have a look at the following documentations for the functions used for a better understanding
I hope this helps.
Más respuestas (0)
Ver también
Categorías
Más información sobre Hilbert and Walsh-Hadamard Transforms en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!