Hi everyboby,
I'm a matlab newbie and have problems with building a hilbert-spectrum in
matlab. Perhaps someone can help me.
I have two vectors: time vector t a the signal vector x. First I compute
the analytic signal z(t)=x(t)+i*y(t), where y(t) is the Hilbert Transform
of x(t). The polar coordinate form of z with amplitude and phase is:
z(t)=amplitude(t)*exp(i*phase(t)). I compute the amplitude and the phase.
The instantaneous frequency as time-varying phase is deļ¬ned as
dphase(t)/dt.
I calculated all that and now don't know how to combine it to build the
hilbert-spectrum. I hope somebody can help me.
PS: Sorry for possible spelling errors but english isnt my mother tongue.
Best regards
Joanna
|
|
0
|
|
|
|
Reply
|
joanna
|
3/23/2011 11:37:20 AM |
|
On Mar 23, 7:37=C2=A0am, "joanna" <m_bator@n_o_s_p_a_m.gmx.de> wrote:
> Hi everyboby,
>
> I'm a matlab newbie and have problems with building a hilbert-spectrum in
> matlab. Perhaps someone can help me.
>
> I have two vectors: time vector t a the signal vector x. First I compute
> the analytic signal z(t)=3Dx(t)+i*y(t), where y(t) is the Hilbert Transfo=
rm
> of x(t). The =C2=A0polar =C2=A0coordinate form of z with amplitude and ph=
ase is:
> z(t)=3Damplitude(t)*exp(i*phase(t)). I compute the amplitude and the phas=
e.
> The instantaneous frequency as time-varying phase is de=EF=AC=81ned as
> dphase(t)/dt.
>
> I calculated all that and now don't know how to combine it to build the
> hilbert-spectrum. I hope somebody can help me.
>
> PS: Sorry for possible spelling errors but english isnt my mother tongue.
>
> Best regards
> Joanna
Hello Joanna,
If you recall the spectrum of an analytic signal is one sided. So you
can just find the fourier tranform of your original signal and zero
out all of the components with nonpositive frequencies. That would be
your hilbert spectrum. Likewise if you inverse fourier transform your
one sided spectrum, then you get your analytic signal. Hopefully this
helps.
Clay
|
|
0
|
|
|
|
Reply
|
Clay
|
3/23/2011 1:23:41 PM
|
|
On Mar 23, 7:37=C2=A0am, "joanna" <m_bator@n_o_s_p_a_m.gmx.de> wrote:
> Hi everyboby,
>
> I'm a matlab newbie and have problems with building a hilbert-spectrum in
> matlab. Perhaps someone can help me.
>
> I have two vectors: time vector t a the signal vector x. First I compute
> the analytic signal z(t)=3Dx(t)+i*y(t), where y(t) is the Hilbert Transfo=
rm
> of x(t). The =C2=A0polar =C2=A0coordinate form of z with amplitude and ph=
ase is:
> z(t)=3Damplitude(t)*exp(i*phase(t)). I compute the amplitude and the phas=
e.
> The instantaneous frequency as time-varying phase is de=EF=AC=81ned as
> dphase(t)/dt.
>
> I calculated all that and now don't know how to combine it to build the
> hilbert-spectrum. I hope somebody can help me.
>
> PS: Sorry for possible spelling errors but english isnt my mother tongue.
>
> Best regards
> Joanna
It's not that simple
For Hilbert spectrum to make any sense you will need to decompose your
signal into intrinsic modes first
This can be done using so-called Empirical Mode Decomposition
Google "Hilbert-Huang Transform"
Here is the link to the original paper
http://keck.ucsf.edu/~schenk/Huang_etal98.pdf
|
|
0
|
|
|
|
Reply
|
fatalist
|
3/23/2011 4:33:50 PM
|
|
On Mar 23, 11:33=C2=A0am, fatalist <simfid...@gmail.com> wrote:
> On Mar 23, 7:37=C2=A0am, "joanna" <m_bator@n_o_s_p_a_m.gmx.de> wrote:
>
>
>
>
>
> > Hi everyboby,
>
> > I'm a matlab newbie and have problems with building a hilbert-spectrum =
in
> > matlab. Perhaps someone can help me.
>
> > I have two vectors: time vector t a the signal vector x. First I comput=
e
> > the analytic signal z(t)=3Dx(t)+i*y(t), where y(t) is the Hilbert Trans=
form
> > of x(t). The =C2=A0polar =C2=A0coordinate form of z with amplitude and =
phase is:
> > z(t)=3Damplitude(t)*exp(i*phase(t)). I compute the amplitude and the ph=
ase.
> > The instantaneous frequency as time-varying phase is de=EF=AC=81ned as
> > dphase(t)/dt.
>
> > I calculated all that and now don't know how to combine it to build the
> > hilbert-spectrum. I hope somebody can help me.
>
> > PS: Sorry for possible spelling errors but english isnt my mother tongu=
e.
>
> > Best regards
> > Joanna
>
> It's not that simple
>
> For Hilbert spectrum to make any sense you will need to decompose your
> signal into intrinsic modes first
>
> This can be done using so-called Empirical Mode Decomposition
>
> Google "Hilbert-Huang Transform"
>
> Here is the link to the original paper
>
> http://keck.ucsf.edu/~schenk/Huang_etal98.pdf- Hide quoted text -
>
> - Show quoted text -
If we have the analytic signal
z(t) =3D x(t) + jx'(t), where x'(t) is the Hilbert transform of x(t),
x'(t) =3D conv(x(t), 1/(pi*t)), the convolution of x(t) and the
reciprical of the product pi*t
then the power spectral density will be the one-sided positive
spectral density of x(t) with twice the amplitude. If this is what is
being sought, then Clay is correct when he says just take the positive
spectral density of the original signal. This, also is what I
interpret as being sought from the description given by Joanna, and I
agree with Clay.
Since, with
z(t) =3D x(t) + jx'(t),
Szz(omega) =3D 2 Sxx(omega), where Szz(omega) is the power spectral
density of the analytic signal, z(t), and Sxx(omega) is the power
spectral density of the original signal.
If Sx'x'(omega) is looked for (the spectral density of the Hilbert
transform itself), Sx'x'(omega) =3D Sxx(omega). What I suspect is that
Sx'x'(omega) is not what is being sought, but what really is being
sought is Sx'x(omega), i.e.,
Sx'x(omega) =3D jSxx(omega) sgn(omega); sgn =3D sign of
Then, the positive power spectral density is the same as the original,
and the negative spectral density is the inverse of the original.
Maurice Givens
|
|
0
|
|
|
|
Reply
|
maury
|
3/23/2011 6:38:49 PM
|
|
On Mar 23, 2:38=C2=A0pm, maury <maury...@core.com> wrote:
> On Mar 23, 11:33=C2=A0am, fatalist <simfid...@gmail.com> wrote:
>
>
>
>
>
> > On Mar 23, 7:37=C2=A0am, "joanna" <m_bator@n_o_s_p_a_m.gmx.de> wrote:
>
> > > Hi everyboby,
>
> > > I'm a matlab newbie and have problems with building a hilbert-spectru=
m in
> > > matlab. Perhaps someone can help me.
>
> > > I have two vectors: time vector t a the signal vector x. First I comp=
ute
> > > the analytic signal z(t)=3Dx(t)+i*y(t), where y(t) is the Hilbert Tra=
nsform
> > > of x(t). The =C2=A0polar =C2=A0coordinate form of z with amplitude an=
d phase is:
> > > z(t)=3Damplitude(t)*exp(i*phase(t)). I compute the amplitude and the =
phase.
> > > The instantaneous frequency as time-varying phase is de=EF=AC=81ned a=
s
> > > dphase(t)/dt.
>
> > > I calculated all that and now don't know how to combine it to build t=
he
> > > hilbert-spectrum. I hope somebody can help me.
>
> > > PS: Sorry for possible spelling errors but english isnt my mother ton=
gue.
>
> > > Best regards
> > > Joanna
>
> > It's not that simple
>
> > For Hilbert spectrum to make any sense you will need to decompose your
> > signal into intrinsic modes first
>
> > This can be done using so-called Empirical Mode Decomposition
>
> > Google "Hilbert-Huang Transform"
>
> > Here is the link to the original paper
>
> >http://keck.ucsf.edu/~schenk/Huang_etal98.pdf-Hide quoted text -
>
> > - Show quoted text -
>
> If we have the analytic signal
>
> z(t) =3D x(t) + jx'(t), where x'(t) is the Hilbert transform of x(t),
>
> x'(t) =3D conv(x(t), 1/(pi*t)), the convolution of x(t) and the
> reciprical of the product pi*t
>
> then the power spectral density will be the one-sided positive
> spectral density of x(t) with twice the amplitude. If this is what is
> being sought, then Clay is correct when he says just take the positive
> spectral density of the original signal. This, also is what I
> interpret as being sought from the description given by Joanna, and I
> agree with Clay.
>
> Since, with
>
> z(t) =3D x(t) + jx'(t),
>
> Szz(omega) =3D 2 Sxx(omega), where Szz(omega) is the power spectral
> density of the analytic signal, z(t), and Sxx(omega) is the power
> spectral density of the original signal.
>
> If Sx'x'(omega) is looked for (the spectral density of the Hilbert
> transform itself), Sx'x'(omega) =3D Sxx(omega). What I suspect is that
> Sx'x'(omega) is not what is being sought, but what really is being
> sought is Sx'x(omega), i.e.,
>
> Sx'x(omega) =3D jSxx(omega) sgn(omega); sgn =3D sign of
>
> Then, the positive power spectral density is the same as the original,
> and the negative spectral density is the inverse of the original.
>
> Maurice Givens- Hide quoted text -
>
> - Show quoted text -
The OP mentioned "instantaneous frequency" which is NOT the same as
average frequency obtained from FFT
Once "instantaneous frequency" gets mentioned it opens a whole can of
warms as far as its interpretation for arbitrary signals is concerned
I suggest reading Cohen's book "Time-Frequency Analysis" or at least
this little writeup to get you started :-)
http://www.math.ucdavis.edu/~saito/data/phase/loughlin-tacer-97.pdf
|
|
0
|
|
|
|
Reply
|
fatalist
|
3/24/2011 2:43:26 PM
|
|
On Mar 23, 6:37=C2=A0am, "joanna" <m_bator@n_o_s_p_a_m.gmx.de> wrote:
> Hi everyboby,
>
> I'm a matlab newbie and have problems with building a hilbert-spectrum in
> matlab. Perhaps someone can help me.
>
> I have two vectors: time vector t a the signal vector x. First I compute
> the analytic signal z(t)=3Dx(t)+i*y(t), where y(t) is the Hilbert Transfo=
rm
> of x(t). The =C2=A0polar =C2=A0coordinate form of z with amplitude and ph=
ase is:
> z(t)=3Damplitude(t)*exp(i*phase(t)). I compute the amplitude and the phas=
e.
> The instantaneous frequency as time-varying phase is de=EF=AC=81ned as
> dphase(t)/dt.
>
> I calculated all that and now don't know how to combine it to build the
> hilbert-spectrum. I hope somebody can help me.
>
> PS: Sorry for possible spelling errors but english isnt my mother tongue.
>
> Best regards
> Joanna
Joanna,
When you get it completed, come back and let us know what you did, and
the results.
Maurice Givens
|
|
0
|
|
|
|
Reply
|
maury
|
3/24/2011 3:09:25 PM
|
|
On Mar 23, 7:37=C2=A0am, "joanna" <m_bator@n_o_s_p_a_m.gmx.de> wrote:
> Hi everyboby,
>
> I'm a matlab newbie and have problems with building a hilbert-spectrum in
> matlab. Perhaps someone can help me.
>
> I have two vectors: time vector t a the signal vector x. First I compute
> the analytic signal z(t)=3Dx(t)+i*y(t), where y(t) is the Hilbert Transfo=
rm
> of x(t). The =C2=A0polar =C2=A0coordinate form of z with amplitude and ph=
ase is:
> z(t)=3Damplitude(t)*exp(i*phase(t)). I compute the amplitude and the phas=
e.
> The instantaneous frequency as time-varying phase is de=EF=AC=81ned as
> dphase(t)/dt.
>
> I calculated all that and now don't know how to combine it to build the
> hilbert-spectrum. I hope somebody can help me.
>
> PS: Sorry for possible spelling errors but english isnt my mother tongue.
>
> Best regards
> Joanna
The direct answer to the OP's question is this:
In a time-frequency plane an instantaneous frequency plotted as a
function of time and color-coded as a function of instantaneous
amplitude (or squared instantaneous amplitude) with produce so-called
amplitude (or energy) Hilbert Spectrum
Simple ? Maybe not :-)
|
|
0
|
|
|
|
Reply
|
fatalist
|
3/24/2011 3:10:17 PM
|
|
fatalist wrote:
Hello Dmitry Terez. Are you saving the World again?
> The direct answer to the OP's question is this:
The direct answer to the OP's question is "stupidents and matlabi do
their homeworks".
> In a time-frequency plane an instantaneous frequency plotted as a
> function of time and color-coded as a function of instantaneous
> amplitude (or squared instantaneous amplitude) with produce so-called
> amplitude (or energy) Hilbert Spectrum
>
> Simple ? Maybe not :-)
What is it difficult in making a classic hilbert transformer and
applying an elementary math to the output? No need for hilbert-huangs
and other mumbo-jumbo.
Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
|
|
0
|
|
|
|
Reply
|
Vladimir
|
3/24/2011 3:30:03 PM
|
|
On Mar 24, 11:30=A0am, Vladimir Vassilevsky <nos...@nowhere.com> wrote:
> fatalist wrote:
>
> Hello Dmitry Terez. Are you saving the World again?
>
> > The direct answer to the OP's question is this:
>
> The direct answer to the OP's question is "stupidents and matlabi do
> their homeworks".
>
> > In a time-frequency plane an instantaneous frequency plotted as a
> > function of time and color-coded as a function of instantaneous
> > amplitude (or squared instantaneous amplitude) with produce so-called
> > amplitude (or energy) Hilbert Spectrum
>
> > Simple ? =A0Maybe not :-)
>
> What is it difficult in making a classic hilbert transformer and
> applying an elementary math to the output? No need for hilbert-huangs
> and other mumbo-jumbo.
>
> Vladimir Vassilevsky
> DSP and Mixed Signal Design Consultanthttp://www.abvolt.com
Thank you for not renaming the thread to "STUPIDENT matlabi"
Your infinite DSP wisdom coming from Kansas (formely Oklahoma) is
always appreciated
|
|
0
|
|
|
|
Reply
|
fatalist
|
3/24/2011 4:06:36 PM
|
|
>On Mar 23, 7:37=C2=A0am, "joanna" <m_bator@n_o_s_p_a_m.gmx.de> wrote:
>> Hi everyboby,
>>
>> I'm a matlab newbie and have problems with building a hilbert-spectrum
in
>> matlab. Perhaps someone can help me.
>>
>> I have two vectors: time vector t a the signal vector x. First I
compute
>> the analytic signal z(t)=3Dx(t)+i*y(t), where y(t) is the Hilbert
Transfo=
>rm
>> of x(t). The =C2=A0polar =C2=A0coordinate form of z with amplitude and
ph=
>ase is:
>> z(t)=3Damplitude(t)*exp(i*phase(t)). I compute the amplitude and the
phas=
>e.
>> The instantaneous frequency as time-varying phase is de=EF=AC=81ned as
>> dphase(t)/dt.
>>
>> I calculated all that and now don't know how to combine it to build the
>> hilbert-spectrum. I hope somebody can help me.
>>
>> PS: Sorry for possible spelling errors but english isnt my mother
tongue.
>>
>> Best regards
>> Joanna
>
>It's not that simple
>
>For Hilbert spectrum to make any sense you will need to decompose your
>signal into intrinsic modes first
>
>This can be done using so-called Empirical Mode Decomposition
>
>Google "Hilbert-Huang Transform"
>
>Here is the link to the original paper
>
>http://keck.ucsf.edu/~schenk/Huang_etal98.pdf
________________________________________________________________________
Thank all of you for your responses. Many days have passed since I posted
my last thread. In this time a have decompose my signal into intrinsic
modes with the Empirical Mode Decomposition. But now I have another
problem. When I use the Hilbert Transform to get the instantaneous
frequency I also get negative frequency. I dont understand that. I thought
that an analytic signal only yield positive frequency.
Best regards
joanna
_________________________________________________________________________
I hope someone can explain that for me.
|
|
0
|
|
|
|
Reply
|
diadem_sierra (6)
|
4/28/2011 8:31:08 AM
|
|
I have yet another question. With the EMD I get a few intrinsic Modes. The
intrinsic Mode I get first have the highest frequencies and so on. Does
that also mean that the instanteanous frequencies at a specific time for
exampe t(1) are descending?
I try to illustrate it better:
I recieve 4 intrinsic modes from a signal s(t) and I define the
instanteanous frequency f for all the modes.
When I pick now a special time for example t(1) should the frequencies from
IMF1 to IMF4 at this point descend? And when they dont do it what have I
done wrong?
I hope somebody understands me.
Best regards
Joanna
|
|
0
|
|
|
|
Reply
|
diadem_sierra (6)
|
4/28/2011 11:30:00 AM
|
|
On Apr 28, 7:30=A0am, "joanna" <diadem_sierra@n_o_s_p_a_m.yahoo.de>
wrote:
> I have yet another question. With the EMD I get a few intrinsic Modes. Th=
e
> intrinsic Mode I get first have the highest frequencies and so on. Does
> that also mean that the instanteanous frequencies at a specific time for
> exampe t(1) are descending?
>
> I try to illustrate it better:
>
> I recieve 4 intrinsic modes from a signal s(t) and I define the
> instanteanous frequency f for all the modes.
> When I pick now a special time for example t(1) should the frequencies fr=
om
> IMF1 to IMF4 at this point descend? And when they dont do it what have I
> done wrong?
>
> I hope somebody understands me.
>
> Best regards
> Joanna
The purpose of intrinsic modes in EMD is to separate different time
scales in original signal in order to get well-behaved instantaneous
frequency for each mode.
You might not be doing it right
Test your program on some synthetic example, e.g. Rossler equation
BTW, why ask here on comp.dsp ?
You already know more about the subject than most regulars in this
group, especially VLV :-)
Kind regards
|
|
0
|
|
|
|
Reply
|
simfidude (82)
|
5/17/2011 3:07:39 PM
|
|
|
11 Replies
531 Views
(page loaded in 0.188 seconds)
Similiar Articles: Hilbert-Spectrum in Matlab - comp.dspHi everyboby, I'm a matlab newbie and have problems with building a hilbert-spectrum in matlab. Perhaps someone can help me. I have two vectors... DC component in FFT Spectrum - comp.soft-sys.matlabHilbert-Spectrum in Matlab - comp.dsp Windowed sinc - comp.dsp... for multiplier - comp.lang.vhdl implementing an fpga based on hilbert ... DC component in FFT Spectrum ... Frequency Domain to Time domain conversion - comp.soft-sys.matlab ...Hilbert-Spectrum in Matlab - comp.dsp Frequency Domain to Time domain conversion - comp.soft-sys.matlab ..... the PSD (if it actually is a PSD) to a power spectrum ... Please help a newbie: Matlab freqz.m -- Plotting a functions ...Hilbert-Spectrum in Matlab - comp.dsp... matlab newbie ... m in > > > matlab. Perhaps someone can help ... plot, vertical axis amplitude is function of time ... 02 May ... Raisec Cosine Function - comp.soft-sys.matlabHilbert-Spectrum in Matlab - comp.dsp > > > In a time-frequency plane an instantaneous frequency plotted as a > > function of ... Square Root Raised Cosine Pulse - comp ... Obtaining Freq and Amplitude from PSD - comp.soft-sys.matlab ...Hilbert-Spectrum in Matlab - comp.dsp I compute the amplitude and the phase. The instantaneous frequency as time-varying phase is ... reciprical of the product pi*t then ... How to implement cross correlation after FFT in DSP? - comp.dsp ...Hilbert-Spectrum in Matlab - comp.dsp How to implement cross correlation after FFT in DSP? - comp.dsp ..... done FFT of two audio files and have the power spectrum ... Phase versus Time from an FFT - comp.soft-sys.matlabNote that Matlab has a "hilbert" function to calculate the hilbert transform, but no ... the value of phi is a= function of time, the resulting FFT amplitude spectrum ... Windowed sinc - comp.dspHilbert-Spectrum in Matlab - comp.dsp Windowed sinc - comp.dsp... for multiplier - comp.lang.vhdl implementing an fpga based on hilbert ... DC component in FFT Spectrum ... Signal-to-noise ratio for a sine signal?? - comp.soft-sys.matlab ...... the sine wave is known, let it be f0, take FFT spectrum ... comp.soft-sys.matlab ... i'm doing my project in matlab ... 2D sine noise from a ... the detection alg, then Hilbert ... Minimum Phase Impulse Response - comp.dsp... response corresponding to a given magnitude spectrum ... method to design minimum phase filter using "Hilbert ... FFT of Impulse response - comp.soft-sys.matlab Minimum ... How to get envelope from AM signal without phase shift - comp.dsp ...I have also tried using the Hilbert transform but, I ... It must have been a Matlab solution. Otherwise, where ... If this is possible, estimate the cross spectrum of the ... Filter and inverse filter =/ timedelay? - comp.dsp... but that output is corrupted by noise, and the spectrum ... minimum phase then its >> phase response is the Hilbert ... "Matlab does all thinking for us" (TM) > (By the same ... AM digital demodulation methods - comp.dspA Hilbert transformer is one, Clay Turner's Tips ... not matter what other stuff is in the spectrum from 0 to ... 11/23/2009 8:26 AM, Nitram wrote ... signal in Matlab ... need help...HILBERT SPECTRUM | Matlab DSP | DSPRelated.comdear everyone,i wanna ask if someone has ever try to make program about how to make hilbert spectrum in MATLAB.im working in vibration signal processing..... Hilbert-Spectrum in Matlab - comp.dsp | Computer GroupHi everyboby, I'm a matlab newbie and have problems with building a hilbert-spectrum in matlab. Perhaps someone can help me. I have two vectors... 7/21/2012 4:02:40 AM
|