MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: ZTransform for a non-causal unstable signal. How to make Mathematica gives correct result?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg108236] Re: ZTransform for a non-causal unstable signal. How to make Mathematica gives correct result?
  • From: "Nasser M. Abbasi" <nma at 12000.org>
  • Date: Thu, 11 Mar 2010 06:37:12 -0500 (EST)
  • References: <hn7f5s$2u4$1@smc.vnet.net> <4B97560C.7040902@metrohm.com> <014b01cac084$e1fa1700$2c8cfea9@computerh20djr> <4B989125.50607@metrohm.com>
  • Reply-to: "Nasser M. Abbasi" <nma at 12000.org>

----- Original Message ----- 
From: "dh" <dh at metrohm.com>


> Hi Nasser,
> the result from Mathematica is:
> -(2/(-2 + z))
> The inverse z transform of this:
> -2^n UnitStep[-1 + n]
> now you can write this as:
> - (1/2)^(-n) UnitStep[n-1]
> what is consistent with where we started.
>

Hello Daniel;

Well, yes, ofcourse. But the point is what you started with an expression 
which is _not_ the Z transform result I should get from my original 
expression, which is

               -(1/2)^n)*UnitStep[-n - 1];

> However, if we back transform your "hand" result, we get:
> (-(1/2))^n Binomial[-1, n]
> what does not look like your initial expression.
> Daniel
>

My hand calculations shows that the Z transform of  -(1/2)^n)*UnitStep[-n - 
1]  is  1/(1- 0.5 z^-1), with ROC of |z|<1/2, this is correct.  (unless you 
show me where I made an error).

So, The inverse Z transform of   1/(1- 0.5 z^-1) has to come back as what I 
started with.  BUT one must use the ROC |z|<1/2.

A ztransform is not unique without giving the ROC. i.e. 2 same Ztransform, 
but with different ROC, can give back different sequences. Becuase for 
example, and right sided sequence can give the same Z transform as a left 
sided sequence (one will stable and the other not). So when doing inverese Z 
transform, how does it know which one to return back if it did not know the 
ROC?

So, Mathematica result you showed above, saying the InverseZ of my sequence 
is (-(1/2))^n Binomial[-1, n] must be for ROC |z|>1/2 (i.e. causal and 
stable) and not |z|<1/2, which is not what I had.

I do not know how to tell InvserZtransform that the ROC is |z|<1/2, I tried 
this:

InverseZTransform[1/(1-0.5 z^-1),z,n,Assumptions->Abs[z]<1/2]

but result did not change to what I expected.

--Nasser

>
> On 10.03.2010 20:07, Nasser M. Abbasi wrote:
>>>> On 10.03.2010 07:45, Nasser M. Abbasi wrote:
>>>>
>>>> I am trying to find the Z transform using Mathematica for the signal
>>>>
>>>> (-(1/2)^n)*UnitStep[-n - 1];
>>>>
>>
>>
>>> Hi Nasser,
>>> Mathematica calculates the unilateral Z transfrom. This is clearly zero in
>>> your case. But in your case you may get the bilateral by setting n ->
>>> -n in f:
>>>
>>> f = (-(1/2)^(-n))*UnitStep[n - 1];
>>> ZTransform[f, n, z]
>>>
>>> Daniel
>>>
>>
>>
>> I had a second look at the above solution, but the result obtained still
>> does not match my hand calculation actually, Here is the output from the
>> above code:
>>
>> -(2/(-2 + z))
>>
>> Which can be rewritten as
>>
>> 1
>> -------------
>> 1- 1/2 z
>>
>> In addition, when using GenerateConditions -> True option, I get that 
>> |z|>2
>>
>> *But* the result I should get is
>>
>> 1
>> -------------
>> 1- 1/2 z^-1
>>
>> With |z|<1/2. Notice the z^-1 vs z in the denominator.
>>
>> so, more tweaking is needed I think. getting close, but Just changing
>> the "n" from +n to "-n" did not seem to do the trick?
>>
>> I need to look more into this. But at least now I know what the correct
>> definition of Ztransform used by Mathematica is. All of this could have
>> been avoided if the Ztransform was defined to be 2-sided. Now each time
>> I have a left sided signal, I have to play tricks to feed it to the
>> Ztransform. Also, If I have 2 sided signal, I have to break it up and
>> play more tricks, which can lead to errors.
>>
>> --Nasser
>>
>>
>>
>>
>
>
> -- 
> Daniel Huber
> Metrohm AG
> International Headquarters
> Oberdorfstr. 68, CH-9101 Herisau / Switzerland
> Phone +41 71 353 8606, Fax +41 71 353 89 01
> Mail <mailto:dh at metrohm.com>
> Web <http://www.metrohm.com
>
> 



  • Prev by Date: Re: Dynamic function application problem
  • Next by Date: plot solution derivative
  • Previous by thread: Re: ZTransform for a non-causal unstable signal. How to make Mathematica gives correct result?
  • Next by thread: gaps in plot of piecewise function