总结2011年的三篇文字,形成本文。(不好意思,因为此文章早前在新浪本人的blog, blog.sina.com.cn/blesslm 发表过,新浪阻止了文中的图片,于是找到我本地的图片,上传为附件了,可以在附件里看到两张)
什么是实时性?
从许多角度都可以去理解实时性。而我们可以从数字世界的基础来看。将模拟信号数字化之后,才比较方便地用各种数字化的处理方法来做数字信号序列进行处理。将模拟信号数字化的第一步就是采样。所谓采样,使得信号变得离散,有了间隙。这些间隙做什么,就是用来处理信号的。而实时性的归根结底,就是要在两个信号的间隙处理完前面那个信号。比如说,语音信号,每20ms有160个采样值,作为一帧来处理,则必须在下一个20ms的帧收完之前处理完前一帧的信息,方为实时处理。平均下来,就是在125us的间隙内要处理完一个采样值。
通信系统中的实时性,一个是如上述。例如GSM的信号处理,一帧4.615ms内处理完一帧的数据,由于数据并不占满所有的时间片,所以看起来实时性要求是低于每个样值的处理时间在一个采样周期内。但最高的EDGE的要求,例如下行8个接收时隙都要处理时,又回归到了前述的点上。另外,通信是双方的事情。于是乎,在规定的时间内处理完相关信息,并反馈相关的信息,则是一个双向的实时性问题了。
大概去年这个时候,对于GSM软件系统的实时性问题,我进行了一个分析。并画了一张图,加上一些文字说明。visio图片要弄上来,好像比较费劲。其中文字的部分,我今天贴出来跟大家分享。有兴趣交流的同学,可以跟我联络。
单从接收来看,均衡的实时性要求,从一个slot的角度来看,在1slot的时间处理完一个slot的数据;而从一帧的角度来看,如果是4RX则是一帧的时间处理完4slot的数据即可。图中表达了两种不同设计的实现要求。显然第二种的要求比第一种要低,而软件设计的方法也会也所不同。
单从接收来看,而解码所需要的实时性要求,如果是4RX则是一帧的时间处理完4slot即1block的数据即可。
发射的时序受接收的调度,则有了反馈支路的实时性要求,则需要结合起来看。USF的要求则是要完成均衡与解码。也就是说均衡加解码需要在11slot的时间内完成一个block的全部。一个block是4帧对应的同一个slot位置的数据连接起来的。
从上图可以看出,GSM/GPRS/EDGE系统单从接收链的实时性要求4RX的要求,均衡和解码完成后获得USF的时间点基本满足最为苛刻的发射配置时间点要求。在实际实际设计,稍微比此要求苛刻一点就可以完全满足整个系统的实时性要求。
TD-LTE实时性问题关键在于最短的HARQ反馈是4ms,如下图所示,这三个ms内能处理多大的数据量则对应这整个系统的一个流量。
小结:实时性系统软件设计
1.单方向链路处理的设计:以帧为单位来考虑设计,单方向每个步骤的模块的处理必须在一帧时间内完成一帧数据的处理;多个模块级联的处理则需要考虑多个模块之间的缓存数据的空间有一帧的余量
2.有反馈支路的链路处理设计:找到最短可能的反馈支路的时间要求,找到其中涉及的可能的处理的模块,再合理分配每个模块的实时性要求并调整缓冲池大小
3.其他的多方通信的需求,根据系统的通信机制,考虑适当的通信缓冲池的余量,并根据以上两条可能涉及的运算量的估计来设计,不需要特别为多方通信本身提高实时性的要求。
当然,具体到软件设计,芯片设计,亦有诸多实时性系统设计的问题,暂且在此不多述。但归根结底,都来自于这样一个数字世界最基本的点。没事的时候想想,并是自有其乐之处,有益于身心健康的。
(全文文字与图片均是作者原创,曾在本人新浪博客上贴过。)
用户1546833 2013-5-6 08:05
用户1498631 2013-5-2 19:17
用户1602177 2013-5-2 15:04
用户1498631 2013-4-24 22:09
用户1610239 2013-4-24 10:43
darkblue860_479752165 2013-4-24 10:09
用户1602177 2013-4-23 15:46