前言
最近在研究MSK,重新翻了几本教材,又在网上看了不少资料,总是感觉get不到要点。教材吧,公式太多,一不小心就陷入了推导公式的汪洋大海,看不了多久就让你重温上学期间努力学习通信原理的梦魇之中,眼里虽然是熟悉的中国字却不知道在讲些什么。网上的资料又良莠不齐,有的突兀的冒出一堆公式,有的给出的代码质量太差。
本系列文章本着深入浅出的原则试图将MSK给大家梳理一遍,同时会给出相应的参考资料和matlab代码。第一部分是概述,本着科普的原则,尽量不写公式,多上图。
一、从三个角度理解MSK
我们比较熟悉的调制方式有BPSK、QPSK、2FSK, 这类调制实现简单,但是缺点也很明显:在符号转换时,相位的跳变会导致频谱扩展。最小移频键控 (Minimum Shift Keying,MSK)调制技术是恒包络连续相位调制技术的一种,它具有恒定的包络、连续的相位和信号频谱旁瓣衰减快等优点。
上中学的时候做数学题总是讲究一题多解,就是要从不同角度去理解同一个问题,加深对该问题问题的理解。为了加深对MSK的理解,本文也试图从三个方面入手去分析:
- 从最简单的2FSK入手,将MSK理解为一种特殊的2FSK信号;
- 从我们熟悉的BPSK、QPSK、O-QPSK来理解MSK;
- 从CPM入手,将MSK理解为调制系数为0.5的CPM。
1.从2FSK到MSK
对于新事物的学习,人们总是更习惯从自己熟悉和了解的事物出发,因此本文就从简单易懂的2FSK入手来学习MSK。频移键控FSK是利用载波频率的变化来传递数字信息。在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点间变化,如下图所示:
图 1 FSK波形图
2FSK的缺点有:
- 2FSK占用的频带宽度比2PSK大,频带利用率较低;
- 若用开关法产生2FSK信号,则相邻码元波形的相位可能不连续;
- 2FSK两种频率的码元一般不正交(二进制信号的两种码元互相正交,则其误码率性能将更好)。
为了克服上述缺点,对2FSK信号进行改进,发展出MSK信号。MSK信号是一种相位连续、包络恒定,并且占用带宽最小的二进制正交2FSK信号。
下面,我们就要开始对FSK进行改造。
第一步就是先让二进制信号的两种码元互相正交。对于2FSK,两种码元对应不同频率的正弦波。根据正交的定义,就是要让两种频率信号的乘积在一个符号周期内的积分为0。推导还是比较简单,感兴趣的同学可以直接看教材,这里我们直接给出结论:保证正交的2FSK信号,两个信号对应的频率差是1/2Tb的整数倍;为了使占用的带宽最小,那就令两个信号的频率差是1/2Tb 。大家可以参考下面这个图:
图 2 2FSK频率图
第二步就是产生连续相位的2FSK信号了。
如果用二进制数字信号控制电开关,分别接入两个载波振荡器之一,这样产生的2FSK信号在符号边界相位是不连续的。
图 3 相位不连续2FSK信号的产生
而使用双极性二进制信号对单一的载频振荡器进行调频,则可以得到相位连续的2FSK信号。
图 4 利用vco作调频器产生连续相位2FSK信号
这样通过对2FSK进行改进,我们就得到了相位连续、包络恒定,并且占用带宽最小的二进制正交2FSK信号,即MSK信号。
2.从BPSK、QPSK、O-QPSK到MSK
为了方便理解,我们直接看一个例子。
a) 假设我们要传输8比特的信息序列,经过BPSK调制我们得到8个符号[+1, +1, -1, -1, -1, +1, +1 , +1],每个符号的持续时间为T。
b) 同样的信息序列,我们采用QPSK的方式进行调制,偶数比特通过同相支路进行传输,奇数比特则通过正交支路进行传输。为了保持信息速率不变,同相/正交支路上的符号率变成了2T。
图 5 BPSK和QPSK
c) QPSK的一个变种叫Offset-QPSK(O-QPSK),就是在QPSK的基础上在正交支路上引入延迟T。我们知道,如果相邻码元波形的相位不连续会导致信号的频谱展宽,QPSK的相邻码元最坏会有180°的跳变。而O-QPSK的好处就在于相邻码元之间的跳变只有90°,相对较小的相位跳变会让波形的频谱看上去更干净些。另外采用格雷编码也可以约束QPSK的相邻码元相位变化只有90°,有兴趣的同学可以自行查阅相关资料。
d) 前面介绍了QPSK、OQPSK,我们关注相邻码元波形的相位的变化。那么有没有办法让相邻码元相位变化为0呢,研究发现,如果将OQPSK里的矩形成型脉冲变成正余弦型成型脉冲,那么相邻码元相位变化就为0,这就是最小频移键控MSK。
图 6 O-QPSK和MSK
最后我们给出MSK、O-QPSK和QPSK的波形图,可以看到MSK相邻码元相位变化是连续的,O-QPSK相邻码元相位变化是90°,而QPSK相邻码元相位变化是可能是180°,也有可能是90°。
这一部分没有推导,主要是为了形象的给出MSK与我们熟悉的QPSK,O-QPSK之间的关系,详细的公式推导以及配套的matlab代码会在下一节给出。
3. 从BPSK、QPSK、O-QPSK到MSK
前面我们说到理解复杂的新事物要从我们熟悉的事物出发,比如从2FSK的角度来理解MSK,从QPSK、O-QPSK理解MSK。如果为了解释一个新事物,我们要从先理解一个更加复杂的概念,这显然不符合我们的认知规律。正确的方法应该是我们了解MSK以后,再从MSK出发去理解CPM。因此对于CPM(Continus Phase Modulation,连续相位调制)到MSK这条线路就不做过多的解释(其实最关键的原因是我也不懂),我们只要知道MSK是为调制系数为0.5的CPM就好了。不过在这里还是简单和大家复习一下什么是调制系数。在调频系统中,调制系数(modulation index)是指频偏和信号带宽的比值。根据下图我们就可以清晰的知道msk的调制系数是0.5了。
参考文献:
《通信原理》周炯槃
《通信原理》(樊昌信第7版)
《MSK and Offset QPSK Modulation》
《Minimum shift keyinga spectrally efficient modulation》pasupathy1979
总结
下一步我们将结合matlab代码讲述如何生成MSK调制信号。