待解决问题
LTE 系统信息SI解帧  (进入论坛模式)
离问题结束还有0天0小时  |  提问者:幻影314   |  提问时间:2013-6-13 19:53
LTE中的SI可能包含多个SIB,如果包含多个SIB的情况时,SIB的解帧应该如何实现,因为每一个SIB的长度都是不确定的,如果想解帧一个SI中的后面一个SIB而不解帧前面的SIB应该如何实现?
问题答案 ( 10 条 )
希望下面这篇文章对你有帮助。
http://blog.sina.com.cn/s/blog_927cff0101019rfs.html

另:ASN.1应该已经实现了SI的解码,你可以参考一下其实现。
 |  回应该答案 (0)  |  回答者:wjhgh04   |  2013-6-14 11:54


如果现在已知一个SI里面包含有SIB3、SIB4两个SIB,但是只需要SIB4的信息(SIB3的数据长度是不定的),能否从SI信息中提取出SIB4的数据,再对相应的数据进行解帧,还是只能用这一段数据先解帧SIB3再用剩下的数据解帧SIB4呢?
 |  回应该答案 (0)  |  回答者:幻影314   |  2013-6-14 19:00
明白
 |  回应该答案 (0)  |  回答者:sky_ggmm   |  2013-6-20 09:16
学习了,感谢大家的共享
 |  回应该答案 (0)  |  回答者:marinelick   |  2013-6-24 09:02


这个是可以通过读ASN.1编码后的码流来确定的,ASN编码后的SI消息的码流头部会指示当前SI发送的SIB的个数及每个SIB消息的长度,通过这些指示信息滑取相应的offset位就可找到SIB4消息内容编码后对应的各个bit。
 |  回应该答案 (0)  |  回答者:赵来也   |  2013-8-4 22:29
很好,非常感谢楼主!
 |  回应该答案 (0)  |  回答者:sun.gv   |  2013-8-5 22:05


SystemInformation ::= SEQUENCE {
criticalExtensions CHOICE {
systemInformation-r8 SystemInformation-r8-IEs,
criticalExtensionsFuture SEQUENCE {}
}
}

SystemInformation-r8-IEs ::= SEQUENCE {
sib-TypeAndInfo SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
sib2 SystemInformationBlockType2,
sib3 SystemInformationBlockType3,
sib4 SystemInformationBlockType4,
sib5 SystemInformationBlockType5,
sib6 SystemInformationBlockType6,
sib7 SystemInformationBlockType7,
sib8 SystemInformationBlockType8,
sib9 SystemInformationBlockType9,
sib10 SystemInformationBlockType10,
sib11 SystemInformationBlockType11,
...,
sib12-v920 SystemInformationBlockType12-r9,
sib13-v920 SystemInformationBlockType13-r9
},
nonCriticalExtension SystemInformation-v8a0-IEs OPTIONAL
}

根据协议来看,SI中并没有关于所包含的的每一个SIB的个数及长度的指示,你能说的再详细一点么
 |  回应该答案 (0)  |  回答者:幻影314   |  2013-8-10 20:13
学习了
 |  回应该答案 (0)  |  回答者:bwbjcq   |  2013-8-16 21:53


编码的时候,会将消息的长度放在真正消息流的前面,在解码时读到该信息就知道每条SI消息的长度了
 |  回应该答案 (0)  |  回答者:赵来也   |  2013-9-8 22:11
:)
 |  回应该答案 (0)  |  回答者:是仁非兄   |  2014-5-23 14:48
 
我要回答:  回答字数在10000字以内