10.1 Lecture Notes · Nonlinear and Time-Variant Systems
非线性与时变系统 · 课堂笔记
1. The System Hierarchy 系统层级★★★★★
Chapters 01 to 09 lived inside one assumption: the system is linear and time-invariant. Two independent properties hide in that phrase, and dropping each one in turn produces a ladder of progressively more general models.
前九章都建立在一个假设上:系统线性且时不变。这句话里其实藏着两个独立的性质,逐一放松,就得到一串越来越一般的模型。
The impulse response $h(\tau)$ is a function of the elapsed time $\tau$ only. A complex exponential is an eigenfunction: $e^{j\omega t}\mapsto H(\omega)\,e^{j\omega t}$, so the output contains exactly the input frequencies, each scaled by $H(\omega)$. No new frequency can appear.
冲激响应 $h(\tau)$ 只依赖经过的时间 $\tau$。复指数是特征函数:$e^{j\omega t}\mapsto H(\omega)e^{j\omega t}$,所以输出只含输入已有的频率,各自被 $H(\omega)$ 缩放,不会出现新频率。
The response now depends on the absolute time $t$ as well, written $h(t,\tau)$. The system is still linear (superposition holds), but applying the same impulse at a different time gives a different response. Multiplying by a slowly varying gain is the simplest example, and it places energy at the sidebands $f\pm f_m$.
响应还依赖绝对时间 $t$,记作 $h(t,\tau)$。系统仍线性(满足叠加),但同一冲激在不同时刻施加,响应不同。最简单的例子就是乘以缓变增益,它把能量放到边带 $f\pm f_m$。
The first kernel $h_1$ is the linear (possibly time-varying) part; the higher kernels $h_2, h_3,\dots$ multiply the input by itself, which is what creates harmonics and intermodulation. This is the Volterra series, the "Taylor series with memory" developed in Section 2.
第一个核 $h_1$ 是线性(可时变)部分;高阶核 $h_2,h_3,\dots$ 把输入自相乘,正是谐波与互调的来源。这就是 Volterra 级数,即第 2 节讲的“带记忆的泰勒级数”。
Two knobs, two consequences 两个开关,两种后果Linearity governs whether the input may be multiplied by itself (harmonics, intermodulation). Time-invariance governs whether $h$ may depend on absolute time $t$ (frequency translation, sidebands). They are independent: a system can break either, both, or neither.
线性决定输入能否自相乘(谐波、互调);时不变决定 $h$ 能否依赖绝对时间 $t$(频率搬移、边带)。两者独立:系统可以只破坏其一、同时破坏、或都不破坏。
2. From Taylor to Volterra 从泰勒展开到 Volterra★★★★
Start with a memoryless nonlinearity $y(t) = f\big(x(t)\big)$, a static curve such as a saturating amplifier. Expand $f$ as a Taylor series about an operating point $x_0$:
先看无记忆非线性 $y(t)=f(x(t))$,即一条静态曲线(如饱和放大器)。把 $f$ 在工作点 $x_0$ 做泰勒展开:
Feed in a tone $x(t)=A\cos(\omega t)$. The linear term reproduces $\omega$; the quadratic term contains $\cos^2(\omega t) = \tfrac12 + \tfrac12\cos(2\omega t)$, creating a DC offset and the second harmonic $2\omega$; the cubic term creates $3\omega$, and so on. With two tones, the quadratic term's cross product $2\cos(\omega_1 t)\cos(\omega_2 t) = \cos(\omega_1{-}\omega_2)t + \cos(\omega_1{+}\omega_2)t$ produces the intermodulation lines $\omega_1\pm\omega_2$. This is exactly what the demo's square-law and cubic systems show.
输入单音 $x(t)=A\cos(\omega t)$:线性项还原 $\omega$;平方项含 $\cos^2(\omega t)=\tfrac12+\tfrac12\cos(2\omega t)$,产生直流与二次谐波 $2\omega$;立方项产生 $3\omega$,依此类推。双音时,平方项的交叉乘积 $2\cos\omega_1 t\cos\omega_2 t=\cos(\omega_1-\omega_2)t+\cos(\omega_1+\omega_2)t$ 给出互调 $\omega_1\pm\omega_2$。演示里的平方律与立方系统正是如此。
A real system has memory: the output depends on the input's history, not just its present value. Replace each static power $x^n(t)$ in the Taylor picture by an $n$-fold convolution against a kernel $h_n$:
$$y(t) = \sum_{n=1}^{\infty} \int\!\cdots\!\int h_n(t,\tau_1,\dots,\tau_n)\,\prod_{i=1}^{n} x(t-\tau_i)\,d\tau_i$$$n=1$ is ordinary (time-varying) convolution; $n\ge 2$ are the nonlinear kernels. Truncating at $n=2$ or $3$ models mild distortion well. Letting $h_n$ depend on $t$ keeps it time-variant.
真实系统有记忆:输出依赖输入的历史而非仅当前值。把泰勒图景中每个静态幂次 $x^n(t)$ 换成对核 $h_n$ 的 $n$ 重卷积即得上式。$n=1$ 是普通(可时变)卷积,$n\ge2$ 是非线性核。截到 $n=2$ 或 $3$ 已能很好地刻画轻度失真;让 $h_n$ 依赖 $t$ 即保持时变。
3. Time-Variance Seen Through the Impulse Response 从冲激响应看时变★★★
The cleanest test for time-invariance uses the impulse response. Apply a delayed impulse and ask whether the output is just a delayed copy of the un-delayed response.
判断时不变最干净的办法是看冲激响应:施加一个延迟的冲激,问输出是否只是未延迟响应的平移副本。
A linear system is time-invariant if and only if its kernel depends only on the difference $t-\tau$:
$$h(t,\tau) = h(t-\tau) \quad\Longleftrightarrow\quad \text{delay then system} = \text{system then delay}.$$For an LTI system the impulse response keeps the same shape and only slides along the time axis. For an LTV system the very shape of the response changes with the absolute time $t$ at which the impulse arrives, so a delayed input is not simply a delayed output.
线性系统时不变,当且仅当其核只依赖差 $t-\tau$:$h(t,\tau)=h(t-\tau)$,等价于“先延迟再过系统 = 先过系统再延迟”。LTI 的冲激响应形状不变、只沿时间轴平移;LTV 的响应形状随冲激到达的绝对时刻 $t$ 而变,故延迟输入不等于延迟输出。
4. State-Space Form and the EKF 状态空间形式与扩展卡尔曼滤波★★★
Convolution and Volterra describe the input-output map directly. An equivalent and often more practical description introduces an internal state $s(t)$ that summarizes the system's memory. The most general form is nonlinear and time-variant at once:
卷积与 Volterra 直接描述输入输出映射。等价且常更实用的描述是引入内部状态 $s(t)$,把系统的记忆浓缩其中。最一般的形式同时是非线性、时变的:
- If $f,g$ are linear in $(s,x)$ with time-varying matrices: $\dot s = A(t)s + B(t)x,\ y = C(t)s + D(t)x$, this is an LTV system.
- If those matrices are constant, it reduces to an ordinary LTI state-space model.
- Keeping $f,g$ nonlinear gives the full NLTV case.
若 $f,g$ 对 $(s,x)$ 线性且矩阵随时间变化,得 LTV;矩阵为常数则退化为 LTI 状态空间;保留非线性即一般 NLTV。
Extended Kalman Filter(EKF)扩展卡尔曼滤波When $f,g$ are nonlinear, the EKF estimates the hidden state $s(t)$ from noisy measurements $y$ by linearizing $f$ and $g$ around the current estimate at each step(taking their Jacobians)and then running the standard Kalman predict-update recursion on that local linear model. It is the workhorse for tracking nonlinear, time-varying dynamics, and appears in biomedical state estimation such as model-based tracking of physiological signals.
当 $f,g$ 非线性时,EKF 在每一步把 $f,g$ 在当前估计附近线性化(取雅可比),再在该局部线性模型上跑标准卡尔曼预测-更新递推,从含噪测量 $y$ 估计隐藏状态 $s(t)$。它是跟踪非线性时变动态的主力工具,也用于生理信号的基于模型估计。
Why does the Volterra series need multidimensional kernels $h_2(t,\tau_1,\tau_2)$ instead of just a single $h_2(t,\tau)$?为什么 Volterra 的二阶核要用二维 $h_2(t,\tau_1,\tau_2)$,而不是一维 $h_2(t,\tau)$?
The second-order term multiplies the input at two possibly different past instants, $x(t-\tau_1)$ and $x(t-\tau_2)$. To weight every pair of delays independently you need a function of both $\tau_1$ and $\tau_2$. A one-dimensional kernel could only weight a single delay, which cannot express how two different points in the input's history jointly produce the output(the source of intermodulation between two tones).
二阶项把输入在两个可能不同的过去时刻相乘:$x(t-\tau_1)$ 与 $x(t-\tau_2)$。要对每一对延迟独立加权,就必须用 $\tau_1,\tau_2$ 的二元函数。一维核只能对单个延迟加权,无法表达输入历史中两个不同时刻如何共同产生输出(这正是双音互调的来源)。