首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

《玩转IP core》之十七:看客做饭,CDMA接收机的同步

《玩转IP core》之十七:看客做饭,CDMA接收机的同步

常言道:南甜北咸,东辣西酸,不同地方的人有不同的口味。那么,如果您请朋友吃饭最好可得看人家的口味点菜。您非要请正宗的四川人吃潮汕打冷,或者请地道的广东人吃重庆江湖菜,估计这个效果不会太好。同样的道理,在进行设计的时候,也应该多考虑整个系统的要求,才能很好的平衡面积与速度,获得比较好的结果。这就对结构工程师提出了比较高的要求,不能乱点鸳鸯谱
世界上的系统万万千,不同用户的要求更是千奇百怪,显然《系统篇》里面不可能把所有的系统设计都讲明白。鄙人写这一篇
的目的,只能在于举例子、说思想。列位只有做到领会思想、举一反三才能成为好的听众。子曾经曰过:温故而知新,可以为师矣。老衲说:思想是永存的

咱们就愚公之家----开门见山好了。这一讲里面会介绍CDMA系统的同步部分,这不是重点。关键是,大伙儿会看到同样的算法,在终端和基站侧由于系统用户数目不同,会有不同实现。这是给大家的一个启示:不能因循守旧,要与时俱进。

这里说的CDMA是针对一种调制方式码分多址,而不是针对特定的系统。这个CDMA可以是IS-95,可以是W-CDMA,当然也可以是自定义的系统。

假设系统输入的数据,以帧同步开始排序,为x0x1L为一帧的数据量,如图。导频码的信息已知。一般接收机系统里面会采用过采样技术,也就是说一个码的变化周期,会有多个输入数据,这样可以保证采样进度。


所以,框图里面用码生成器代表CDMA里面很重要的导频码的产生。(IS-95里面是Walsh + m序列,W-CDMA里面是Walsh +Golden码,这些就不详细介绍了。如果真的用,看看协议好了。)导频码生成器有三个输入:帧同步、时钟和相位设定,作用是在帧同步开始,按照时钟产生设定的相位开始的一些列的。这里面的码,是一个比特的二进制数,表示“+1”(二进制“0”)和“-1” (二进制“1”.这些是约定,后面都照此办理。


一些系统会有插入导频,或者说导频不是时间连续的。这种情况,可以采用外部的时序使能来控制导频码生成器或/和我们后面的同步搜索单元,来处理。不是本讲的重点,不详细描述。后面,全部按照连续导频来介绍。

系统输入数据的图中,时钟是采样时钟,不是码时钟。码的周期与时钟关系如下图。顺便说一句,导频码生成器原则上的时钟,是由系统时钟分频出来的。但是,考虑到《统一行动听指挥》一讲的介绍,用系统时钟产生使能信号驱动导频码生成器比较合适。这是多时钟系统的一般技巧,不去多说。


用了这么多篇幅介绍背景,本不是老衲的本意。但是,实在没法子。一旦遇到介绍系统设计的话题,不介绍背景,那没几个人能听得明白。贫僧不想说天书,就不得不讲背景知识,就这还节略了不少呢。

CDMA
的同步是接收机系统的核心,其作用是搜索和同步空间信道的多径,用于后面的RAKE解调。(这里面一堆名词,大家不必太在意,不影响后面听讲。我说这些是用来堵一些专家的嘴的。正月初三包饺子,堵小人嘴。面试的时候可以用来唬人。但是,别吹大了,牛皮不破才好。)这一讲里面,我们只计算信道的延时功率谱(别急,后面有计算公式。我冒充一次算法工程师,把公式给大家。)。延时功率谱就是一堆和时延有关的、高高低低的数据,如下图的样子。后面再如何处理,那是后话,反正最后能正确解调空中的信号,完成通讯。鉴于我们的主题,在座列位不是做通讯算法的,在此按下不表。


计算延时功率谱的公式是

其中,K是算法规定的累加长度,和搜索精度有关;M为规定的搜索长度,与假设的小区半径以及多径时延有关。

无论对于基站还是终端,表达公式是一样的。并且,我们假设基站和终端需要的同步周期是一致的。也就是说,对以一个用户需要在规定时间内,至少进行一次同步搜索过程。(但是,在分析了基站与的终端不同特点之后,具体的系统结构却是大相径庭了。这是后话,先剧透一下下。)

先来看看基站侧的特点:多用户共用。也就是说,基站必须支持多个手机用户的同步搜索能力。这叫我们想起来,上一讲的多路复用的批发价了。对头,让我们再去批发一个同步搜索。

一同观察计算公式,似乎有几分相识吧。好好想一想。提示一下:FIR滤波器。对了,这个FIR滤波器的算式是一样的,理论上这叫做匹配滤波器。但是,由于导频码不是对称的,所以无法采用对折方式简化这个结构。拷贝那节的结构,改改信号名称,就成了如下的结构图:


心急的孩子,总是会犯错啊。兄弟,这里的导频码是一比特的这个特点,您没考虑简化一下?真正好的结构如下:


其中,由于一比特的特点,所以乘法变成了XOR操作;而且,由于XOR操作几乎不占时间,所以节约了一层的时延。这些都是雕虫小技,不登大雅之堂。

这个匹配滤波器占用面积相对是很大的,对于单个用户而言,浪费很大,真心地不划算。但是,我们这就开始批发成多用户,堵住一些人的嘴。

对于基站的接受信号,配置不同的导频码序列,数据注入若干个,输出的pi)就是要求的延时功率谱。

