本文转自头条号 通信M班长
前言:研究线性时不变系统(LTI),是因为该系统的输入可以用一组基本信号的线性组合来表示,那么可以根据该系统对这些基本信号的响应,利用叠加性质求得整个系统的输出。

线性系统是非常重要的概念,但我们容易忽视。
你接触到的、实际的系统都是线性系统,即使是非线性系统,也先进行线性化再讨论。因此,在深入了解通信技术之前,理解LTI(Linear Time Invarient),线性时不变的概念是非常重要的。在本文中,班长将与大家一起聊聊是"线性"与"时间不变性"。

图1 Tom and Jerry
Tom猫很疑惑,为什么两次看到的结果不一样?这是一个什么"系统"?
线性
线性是什么意思?直观的,我们可以想到"直线"就是线性的,坐标内任何可以表示为直线的函数都是线性的。但事实并非如此。在坐标系中,并非所有的直线都是线性的。如果一个函数(系统)是线性的,它必须满足一个叫做"叠加原理"的准则。简单地说,叠加原理是使下列方程成立。

这是"正式"的叠加性的表达方式,如果我们朴素的一点,可以写成这样:

这一原则可以在图2中加以解释:函数f(x)在坐标系中从原点(0,0)开始画一条直线。图2的左上角,如果x=a,粗蓝线,得到函数f(a)的输出(以粗红线表示);现在再看图2左边底部,如果x=b,在粗绿线,得到函数f(b)的输出(以粗黑线表示)。现在我们取f(a+b)的值,就是右边的图。只要看一看,你就会注意到f(a)+f(b)和f(a+b)是一样的。因此,这个图(函数,系统)是线性的。

图2 函数的线性
举个例子,我们来看下函数f(x)=2x,取a=2,b=3;
f(a)=2*2=4;f(b)=2*3=6;f(a)+f(b)=10;
f(a+b)=2*5=10;
f(a+b)=f(a)+f(b);
这是否符合叠加原理?(在严格的数学中,你不能用某一具体的例子来证明。你必须证明这对任何数字都是正确的,你要尝试所有不同的值,并检查它是否仍然有效)。但直觉上,我们可以认为它满足叠加原理,所以这个函数是线性的。

叠加的图示
下面我们再举一个不满足叠加性的例子。图3它不是直线,它是一条在一点上弯曲的折线(或者你可以画一条曲线作为函数)。现在先看图3左上,如果x=a,粗蓝线,将得到函数的输出为f(a)(以粗红线表示)。现在先看图3左下,如果x=b,粗绿线,将得到函数f(b)的输出(以粗黑线表示)。现在我们取f(a+b)的值,就是右边的图。发现没?f(a+b)不等于f(a)+f(b)了。

图3 不满足叠加性
举个例子,我们来看下函数f(x)=x^2,取a=2,b=3;
f(a)=2*2=4;f(b)=3*3=9;f(a)+f(b)=13;
f(a+b)=5*5=25;
f(a+b)>f(a)+f(b);
所以这个函数不是线性的。
为什么线性很重要?
因为在线性系统中,一旦知道了某特定信号的输出,就可以在不执行实际计算的情况下得出所有其他信号的输出。
例如,假设你有一个线性系统,当你把"1"作为输入时,你知道系统的输出是"2",即f(1)=2,有人要求你在输入为5时得到输出,这意味着他想得到"f(5)"。在这种情况下,根据叠加原理,可以重写f(5),如下所示。

由于您已经知道了f(1)=2的值,所以无需进行任何计算就可以得到如下f(5)。

班长之前与大家聊过,我们通过"脉冲响应"来表征任何线性系统的特性。当系统是线性之时,一旦有了系统的脉冲响应,就可以使用脉冲响应计算出系统对任何信号的输出。
时间不变性
系统的输出不会根据信号进入到系统的时间而改变。这意味着,如果将系统输入相同的信号,则无论何时经过系统,都会得到相同的输出。

图4 时不变特性
如上图4所示,(1)图形和(2)图形完全一样,只是时间上不一致。但是他们的输出信号完全相同,并且延迟同样的时间。这意味着这个系统的输入不会随着时间变化而改变输出,这种系统称为时间不变系统。
为什么系统的时间不变性很重要?
答案很明显。假设你有一个时间可变的系统。您输入了一个特定的信号,并用大量的时间和精力研究输出特性。但当您准备重现这个结果之时,时间不同,结果竟然发生变化了。相信一下你电脑上的程序,每次运行都有不一样的结果,你需要重新学习,烦不烦?
无论在离散时间或连续时间情况下,单位冲激函数的重要特性之一就是一般信号都可以表示为延迟冲激的线性组合,如图5所示。所以我们只要知道冲激函数的系统输出,叫做冲激响应或者脉冲响应,那么我们根据叠加原理,可以计算出一般信号的响应。

冲激的图示
这就是为什么能够用LTI的单位冲激响应来完全表征任何一个LTI系统的特性。

图5 冲激函数表示一般信号
更为一般的:

由于系统是时不变的,且δ(n)的系统响应为h0(n),即系统脉冲响应为h0(n)。δ(n-k)是δ(n)的时间移位,那么它的响应h0(n-k)也是h0(n)的一个时移。
此时y(n)的运算结果叫做卷积和,y(n)的运算过程叫做卷积。
举一个例子
一个LTI系统,其单位冲激响应为h(n),输入信号为x(n),如图6所示,求系统对x(n)的输出。

图6 求系统输出响应的过程
根据前面的分析,我们可以得出:

图6是图形化的累加过程,看到没?在LTI系统中,利用冲激响应h(n),我们可以很方便的求出一般信号的输出响应。
该贴被huang.wang编辑于2019-1-22 11:04:19