聊一聊复信号 (一)
复信号是在GNU Radio和其他SDR软件中常用的一种信号格式。对于很多初次接触的人(包括我本人)来说,复信号显得并不是很友好。在大部分书本和网上能找到的文档里,关于复信号的描述也不好理解,甚至不同的人对于复信号的理解也并不一样。
不过没关系,这并不是说复信号很可怕。复信号还是有很多优点和长处的。不同人的理解不同,也可能只是大家的切入点不一样。下面我尽量少用公式,以通俗易懂的方式讲一讲我对于复信号的理解。
先看看实信号
聊复信号之前,我们先来回想一下,实信号是什么样子的。在日常生活中,当前的气温或者湿度、人的身高或者体重、公路上汽车的车速,甚至是某支股票的价格,都可以用一个实数来表示。如果把这些实数和它们对应的时间用图画出来,我们就能很形象的看到一个个的实信号。在无线通信领域里,我们通过天线把电磁波接收下来,收到的实际上也是一个实信号。它描述的是接收天线输出的电压关于时间变化的情况。
接下来,我要贴一个实信号的图出来。
图1就是大家再熟悉不过的三角函数之余弦函数。
至于为什么是它,简单说来就是我想贴,或者,根据傅立叶变换的理论来说,信号都可以想办法分解成一系列的余弦函数,每个余弦函数都有自己的频率、相位和幅度。所以呢,余弦函数可以说是所有信号的基本成分。对基本成分的理解,对于我们理解信号的整体是很有帮助的。
我们来看一看这个余弦函数。我们都知道对于一个余弦函数来说,它有三个特性:频率、相位和幅度。那么在图1里面,我们是怎么样知道它这三个特性呢?
-
首先说频率:
我们如何确定它的频率呢?从图上可以看到,这个信号以2秒为周期,所以它的频率是0.5Hz。
等等,我们确定它是0.5Hz么?我们知道余弦函数是关于Y轴对称的,也就是说cos(t) = cos(-t)。所以这个信号到底是在沿X轴正向传播还是负向传播?如果负向传播的话,我们是不是也可以认为它是-0.5Hz?
所以,在这里,我们无法确定频率是正的还是负的。
-
然后再看看相位:
随便在图上找一点,我们应该可以确定它的相位。或者至少,你应该能告诉我哪个点是0度,哪个点是90度,哪个点是180度,哪个点是270度。可是如果图上只有一个点呢,还能确定它的相位么?比如这个点在x轴上,我们怎么确定它是90度还是270度?
所以,在这里,我们无法只根据一个点来确定当前相位,必须要结合它前面或者后面连续的几个点才行。
-
最后看看幅度:
同样的,我们无法仅根据当前点来确定这个余弦函数的幅度,最起码要过四分之一周期才能知道它的幅度到底是多少。
说到这里,是不是能看出来实信号有一些不方便的地方?也不是不能用,只是有那么一点点不方便而已。
再回想一下实信号,如果隐去时间信息,所有的实信号是不是就是所谓的实轴上面的一些数而已?
这种感觉像不像是在看生活在一条直线上的一维生物?我们知道复数引入了和实轴垂直的虚轴,把数从一维扩展到了二维。如果我们试试用二维的角度来理解会是什么样?这里我也很难说到底是为了处理方便才引入复数(升维),还是说本来就是复信号,我们观察到的实信号只是它的投影而已(降维)。
但是不管怎么说,引入复信号之后,我们可以体会一下升维和降维的感觉。
(未完待续…)