Chapter 6: Input–Output Description and Transfer Functions
Lesson 5: Stability, Causality, and Physical Realizability via Transfer Functions
This lesson formalizes three foundational “sanity checks” for transfer-function models of LTI systems: causality (no dependence on future inputs), stability (bounded inputs produce bounded outputs), and physical realizability (implementability with finite-dimensional dynamics and finite bandwidth constraints). We connect these properties to algebraic conditions on \( G(s) \), and we prove the key equivalences using convolution and Laplace-transform arguments introduced earlier in this chapter.
1. Definitions and a Diagnostic View
In Chapter 6 we represent an LTI input–output mapping by its impulse response \( h(t) \) and transfer function \( G(s) = \mathcal{L}\{h(t)\} \) (under standard existence assumptions). With zero initial conditions, the output satisfies convolution:
\[ y(t) = (h * u)(t) = \int_{-\infty}^{\infty} h(\tau)\,u(t-\tau)\,d\tau. \]
We now define three properties in a way that can be checked from \( h(t) \) or \( G(s) \).
Causality (LTI). The system is causal if \( y(t_0) \) depends only on values \( u(t) \) for \( t \le t_0 \). For LTI systems, causality is equivalent to:
\[ h(t)=0 \quad \text{for all } t < 0. \]
BIBO stability (bounded-input bounded-output). The system is BIBO stable if every bounded input \( |u(t)| \le M \) produces a bounded output \( |y(t)| \le K \).
Physical realizability (engineering meaning). In this course, we use “physically realizable” to mean: (i) causal, (ii) representable by a finite-order differential equation with real coefficients (equivalently a rational transfer function), and (iii) not requiring unbounded high-frequency gain (a practical constraint captured by properness or strict properness of \( G(s) \)).
For rational transfer functions \( G(s)=\dfrac{N(s)}D(s) \) with polynomials \( N, D \), define degrees \( n=\deg N \) and \( m=\deg D \). We call:
- proper if \( n \le m \),
- strictly proper if \( n < m \),
- improper if \( n > m \).
flowchart TD
A["Given transfer function G(s)=N(s)/D(s)"] --> B["Check degrees: deg(N) <= deg(D)?"]
B -->|no| C["Improper: noncausal / \nnot implementable as \nfinite-bandwidth block"]
B -->|yes| D["Compute poles: roots of D(s)"]
D --> E["Check stability: Re(p_i) < 0 for all poles?"]
E -->|no| F["Unstable (BIBO fails for rational causal LTI)"]
E -->|yes| G["Causal + stable candidate"]
G --> H["Optional: strictly proper? (deg(N) < deg(D))"]
H --> I["Preferable for physical blocks (finite high-frequency gain)"]
2. Causality Through Transfer Functions
We first prove the LTI impulse-response characterization, then connect it to polynomial degree conditions.
2.1 Causality ⇔ one-sided impulse response
Theorem 1. An LTI system is causal if and only if \( h(t)=0 \) for all \( t < 0 \).
Proof. If \( h(t)=0 \) for \( t < 0 \), then convolution reduces to:
\[ y(t) = \int_{-\infty}^{\infty} h(\tau)\,u(t-\tau)\,d\tau = \int_{0}^{\infty} h(\tau)\,u(t-\tau)\,d\tau. \]
For any fixed \( t \), the integrand uses input values \( u(t-\tau) \) with \( \tau \ge 0 \), hence \( t-\tau \le t \). Therefore \( y(t) \) depends only on input values at times not exceeding \( t \), which is causality.
Conversely, suppose the system is causal and assume for contradiction that there exists \( t_0 < 0 \) with \( h(t_0)\neq 0 \). Consider the input \( u(t)=\delta(t) \). Then \( y(t)=h(t) \). In particular, \( y(t_0)=h(t_0)\neq 0 \) at a negative time. But causality requires that the output at \( t_0 \) depend only on input values up to \( t_0 \); since \( \delta(t) \) is concentrated at \( t=0 \) (a future time relative to \( t_0 \)), we get a contradiction. Hence \( h(t)=0 \) for \( t < 0 \). ∎
2.2 Properness as an algebraic signature of causality/implementability
For rational \( G(s)=\dfrac{N(s)}{D(s)} \), causality in engineering practice is tightly linked to properness. The key idea is that Laplace transforms of time-derivatives correspond to multiplication by \( s \).
If \( n=\deg N \) exceeds \( m=\deg D \), perform polynomial long division:
\[ \frac{N(s)}{D(s)} = Q(s) + \frac{R(s)}{D(s)}, \quad \deg R < \deg D, \quad Q(s)=q_0 + q_1 s + \cdots + q_r s^r,\; r=n-m \ge 1. \]
Now interpret \( Q(s) \) as a time-domain operator on \( u(t) \). Since \( \mathcal{L}\{u^{(k)}(t)\} = s^k U(s) \) (zero initial conditions), the term \( s^k \) corresponds to differentiating the input. Equivalently, the impulse response of \( s^k \) is a distribution proportional to \( \delta^{(k)}(t) \).
Therefore, an improper transfer function implies the impulse response contains derivatives of impulses:
\[ h(t) = q_0 \delta(t) + q_1 \delta'(t) + \cdots + q_r \delta^{(r)}(t) + h_r(t), \]
where \( h_r(t) \) is the (causal) impulse response associated with the proper remainder \( \dfrac{R(s)}{D(s)} \). The presence of \( \delta'(t),\delta''(t),\dots \) indicates a dependence on \( u'(t),u''(t),\dots \), which is not physically implementable as a finite-bandwidth causal block and is non-robust to measurement noise.
Conclusion. In our modeling pipeline, a necessary condition for physical realizability is: \( \deg N \le \deg D \) (properness), and \( \deg N < \deg D \) (strict properness) is typically required when the system must attenuate sufficiently at high frequency.
3. BIBO Stability via Impulse Response and Poles
3.1 The L1 impulse response criterion
Theorem 2 (LTI BIBO stability). A causal LTI system is BIBO stable if and only if its impulse response is absolutely integrable:
\[ \int_{0}^{\infty} |h(t)|\,dt < \infty. \]
Proof (sufficiency). Let \( |u(t)| \le M \) for all \( t \). For causal LTI, \( y(t)=\int_0^\infty h(\tau)u(t-\tau)\,d\tau \). Then
\[ |y(t)| \le \int_0^\infty |h(\tau)|\,|u(t-\tau)|\,d\tau \le M \int_0^\infty |h(\tau)|\,d\tau. \]
If \( \int_0^\infty |h(\tau)|\,d\tau = H_1 < \infty \), then \( |y(t)| \le M H_1 \) for all \( t \). Hence bounded input implies bounded output. ∎
Proof (necessity). Suppose \( \int_0^\infty |h(\tau)|\,d\tau = \infty \). Define, for any \( T>0 \), a bounded input \( u_T(t) \) by
\[ u_T(t)=\begin{cases} \operatorname{sgn}(h(T-t)) & 0 \le t \le T \\ 0 & \text{otherwise}. \end{cases} \]
This input satisfies \( |u_T(t)| \le 1 \). Evaluate the output at time \( t=T \):
\[ y(T) = \int_0^\infty h(\tau)\,u_T(T-\tau)\,d\tau = \int_0^T h(\tau)\,\operatorname{sgn}(h(\tau))\,d\tau = \int_0^T |h(\tau)|\,d\tau. \]
Since the integral diverges as \( T \rightarrow \infty \), the output magnitude can be made arbitrarily large with a bounded input, contradicting BIBO stability. Hence BIBO stability implies \( \int_0^\infty |h(\tau)|\,d\tau < \infty \). ∎
3.2 Rational case: stability via pole locations
For strictly proper rational \( G(s) \) with distinct poles, partial fractions yield:
\[ G(s)=\sum_{k=1}^{m}\frac{c_k}{s-p_k} \quad \Longrightarrow \quad h(t)=\sum_{k=1}^{m} c_k e^{p_k t}\, \mathbf{1}_{t \ge 0}, \]
where \( \mathbf{1}_{t \ge 0} \) is the unit step. Then
\[ \int_0^\infty |h(t)|\,dt \le \sum_{k=1}^m |c_k| \int_0^\infty e^{\Re(p_k)t}\,dt, \]
which is finite if and only if \( \Re(p_k) < 0 \) for all poles. If any pole satisfies \( \Re(p_k) \ge 0 \), the corresponding exponential term does not decay, and the absolute integral diverges, breaking BIBO stability.
Corollary (common engineering criterion). For a causal rational LTI system with no pole cancellations, BIBO stability holds if all poles satisfy: \( \Re(p_k) < 0 \).
Remark on cancellations. If a pole is canceled by a zero (common factor between \( N(s) \) and \( D(s) \)), the input–output transfer function may appear stable while internal dynamics can still contain unstable modes. In this chapter we restrict ourselves to minimal transfer-function descriptions (no cancellations) when making stability claims from pole locations alone.
4. Physical Realizability via Transfer-Function Structure
4.1 Proper vs. strictly proper: relative degree
Define the relative degree \( r = m-n \) (denominator degree minus numerator degree). Then:
- \( r \ge 0 \) means \( G(s) \) is proper;
- \( r \ge 1 \) means \( G(s) \) is strictly proper and \( \lim_{|s|\rightarrow\infty} G(s)=0 \).
The limit behavior follows directly from polynomial degrees:
\[ \lim_{|s|\rightarrow\infty} \frac{N(s)}{D(s)} = \begin{cases} 0 & n < m \\ \dfrac{\text{leading coeff}(N)}{\text{leading coeff}(D)} & n=m \\ \infty & n > m. \end{cases} \]
This is a first-principles encoding of “finite high-frequency gain.” Improper models (\( n>m \)) imply unbounded gain as frequency increases, which is incompatible with any real actuator/sensor chain.
4.2 Time delay and non-anticipation
A pure delay has transfer function \( e^{-sT} \) with \( T \ge 0 \):
\[ G(s)=e^{-sT} \quad \Longleftrightarrow \quad y(t)=u(t-T). \]
This is causal for \( T \ge 0 \). In contrast, a time advance \( e^{+sT} \) with \( T>0 \) implies \( y(t)=u(t+T) \), which depends on future input values and is non-causal (hence not physically realizable).
4.3 Example: ideal differentiator vs. realizable approximation
The ideal differentiator has \( G(s)=s \), which is improper and amplifies high-frequency noise. A standard realizable approximation is a first-order “dirty derivative”:
\[ G_{\text{approx}}(s)=\frac{s}{\tau s + 1}, \quad \tau > 0. \]
This is proper (degrees equal), and its gain saturates at high frequency: \( \lim_{|s|\rightarrow\infty} G_{\text{approx}}(s)=\dfrac{1}{\tau} \). The parameter \( \tau \) trades off approximation fidelity (small \( \tau \)) and noise sensitivity (large high-frequency gain).
flowchart TD
U["u(t) input"] --> B1["First-order section 1/(tau*s+1)"]
B1 --> B2["Gain 1/tau"]
B2 --> Y["y(t) approx derivative"]
note1["Pick tau: small tau = closer to s, \nbut more noise amplification"] --- B1
5. Interconnections: What Is Preserved?
From Lesson 4, interconnections produce new transfer functions via algebra. Here we record what happens to causality, properness, and stability.
5.1 Series and parallel
For series \( G_{\text{series}}(s)=G_1(s)G_2(s) \) and parallel \( G_{\text{par}}(s)=G_1(s)+G_2(s) \):
- If \( G_1, G_2 \) are proper, then \( G_{\text{series}} \) is proper and \( G_{\text{par}} \) is proper.
- If \( h_1(t), h_2(t) \) are causal (zero for \( t<0 \)), then the resulting impulse responses are also causal: series corresponds to convolution of impulse responses, and parallel corresponds to addition.
- Stability is preserved under series/parallel if each component is BIBO stable (absolute integrability is preserved under convolution and addition).
5.2 Feedback (well-posedness and closed-loop poles)
For the standard negative-feedback loop with forward path \( G(s) \) and feedback \( H(s) \), the closed-loop transfer is:
\[ G_{\text{cl}}(s)=\frac{G(s)}{1+G(s)H(s)}. \]
Even if \( G \) and \( H \) are stable and proper, the closed-loop system can be unstable if \( 1+G(s)H(s) \) has zeros (closed-loop poles) with real part not strictly negative. In this chapter’s language: stability is determined by the pole set of \( G_{\text{cl}}(s) \), i.e., roots of \( D_{\text{cl}}(s)=D(s)D_H(s)+N(s)N_H(s) \) when expressed over a common denominator.
6. Python Lab: Checking Properness, Causality Proxy, and Pole Stability
We implement practical checks for rational transfer functions: (i)
properness (\( \deg N \le \deg D \)), (ii) pole
stability (\( \Re(p_k) < 0 \)), and (iii)
impulse-response integrability heuristics (numerical). Recommended
libraries: control (python-control),
scipy.signal, numpy.
import numpy as np
def degrees(num, den):
# trim leading zeros
num = np.trim_zeros(np.array(num, dtype=float), 'f')
den = np.trim_zeros(np.array(den, dtype=float), 'f')
return (len(num)-1, len(den)-1)
def is_proper(num, den):
n, m = degrees(num, den)
return n <= m
def poles_of_den(den):
den = np.trim_zeros(np.array(den, dtype=float), 'f')
return np.roots(den)
def is_stable_ct(den, tol=1e-12):
p = poles_of_den(den)
return np.all(np.real(p) < -tol)
# Example 1: improper differentiator G(s)=s
num1, den1 = [1, 0], [1] # s / 1
print("G1 proper?", is_proper(num1, den1))
# Example 2: realizable approximation s/(tau s + 1)
tau = 0.05
num2, den2 = [1, 0], [tau, 1]
print("G2 proper?", is_proper(num2, den2))
print("G2 stable?", is_stable_ct(den2))
# Optional: use python-control for impulse/step responses
try:
import control
G2 = control.tf(num2, den2)
t = np.linspace(0, 2, 2000)
t_imp, y_imp = control.impulse_response(G2, T=t)
# crude absolute-integral approximation of |h(t)|
H1_approx = np.trapz(np.abs(y_imp), t_imp)
print("Approx ∫|h(t)| dt over [0,2]:", H1_approx)
except Exception as e:
print("python-control not available in this environment:", e)
Interpretation: \( \deg N > \deg D \) flags an improper model; for causal physical blocks, prefer \( \deg N \le \deg D \). For stability, checking \( \Re(p_k) < 0 \) is decisive for causal rational models without cancellations.
7. C++ Lab: Companion-Matrix Pole Computation and Checks
In C++, a robust way to compute polynomial roots is to use the companion
matrix and an eigenvalue solver. The eigenvalues of the companion matrix
of \( D(s) \) equal the roots of
\( D(s)=0 \). Below uses Eigen for linear
algebra.
#include <iostream>
#include <vector>
#include <complex>
#include <Eigen/Dense>
int degree(const std::vector<double>& a) {
int i = 0;
while (i < (int)a.size() && std::abs(a[i]) < 1e-15) i++;
return (int)a.size() - i - 1;
}
bool isProper(const std::vector<double>& num, const std::vector<double>& den) {
return degree(num) <= degree(den);
}
// Build companion matrix for monic polynomial: s^n + c1 s^(n-1) + ... + cn
// If den is not monic, normalize first.
Eigen::MatrixXd companionMatrix(const std::vector<double>& den) {
// den: [a0, a1, ..., an] represents a0 s^n + a1 s^(n-1) + ... + an
int n = (int)den.size() - 1;
double a0 = den[0];
Eigen::MatrixXd C = Eigen::MatrixXd::Zero(n, n);
// first row: -[a1/a0, a2/a0, ..., an/a0]
for (int j = 0; j < n; ++j) {
C(0, j) = -den[j + 1] / a0;
}
// subdiagonal ones
for (int i = 1; i < n; ++i) {
C(i, i - 1) = 1.0;
}
return C;
}
bool isStableCT(const std::vector<double>& den, double tol = 1e-12) {
int n = (int)den.size() - 1;
if (n <= 0) return true; // constant denominator
Eigen::MatrixXd C = companionMatrix(den);
Eigen::EigenSolver<Eigen::MatrixXd> es(C);
auto eig = es.eigenvalues();
for (int i = 0; i < eig.size(); ++i) {
std::complex<double> p(eig[i].real(), eig[i].imag());
if (p.real() >= -tol) return false;
}
return true;
}
int main() {
// Example: G(s) = s / (tau s + 1)
double tau = 0.05;
std::vector<double> num = {1.0, 0.0}; // s
std::vector<double> den = {tau, 1.0}; // tau s + 1
std::cout << "Proper? " << (isProper(num, den) ? "yes" : "no") << "\n";
std::cout << "Stable (CT pole check)? " << (isStableCT(den) ? "yes" : "no") << "\n";
return 0;
}
Notes: Properness is a degree check. Stability is verified by eigenvalues of the companion matrix (the poles). This is a numerically standard technique in computational system theory.
8. Java Lab: Polynomial Roots and Stability Check (Apache Commons Math)
In Java, Apache Commons Math provides solvers (e.g.,
Laguerre) for polynomial roots in the complex plane. We use it to check
pole locations and properness.
import org.apache.commons.math3.analysis.polynomials.PolynomialFunction;
import org.apache.commons.math3.analysis.solvers.LaguerreSolver;
import org.apache.commons.math3.complex.Complex;
public class TransferFunctionChecks {
static int degree(double[] coeffDesc) {
int i = 0;
while (i < coeffDesc.length && Math.abs(coeffDesc[i]) < 1e-15) i++;
return coeffDesc.length - i - 1;
}
static boolean isProper(double[] numDesc, double[] denDesc) {
return degree(numDesc) <= degree(denDesc);
}
// Commons Math PolynomialFunction expects coefficients in ascending powers:
// p(x) = a0 + a1 x + ... + an x^n
static double[] toAscending(double[] coeffDesc) {
double[] asc = new double[coeffDesc.length];
for (int i = 0; i < coeffDesc.length; i++) {
asc[i] = coeffDesc[coeffDesc.length - 1 - i];
}
return asc;
}
static boolean isStableCT(double[] denDesc, double tol) {
int n = degree(denDesc);
if (n <= 0) return true;
double[] denAsc = toAscending(denDesc);
PolynomialFunction p = new PolynomialFunction(denAsc);
LaguerreSolver solver = new LaguerreSolver();
Complex[] roots = solver.solveAllComplex(denAsc, 0.0);
for (Complex r : roots) {
if (r.getReal() >= -tol) return false;
}
return true;
}
public static void main(String[] args) {
// G(s) = s / (tau s + 1)
double tau = 0.05;
double[] numDesc = new double[] {1.0, 0.0}; // s
double[] denDesc = new double[] {tau, 1.0}; // tau s + 1
System.out.println("Proper? " + isProper(numDesc, denDesc));
System.out.println("Stable (CT)? " + isStableCT(denDesc, 1e-12));
}
}
Practical note: numerical root finding has sensitivity for high-order polynomials. For moderate orders (typical in early coursework), this approach is suitable. For higher orders, consider scaling and robust polynomial root routines.
9. MATLAB/Simulink Lab: tf, pole, Properness,
and Closed-Loop Checks
MATLAB Control System Toolbox provides direct support for transfer functions and stability checks.
% Example: differentiator approximation G(s) = s/(tau s + 1)
tau = 0.05;
G = tf([1 0],[tau 1]);
% Properness via degrees
[num, den] = tfdata(G,'v');
degN = length(num)-1;
degD = length(den)-1;
isProper = (degN <= degD)
% Poles and stability
p = pole(G)
isStable = all(real(p) < 0)
% Impulse response and numerical L1 check over finite window
t = linspace(0,2,2000);
h = impulse(G,t);
H1approx = trapz(t, abs(h))
% Feedback example: Gcl = G/(1+G)
Gcl = feedback(G, 1); % negative feedback by default
pcl = pole(Gcl)
isStableCL = all(real(pcl) < 0)
Simulink hint (conceptual).
Use a Transfer Fcn block for \( G(s) \),
feed a bounded input (e.g., step or sine), and observe output
boundedness. For differentiator approximation, compare noise
amplification by adding a Band-Limited White Noise source.
(The algebraic checks remain primary; simulation is supportive
evidence.)
10. Wolfram Mathematica Lab: Poles, Properness, and Impulse Response
Mathematica can symbolically manipulate transfer functions and compute inverse Laplace transforms (when possible).
(* Define G(s) = s/(tau s + 1) *)
tau = 1/20;
G[s_] := s/(tau s + 1);
(* Properness check via degrees of numerator/denominator polynomials *)
num = Numerator[Together[G[s]]];
den = Denominator[Together[G[s]]];
degN = Exponent[num, s];
degD = Exponent[den, s];
isProper = (degN <= degD)
(* Poles: roots of denominator *)
poles = s /. NSolve[den == 0, s]
isStable = And @@ (Re[#] < 0 & /@ poles)
(* Impulse response h(t) = L^{-1}{G(s)} *)
h[t_] := InverseLaplaceTransform[G[s], s, t, Assumptions -> t >= 0]
(* Numerical absolute-integral approximation on [0,2] *)
NIntegrate[Abs[h[t]], {t, 0, 2}]
For many rational functions,
InverseLaplaceTransform returns closed forms that make
stability/casuality reasoning transparent (exponentials for poles with
negative real parts).
11. Problems and Solutions
The following problems reinforce causality/properness, BIBO stability, and realizability checks using only tools developed through Chapter 6.
Problem 1 (Properness and “hidden differentiation”). Consider \( G(s)=\dfrac{s^2+1}{s+2} \). (a) Is it proper? (b) Perform polynomial division and interpret the result in time domain.
Solution. (a) Here \( \deg N=2 \), \( \deg D=1 \), so \( \deg N > \deg D \) and the transfer function is improper.
(b) Divide:
\[ \frac{s^2+1}{s+2} = s-2 + \frac{5}{s+2}. \]
Thus the impulse response contains a derivative-of-impulse component: \( s \) corresponds to \( \delta'(t) \), and the constant \( -2 \) corresponds to \( -2\delta(t) \), while \( \dfrac{5}{s+2} \) corresponds to \( 5e^{-2t}\mathbf{1}_{t\ge 0} \). Hence the model requires differentiation (non-robust, not physically realizable as an ideal block).
Problem 2 (Impulse-response proof of causality). Starting from convolution \( y(t)=\int_{-\infty}^{\infty} h(\tau)u(t-\tau)\,d\tau \), prove that if \( h(t)=0 \) for \( t<0 \), then the system is causal.
Solution. If \( h(\tau)=0 \) for \( \tau<0 \), then:
\[ y(t)=\int_{0}^{\infty} h(\tau)u(t-\tau)\,d\tau. \]
For every \( \tau \ge 0 \), the integrand uses \( u(t-\tau) \) with \( t-\tau \le t \). Therefore \( y(t) \) depends only on input values up to time \( t \), which is precisely causality.
Problem 3 (BIBO stability from absolute integrability). Let \( h(t)=e^{-at}\mathbf{1}_{t\ge 0} \). Determine for which \( a \) the system is BIBO stable.
Solution. Compute:
\[ \int_0^\infty |h(t)|\,dt = \int_0^\infty e^{-at}\,dt = \begin{cases} \frac{1}{a} & a > 0 \\ \infty & a \le 0. \end{cases} \]
Hence BIBO stability holds if and only if \( a>0 \), which matches the pole location of \( \dfrac{1}{s+a} \) at \( s=-a \) having negative real part.
Problem 4 (Pole test on a rational transfer function). Consider \( G(s)=\dfrac{s+3}{(s+1)(s-2)} \). (a) Is the system proper? (b) Is it BIBO stable (assuming minimal description)?
Solution. (a) \( \deg N=1 \), \( \deg D=2 \), so it is strictly proper.
(b) Poles are at \( s=-1 \) and \( s=2 \). Since \( \Re(2)=2 > 0 \), there is a right-half-plane pole, hence the impulse response contains an exponentially growing term and \( \int_0^\infty |h(t)|dt \) diverges. Therefore the system is not BIBO stable.
Problem 5 (Feedback can destabilize). Let \( G(s)=\dfrac{k}{s+1} \) and negative feedback with \( H(s)=1 \). Find \( G_{\text{cl}}(s) \) and determine for which \( k \) the closed loop is stable.
Solution. The closed-loop transfer is:
\[ G_{\text{cl}}(s)=\frac{G(s)}{1+G(s)}=\frac{\frac{k}{s+1}}{1+\frac{k}{s+1}} =\frac{k}{s+1+k}. \]
The closed-loop pole is at \( s=-(1+k) \). Stability requires \( \Re(-(1+k)) < 0 \), i.e., \( 1+k > 0 \) so \( k > -1 \).
Problem 6 (Designing a realizable differentiator approximation). For \( G_{\text{approx}}(s)=\dfrac{s}{\tau s + 1} \): (a) show it is proper, (b) find its pole, (c) state the stability condition on \( \tau \).
Solution. (a) Both numerator and denominator have degree 1, hence proper. (b) The pole satisfies \( \tau s + 1 = 0 \Rightarrow s=-\dfrac{1}{\tau} \). (c) Stability requires \( \Re\!\left(-\dfrac{1}{\tau}\right) < 0 \), which holds for \( \tau > 0 \).
12. Summary
We established rigorous criteria linking LTI properties to transfer-function structure. Causality is equivalent to a one-sided impulse response and is practically enforced by properness of rational models. BIBO stability is equivalent to absolute integrability of \( h(t) \); for minimal rational systems, it reduces to the pole condition \( \Re(p_k) < 0 \). Physical realizability, in a control-engineering sense, typically requires causal proper models with finite high-frequency gain, motivating strictly proper dynamics or proper “filtered” approximations of ideal operators such as differentiation.
13. References
- Wiener, N. (1949). Extrapolation, interpolation, and smoothing of stationary time series. Annals of Mathematical Statistics (foundational linear systems/correlation theory context).
- Titchmarsh, E.C. (1926). The zeros of certain integral functions. Proceedings of the London Mathematical Society, 25, 283–302. (analytic foundations related to one-sided transforms/causality themes).
- Paley, R.E.A.C., & Wiener, N. (1934). Fourier transforms in the complex domain. Acta Mathematica, 61, 149–191. (analytic underpinnings for causality/transform relations).
- Hurwitz, A. (1895). Ueber die Bedingungen, unter welchen eine Gleichung nur Wurzeln mit negativen reellen Theilen besitzt. Mathematische Annalen, 46, 273–284. (pole-location stability foundations).
- Bode, H.W. (1937). Relations between attenuation and phase in feedback amplifier design. Bell System Technical Journal, 16(4), 421–454. (frequency-domain realizability constraints; classical).
- Foster, R.M. (1924). A reactance theorem. Bell System Technical Journal, 3, 259–267. (network synthesis realizability framework).
- Cauer, W. (1926). Theorie der linearen Wechselstromschaltungen. Archiv für Elektrotechnik, 17, 355–388. (realizability/synthesis of rational driving-point functions).
- Bott, R., & Duffin, R.J. (1949). Impedance synthesis without use of transformers. Journal of Applied Physics, 20, 816–816. (realizability of rational impedances).
- Youla, D.C. (1961). A new theory of broadband matching. IRE Transactions on Circuit Theory, 8(1), 48–60. (realizability and rational approximation constraints).