零基础学习WCDMA(4):解扩

发表时间

篇前问题

相关接收机的处理过程是怎样的?

如何扩频

上一篇: 《码片》里讲了发送方如何将原始序列(1,-1)扩频为(1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1) 现在来看接收方怎么把原始信息解出来:只要用相同的扩频码与接收序列相乘,就能正确解出原始序列。
接收序列(1-11-11-11-1-11-11-11-11)
                                                             x
扩频码   (1-11-11-11-1) (1-11-11-11-1)
                                                             =
原始符号(11111111) (-1-1-1-1-1-1-1-1)
因为扩频因子SF=8,所以8个码片合成一个原始符号,上面的结果就等价得到了(1,-1)的两比特原始信息。简单吗?非常简单。这其中原理就是这一篇里讲的(1,-1)乘法的性质:任何值连续两次和同一个值异或,都能恢复原值。

如果真实的系统有这么简单,也就不会这么多人在研究它了。这简单的背后,有着极其复杂的各种机制保证着这一简单的运算,让它成为现实中可用的算法。就好比发动机的模型很简单,实际应用中会遇到各种各样的难题,逼着人们去解决和完善,最后才得到真实可用的汽车。 发动机模型


真实的发动机


举个例子,为了让接收码片与已知扩频码正确的相乘,必须事先找到码片和原始符号的起始时间,并且对齐。这就是通信里的同步过程。通信里有多种同步,也有多种同步方法,可以说同步是通信的前提和主要工作量。收发两方只有先完成同步才能收发消息。除了时间上的同步之外,其实还有更广义的同步。比如发送方以ASCII码把字符变为二进制流,而接收方可以也只能用同样的ASCII码把二进制流重新变为字符,这种双方共用编码方式也是一种同步。类似的,硬件的统一接口、文档的统一语言都可以看做同步。未能成功同步就是失步,如同让现代人读甲骨文一般困难,什么有用的信息都不能得到,只看到一堆乱码。机器不会像人一样去研究甲骨文,失步的结果只有搜不到网络、掉话、串话等等。
读一读甲骨文

为了提高接收方恢复原始序列的准确率,我们会在每个符号的时间终点把整个符号周期内的码片值相累加,作为对当前符号取值的判断: (1,1,1,1,1,1,1,1,1) (-1,-1,-1,-1,-1,-1,-1,-1) |<--------------------累加|<---------------------------累加 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-8 这种先对应相乘再累加的过程叫做相关接收机(Correlation Receiver),这是噪声环境下对已知信号的最佳接收机。从数学的角度解释,是对信号做了内积运算,这个话题会在后面详细讨论。

扩频增益

现在我们用相关接收机得到了(8,-8) ,和(1,-1)相比,信号从被放大了8倍,正好等于使用的扩频因子,而噪声因为和码片不相关则没有被放大。 这就是扩频通信的优点之一,以N为扩频因子,就能得到N倍的信号增益,术语叫处理增益processing gain,定义为系统输出信噪比与输入信噪比之比。反过来讲,如果所需要的信号功率有限,就可以降低发射信号功率的要求。

举例来说,语音业务的比特速率是12.2kbps,可以算出处理增益为3.84M/12.2k~315倍~25dB(因为用的不是单一的扩频因子,只能求平均)。另一方面,为了使接收方得到高质量的语音业务,解扩后的信噪比应该在5.0dB以上,这样我们解扩前的信号信噪比就只需要5dB – 25dB = -20dB,也就是信号功率可以比噪声低20dB ~100倍,信号完全淹没在噪声里,如果不知道扩频序列,根本无法把原始序列检测出来,其实是连噪声里有没有信号都不知道。正因为这个原因,扩频通信最初是用在军事上,让敌人无法从信号幅度的变化里检测收发状态。

那么我们可以无限制的提高处理增益吗?显然是不行的,因为凡事必有代价。因为处理增益=扩频因子,而码片速率是固定值,提高扩频因子的代价就是降低了符号速率,也就是降低了信息速率。低速率的业务才能得到高的处理增益,而高速率业务(比如下载),每秒钟要传送尽可能多的符号,不可避免的要使用短扩频因子,只能得到低的处理增益。

扩频和解扩

扩频和解扩是一对逆过程,我们简单回顾一下:
为了传送一个信息序列,收发双方事先约定好一个扩频码C(SF,k),扩频码的长度,即扩频因子SF可以按照码片速率除以信息速率得到。发送方将信息符号与扩频码相乘得到码片流,完成了扩频。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C(SF,k) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;V s(n)--------->(X)--------->chips
接收方用相关接收机将码片流再次与扩频码相乘,得到原始信息序列。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C(SF,k) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;V chips--------->(X)--------->(+)-------->s(n) 上面讨论的都是一个用户的模型,这不是一个实用的系统。通信的初衷就是让所有人能和所有人互传信息,单个用户不需要通信系统。另一方面,因为一个用户没法承担昂贵的通信设备成本,必须允许尽可能多的用户接入系统,才能均摊成本,让每个用户都能用得起。火车、地铁只有造的很长,旅客才能坐的起。这就引入了多用户共同访问系统的需求,术语叫多址接入Multi-Access,意为从多个位置接入通信系统,并利用系统的资源和其他用户通信。下一篇就比较各种多址接入的方式。


除非特别说明,本站文章均系原创,并采用 署名协议 CC-BY 授权。
欢迎转载,惟请保留原文链接:https://lfhacks.com/tech/wcdma4