前一段写了白话语音编码,大家很给力,我成功的把资料去的录音下完了,不容易啊。这段时间一直酝酿把DO写写,可是DO东西太多了,不知从何下手,所以还是写到哪里就是哪里吧。
1、DO的原理
不是书上的,是我总结的,首先DO要功率独享,必须的,更高的功率可以支持更高的编码调制方式,如DO的是turbo编码,1x是卷积,DO的调制是16qam,1x是hpsk,这样我们就可以将数据压缩的更小,更精简,速率也就更高。其次必须时分,这个也好理解,互联网就是这样么,谁有包发谁的,DO也是,不过不光是包,是综合调度,一方面你的sinr,信噪比,另外就是你的数据量。DO的调度原则是谁的信号好就让谁多发,信号不好就少发,当然有个比例公平调度算法,一个人发的数据量太多了,就会让他停止,公式简化就是 你的优先级=(sinr/数据量)*qos,从公式看,sinr越好,优先级越高,你总共发送的数据越多,优先级越靠后,然后每个用户或者业务有个qos,就是类似vip和普通用户的分类,优先级高的先发。
说白了就是谁快让谁发,从而实现高速分组业务。因为DO的最小单位是时隙,1。667ms,所以调度算法最快也是1.667ms。
2、DO的物理信道实现
要说DO为什么快,关键还是物理信道,DO
前向1个时隙有2048
码片,有1600
个码片是专门用来装数据的,有256
个码片是mac信道,作用是前向控制bit
控制反向软切换。剩下192
个的码片用于做导频。那么一个时隙能够传送的数据最多就是1600个bit了,1600/1.667ms,怎么也不可能达到3.1m啊?其实1600只是相当于火车的车皮,数据放到车皮之前还要经过调制么,一调制就相当于压缩了么,所以码片里最终装的是压缩后的数据。
举个例子。DOA前向最大的包是5120(5k),这个5120最终要放到1600个码片里怎么实现呢?
第一步:turbo编码和16qam调制取得信息位,5120*3/4=3840,这个是信息位
第二部,用16qam去调制,5120*1/4=1280,这个是原始位
第三部,在1600码片中,前64个码片放的是preamble,也就是包头,得知道这个包是谁的,从65位开始放1280位的信息位,这个就是压缩后的包内容,那么1600-64-1280还有256位空闲呢?放什么?不是还有3840位信息位么?我们采用打孔的方式抽取256位放进去,这256相当于冗余,可以在解调的时候协助解调。
那么最终5k的包在1。667ms内发出去了,速率是多少?5120/1.667ms=3.07mkbps,也就是我们说的3.1mEVDO的下行速率。当然要四舍五入一下,呵呵,为了宣传么,其实是3.07m才对。
3、调制
在白话语音的时候,调制我没细说,主要是当时写的太累了,其实大家这么理解,调制就是一种压缩就很好理解了,那么16qam压缩比那么高,为什么1x不用呢?我来解释下。
目前我们cdma用的都是相位调制,也就是说用相位来代替符号。如,00我用π/4,01用3/4π,10用-1/4π,11用-3/4π代替,那么一个初始相位(π/4)就能代替2位(00),不就压缩了一半么?
如果我们用π/8代替000……可以提升3倍,用π/16代替0000可以提升4倍(16qam),但是你压缩比越高,所要区分的相位就越细,很好理解,区分π/4比π/16容易多了,所以更高的调制就要求更高的信噪比,换句话说就是更高的功率,这也是为什么DO要功率独享的原因之一。而语音是功率分享,而且用户之间有干扰,无法达到高级调制的门限。具体物理信道编码语音的我写了(
http://www.mscbsc.com/bbs/thread-299109-1-1.html),DO就不写了,大家回去找找资料肯定都能找到,静下心看,会动的。
4、信道监控
再写一个睡觉,上面说了,DO是信号越好越多发,就像我们拉货一样,路况好久跑快点。所以高通就设计了个DRC信道,手机每隔一段时间(DRClength)对接收到的信号做一次ranking并把结果上报(这个是写在手机芯片里的),就是对信号强度分类,DOA分15档,如drc=e就是代表了申请速率是3.1m,手机在上报的时候,不会报信号强度,只会报这个rank的结果。上报的周期越短,对信道变化越敏感,但是同时也会失去时间增益,造成DRC信道的包丢失,所以我们可以通过优化这个参数来增加下载速率,但是一定要多试试并且配合DRCchannelgain这个参数。
这个rank后的结果包括3个字段(preamble size,包大小,所需时隙),preamble就是包头的大小,包大小就是我们要发的包的大小,所需时隙就是需要几个时隙发完这个包。在这里在介绍一个harq技术。也叫提前终止技术。
例如我发1k的包,所需时隙是4个,速率就是1024/(1.667*4)=153.6kbps,但是我可能第2个时隙就发送成功率,那么harq就会在第二个时隙回复个ack(失败了回复一个nak),那么我们实际的速率就是307.2kbps了,所以说实际速率是可以超过申请速率的。那么为什么2个时隙就可以,我们偏要发4个时隙呢?原因很简单,保险么,多次重复发送有个时间增益,可以保证成功率。纠错的话更耽误时间,在高速数据业务来说,时间就是金钱。
总之,信噪比越好,能够区分的相位就越细,就能支持更高级的调制,压缩就越大,放的包就可以越大,速率就可以越高,所以虽然前向没有功率控制,但是在信号不好的地方增加主导频的功率是唯一的解决办法,大家如果发现那里速率下载的比较慢,可以在不增加导频污染的基础上增加电功率。当然在导频污染比较严重的地区,也可以适当减少DRClength试试。
ok休息。有时间再继续
[
本帖最后由 bbgoal 于 2011-11-20 21:28 编辑 ]