【瀚海数据说】通信基本原理(上)编码,调制
第 272 期
编者按:
作者谢继东教授毕业于中国科大77级无线电子学系(776)。继“计算机基本原理系列”后,谢教授继续推出通信基本原理,原文分五篇登载在公号“眼睛般的湖泊”,我们在这里合编成上下两期刊出。这一系列将引导读者一步步了解现代通信技术的产生和发展及其基本工作原理,同时穿插介绍通信发展中的里程牌人物,既长知识也易阅读。
谢教授这套科普系列浓缩其丰富的学识和多年的教学经验,内容梳理清晰,叙述深入浅出,写作提炼精华,让读者不用花太长时间就能对一门学科和技术有个初步了解。这让我想起企鹅出版,其初衷是让读者以“一盒香烟的价钱”读到高质量的内容。在时间就是金钱的现代社会,希望我们的科普系列能给读者带来同样的好处。
编码
早在1839年,有一位名叫莫尔斯的美国人脑洞大开:他用导线连接远处的线圈,给导线通电,远处的线圈因电流通过而产生磁场(这样的线圈也被称为电磁铁),这时电磁铁的磁场会吸引铁片;断开电源,电磁铁的磁场就会消失,铁片就会被弹簧复位。开关不断地“通电、断电”,远处的铁片就会相应“动作”起来,就可以向远处发送信号。如图:
又经过差不多5年的努力,1844年5月24日,莫尔斯在华盛顿国会大厦联邦最高法院会议厅,用手指“滴滴塔塔”地敲了一番,40英里以外的巴尔的摩城收到人类历史上的第一份长途电报:“上帝创造了何等奇迹!”
塞缪尔.莫尔斯
(Samuel Finley Breese Morse,1791-1872),电报之父,同时也是一名享有盛誉的美国画家。
莫尔斯是如何做到的呢?他靠控制开关通电的时间的长、短来发送信号。他用通电时间长表示符号“-”,用通电时间短,表示符号“.”。他用“-”和“.”两种符号,给每一个英文字母、数字、标点符号都编码,例如:
莫尔斯先将报文“上帝创造了何等奇迹!”编码为由“-”和“.”组成的符号串,然后据此控制开关通电的时间长短,让巴尔的摩城那里与铁片连着的笔,记录下一串“-”和“.”组成的符号串,再将其译码成报文“上帝创造了何等奇迹!”,这种编码后来被称为莫尔斯码。民用无线电台当年大多数采用莫尔斯码。军用和间谍电台使用的密码,与莫尔斯码的原理也是类似的。
一晃一百七十多年过去了,通信基本原理在这种编码方面仍然与莫尔斯编码差不多:
上面提到的编码后来有了一个更加专业的术语——信源编码。最原始的信源编码就是莫尔斯电码,后来有ASCII码和电报码。现代通信应用Huffman编码、算术编码、L-Z编码等等。对于视频图像信号,也发展出了一系列编码技术。这些编码只是比莫尔斯的编码更加高效而已。也就是说,同样的信息,用现代编码技术得到的“符号串”更短,不同符号串更加不容易混淆。细心的读者可能已经发现,信源编码追求码元“更少冗余”,这样才更加有效率。确实,信源编码是“以更少冗余码元提高传输效率”的“压缩”编码。
香农
(Claude Elwood Shannon ,1916-2001)。美国数学家、信息论的创始人。
1948年,信息论的创始人,美国科学家香农发现,增加“冗余码元”可以带来特别的好处。这给编码理论带来了一场革命。我们可以通过以下3个例子来理解香农的发现:
例1:
假如我们用“0”和“1”两个符号,让“0”代表晴天,“1”代表雨天。每个符号只有1个码元,相当于用2个码元代表2种天气,没有冗余。由于信号在传输过程中会受到噪声和干扰的污染,使得“0”错为“1”,或者“1”错为“0”,这样就会将晴天误判为雨天,或者将雨天误判为晴天。
例2:
假如我们用“00”和“11”两个符号,让“00”代表晴天,“11”代表雨天。每个符号有两个码元,相当于用4个码元代表2种天气,比起上面的编码就冗余了。但是,这样做的好处是什么呢?假如还是一个“0”错为“1”,或者一个“1”错为“0”,这时就会收到“01”或者“10”这2种符号,但是,这2这符号都是“禁用”符号。因此,接收方就知道这一定是错误造成的,因此就不做判断,避免发生误判。只有两个码元同时发生错误,才会将“00”错为“11”,或者“11”错为“00”,因此发生误判。大家想想,一个码元发生错误的概率显然比两个码元同时发生错误的概率大得多。这里冗余1个码元,却得到了这样的好处:检出一个码元错误、避免一个码元错误造成误判。
例3:
假如我们用“000”和“111”两个符号,让“000”代表晴天,“111”代表雨天。每个符号有三个码元,相当于用6个码元代表2种天气,更加冗余。我们在接收端规定一个少数服从多数的表决机制:如果收到“001”“010”“100”(这些符号都是其中的“0”多于“1”),都视同读到了“000”;如果收到“110”“101”“011” (这些符号都是其中的“1”多于“0”),都视同读到了“111”。这样,如果只发生一个码元错误,比如,“000”的第三个码元发生错误,收到“001”,这时按照表决机制,仍然认为收到的是“000”,这意味着纠正了一个码元发生的错误。这里冗余2个码元,却得到了纠正一个码元错误的好处。
以此类推,假如冗余更多的码元,就可以检出或者纠正更多码元的错误。信道编码是“以更多冗余码换取更少错误”的“扩充”编码,即传输信道污染了信号而造成的错误,可以通过增加冗余编码的方法检出或者纠正。
安德鲁·维特比(Andrew J. Viterbi,1935- ),CDMA之父,IEEE Fellow ,高通公司创始人之一,高通首席科学家。他开发了卷积码编码的最大似然算法而享誉全球。
上面的例子只能帮助我们理解信道编码,实际上是不会用这种笨办法的。尽管香农断言了冗余码的好处,但是,他本人也没有提出具体的编码方法。1949年美国贝尔实验室的R.Hamming提出的汉明码和美国麻省理工的P.Elias于1955年提出卷积码,以及美国高通公司创始人之一的维特比于1967年提出的Viterbi译码算法,这些都是信道编码发展的里程碑。1993年法国电机工程师C.Berrou和A.Glavieux发明了Turbo码,使信道编码效率接近了香农极限。因此Turbo码成为了3G/4G移动通信的编码技术。因为Turbo码已接近“最好的信道编码”,因此,任何号称比Turbo码更好的编码,其对性能的提升都不会太大了。比如5G采用的LDPC码和Polar码,前者是美国麻省理工教授Robert
Gallager1962年提出的,已经被WiFi标准采纳;后者是土耳其比尔肯大学教授E.
Arikan2007年提出的。5G并不可能靠这些编码技术获得相对于4G性能的大幅度提升!
调制
在无线电通信中,信源信号首先被映射为基带信号。基带信号本身不适合长距离传输,这是电磁波理论的结论。它必须装载到合适的载体才能长距离传输,就好比发运货物需要合适的运输工具一样。较高频率的无线电波或者有线电波是适合的载体,我们通常称其为载波信号,装载了基带信号的载波信号称为已调信号。将基带信号变换为已调信号为调制,从已调信号卸载下来基带信号为解调。这里顺便提一个问题:“有哪些系统是直接传送基带信号的?”据说,这曾经是华为公司校招时的一个题目。其实,早期的有线电报、电话都是基带信号传输的;现在只在计算机、交换机、手机等机器内部采用基带信号传输,网线也是传输基带信号的,芯片内部也是基带信号传输的。
载波信号如图1所示:
图1 载波示意图
他好比一个人发出连续不断、没有任何变化的“啊——”长音,是无法传递信息的。人人都知道,要用声音传递信息至少要幅度、频率、相位三者之一发生变化才可能,无线电通信也如此。
比如,让载波的幅度随着基带信号变化,称为幅度调制(AM),如图2所示:
图2 幅度调制示意图
从图2可见,已调信号的幅度随着基带信号变化,相当于将基带信号的频率搬移到了更高的频率,而信号的包络与基带信号一样。可以用乘法电路完成这种调制,用包络检波器的电路就可以解调,从已调信号中恢复出基带信号。
再比如,让载波的频率随基带信号变化,称为频率调制(FM),如图3所示:
图3 频率调制示意图
从图3可见,已调信号的频率随着基带信号变化,这也相当于将基带信号搬移到了更高的频率,但是,已调信号的幅度是恒定的。可以用调频电路完成这种调制,用鉴频电路就可以解调,从已调信号中恢复出基带信号。
再比如,让载波的相位随基带信号变化,称为相位调制(PM)。这需要解释一下:简谐波的相位就是其起始时刻的状态,从波峰起始的简谐波和从波谷起始的简谐波就是相位不同的简谐波,就好比人走路,假如两个人步幅、抬腿高度完全一样,但是,其中一人先迈左腿,另一人先迈右腿,那么他们两人就不是同步的,称为不同相位。相位调制如图4所示:
图4 相位调制示意图
从图4可见,已调信号的相位随着基带信号 “倒换步调”。这也相当于将基带信号搬移到了更高的频率,已调信号的幅度也是恒定的。可以用调相电路完成这种调制,用鉴相电路就可以解调,从已调信号中恢复出基带信号。
以上的基带信号是模拟信号(随时间连续变化)。对于现代的数字通信,调制原理是类似的。数字通信的基带信号通常如图5所示:
图5 数字基带信号示意图
从图5可见,基带信号随时间变化只有“1”和“0”两个值,图5的基带信号就代表了码元序列10101001,为什么这个序列可以表示要发送的信息呢?这已经在上一篇文章《通信基本原理:编码》中说了。
用数字基带信号的两个值“1”和“0”来调制载波,就会像“按键”一样切换,使得载波的幅度、频率或者相位在两种状态之间按键切换,因此,称这时的幅度调制为幅度键控(ASK);称这时的频率调制为频移键控(FSK);称这时的相位调制为相移键控(PSK)。英文缩写中的“S”是单词“Shift”的首字母,“K”是单词“Keying”的首字母。这就是数字调制。
采用数字调制有许多好处,除了便于用二进制运算的芯片处理以外,其最大的好处是可以提高频谱利用率。下面我们以PSK为例来看看这又是如何做到的。
PSK已调信号有2个相位:0度相位和180度相位,我们称其为2种波形。有2种波形的PSK称为2PSK。假设发送码元序列是10101001。当发送第一位码元“1”时,对应的2PSK发送一种波形,当发送第2位码元“0”时,2PSK发送另一种波形,10101001依次发送,已调信号就在2个波形之间开关切换,切换频率等于码元速率。
再来,假设PSK有4个相位:0度相位、90度相位、180度相位、270度相位,我们称其为4种波形。有4种波形的PSK称为4PSK。这时如果仍然是“1”对应一种波形,“0”对应另一种波形,另外有两种波形用不着了。怎么办?我们可以这样做:让2个码元“0
0”对应1个波形,让2个码元“0 1”对应第二个波形,让2个码元“1 0”对应第三个波形,让2个码元“1
1”对应第四个波形,这样恰好物尽其用。请读者跟上我的思路,看看为什么会提高码元发送速度:
假设发送的码元序列还
是10101001,当最前面的2位码元“1
0”发出来时,4PSK发出1个波形;当后续又发出2位码元,4PSK再发出1个波形;即每发出2个码元,4PSK切换一次。因此4PSK的波形切换频率只是2PSK的一半。切换频率就代表信号占用的频谱宽度,因此,4PSK占用的频谱宽度是2PSK的一半,但是它们传输码元的速率相等,所以4PSK的频谱利用率是2PSK的2倍。
波形也被称为符号,基带信号的码元传输速率称码元速率,已调信号的符号传输速率称符号速率。频谱利用率越高,码元速率相等时,占用的频谱宽度越窄,此时符号速率越低;另一方面,频谱利用率越高,占用相等的频谱宽度时,此时符号速率相等,码元速率越高,两种说法是等价的。4PSK与2PSK相比较,4PSK是高阶调制。5G会用到256QAM调制,它是在相位细分的基础上再细分幅度,共细分出256种波形(符号),是更高的高阶调制,其频谱利用率是2PSK的8倍。
但是,天下没有免费的午餐,采用高阶调制带来好处的同时,人们必须付出什么代价呢?大家知道,载波相位是角度,角度最大只有360度,再大的角度就重复了。而幅度通常也只有几伏特的差别,这些角度和幅度差别如果过分细分,波形与波形之间就会非常接近。波形在信道传输过程中,会被噪声和干扰所污染,非常接近的波形就非常难以识别,以至于无法完成通信。这就比如在草丛里奔跑的兔子,假如是一只白、一只黑两只兔子,比较容易识别。假如是白、灰、黑灰、黑四只兔子,识别就困难些,假如是白、浅白、灰白、灰色、黑白、黑灰、浅黑、深黑八只兔子,就会很难识别。高阶调制亦如此。因此,在3G标准CDMA2000的演进版本EV-DO
Rev
A中,引入了自适应调制编码(AMC)技术,这种技术根据信道情况自动调整调制阶数:当信道条件好时采用高阶调制,尽量提高码元速率;当信道条件差时采用低阶调制,以确保通信能够完成。4G标准也引入了这项技术。
总之,高阶调制是柄双刃剑,非武林高手还真使不了它。
作者介绍
谢继东,南京邮电大学通信与信息工程学院教授,博士生导师。1982年毕业于中国科学技术大学无线电电子学系,获学士学位,1987年在南京电子工程研究中心获工学硕士学位。1984年-2000年在中国电子科技集团第十四研究所工作,历任研究室主任、研究部主任等职务,在卫星通信、电子侦察和低轨卫星应用等领域从事研究和工程项目攻关,负责完成了多项国家重点工程项目和重大国防科研项目。2001年到南京邮电大学工作,从事卫星通信领域的教学、技术开发和科学研究。
编辑:陈颖 8714
推荐阅读
【瀚海数据说】计算机基本原理(一):数学逻辑,布尔代数,逻辑门
【瀚海数据说】计算机基本原理(二):加法器,逻辑悖论,反馈电路
欢迎点赞、留言、打赏、投稿、和分享转发!如需转载请留言。投稿请电邮 hzhang9@att.net。
招聘启事:本公众号欲招志愿记者,负责一些采访工作,有兴趣者请将个人文章及个人简历发到 hzhang9@att.net,谢谢!