DSPRelated.com
Forums

Hilbert transform to calculate Magnitude from Phase?

Started by Billw February 2, 2005
I've seen how to do the opposite (get phase response from a bandlimited
magnitude response).  Can the opposite be done?  If so, what is the
algorithm?

thanks



Billw wrote:
> I've seen how to do the opposite (get phase response from a
bandlimited
> magnitude response). Can the opposite be done? If so, what is the > algorithm? > > thanks
I would be surprised if there is an algorithm for this, it seems impossible to me. John
in article 1107388475.403136.125720@o13g2000cwo.googlegroups.com, john at
johns@xetron.com wrote on 02/02/2005 18:54:

> > Billw wrote: >> I've seen how to do the opposite (get phase response from a > bandlimited >> magnitude response). Can the opposite be done? If so, what is the >> algorithm? >> >> thanks > > I would be surprised if there is an algorithm for this, it seems > impossible to me.
why? except for a constant dB amount, if arg{H(f)} = -Hilbert{ log|H(f)| }, then log|H(f)| = Hilbert{ arg{H(f)} } plus an arbitrary constant. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
robert bristow-johnson wrote:
> in article 1107388475.403136.125720@o13g2000cwo.googlegroups.com,
john at
> johns@xetron.com wrote on 02/02/2005 18:54: > > > > > Billw wrote: > >> I've seen how to do the opposite (get phase response from a > > bandlimited > >> magnitude response). Can the opposite be done? If so, what is
the
> >> algorithm? > >> > >> thanks > > > > I would be surprised if there is an algorithm for this, it seems > > impossible to me. > > why? except for a constant dB amount, > > if arg{H(f)} = -Hilbert{ log|H(f)| }, > > then log|H(f)| = Hilbert{ arg{H(f)} } plus an arbitrary constant. > > -- > > r b-j rbj@audioimagination.com > > "Imagination is more important than knowledge."
I'm sorry, you lost me with the math there. Take the case of an ideal LPF, where |H(f)| is a rectangle of width 2W Hz centered on zero, and arg{H(f)} is zero. I tell you only that arg{H(f)} = 0 and that my system is bandlimited. Can you tell me H(f)? John
john wrote:
> robert bristow-johnson wrote: > > in article 1107388475.403136.125720@o13g2000cwo.googlegroups.com, > john at > > johns@xetron.com wrote on 02/02/2005 18:54: > > > > > > > > Billw wrote: > > >> I've seen how to do the opposite (get phase response from a > > > bandlimited > > >> magnitude response). Can the opposite be done? If so, what is > the > > >> algorithm? > > >> > > >> thanks > > > > > > I would be surprised if there is an algorithm for this, it seems > > > impossible to me. > > > > why? except for a constant dB amount, > > > > if arg{H(f)} = -Hilbert{ log|H(f)| }, > > > > then log|H(f)| = Hilbert{ arg{H(f)} } plus an arbitrary constant. > > > > -- > > > > r b-j rbj@audioimagination.com > > > > "Imagination is more important than knowledge." > > I'm sorry, you lost me with the math there. Take the case of an ideal > LPF, where |H(f)| is a rectangle of width 2W Hz centered on zero, and > arg{H(f)} is zero. I tell you only that arg{H(f)} = 0 and that my > system is bandlimited. Can you tell me H(f)? > > John
I'm with John here. How do you deal with allpass filters? How do you know if a linear-phase filter is all-pass or band-pass, just from looking at the phase response? Sorry, I have my doubts about the whole idea... Rune
I believe the one  issue that is left out here is that the calculation
referred to

phase{H(f)} = -Hilbert{ log|H(f)| }

is actually a relationship between the Magnitude spectrum and the
Minimum Phase.  i.e.

minphase{H(f)} = -Hilbert{ log|H(f)| }

This is a one to one relationship, if you know the Mag you know the Min
Phase.  It does  not work for other phase spectrums.

So I believe that Robert is correct that you can reverse the algorithm
if you have the signals minphase spectrum

Jake

in article 1107448616.648053.229600@f14g2000cwb.googlegroups.com, Jacob
Scarpaci at scarpaci@gmail.com wrote on 02/03/2005 11:36:

> I believe the one issue that is left out here is that the calculation > referred to > > phase{H(f)} = -Hilbert{ log|H(f)| } > > is actually a relationship between the Magnitude spectrum and the > Minimum Phase. i.e. > > minphase{H(f)} = -Hilbert{ log|H(f)| } > > This is a one to one relationship, if you know the Mag you know the Min > Phase. It does not work for other phase spectrums. > > So I believe that Robert is correct that you can reverse the algorithm > if you have the signals minphase spectrum
it was my assumption from the beginning. you know what that word ass_u_me can do to a person. i guess, whenever i see the words "Hilbert Transform" associated with the words "Magnitude" and "Phase", that's what comes to mind. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
robert bristow-johnson wrote:
> in article 1107448616.648053.229600@f14g2000cwb.googlegroups.com, Jacob > Scarpaci at scarpaci@gmail.com wrote on 02/03/2005 11:36: > > >>I believe the one issue that is left out here is that the calculation >>referred to >> >>phase{H(f)} = -Hilbert{ log|H(f)| } >> >>is actually a relationship between the Magnitude spectrum and the >>Minimum Phase. i.e. >> >>minphase{H(f)} = -Hilbert{ log|H(f)| } >> >>This is a one to one relationship, if you know the Mag you know the Min >>Phase. It does not work for other phase spectrums. >> >>So I believe that Robert is correct that you can reverse the algorithm >>if you have the signals minphase spectrum > > > it was my assumption from the beginning. you know what that word ass_u_me > can do to a person. i guess, whenever i see the words "Hilbert Transform" > associated with the words "Magnitude" and "Phase", that's what comes to > mind.
Minimum phase was implicit in the question. The phase response that one derives from a magnitude response is always minimum phase. To reverse the process, one must travel the same path. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Jerry Avins wrote:
> robert bristow-johnson wrote: > > in article 1107448616.648053.229600@f14g2000cwb.googlegroups.com,
Jacob
> > Scarpaci at scarpaci@gmail.com wrote on 02/03/2005 11:36: > > > > > >>I believe the one issue that is left out here is that the
calculation
> >>referred to > >> > >>phase{H(f)} =3D -Hilbert{ log|H(f)| } > >> > >>is actually a relationship between the Magnitude spectrum and the > >>Minimum Phase. i.e. > >> > >>minphase{H(f)} =3D -Hilbert{ log|H(f)| } > >> > >>This is a one to one relationship, if you know the Mag you know the
Min
> >>Phase. It does not work for other phase spectrums. > >> > >>So I believe that Robert is correct that you can reverse the
algorithm
> >>if you have the signals minphase spectrum > > > > > > it was my assumption from the beginning. you know what that word
ass_u_me
> > can do to a person. i guess, whenever i see the words "Hilbert
Transform"
> > associated with the words "Magnitude" and "Phase", that's what
comes to
> > mind. > > Minimum phase was implicit in the question. The phase response that
one
> derives from a magnitude response is always minimum phase. To reverse > the process, one must travel the same path. > > Jerry > -- > Engineering is the art of making what you want from things you can
get.
>
=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF So what about the ideal LPF example I gave? Does it work? John
in article 1107470791.086854.147730@g14g2000cwa.googlegroups.com, john at
johns@xetron.com wrote on 02/03/2005 17:46:


> So what about the ideal LPF example I gave? Does it work?
if it's a minimum-phase LPF, then the magnitude response and phase response are directly related to each other by the Hilbert transform which is, with the exception of a "DC" component, invertable. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."