9
$\begingroup$

In the field of digital signal processing, linear time-invariant systems play a distinguished role. These are the systems for which there exists an impulse response, a function $h:\mathbb{Z}\to\mathbb{C}$ such that for any input $x:\mathbb{Z}\to\mathbb{C}$ the output is just the convolution $x\ast h$ given by $(x\ast h)(n) = \sum_{m=-\infty}^\infty x(n-m)h(m)$. We restrict to cases where such sums converge, e.g. square-summable sequences.

Typically we focus on causal systems, those for which $h(n)=0$ when $n<0$, so future inputs do not affect the present output. The tools for analyzing these systems are equivalent to tools used in non-engineering math, but often known by different names, e.g. $z$-transforms instead of generating functions.

There are two subclasses of causal linear time-invariant systems which are commonly implemented in practice.

1) Finite impulse response systems are those for which $h$ has finite support. Each output value is a finite linear combination of input values, which can be computed directly.

2) Infinite impulse response systems with rational transfer functions are those for which $H(z) := \sum_{-\infty}^\infty z^{-n}h(n)$ is a rational function of the complex number $z$ (and which do not have finite impulse responses). This rationality is often implicit in the phrase "infinite impulse response". The input-output relations of these systems can be expressed in terms of difference equations of finite order. These give a way of computing the present output in terms of past outputs as well as present and past inputs such that the amount of computation, the requisite memory, and the delay are all bounded.

Question: Are there other causal linear time-invariant systems which can be implemented?

I fully expect that the answer is no -- just because engineers never talk about other kinds of systems -- but I've never seen such a statement proven or even formalized. I would be happy with any "reasonable" model of computation such that the computational load of computing the output at index $n$ does not grow with $n$. In particular the number of arithmetic operations, the amount of memory needed, and the delay from the time a new input is available to the time the corresponding output is available should all be bounded independent of how much of the input sequence has been processed so far.

Schmidlin's 2013 paper Realization of Irrational Transfer Functions, from which I took the title of this question, shows an implementation for which I believe the amount of computation is quadratic in the length of the input sequence (number of nonzeros), and so violates the delay constraint imposed here.

$\endgroup$
2
  • 1
    $\begingroup$ I guess there's nothing irrational about calling a function that's not rational "irrational," but it seems unusual. $\endgroup$ May 19, 2016 at 1:26
  • 5
    $\begingroup$ @ChristianRemling: Well, we do it to numbers. $\endgroup$
    – Noah Stein
    May 19, 2016 at 1:42

3 Answers 3

3
$\begingroup$

There is at least one (rather trivial) way to formalize "implementability" that has the property that the only implementable functions are rational. Suppose that the implementation is defined as a continuous mapping $f:\mathbb R^{N+1}\to \mathbb R^N$ such that the last coordinate of the image of the current state concatenated with the next input produces the next output. This model makes a reasonable (IMHO) compromise between allowing the infinite computation precision and disallowing some clever encoding of the entire past into a single number. The proof of the rationality of the implementable functions is then very simple. Since there is no continuous injection from $\mathbb R^{N+1}$ to $\mathbb R^N$, there are two beginnings of length $N+1$ that result in the same state of the computer. If we continue with $0$ input after that, we will have equal outputs from there on, resulting in a finite recurrence relation for $h$.

$\endgroup$
3
  • $\begingroup$ I'm having trouble seeing how this gets you a finite recurrence relation. Could you add some more detail on that? $\endgroup$
    – Noah Stein
    May 12, 2017 at 13:01
  • $\begingroup$ @NoahStein You get the same output from two inputs of the kind $\dots,0,0,x_1,x_2,\dots,x_{N+1},0,0,\dots$, so the convolution of $h$ with the difference of those inputs is $0$ starting with the $N+1$-st position. That is a finite recurrence relation on the tail (I assume casuality, of course, otherwise we have to discuss the setting of the problem) $\endgroup$
    – fedja
    May 13, 2017 at 16:24
  • $\begingroup$ I like this and it's been almost a year since I asked the question, so I'm marking it as the answer. One thing that still troubles me slightly is that it resembles a proof that a computer is a finite state transducer because of its finite memory. Despite that, we still prefer the Turing machine as the ideal model of a computer. However the fact that we think of an ideal DSP as transducing an input stream into an output stream rather than mapping finite strings to finite strings perhaps means that this finite memory argument is more appropriate here. $\endgroup$
    – Noah Stein
    May 15, 2017 at 14:54
0
$\begingroup$

Causal discrete-time signals that are linear combinations of real or complex exponentials do have rational transfer functions. However, not all causal discrete-time signals are linear combinations of real or complex exponentials.

For example, consider the causal LTI system whose (infinite) impulse response is

$$h (n) = \begin{cases} \frac{1}{1+n} & \text{ if } n \geq 0\\ \,\,\,0 & \text{ if } n < 0\end{cases}$$

Taking the Z-transform, we obtain the following non-rational transfer function

$$H (z) = \sum_{n=0}^{\infty} \frac{z^{-n}}{1+n} = - z \ln \left(\frac{z-1}{z}\right)$$

when $|z| \geq 1$ and $z \neq 1$. When $z=1$, we have the (divergent) harmonic series.

Can this LTI system be implemented? Using finite-precision arithmetic, $h (n)$ will eventually underflow at some very large $n$. Hence, we can truncate the infinite impulse response $h$, which produces an FIR filter that requires an astronomically long cascade of delays.

Of course, the same underflow would happen if we had the causal infinite impulse response $2^{-n}$. However, $2^{-n}$ is a real exponential and can be produced by the 1st order difference equation

$$y (n) - \frac 12 y (n-1) = x (n)$$

which requires only $1$ adder, $1$ multiplier and $1$ delay.

Exponentials — whether real or complex — have low complexity, i.e., they can be generated using few adders, multipliers and delays. Do note that discrete-time exponentials are eigenfunctions of the delay operator.

$\endgroup$
3
  • $\begingroup$ I see your point, but to my mind this skirts the central question. It seems kind of like saying that any function is computable because it's computable when restricted to inputs of bounded length. But there's a lot more to computability and complexity theory than that. $\endgroup$
    – Noah Stein
    Mar 11, 2017 at 2:19
  • $\begingroup$ @NoahStein I broke your question in two. Are there LTI systems with non-rational transfer functions? Yes, indeed there are. I gave one example. Are they implementable? I have no idea. My point was that IIR does not imply rational transfer function. I have no background in theoretical CS to address the 2nd question. $\endgroup$ Mar 11, 2017 at 8:35
  • $\begingroup$ @NoahStein Also, a DSP engineer would most likely truncate the impulse response $h (n) = \frac{1}{1+n}$ and then study the spectral distortion that such truncation causes. I suppose that is why DSP books do not worry much about infinite impulse responses that are not linear combinations of exponentials. Their seemingly high complexity is tamed with truncation. I, too, am curious to know if one can do something smarter than just truncate. $\endgroup$ Mar 11, 2017 at 8:58
0
$\begingroup$

A non-integer delay is infinite-dimensional. It can be implemented in an apparatus with a different sampling time. Also, continuous-time transfer functions can be implemented with analog devices, and may not have finite implementations with a fixed sample time.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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