从GSM系统参数开始,信号从输入到输出的各个环节都大致讲一遍,每个模块的技术细节会在后续的博文中作为独立专题逐一讲解,先做概观,再深入细节。
系统参数
通信系统的最重要的资源是时间和频率,GSM在频率上分为不同的频段,在时域上细分到时隙,以GSM900为例,下图是总的视频资源分布图
时域
GSM时域最基本的处理单位是时隙(slot),长度为$T_s =15/26ms$,8个连续的时隙组成一帧,根据业务信道由26帧组成26复帧,控制信道则为51复帧。每个GSM小区重复不断广播信息,重复周期为$26512048$帧,长度为3小时28分钟53秒760毫秒。时域帧结构图见下图
超高帧是最长的重复复帧结构,进一步细察帧结构,控制信道的帧结构如下图
业务信道的物理层时隙结构如下图
GSM在每个slot上传输信号,信号被加载在4种不同的burst上,burst的结构和承载的内容见下图
每种不同的burst的用途如下:
- 普通突发脉冲序列。主要用于传输语音,也用于部分控制信道的信号传输。
- 接入突发脉冲序列。用于上行随机接入,因为上行干扰可能性小,因此只有一种训练序列。保护间隔比普通的长。
- 频率校正突发脉冲序列。用于FCCH,固定比特全部为0,调制之后是一个单纯的正弦波,便于相关检测。
- 同步突发脉冲序列。用于SCH,加密比特中包含19bit的缩减帧号和6bit的BSIC号。
- 空闲突发脉冲序列。不携带任何信息。
每个burst中含有一些相同的bit,每种bit都有自己的特殊的用途。
- 训练序列。突发脉冲序列中的26bit,和接入脉冲中的41bit,空闲帧中的26bit,接收机比对解码训练序列,与已知的训练序列比对,根据比对结果调整解码滤波器参数,提高解码正确率,对抗多径衰落。每个小区有8个训练序列,训练序列的序号在SCH中广播,所以同步小区时间之后就能知晓当前小区的训练序列。
- 尾比特。全部都是0,用于编码凑数。
- 保护间隔。
频域
频率子载波间隔为$\Delta f = 200KHz$,GSM有4个band,具体见下图
GSM900频段的上行频段是$890\sim915MHz$,分为125个载频,使用时分多址技术,每个载频上可以承载8个物理信道,GSM900频段有1000个物理信道。GSM半速率通话时,每个频点容纳16个物理通道。需要注意的是,任何一个国家并不是4个频段全都支持,一般只支持2个频段。全球频段分布如下图
具体每个国家的频段分布可以参考GSM全球分布情况。
信号流程
GSM的信号从产生到最后对端解码成功需要经历编码解码调制解调等过程,下图示出一个完整的信号处理流程。
上图信号的初始输入来自高层的信令比特(比如加载在BCCH上的系统消息或者SDCCH上的信令),如果以语音信号为例,信号从产生,发送到最后接收解码需要经历语音编码,信道编码,交织,脉冲成型,调制,发送,均衡,脉冲解码,解交织,信道解码,语音解码。整个过程包含语音编码译码,信道编码及译码,交织解交织,调制解调这4个关键技术。下图是业务信道的详细信号流程图
语音编码及译码
语音编码使用不同的滤波器组合对原始$104kbit/s$的语音数据进行压缩,在不损害语音质量的前提下,以最小的数据速率传输语音。
GSM系统有4种语音编码译码器,如下表所示
声码器 | 位速率 | 压缩比 | 编码器类型 |
---|---|---|---|
全速率 | 13Kbps | 8 | RPE-LTP LPC |
EFR | 12.2Kbps | 8.5 | ACELP |
半速率 | 5.6Kbps | 18.4 | VSELP |
AMR | 12.2~4.75Kbps | 8.5~21.9 | ACELP |
过程如下图所示
GSM的语音编码方案是$13kbit/s$的LTP(规则脉冲激励长期预测)。首先把语音数据分成$20ms$的段,每个段上编码$260bit$的数据;GSM 采用的编码方案是 $13kbit/s$ RPE—LTP 码(规则脉冲激励长期预测)。首先语音分成 $20ms$ 为单位的段,每个段编成 260bit 的数据块;块之间依靠外同步,块内部含同步信息。这样无线接口上 $20ms$ 一帧的数据流,也就是$13kbit/s$ 流中不包括帮助收端定位帧标志的信息。收端把收到的信号块(激励信号)经过LTP(长期预测)和LPC(线性预测编码)滤波重组,最后经过一个预先设计好的去加重网络加以复原,恢复语音信号。
语音产生模型可看成是空气通过一组不同大小的圆柱体。短期分析级采用自动相关来计算与模型所用的8个圆柱体有关的8个反射系数,同时采用一种称为Schur递归的技术来有效地求解所得到的方程组。参数被变换成可以更少的位数来进行更佳量化的LAR(log-area ratio)。这些是传输流的前8个参数。
然后再将编码后的LAR解码成系数,并用来对输入采样值进行滤波。解码LAR的原因是为了确保编码器使用解码器上的相同信息来进行滤波。这一级上的其余采样值用于编解码器的LTP级。
160个采样值被分成4个子窗口,每一个子窗口都拥有40个采样值。长期预测器为每一子窗口产生2个参数:滞后与增益。滞后由当前帧与后两帧之间的交叉相关峰值确定,而增益则由归一化交叉相关系数决定。滞后与增益参数被应用到长期滤波器上,同时对现有短期剩余信号进行预测。
RPE级通过十取一及交错将40个剩余采样值转换成13个参数,并用APCM将所得出的13个值编码,其中最大值用对数编码成6位,然后再将13个参数均表示成3位,总共45位。最后一级是从计算出的长期剩余及分析信号来更新短期剩余信号,然后再用此数据来计算下一帧。
语音数据被分成$20ms$的数据块,以$8KHz$的速率采样,每个样本使用$13bit$的A律进行编码得到$104kbit/s$的语音数据,数据速率太高不适合在GSM信道上传输,因此语音编码之后将数据速率进一步压缩到$13bit/s$,即$20ms$语音信号经过采样和编码之后得到$260bit$的数据。
信道编码及译码
-
全速率TCH编码
全速率TCH编码的输入是260bit的语音编码数据,系统将260bit按照重要性分为三个等级分别处理:最重要的50bit,132个重要bit,以及78个不重要的比特。处理过程如下图所示 -
SCH编码
-
RACH编码
-
BCCH/PCH/AGCH/SDCCH/FACCH/SACCH编码
交织及解交织
在移动通信中这种变参的信道上,比特差错经常是成串发生的。这是由于持续较长的深衰落谷点会影响到相继一串的比特。但是,信道编码仅在检测和校正单个差错和不太长的差错串时才有效,为了解决这一问题,希望找到把一条消息中的相继比特分开的办法,即一条消息的相继比特以非相继的方式被发送,使突发差错信道变 为离散信道。这样,即使出现差错,也仅是单个或者很短的比特出现错误,也不会导致整个突发脉冲甚至消息块都无法被解码,这时可再用信道编码的纠错功能来纠 正差错,恢复原来的消息。这种方法就是交织技术。
语音交织
在上一节我们提到了,通过话音编码和信道编码将每一20ms的话音块数字化并编码,最后形成了456比特。我们首先将它进行内部交织,将456比特按 (0,8…448)、(1,9…449)…...(7,15…455)的排列方法,分为8组,每组57个比特,通过这一手段,可使在一组内的消息相继较远。
但是如果将同一20ms话音块的2组57比特插入到同一普通突发脉冲序列中,那么,该突发脉冲丢失则会使该20ms的话音损失25%的比特,显然信道编码难以恢复这么多丢失的比特,因此必须在两个话音帧间再进行一次交织,即块间交织。
设进行完内部交织后,将一语音块B的456比特分为八组,再将它的前四组(B0、B1、B2、B3)与上一个语音块的A的后四组(A4、A5、A6、A6)进行块间交织,最后由(BO,A4)、(B1,A5)、(B2,A6)、(B3,A7)形成了4个突发脉冲,为了打破相连比特的相邻关系,使块A的比特占用突发脉冲的偶数位置,块B的比特占用奇数位置,即B0占奇数位,A4占偶数位。同理,将B的后四组同它的下一语音块C的前四组来进行块间交织。
这样,一个20ms的语音帧经过二次交织后分别插入了8个不同的普通突发脉冲序列中,然后一个个的进行发送,这样即使在传输过程中丢掉了一个脉冲串,也只影响每一个话音比特数的12.5%,而且它们不互相关联,这能就通过信道编码进行校正。
应该注意的是,对控制信道(SACCH、FACCH、SDCCH、BCCH、PCH和AGCH)的二次交织有所不同。我们不象话音交织一样,要用到3个话音 块。在这里我们这一456比特的消息块在经历过内部交织并分为8组后(这一过程同话音的内部交织一样),将把它的前四组与后四组进行交织(交织方法也与话音的交织一样),最后获得了4个整突发脉冲。
由上可知,交织对于抗干扰具有很重要的意义,但是它的缺点是时延长,在传输20ms 语音块中,从接收第一个比特开始到最后一个比特结束并考虑到SACCH占一个突发脉冲的话,那么时延周期是(9*8)-7=65个突发脉冲的周期,即 37.5ms的延时。因此在GSM系统中,移动台和中继电路上增加了回波抵消器,以改善由于时延而引起的通话回音。
控制信道交织
参考文献
- GSM physical layer
- GSM tutorials
- full rate vs. half rate
- Errison gsm physical layer
- About gsm design
- speech encoding
- GSM physical russian
- GSM语音编码
- GSM专用态处理
- burst types