首页 > 其他 > 详细

从线性代数的角度理解线性时不变系统和信号响应

时间:2014-03-12 14:25:39      阅读:262      评论:0      收藏:0      [点我收藏+]

这篇也是之前写在知乎上的一个答案,不过后来发现答非所问,无所谓,在这重新总结一下。线性时不变系统和信号响应是信号与系统理论中两个非常基本的观点,从线性代数的角度理解起来非常清晰。首先,来看线性代数中的一个非常基本的概念:

线性映射(Linear Map)

设想有个向量v,通过某种映射可以从v得到w,记为w=T\left( v \right)w=T(v)bubuko.com,布布扣bubuko.com,布布扣 。如果对于任意v,wT都满足线性代数里两条巨基本的性质:
1) T\left( u+v \right)=T\left( u \right)+T\left( v \right)T(u+v)=T(u)+T(v)bubuko.com,布布扣bubuko.com,布布扣
2) aT\left( v \right)=T\left( av \right)aT(v)=T(av)bubuko.com,布布扣bubuko.com,布布扣
那么就称T是一个线性映射。其实说通俗了就是简单的加法而已。从信号与系统的观点看来,如果我们把输入信号和输出信号分别和vw对应起来的话,似乎就是个简单的线性映射系统啊。当然实际上没有这么简单,还多了那么一点东西,所以在信号与系统里,叫做:

线性时不变(Linear Time-Invariant, LTI)系统

什么叫时不变呢?以冲击函数为例子说明一下,假设在t=0的位置上有个单位冲击,在某个LTI system中,造成的响应是在t=1到t=2区间上的某种曲线。
bubuko.com,布布扣
时不变的意思就是如果把这个t=0上的单位冲击移动到任意时间点,比如t0去,那么响应的曲线也会响应地移动到t=t0+1到t=t0+2的位置上去。
bubuko.com,布布扣
结合之前线性系统的定义,整个系统是线性的,所以是线性+时不变。简单来说就是输入信号怎么个叠加法,输出信号就怎么叠加。
bubuko.com,布布扣
其实从线性代数角度也可以理解线性时不变系统,本质还是线性映射。比如考虑对如下对一个向量的变换:
\left( \begin{matrix}    0  \\    0  \\    x  \\    0  \\ \end{matrix} \right)=\left( \begin{matrix}    0 & 0 & 0 & 0  \\    1 & 0 & 0 & 0  \\    0 & 1 & 0 & 0  \\    0 & 0 & 1 & 0  \\ \end{matrix} \right)\left( \begin{matrix}    0  \\    x  \\    0  \\    0  \\ \end{matrix} \right)


矩阵的特点是紧贴着对角线下的元素是1,其他的元素都是0,得到的结果是x“向下移”了一个位置。如果我们在输入信号离散的时间轴上取一段,想象每个离散的时间点就是向量的一维,那么可以把这段信号看做一个向量,用一个同样大的具有如上特点的矩阵与这个向量相乘,得到的结果就是这个输入信号在时间轴上“移动了”一个离散时间单位,那么如果变换矩阵是如下的形式呢?
\left( \begin{matrix}    0  \\    0  \\    0  \\    x  \\ \end{matrix} \right)=\left( \begin{matrix}    0 & 0 & 0 & 0  \\    0 & 0 & 0 & 0  \\    1 & 0 & 0 & 0  \\    0 & 1 & 0 & 0  \\ \end{matrix} \right)\left( \begin{matrix}    0  \\    x  \\    0  \\    0  \\ \end{matrix} \right)

可以看到,x移动了两个单位,这似乎就是时间轴上的移动操作啊。那如果变换矩阵再换换样子呢?
\left( \begin{matrix}    0  \\    0  \\    ax  \\    0  \\ \end{matrix} \right)=\left( \begin{matrix}    0 & 0 & 0 & 0  \\    a & 0 & 0 & 0  \\    0 & a & 0 & 0  \\    0 & 0 & a & 0  \\ \end{matrix} \right)\left( \begin{matrix}    0  \\    x  \\    0  \\    0  \\ \end{matrix} \right)

是不是觉得眼熟,其实这种斜边元素相等形式的矩阵变换就可以看成是一个简单的线性时不变系统(忽略两边的元素)。如果我们把每个时间点都理解成一个向量中的一维的话,矩阵乘法操作的本质就是将这个向量投射到对应的维上。而这种对角矩阵行向量平移后得到的矩阵就相当于每一维上的投影进行了平移,对应时域就是时不变。所以不用被时不变的概念困扰,说白了还是个线性系统。

信号响应

了解了线性时不变系统,由卷积求信号的响应的方法就可以看成是一个线性系统中的叠加,说白了就是简简单单的加法而已:已知冲激信号在输出中的响应的情况下,给定一个输入信号,只要把输入信号看成一个个时间点上的冲激信号的叠加,直接在输出的t时间点上把这所有冲激信号的响应简单加起来,就可以了。图形化的例子就是上面讲线性时不变部分里的最后一个示意图。
写出来的话就是:
\cdots +f\left( n-1 \right)h\left( t-\left( n-1 \right) \right)+f\left( n \right)h\left( t-n \right)+f\left( n+1 \right)h\left( t-\left( n+1 \right) \right)+\cdots =\sum\limits_{\tau }{f\left( \tau  \right)}h\left( t-\tau  \right)=f*h\left( t \right)


这就是离散卷积求响应的公式,对应前面解释来看,其中f(n) 是输入信号在n位置的值,也就是和单位冲激信号的比值,作为系数,而h(t-n) 则是和t时刻相距n的时间点上的一个冲激信号在对应的输出响应。

从线性代数的角度理解线性时不变系统和信号响应,布布扣,bubuko.com

从线性代数的角度理解线性时不变系统和信号响应

原文:http://www.cnblogs.com/frombeijingwithlove/p/3594272.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!