主页(http://www.pttcn.net):TETRA数字集群系统语音信道编解码的设计和实现(2)
图2 TETRA系统信道编码器的结构 TETRA数字集群系统信道编码器主要由两大类模块构成:控制模块和编码模块。 (1)控制模块 控制模块主要由主控制模块、读RAM地址控制器、1路变2路选择器以及2路变1路选择器。根据TETRA数字集群协议栈所要求编码的逻辑信道类型,主控制模块控制整个编码模块的工作。读RAM地址控制器通过对读地址的控制,实现了不同等级的分类。1路变2路选择器将AACH的编码数据和其他逻辑信道的编码数据分离。2路变1路选择器将两路编码数据合并成一路数据,然后进入扰码模块。 (2)编码模块 编码模块主要由循环编码模块、RM(Reed-Muller)编码模块、卷积编码模块、交织模块以及加扰模块组成。循环编码模块是由移位寄存器实现的,在加入CRC校验码之后,还加入了4个比特的尾码。RM(Reed-Muller)编码模块只应用于AACH逻辑信道。卷积编码模块支持TETRA协议中规定的各种码率。交织模块由块内交织和块间交织两个子模块组成。在编码之前,加扰模块需要协议栈提供色码参数,才能正确输出编码结果。 在获知协议栈所要求编码的逻辑信道类型之后,主控制模块开始从存储数据的RAM中读取待编码数据,读取的个数随着逻辑信道类型的不同而不同。因为待编码数据是按顺序存入RAM中,而TETRA数字集群系统中语音信道的编码方案采用了非均等保护,要求输入编码器的码元顺序按等级分类,所以在对语音数据进行编码之前,主控制模块通过读RAM地址控制器模块来控制读RAM的地址顺序,从而完成等级分类。
在TETRA数字集群系统的信道编码方案中,AACH逻辑信道的编码流程与其他逻辑信道的编码流程不同,所以在实际实现的过程中,通过两个路径选择器形成两条编码路径,使AACH的编码路径与其他逻辑信道分开。
图3 TETRA语音业务信道编码流程 在接收到编码指令之后,信道编码器首先判断协议栈要求编码的逻辑信道类型,并根据逻辑信道类型从语音缓存区里读取数据:全时隙业务信道(TCH/F)读取274比特的数据;半时隙业务信道(TCH/H)读取137比特的数据。由于语音缓存区里的比特流级别顺序是混乱的,所以必须对比特进行重排,将各级别数据分类,并按顺序排放。只对第二等级的比特进行CRC编码,在第二等级比特流末端加入CRC校验值之后,还要再加入4比特尾码。根据395-2协议,业务信道编码前的码元是逆序进入移位寄存器的,即最先进入编码模块,最后进入移位寄存器;最后进入编码模块,最先进入移位寄存器。当进行RCPC编码时,首先对第1等级比特进行卷积,然后对第2等级比特(包括CRC校验码和尾码)进行运算。第1等级和第2等级的比特所进行删余的码率是不同的,但处理是连续进行的,在码率转换的时刻,寄存器不要清空。对所有比特进行交织和加扰。 5 结束语 本文对TETRA数字集群系统语音业务信道所采用的纠错编码技术进行了分析,阐述了语音业务信道的编码流程,并给出了用FPGA实现编码器的方案,为进一步的研究与开发提供参考。
参考文献:
(中国集群通信网 | 责任编辑:陈晓亮) |