还有值得提到的是:在延迟了两到三级之后,实际上加法器就可以复用了,因为根本用不着那么快的时钟了。还有,前面也不一定要真正的L长度。可以流水线完成L的若干部分,例如十六分之一,再时分复用完成后面的16次加法。这样可以进一步地节约匹配滤波器的面积,见下图。到此为止,用了十六分之一的资源,大伙做到了单通道的匹配滤波器。


在追加一点基础知识,搜索周期T远大于搜索需要的时间L。一般,T是秒级的,而L10毫秒级的。也就是说,一个匹配滤波器,可以支持100个左右的用户。这基本上是一个基站需要支持的用户量的极限了。掐指一算,假设搜索长度为400,那么平均每个用户的加法器开销大约0.3个,够节约的了吧。
花开两朵,各表一枝。下面讨论手机里面的事情。首先,手机里面不能有多用户了。谁见过哥俩一起用一个手机,同时打电话的?可怜的我们,找不到批发价这个便宜了。没关系,猫有猫路,鼠有鼠道,我们自有办法。

还是观察公式,这个公式的最直接的实现如下图,就是一个基本累加器的变型。我们把这个单元成为基本累加单元。


下来,我们通过时分复用的戏法,利用一个基本累加单元算出所有的演示功率谱。基本思想是,每次算一个相位,逐次算完全部的功率谱。对于一个相位而言,x的输入位置是前一个x的地址加一,而导频码产生器则需要复位。这样计算L次之后,就获得了完整的演示功率谱。这个结构就是著名的滑动相关窗



下来就需要计算,一组这个单元是不是能满足搜索长度的要求。如果不满足,那么就要几组分别计算几段相位的。无论如何,再算上控制部分的花销,这个手机侧用户所需要的面积绝对大于基站里面的情况。

这正是:同步公式大家懂,终端基站各不同。莫道不知系统路,变化之道自从容。

正式内容结束了,下一周会给大家一些程序风格上的建议。

鉴于这是本讲座正式内容的最后一讲,和大伙儿多扯点犊子。时光荏苒,日月如梭,转眼间就要和广大观众分别了,实在有些留恋啊。实际上,IPcore的内容博大精深,鉴于这个讲座的规模,不可能给大家一一介绍的。

这个讲座里面的例子不能说不重要,但是老衲更希望诸位掌握的却是讲座始终在宣传的精神:用变化的手法,依据系统的需求,灵活设计结构。套用《叶问》的台词:天下没有普世的结构,只有最适合的结构。

在工程中,经验固然重要,你设计过USB2.0接口肯定对你设计USB3.0接口有帮助。但是,电子工程师的不幸或者说幸运在于,你遇到的系统要求是一直变化的。说不幸,是你不可能一直依靠以前的程序,吃老本;说幸运,是永远有新的需求,你不会被兔死狗烹。这里面的道理,大家体会吧。
返回列表