老莫

IQ调制、成型滤波及星座映射

1
阅读(13913) 评论(3)

现代通信中,IQ调制基本上属于是标准配置,因为利用IQ调制可以做出所有的调制方式。

但是IQ调制到底是怎么工作的,为什么需要星座映射,成型滤波又是用来干嘛的。这个呢,讲通信原理的时候倒是都会泛泛的提到一下,但由于这部分不好出题,所以通常不会作为重点。但换句话说即使目前国内的大部分讲通信原理的老师,恐怕自己也就是从数学公式上理解了一下。真正的物理上的通信过程是怎么样的,恐怕他们也不理解。所以说到底国内的通信课程,大多都停留在“黑板通信”的程度,稍微好一点的呢,做到的“仿真通信”的程度。离实际的通信工程差距很大。这一方面是由于通信系统确实比较庞大,做真实的实验确实难以实施。另外一方面嘛,呵呵……

所以我决定还是要专门开贴来讲一下这个问题,因为我理解这个问题大概用了两年多的时间,到现在为止恐怕也不能算是完全搞明白了。每思至此,我总是会感慨通信博大精深,要做一名合格的通信工程师是非常不容易的。相反,想成为“专家”仿佛还要简单一点,因为只需要抓住一点穷追猛打,至于其它的么……谁愿意研究谁研究,反正老子不管……

首先从IQ调制讲起吧。所谓的IQ调制,冠冕堂皇的说法无法是什么正交信号如何如何……其实对于IQ调制可以从两个方面来直观的理解,一个是向量,一个是三角函数。首先说一说向量,对于通信的传输过程而言,其本质是完成了信息的传递。信息如何传递?信息本身是无法传递的,必须要以信号为载体,以物理世界中的信号某个特征来表示这个信息。那么有哪些特征可以表示呢,对于一个物理世界中存在的信号而已,无非就三个特征:相位、幅度、频率。其中频率和相位可以通过一定的关系等价出来。那么主要就是相位和幅度了。

好了,我们回到向量上面来。在一个二维平面里面,一个向量的信息同样可以转换为幅度(模)和相位(夹角)来表示。反过来时候,一个给定的向量,由于其模和夹角不同,可以通过该给定的向量表示一定的信息。如下图所示的QPSK调制:

四个向量由于和X轴正半轴的夹角不同,可以分别表示出4个值。

再来看另外一个问题,如何生成这样一个夹角不同的向量呢?这其实有时一个很简单的数学问题:正交分解。任何一个向量都可以投影到X轴和Y轴上面做出两个向量来。这样我们就只需要改变X轴和Y轴上面的分量大小,就可以生成任意的向量。如X=1,y=-1时,就可以生成和X轴夹角315°模为根号2的这个向量。这条性质有什么用呢?后面我会解释。

好了,到目前为止,这都是数学分析,所谓的正交分解,那首先是要找到两个正交向量。在我们真实的物理世界里面去哪里找这两个正交的向量呢。呵呵,还真有,而且是现成的。就是sin和cos。有性质cos(α+π/2)=sinα,二者正好相差九十度。至于这二者的正交性如何证明,我想这是数学老师的事情。反正现在已知有了这么两个正交的东西了。有这两个东西就太好了……为什么这么说呢,因为有了整个东西之后,抽象的正交分解就变成了高中都学过的三角函数了。

对于cos(wt+α)=cos(α)cos(wt)+sin(α)sin(wt),其中cos(α)和sin(α)都是常数,其实就变成了cos(wt)和sin(wt)的幅度了。换言之,改变cos(wt)和sin(wt)幅度,就可以得到任意的相位α。如果再狠一点,加一个系数Acos(wt+α)=Acos(α)cos(wt)+Asin(α)sin(wt),这其实还是改变的cos(wt)和sin(wt)幅度。就可以得到任意幅度、任意相位的cos函数,并可以利用这些函数去表示不同的信息。对此,通信原理上通常会用一种抽象的说法来约定表示方式,就是所谓的星座图。

一个常见的16点QAM星座图如下:

以I轴代表cos,而Q轴代表sin。从图上可以看出,如果现在Acos(wt)+Asin(wt)可以求得一个向量(由于QQ空间没有很好的数学编辑器支持,就不写表达式了)。那么此时这个向量表示的是0101。而如果I轴上的值变为3A,换言之就是cos(wt)的幅度由A变为3A。就求得另外一个向量,该向量表示的是0100。 

