欢迎来到天天文库
浏览记录
ID:54765256
大小:108.00 KB
页数:15页
时间:2020-04-21
《Aspen饮用酒脱甲醇.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ASN.1PER编译码规则技术总结1.ASN.1语言简介ASN.1(AbstractSyntaxNotationOne)是一种类型描述语言具有类似于面向对象程序设计语言中所提供的类型机制,它可定义任意复杂结构的数据类型,而不同的数据类型之间还可以有继承的关系。标准包括:ISO8824-1
2、ITU-TX.680:SpecificationofbasicnotationISO8824-2
3、ITU-TX.681:InformationobjectspecificationISO8824-3
4、ITU-TX.682:ConstraintspecificationISO8824-4
5、ITU-TX.6
6、83:ParameterizationofASN.1ASN.1特别适合表示现代通信应用中那些复杂的、变化的及可扩展的数据结构。ASN.1可分为两个部分:语法规则:从数据类型、内容顺序或结构方面来描述消息的内容。编译码规则:如何编译码实际消息的数据。特点:表达简单和复杂类型的能力;类型根据大小或数值进行约束;大写开头表示类型名,小写开头的表示变量名/字段名;字段可以标记为OPTIONAL,便于扩展。2.PER编码简介3GPP的规范中,由ASN.1到传输码的转换统一使用定义在ITU-TX.691中的PER(PackedEncodingRules)规则,因此这里讲的ASN编译码规则也就是ASN
7、编码中的PER编译码规则。PER有两个变体:对齐方式和非对齐方。对齐方式用于:Iub、Iur、Iu接口的ASN.1的传输编码。非对齐方式:仅用于空中(UU)接口的ASN.1转换,两者的编码过程基本相同。在对齐的方式下,若前面所有单元的信息经编码后得到的比特流长度不是一个八位组的倍数,而后一个信息又是以八位组为单位的(字符串),那么就需要在前面生成的比特流后面补“0”,使其长度为8的倍数。所以一般补的位数为0-7bit。而非对齐的方式无此限制。所有信息单元按编码规则生成的比特数据将按其被编码的顺序首尾相连,中间不需要任何填充。按ITU-TX.691的规定,若最终的编码结束后。所得的编码不是
8、8的倍数,信息编码结束后的填充由RRC负责。另外,PER编译码必须依赖于3GPP的标准文档。也就是说,收发双方也必须知道层3消息的具体结构,这样编码和译码的才能被编译和识别。2.1编码规则分组编码规则包括三个部分:preamble(前缀)、length(长度)、contents(内容)。其编码格式如图1所示:Preamble
9、length
10、Content(1)preamble:它只出现在ENUMERATED、SEQUENCE、SET、CHOICE四种数据结构的编码中。用来记录结构中有无扩展项(extension)、选择项(optional)或缺省项(default)。(2)length:
11、对STRING、SEQUENCEOF、SETOF等数据类型进行编码时,需对其长度按对齐方式进行编码。(3)contents:若数据是基本结构类型,如:BOOLEAN、INTERGER、REAL、BITSTRING等,即可直接进行编码;若数据是复合结构类型,如SEQUENCE、SET、CHOICE、SEQUENCE OF等,则属嵌套编码,此时contents中也包含有preamble、length、contents三个部分。(注:在以下举例中,为对齐需要插入0的地方,以(pad)表示)3.2范围受限的整数类型INTEGER(lb…ub) lb为范围的下限,ub为上限,范围N=ub-l
12、b+1。PER针对N的大小不同,采用不同的编码方法,且对整数n进行编码时,以(n-lb)的值进行编码。当N<=255时,整数编成不需对齐的1~8比特;当N=256时,编成需对齐的8个比特,当25613、0。 3.3对象标识符类型OBJECTIDENTIFER OBJECTIDENTIFER是一种用层次标识符来描述对象的方法;每一层为一标识符,用一个十进制整数表示。例如:protocolIdentifier OBJECTIDENTIFIER可被赋值为{itu-t(0)recommendation(0)h(8)245version(0)3}。protocolIdentifier由itu-t、recommendation、h245和v
13、0。 3.3对象标识符类型OBJECTIDENTIFER OBJECTIDENTIFER是一种用层次标识符来描述对象的方法;每一层为一标识符,用一个十进制整数表示。例如:protocolIdentifier OBJECTIDENTIFIER可被赋值为{itu-t(0)recommendation(0)h(8)245version(0)3}。protocolIdentifier由itu-t、recommendation、h245和v
此文档下载收益归作者所有