38.331 编解码程序 源代码

现在网络上流传的热门技术词汇是什么?人工智能,区块链,云计算,边缘计算,还有物联网,5G,等等。我在这里就聊聊5G的无线资源管理。  

基站和UE之间是通过无线电传输的,5G的空口传输数据包括控制信令以及用户数据。空口数据都是经过编码后才传输的,对于控制信令,为了使UE和基站间都能够理解控制信令的内容,需要有一套相应的编码格式。

3GPP的控制信令主要是RRC层的信令,采用ASN.1 UPER编码格式。(这时候才进入主题,呵呵~)

接着这个话题,RRC层的信令在38.331协议描述,打开协议发现,RRC能存在大量的消息,结构等,都是ASN.1 UPER编码的。我们知道,在实现3GPP RRC协议的过程中,编解码RRC层信令是绕不过的一个坎,如果手动实现每条信令的编解码功能,不仅工作量大,而且还容易出错,而且还很难保证编解码是否正确,维护成本也很高。

说了这么多手动编写RRC信令编解码函数的缺点,那么肯定是有自动化编写编解码函数的方法吧,答案是肯定的。

与其说ASN.1 UPER是一种编码格式,不如说它是一种通信格式方面的语言,它有固定的数据类型,有固定的语法动作等。既然是语言,那么就可以写一个语言编译器,将这种格式写的文件编译成变成语言,比如C语言。

那么问题已经很清楚了,为了编解码38.331协议描述的信令,需要通过编解代码实现,而最有效的方式就是编写ASN.1 UPER编译器,将ASN.1 UPER格式的信令编译成变成语言。

 

按照这个思路,我编写了一个这样的编译器,生成了38.331-f21的编解码程序。感兴趣的小伙伴可以下载代码编解码38.331的码流。

 

下载地址:

https://download.csdn.net/download/dybinx/10805868

 

 

 

 

 

你可能感兴趣的:(5G通信协议)