在真实的电路中,我们是怎样做到这一点的呢。这就和正交调制器有关了。下图就是一个正交调制器的实例

其核心是两个乘法器。从VCO中出来的高频余弦信号分别做0°和90°的相移,因此产生了cos(wt)和sin(wt),两路正交信号。基带信号通过I/Q两路基带信号进来,分别和cos(wt)和sin(wt)相乘,等效于调整了cos(wt)和sin(wt)的幅度值。最终等效成什么呢?就是控制I-DAC和Q-DAC的输入从而产生不同幅度的电平信号。

所以,最终从基带信号上面如何去控制产生已调信号,就变成了控制DA输出的不同幅度值的信号。因此,要让一个已调信号去表示某个信息,实际上就是把这个信息映射成I/Q两个DAC输出的幅度值。比如前面提到的那个星座图,对于0100这样一个数据实际上就是把它映射成I路的DAC输出3A而Q路上的DAC输出A。那么如何让I-DAC输出为3A而Q-DAC输出为A,这就是和DAC的输入输出特性有关了。比如,这是一个双极性4位的DAC,输入为00时输出为-3A,输入为01时输出为-A,输入为10时输出为A,输入为11时输出为3A。那么就如下图所示

说到这里大家最终发现了,所谓的星座映射,其实就译码器而已……

但是上面那个图,是不对的。原因是什么呢?就是这样直接映射得到的都是方波信号。如果我们把中间的包括IQ调制解调、射频收发的整个过程都等效成一个信道的话,那么可以抽象出这样一个模型:

整个这个图又让我们回到了通信原理一开始就讲的最基本的内容——基带传输。对于基带信号而言,通过信道以后会产生诸多畸变。其中最重要的畸变之一是由于通过一个带限的信道,在频域上可近似等价于和一个门信号相乘,而时域上则等价于和一个Sa信号卷积。如下图所示左边为时域Sa函数,右边为等效低通的门信号:

其结果就是本来应该是脉冲的信号在时域上产生了延拓,也就是拖尾……这样相邻的信号的幅度值就会和这个信号的拖尾叠加发生改变。改变的后果就是原本我们可能在发端映射的是I路3A,Q路A,但在收端却变成了3A-x,和A+y。等效于引入了很大的噪声。好在我们在通信原理中引入了乃奎斯特准则,给出了如果要无码间串扰需要在发端加入成型滤波器,让DA出来的值不是直挺挺的脉冲而是变成了某个形状的波形。而这一过程是在星座映射之后,DA之前。

基带成型滤波器基本流程如下

这样DA出来的波形就是一个类似于余弦样子的波形了。至于为什么这样就没有码间串扰了,公式太多,QQ也写不出来。

最后来说一下接收的问题。从上面的所谓发射的过程就是产生一个有特定幅度和相位的余弦信号的过程。而所谓的接收呢,其实本质就是反过来,是识别这个余弦信号的幅度和相位的过程。这个过程可以有很多办法,我这里还是介绍最常见的IQ正交解调过程。

这个过程本质上来说还是一个三角函数的变换过程。上面说了,有三角函数:

Acos(wt+α)=Acos(α)cos(wt)+Asin(α)sin(wt)

如果要识别A和α,其本质其实上是识别Acos(α)和Asin(α)即可。

而这如何识别呢,考虑Acos(wt+α)*cos(wt)=Acos(α)cos(wt)*cos(wt)+Asin(α)sin(wt)*cos(wt)=1/2*Acos(α)(cos(2wt)+1)+1/2*Asin(α)sin(2wt)。对于这样一个结果,我们很高兴的发现,有一个常数项1*1/2*Acos(α),而另外两个属于是高频项。对于此,任何学过信号与系统的同学都应该明白,只需要用一个低通滤波器就可以把1/2*Acos(α)提取出来。1/2*Asin(α)的提取方法类似。

当然这只是理想的过程,实际中接收机远比这个复杂,信号的识别过程也是有很多花样的。今天也写了很多了,就不再详细的说了。希望今天写的这些,对各位同学有所帮助

  1. @stephenkung

    莫老师不愧为老师
  2. 五体投地啊!!可以写书了。
  3. 深入浅出啊,膜拜大作