离散时间系统
$$ \begin{align*} \newcommand{\dif}{\mathop{}\!\mathrm{d}} \newcommand{\belowarrow}[1]{\mathop{#1}\limits_{\uparrow}} \newcommand{\bd}{\boldsymbol} \newcommand{\L}{\mathscr{L}} \newcommand{\xleftrightarrow}[1]{\stackrel{#1}{\longleftrightarrow}} \end{align*} $$简单的离散时间系统
这里给出一些常用的离散时间系统的时域表达式与频域表达式
累加器
$$ \begin{align} y[n] &= \sum_{\ell = -\infty}^{+\infty} x[\ell]\\ &=y[n-1]+x[n]\\ &=y[-1]+\sum_{\ell = 0}^{+\infty} x[\ell] \end{align} $$滑动平均滤波器
$$ \begin{align} y[n] &= \frac{1}{M} \sum_{\ell = 0}^{M-1} x[n-\ell]\\ &= y[n-1]+\frac{1}{M}(x[n]-x[n-M]) \end{align} $$指数加权移动平均滤波器
$$ \begin{align} y[n]=\alpha y[n-1]+x[n] \end{align} $$中值滤波器
$$ y[n] = \text{med}\{ x[n-K],\cdots,x[n],\cdots,x[n+K]\} $$离散时间系统的性质与分类
线性系统
线性系统 的定义如下:若 $y_1[n]$ 和 $y_2[n]$ 分别是 $x_1[n]$ 和 $x_2[n]$ 的响应,则当输入为:
$$ x[n]=\alpha x_1[n] + \beta x_2[n] $$时,其响应为:
$$ y[n]=\alpha y_1[n] + \beta y_2[n] $$Tip
例:证明:中值滤波器是非线性系统
Note
证:通过特例证明是最快的方法,我们不妨设 $x_{k}[n]=\delta[n-k]$,显然:
若是线性系统,则令 $x[n]=x_{-k}[n]+\cdots+x_{0}[n]+\cdots+x_{k}[n]$,显然:
时不变系统
对于 时不变(移不变)离散时间系统,若 $x_1[n]$ 的响应是 $y_1[n]$,则 $x[n]=x_1[n-n_0]$ 的响应是 $y[n]=y_1[n-n_0]$
一种傻瓜判断方法就是将 $y_1[n]$ 中的 所有的 $n$ 替换成 $n-n_0$ 得到 $y_1[n-n_0]$,然后再将 $y_1[n]$ 中的 所有的 $x_1[n]$ 里面直接加上个 $-n_0$ 得到 $y[n]$,比较 $y_1[n-n_0]$ 和 $y[n]$,若相同就是时不变系统。
Tip
例:证明:中值滤波器是时不变系统
Note
证:设 $y_1[n] = \text{med}\\{ x_1[n-K],\cdots,x_1[n],\cdots,x_1[n+K]\\}$,令 $x[n]=x_1[n-n_0]$,则:
所以中值滤波器是时不变系统。¶
因果系统
因果系统 是指:$y[n_0]$ 仅取决于 $x[n],n\leq n_0$,而与 $n\lt n_0$ 的样本无关。
稳定系统
稳定系统 指的是若 $\vert x[n] \vert < B_x$,则 $\vert y[n] \vert < B_y$
稳定性的证明与级数的有界性证明很类似,你可以尝试证明一下前面滤波器是稳定系统。
无源与无损
无源系统 指的是对于每一个输入序列,有:
$$ \sum_{n=-\infty}^{+\infty} |y[n]|^2 \leq \sum_{n=-\infty}^{+\infty} |x[n]|^2 < \infty $$当等号成立时,称为 无损系统
冲激响应与阶跃响应
冲激响应 $h[n]$ 即输入为 $\delta[n]$ 的系统响应。阶跃响应 $s[n]$ 即输入为 $u[n]$ 的系统响应。在信号课程中多用冲激响应,而在其他课程中则多用阶跃响应。
利用冲激判断LTI系统特性
稳定性
若 $x[n]$ 有界,即 $\vert x[n]\vert \lt B_x<\infty$,如果系统是稳定系统,则 $h[n]$ 也有界,因为:
$$ \begin{align} |y[n]| &= |\sum_{k=-\infty}^{+\infty} h[k] x[n-k]|\\ &\leq \sum_{k=-\infty}^{+\infty} |h[k]| \, |x[n-k||\\ &= B_x \sum_{k=-\infty}^{+\infty} |h[k]|< B_x B_h <\infty \end{align} $$因果性
如果系统是因果系统,则 $n<0$ 时,$h[n]=0$,因为:
$$ \begin{align} y[n] &= \sum_{k=-\infty}^{+\infty} h[k] x[n-k]\\ &= \sum_{k=-\infty}^{-1} h[k] x[n-k]+\sum_{k=0}^{+\infty} h[k] x[n-k] \end{align} $$注意到 $x[n-k],\;(k<0)$ 对应的是未来的值,这部分不应该对输出有作用,所以 $\sum_{k=-\infty}^{-1} h[k] x[n-k]=0$,即 $h[n]<0,\;(n<0)$
LTI系统的差分方程
LTI 系统的输入输出常用差分方程解出:
$$ \sum_{k=0}^N d_k y[n-k] = \sum_{k=0}^M p_k x[n-k] $$方程中,$y[n]$ 的阶数为 $N$,$x[n]$ 的阶数为 $M$,$\max\{M,N\}$ 称为差分方程的阶数。线性系统的差分方程只有一次幂,且不存在相乘项。
在求解差分方程前,让我们先对其作个变换,介绍几个概念。
$$ \begin{align} y[n] &= \sum_{k=0}^M \frac{p_k}{d_0} x[n-k]+\sum_{k=1}^N \frac{d_k}{d_0} y[n-k] \\ &= 激励+反馈 \end{align} $$如果输出仅仅只用到激励,而与反馈无关,则称为 Fenite Impulse Response(非递归数字系统),简称:FIR系统。
如果输出同时用到了激励与反馈,那么称为 Infinite Impulse Response(递归数字系统),简称:IIR系统。
如果只用到了反馈,没有输入,则称为 自反馈系统,在此我们不讨论这个。
求解差分方程
通过解差分方程求响应不是什么容易的事,主要的方法有:
- 离散时域求解法
- 迭代法
- 变换域求解法
- Z变换法
迭代法
给出初始条件与输入,我们可以不断地迭代出响应。比如下面这个例子:
[!TIP] 例题:已知系统差分方程为$y[n]-ay[n-1]=x[n]$ 试求其冲激响应(初始状态为 $y[-1]=0$)
[!NOTE]
解:$x[n]=\delta[n]$ 且 $y[-1]=0$,从而我们可以先求出 $h[0]$:
然后可以不断迭代迭代:
$$ h[1]=ah[1]+0=a\\ h[2]=ah[1]+0=a^2\\ \vdots\\ h[n]=ah[n-1]+0=a^n $$
从而可以解出:
一个系统能通过递推求出,则必须有初始松弛条件(若 $x[n]=0,\,n 对于 FIR系统,我们可以通过递归求出任意输出,比如: 我们先讨论一下解的结构。模仿数学分析中的分析过程,我们可以定义映射 $L[y]=\sum_{k=0}^N d_k y[n-k]$,容易证明,$L[y]$ 满足: 可见,$L[y]$ 是线性映射。我们考虑齐次方程:$L[y]=0$,若 $y_1,y_2,\cdots,y_N$ 是相互独立的解,则 $y=C_1 y_1+C_2 y_2+\cdot+C_N y_N$ 同样是一个解,如果 $C_1,C_2,\cdots,C_N$ 相互独立,那么 $y$ 称为 通解,$y_1,y_2,\cdots,y_N$ 称为 基础解系。 对于 $L[y]=f(x)$,若 $y[x]$ 是 $L[y]=0$ 的解,$\tilde{y}[x]$ 是 $L[y]=f(x)$ 的解,则 $\alpha y[x]+\tilde{y}[x]$ 也是 $L[y]=f(x)$ 的解。我们称 $\tilde{y}[x]$ 是一个 特解。 综上,求解差分方程实际上就是求解特解与通解,然后利用初始条件得到唯一解。下面我们先求通解,然后求特解,最后通过一道例题来讲讲如何使用初始条件。 先考虑一阶齐次差分方程: 根据前面的线性性可知,$y[0]$ 可以取任意值。因此,我们推测通解的形式可能为 $y_c[n]=\lambda^n$,于是再代入二阶方程: 解得:$\lambda_0=0$,$\lambda_{1,2}=\dfrac{-p\pm\sqrt{p^2-4q}}{2}$。根据 $\Delta=p^2-4q$ 的值,可分为三种情况: ① $\Delta>0$,解为:$y_1=\lambda_1^n$,$y_2=\lambda_2^n$ 不解释 ② $\Delta=0$,解为:$y_1=\lambda_1^n$,$y_2=n \lambda_1^n$ 我们可以先求出一个解:$y_1=\lambda_1^n=(\frac{-p}{2})^n$,然后令 $y_2=f(n) \lambda_1^n$,代入方程中: ③ $\Delta<0$,解为复根 $y_1=\lambda_1^n$,$y_2=\lambda_2^n$ 同① 可见,如果包含重根,则需要乘一个 $n$。 我们将 $y_c[n]=\lambda^n$ 代入回一般的齐次差分方程,有: 除了 $\lambda=0$ 外,解括号中的 $N$ 阶多项式可以得到 $N$ 个解:$\lambda_1,\lambda_2,\cdots,\lambda_N$。从这 $N$ 个根,如果这 $N$ 个根彼此不同,则通解为: 如果有多重根,不妨设 $\lambda_1$ 是 $m$ 重根,则: 我们作如下假设:特解 $y_p[n]$ 与输入 $x[n]$ 具有相同形式。比如: [!TIP]
计算差分方程: 的全解 $y[n]$,$n>0$,其中,$x[n]=u[n]$,$y[-1]$ 为初始条件。 Note 解:(解法一)令 $x[n]=0$,则特征根为: 故齐次方程的通解为:$y_c[n]=C(-a)^n$. 当 $n>0$ 时,$x[n]$ 为常数,故设特解也是常数,即: 代入原方程,有: 故差分方程的特解为:$y_p[n]=\dfrac{1}{1+a_1}u[n]$ 因此全解为: 为求解 $C$,计算差分方程在 $n=0$ 处的值: 在计算全解在 $n=0$ 处的值: 从而 最终得到: 注意到我们先将全解求出来后,才求出 $C$ 的值,我们也可以求出通解后直接求 $C$ 的值。 Note 解:(解法二)上面已经求出其通解为: 求齐次方程 $y[0]$ 的值: 由于在通解上已考虑了 $y[-1]$ 的值,在求特解时我们令 $y[-1]=0$,从而: 从而全解为: 解法二中,将解分成了零输入响应 $y_{zi}[n]$ 与零状态响应 $y_{zs}[n]$。这种分解方法常用于语言等信号分析中,当分析某一帧时,把输出分成上一帧所产生的影响(零输入),与当前帧的影响(零状态)。 若 LTI 系统输入一个正弦信号:$x[n]=A\cos(\omega_0 n+\phi)$,则输入必然也是一个同频率的正弦信号: 我们将 $\tau_p(\omega_0)=-\frac{\theta(\omega)}{\omega_0}$ 称为 相位延迟,$\tau_g(\omega)=-\frac{\dif \theta(\omega)}{\dif \omega}$ 称为 群延迟。 一种比较简单的物理意义是:对于窄带信号,相位延迟是载波信号的延迟,群延迟是包络的延迟。 我们将在讲 FIR 滤波器时进一步讨论这两种延迟。 Tip 4.4 $y[n]=(x[n])^2$ 称为平方运算,问平方运算是线性的吗?是时变的吗?是因果的吗? Note 解:我们逐条验证。线性性 时不变性 因果性:$y[n]$ 只与 $n$ 时刻的 $x$ 值有关,故满足因果性。 Tip 4.7 证明中值滤波器是时不变系统 Note 证:设 $y_1[n] = \text{med}\\{ x_1[n-K],\cdots,x_1[n],\cdots,x_1[n+K]\\}$,令 $x[n]=x_1[n-n_0]$,则: [!TIP]
4.31 求 $h_1[n],h_2[n],h_3[n]$ 组合成的系统的总冲激响应,其中, Note 解:没啥技巧,就代公式: $$ y[n]+a_1 y[n-1]+a_2 y[n-2]=b_0 x[n]+b_1x[n-1]+b_2[n-2]
$$ 求频率响应表达式。常数 $b_i,\;i=1,2,3$ 为何值时,对所有 $\omega$ 值幅度响应是一个常数? [!NOTE]
解:对方程进行离散傅里叶变换: 从而频率响应的表达式为: 幅度响应的表达式为: 当 $b_0=b_1:a_1=b_2:a_2$ 时,对所有 $\omega$ 值幅度响应是常数 $b_0$ 观察幅度响应的表达式,可发现 $b_0$ 与 $b_2$ 是对称的,故当 $b_2=b_1:a_1=b_0:a_2$ 时,对所有 $\omega$ 值幅度响应是常数 $b_2$ 另外,当 $b_i=0$ 时,幅度响应恒为 0 Caution 这实际上叫做全通系统,它的幅度响应为常数,并且具有如下形式:解析法
求通解
求特解
输入 特解$y_p[n]$ $A$(常数) $C$ $AM^n$ $CM^n$ $An^M$ $C_0 n^M +C_1 n^{M-1}+\cdots+C_M$ $A^n n^M$ $A^n (C_0 n^M +C_1 n^{M-1}+\cdots+C_M)$ $A\cos \omega_0 n$
$A\sin \omega_0 n$$C_1 A\cos \omega_0 n +C_2 A\sin \omega_0 n$ 例题
%solve difference equations ak y[n-k]=bk x[n-k]
y = filter(b,a,x);
% b = [b0, b1, ..., bM];
% a = [a0, a1, ..., aN];
%compute the impulse response
h = impz(b,a,n);
相位延迟与群延迟
习题
$$
\displaylines{
其中,\\
h_1[n] \circledast h_2[n] = 2\delta[n-3]-\delta[n]-6\delta[n+3]\\
h_b[n] 是 \frac{1}{1-H_1(z) H_2(z) H_3(z)} 的逆变换
}
$$
[!TIP]
4.67 某 IIR LTI系统的差分方程为: