hugocoolens

5 Reputation

0 Badges

10 years, 120 days

MaplePrimes Activity


These are replies submitted by hugocoolens

@Markiyan Hirnyk wrote:

>This can be obtained as follows.

>g := w-> ln(sqrt(1+w^2*tau^2)) :
>J := int(g(nu)/(nu-omega), nu = -R .. R, CPV) assuming tau > 0, omega > -R, omega < R:

>limit(J, R = infinity);
>simplify(evalc(%)) assuming tau > 0, omega > 0;

The Hilbert transform is usually defined as your definition of J divided by Pi (some authors and Maple use minus J/Pi but that's not important)

If I enter your commands and divide by Pi I get:

(3/2)*Pi-2*arctan(1/(tau*omega))

which differs from the expected -arctan(tau*omega) or -pi/2+arctan(1/(tau*omega))

do you have any idea what could cause this result?

kind regards,

Hugo

 

 

 

@Axel Vogt 

Dear Axel, thanks for you reply, could it be that something went wrong with copy-paste in the following lines you posted?

restart; with(inttrans):
  'ln(1/sqrt(1+(tau*w)^2))';
  ``=%;
  g:=unapply(rhs(%), w);

If I enter them as above I don't get the expected

g := w -> -1/2 ln(tau²  w²  + 1)

but

w->-1/2 ln(tau²  w²  + 1)

I'm not yet good in maple-syntax, the meaning of ``=%; is unknown to me

kind regards and thanks for being so patient with me
hugo



@Markiyan Hirnyk  wrote

>@hugocoolens You wrote "I don't agree. With omega and tau positive the Hilbert transform does exist for this case"

>Could you kindly base this statement?

Dear Markiyan,

First of all, I didn't want to be unkind, by rereading my answer I now admit it could be perceived

as "unkind" which was never my intention, if it did I owe you an apology.

Now here are some reasons why I am sure the integral I mentioned has a solution. Of course

I am aware a real proof should be a solution of the integral without a c.a.s. but as I did not

succeed doing that at this very moment, I tried it with Maxima, Maple and Mathematica and Mathematica does give the expected result: here is the code I used in Mathematica:

Integrate[-1/2*Log[1 + (\[Tau]*\[Nu])^2]/(\[Nu] - \[Omega]), {\[Nu], -Infinity, Infinity},

PrincipalValue -> True, Assumptions -> \[Tau] >0 && \[Omega] >0, GenerateConditions -> False]/Pi

This gives the expected result:

-ArcTan[\[Tau] \[Omega]]

Even more important --for me at least--: from network theory I know the filter with transfer

function H(jw)=1/(1+tau*j*omega) is an example of a minimum phase network i.e. all poles and zeroes

are in the left half plane, there is only a pole at -1/tau. There is a network theoretical result

that for all minimum phase networks the Hilbert transform of the natural log of the modulus of the

transfer function (apart from a minus sign depending on how you define the Hilbert transform) is Arg(H(jw)), see e.g.:

 http://en.wikipedia.org/wiki/Minimum_phase#Relationship_of_magnitude_response_to_phase_response

I also checked some other properties for the filter which confirm it has the needed properties:

e.g. the Hilbert transform of the real part of H(jw) is the imaginary part of H(jw). As you

can see Maple does confirm this:

assume(omega > 0); assume(tau > 0); interface(showassumed = 0);
print(`output redirected...`); # input placeholder
                               0

(int(1/((1+(tau*nu)^2)*(nu-omega)), nu = -infinity .. infinity, CauchyPrincipalValue))/Pi;
print(`output redirected...`); # input placeholder
                            tau omega   
                       - ---------------
                              2    2    
                         omega  tau  + 1

kind regards,

hugo

 

 

@Axel Vogt 

>hilbert(f(t), t, s); convert(%, Int);
>
>  1       f(t)
>  ---- Int(-----, t = -infinity .. infinity, CauchyPrincipalValue)
>    Pi      t - s

>H(j*w)=1/(1+tau*j*w); subs(j=I, %); # and w, not omega
>subs(w=-I*t, %);
 >                                    1
                           H(t) = ---------
                                  t tau + 1

>hilbert(f(t), t, s);
>eval(%, f = 't -> 1/(t*tau+1)'):
>simplify(%);
>
>                        hilbert(f(t), t, s)
>
>           {                                       1
>          {         0                 tau = --------------
>           {                                 RootOf(Im(_Z))
>          {
>           { ln(-tau) - ln(tau)
>          { ------------------             otherwise
>           {   (s tau + 1) Pi
>So it depends on Im(tau) = 0 or not, i.e. tau purely real or not. ?
Dear Axel,
Thanks for taking the time to reply but, I don't need the Hilbert transform of
1/(1+tau*t)
I need the Hilbert transform of ln(1/sqrt(1+(tau*omega)^2) for which both tau
(a constant) and omega (a variable) are positive (and of course real)
I avoided to use the built in Hilbert transform of Maple because of the symbols used in
it (which may lead to confusion).
So I'd restate my question more simply:
How to calculate the following integral with Maple:

assume(omega > 0); assume(tau > 0); interface(showassumed = 0);

result5 := (int((1/2)*log(1+(tau*nu)^2)/(nu-omega), nu = -infinity .. infinity, CauchyPrincipalValue))/Pi

thanks in advance

hugo





@Markiyan Hirnyk 

>"the Hilbert transform of the natural log of |H(jw)| is -arctan(H(jw))"? The cite from  Wiki : "However, the >Hilbert transform is well-defined for a broad class of functions, namely those in Lp(R) for 1< p <∞".

>It is clear that the function f(nu):= log(1+(tau*nu)^2) does not satisfy that condition.

I don't agree. With omega and tau positive the Hilbert transform does exist for this case

 

regards,

Hugo

 

Page 1 of 1