A stable discrete-time LTI system is described by the following difference equation:

$$ y[n] - y[n-1] + Cy[n-2] = x[n] $$

where C is a real number. Determine the range of C so that

(a) the system is causal;

(b) the system is anti-causal;

(c) the system is non-causal (i.e., it has a two-sided impulse response).

It is straight forward to calculate the transfer function:

\begin{align*} Y(z) - z^{-1}Y(z) + Cz^{-2}Y(z) &= X(z) \\ H(Z) = \frac{Y(z)}{X(z)} &= \frac{1}{1 - z^{-1} + Cz^{-2}} \\ \end{align*}

We are given that the system is stable so the ROC must include the unit circle. Therefore there can not be a pole with magnitude \$1\$.

With \$C=0\$, \$H(z)= \frac{1}{1 - z^{-1}}\$, there is a pole at \$1\$ so that is not possible.

With \$C=-2\$, \$H(z)= \frac{1}{1 - z^{-1} - 2z^{-2}} = \frac{\frac{1}{3}}{1+z^{-1}} + \frac{\frac{2}{3}}{1-2z^{-1}}\$, there is a pole at \$-1\$ so that is not possible.

From there, where do I go?

Ultimately this may factor into the form:

$$ \frac{k_1}{1 + a_1 z^{-1}} + \frac{k_2}{1 + a_2 z^{-1}} $$

Is that a causal transfer function or not? The inverse Z transform can yield both a causal and anti-causal impulse response function.

  • \$\begingroup\$ What is the definition of causality? \$\endgroup\$ – Matt Young Sep 17 '15 at 1:23
  • \$\begingroup\$ causal system is one whose output depends only on past and present inputs. The given difference equation defines the output recursively in terms of past output values, so it's not immediately apparent whether it is causal or not. \$\endgroup\$ – clay Sep 17 '15 at 2:17
  • \$\begingroup\$ if C>>1, y(n) and y(n-1) can be ignored, leaving an anti-causal system \$\endgroup\$ – Chu Sep 17 '15 at 16:15
  • \$\begingroup\$ @Chu, I agree with that. The problem demands more though. Do you have any ideas? \$\endgroup\$ – clay Sep 17 '15 at 17:08
  • \$\begingroup\$ It depends on the strict definition of the categories of causality. What definitions did your professor give to you? \$\endgroup\$ – Chu Sep 17 '15 at 18:40

This is a root locus analysis with variable K.

The poles are: $$ p_{1,2}=\frac{1}{2}(1 \pm (1 - 4c)^{1/2}), |p_2|<|p_1| $$

For \$c<=1/4\$, the poles are real. \$p_{1}=1\$ when \$c = 0\$.

For \$c>1/4\$, the poles are complex, and their magnitude is: $$ |p_{1,2}|=\sqrt{\frac{1}{4}(1 + (4c-1))}=\sqrt{c} $$ which is equal to 1 when \$c=1\$.

Hence, for \$c\$, \$p_1\$ and \$p_2\$:

  • \$c=0: p_1=1\$ (critical), \$p_2=0\$ (stable)

  • \$c=1: p_{1,2}=1/2 \pm i\sqrt(3)/2\$ (underdamped stable,\$<1\$)

  • \$c=1/4: p_1=1/2, p_2=1/2\$ (overdamped stable,\$<1\$)

Because the time response is given, with negative delays, the system is casual, independently of \$c\$.

If only \$H(z)\$ were given and no time response, we obtain the explicit division, for inspect each converging term involving infinite sums: $$ H(Z) = \frac{1}{p_1-p_2}(\frac{p_1}{1 - p_1 z^{-1}}-\frac{p_2}{1 - p_2 z^{-1}}) $$


For a Causal System (no diverging components on the sum, for any \$c\$):

$$ |p_1 z^{-1}|<1 and |p_2 z^{-1}|<1 \rightarrow max(|p_1|,|p_2|)<|z| $$

if \$c<=1/4\$: \$\frac{1}{2}(1 + (1 - 4c)^{1/2})<|z|\$

if \$c>1/4\$: \$\sqrt{c}<|z|\$

For a Anti-Causal System (both components diverge):

$$ |p_1 z^{-1}|>1 and |p_2 z^{-1}|>1 \rightarrow min(|p_1|,|p_2|)>|z| $$

if \$c<=1/4\$: \$\frac{1}{2}(1 - (1 - 4c)^{1/2})>|z|\$

if \$c>1/4\$: \$\sqrt{c}>|z|\$

For a Non-Causal System (one component diverge and the other converge):

$$ |p_1 z^{-1}|>1 and |p_2 z^{-1}|<1 \rightarrow |p_2|<|z|<|p_1| $$

if \$c<=1/4\$: \$\frac{1}{2}(1 - (1 - 4c)^{1/2})<|z|<\frac{1}{2}(1 + (1 - 4c)^{1/2})\$

if \$c>1/4\$: \$\sqrt{c}=|z|\$

in MATLAB, making:

h = tf([1],[1 -1 0],1); rlocus(h); axis equal;

you obtain the 'variable locus', though the correct interpretation of the c values is artificial here.

Root Locus with Variable K


| improve this answer | |
  • 1
    \$\begingroup\$ WOW +1 that takes me back to 1986 .I specialised in repeating this stuff at Uni .Im real rusty but I think you are correct. \$\endgroup\$ – Autistic Mar 27 '16 at 10:25
  • \$\begingroup\$ I fear this is the loong method. Matlab can make it easily. But while you dont identify the controller that is the algebraic form.... \$\endgroup\$ – Brethlosze Mar 27 '16 at 10:32
  • \$\begingroup\$ And actually nobody cares about ROC these times.... \$\endgroup\$ – Brethlosze Mar 27 '16 at 10:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.