Why more poles than zeroes?

Does causality fail due to instant signal change? I try to make up a recurrence, where $x_n$ depends on both $x_{n-1}$ as well as $x_{n+1}$ but they all can be interpreted as $x_{n+1}$ dependence on $x_{n}$ and $x_{n-1}$ and, thus, are causal.

Is it related with solving recurrent relations saying that P(x) in generating function $f(x) = f_0 + f_1 x + f_2 x^2 + \cdots = P(x)/R(x) \ \ \ \ \$ must have degree less than R(x) as Miguel A. Lerma says in Generating function of Linear Homogenous Recurrence. Here, $R(x) = 1 + r_1 x^1 + r_2 x^2 + \cdots$ is a reciprocal of the characteristic polynomial of our recurrence $x_n + c_1 x_{n+1} + \cdots = 0.$ This indeed seems to happen whenever which R(x) I try.

On the other hand, https://ccrma.stanford.edu/~jos/fp/Existence_Z_Transform.html seem to identify causality with pole values (if your pole > 1 then series does not converge, which means anticausality) rather than their number and others say that causality is $x_n = 0$ for all $n < 0.$ I do not see how this is related with poles/zeros ratio and my guess that poles > zeroes = causality may be wrong. I have asked to relate various kinds of causality here.

• I'm having trouble determining what your question is here. Could you try to make that more clear? Aug 5, 2013 at 12:32
• I feel embarrassed to making it more clear. You must know what are the zeroes and poles and that #zeroes ≤ #poles in any linear system. I bring the statement that stays that. I want to know why and ask why. I wonder how that can be made more clear?
– Val
Aug 5, 2013 at 13:04

I think the system is always non-causal if it has more zeros than poles. @Hilmar, your implementation might be possible digitally but if you see a transfer function like this: $H(z) = \frac{(z-1)(z-2)}{(z-3)}$, taking the inverse Z-Transform, $y(n-1)-3y(n-2) = x(n)-3x(n-1)+2x(n-2)$ is clearly non-causal and cannot be implemented real-time(of course you can store the signals and do processing offline, but real time implementation is impossible). So I guess Non-Causality is the answer, apart from the infinite high-frequency gain.

Update by Val Ok, I understand now. In wikipedia, we see that $$a_0 y_n + a_1 y_{n-1} + a_2 y_{n-2} + \cdots = b_0 + b_1 x_{n-1} + b_2 x_{n-2} + \cdots$$ is identical to $$H(z) = {b_0 + b_1 z^{-1} + b_2 z^{-2} + \cdots \over a_0 z^{0} + a_1 z^{-1} +\cdots}.$$ I have finally noted that there are no positive powers. That is, $a_0$ corresponds to the current output, $z^0 = y[n]$, and $\cdots = a_{-2} = a_{-1} = \mathbf{0} = b_{-1} = b_{-2} = \cdots$. If we had more zeroes then we have more power in the nominator and, after normalizing $H(z)$ so that $a_0$ has $z^0$, we still have a positive power of z in the nominator, which means that output depends on future input.

In the simplest case, $Y(z) = zX(z)-x_0$ corresponds to $y[i] = x[i+1]$, that is output depends on future input (we can also drop $x_0$ assuming our sequences are causal, i.e. $0 = y_{-1} = x_0$ aka $z^{-1}Y = X$ or $Y = zX$). It is curious that causal is an example of non-causal. Could anybody clarify it further?

It also worth noting that $(1-az^{-1})(1-bz^{-1})$ is not a zero of order two. It has equal number of zeroes and poles, since it is equal to $(z-a)(z-b)\over z^2.$

• I don't think that H(z) is correct here. The polynomials need to be written in $z^{-1}$ which restores causality. Please see my Answer 2 for a specific example of what I mean. Aug 6, 2013 at 20:58

In a causal discrete time system, the poles delay the impulse response so that no future samples are required. If you don't have enough poles, you may instead need a time machine (or do processing offline or with a "hidden" delay).

Note that the phase represented by walking CCW around a pole well inside the unit circle is about one sample time delay.

• I'm not sure I agree with that characterization. Any minimum phase FIR filter is causal and stable. [1 1.8 1.21 0.36 0.04]/4.41 makes a perfectly good FIR low pass filter. Aug 6, 2013 at 1:43
• Depends on when you want the output to appear. Assume a delay and you've added poles to a pre or post filter. Assume you have to output using all 5 FIR taps before you have all 5 of the corresponding inputs, and there is a causality problem. Aug 6, 2013 at 4:03
• Nope, there is no causality problem, but just an initial state problem. That's exactly the same as with an IIR filter. You don't know past samples when you turn the machine on, but after the first few samples that's cleared out. Aug 6, 2013 at 12:48
• Waiting for data to fill the initial state of a FIR filter is equivalent to adding zeros to the system. Aug 6, 2013 at 14:13
• @Hilmar Your suggestion is totally valid. Buffering can be done. But it's not the equivalent of an on-line processing. Say for example you're controlling a Nuclear Power Plant and there's a Controller which detects a catastrophic failure. That controller cannot wait even 1ms(1 more sample of data) to make its decision if it had a filter like this. Aug 6, 2013 at 19:22

If there are more zeros than poles, then there is added lags(power of Z^(-1)) in the output which makes the output more lagged while the input remain the same. This makes the system non-causal.

There are answers which considers inputs X in the nominator and characteristic polynomial in the denominator. Let me explain in terms of simple signal x[n]. It's z-transform, $$Z\{x[n]\} = x_0 + x_1 z^{-1} + x_2 z^{-2} + \cdots,$$ by definition. For instance,$$Z\{a_0, a_1, a_2\} = a_0 + a_1 z^{-1} + a_2 z^{-2} = {a_0 z^2 + a_1 z^1 + a_2 \over z^2 }.$$ Note that signal is causal by definion when it has all negative time values equal 0. That is, you cannot have $a_{-3}$ in the series. This means that you cannot have z with positive powers in the series, which means that in the fractional form, nominator powers cannot be greater than denominator.

Now, System is z-transform of the impulse response, which can be considered as a signal in time domain or a rational z-function $H(z)=Y(z)/X(z)$, which naturally comes out from system equation $\sum a_n y_n = \sum b_n x_n.$ System is causal if it's impulse response is causal.

You must put the transfer function in $$H(z)$$ form, not $$H(z^{-1})$$ form, when counting the number of poles and zeros. There are a lot of replies in this thread that are confused for this reason. If you make sure everything is in terms of positive powers of $z$, all this confusion will go away. That is when the statement "the number of zeros must be less than or equal to the number of poles in $H(z)$ to be causal" applies.