发明内容
有鉴于此,本发明提出了一种宽带码分多址系统上行数据信道解调的方法及系统,能解决传输延迟数据的带宽和系统处理能力之间的矛盾,以及不能及时动态调度两方面的问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种宽带码分多址系统上行数据信道解调的方法,该方法包括:以数据包(batch)为单位,根据多个用户属于同一个小区且解调时间相近的原则对用户进行分组;解调时,以batch为单位,为batch内的多个用户申请同一组天线数据,按照batch内所有用户的先后顺序对每个时隙逐个解调,直至当前batch内所有时隙都解调完毕。
其中,所述以batch为单位,根据多个用户属于同一个小区且解调时间相近的原则对用户进行分组具体包括:将属于同一个小区且解调时间相近的多个用户组合为一个batch;
所述解调具体包括:从当前batch内的第一个用户开始,按先后顺序对当前batch内的所有用户解调完第一个时隙后,再从当前batch内的第一个用户开始,按先后顺序对当前batch内的所有用户解调下一个时隙,对每个时隙逐个解调直到当前batch内所有时隙全部解调完毕。
其中,该方法还包括:当前batch所需的天线数据能分多次申请,当由申请返回的天线数据已经能解调一个当前时隙时,对当前时隙开始解调,解调的同时申请当前batch的下一个时隙所需的天线数据。
其中,该方法还包括:对当前batch内的第一个时隙解调完毕后,如果需要处理下一个batch,则申请下一个batch的第一个时隙所需的天线数据。
其中,所述解调进一步为:根据申请的天线数据,对与每一个batch对应的用户的解调所需要的用户参数进行解调。
一种宽带码分多址系统上行数据信道解调的系统,该系统包括:分组单元和解调单元;其中,
所述分组单元,用于以batch为单位,根据多个用户属于同一个小区且解调时间相近的原则对用户进行分组;
所述解调单元,用于解调时,以batch为单位,为batch内的多个用户申请同一组天线数据,按照batch内所有用户的先后顺序对每个时隙逐个解调,直至当前batch内所有时隙都解调完毕。
其中,所述分组单元,进一步用于将属于同一个小区且解调时间相近的多个用户组合为一个batch;
所述解调单元,进一步用于从当前batch内的第一个用户开始,按先后顺序对当前batch内的所有用户解调完第一个时隙后,再从当前batch内的第一个用户开始,按先后顺序对当前batch内的所有用户解调下一个时隙,对每个时隙逐个解调直到当前batch内所有时隙全部解调完毕。
其中,所述解调单元,进一步包括:参数随机存取存储器(RAM)模块、天线数据RAM模块、和解调任务执行控制模块;其中,
所述参数随机RAM模块,用于接收batch和batch对应的用户的解调所需要的用户参数;
所述天线数据RAM模块,用于存储天线数据;
所述解调任务执行控制模块,用于从参数随机RAM模块读取batch和batch对应的用户的解调所需要的用户参数,从天线数据RAM模块读取天线数据,根据申请的天线数据,对与每一个batch对应的用户的解调所需要的用户参数进行解调。
本发明以数据包(batch)为单位,根据多个用户属于同一个小区且解调时间相近的原则对用户进行分组;解调时,以batch为单位,为batch内的多个用户申请同一组天线数据,按照batch内所有用户的先后顺序对每个时隙逐个解调,直至当前batch内所有时隙都解调完毕。采用本发明,能解决传输延迟数据的带宽和系统处理能力之间的矛盾,以及不能及时动态调度两方面的问题。
具体实施方式
本发明的基本思想是:以batch为单位,根据多个用户属于同一个小区且解调时间相近的原则对用户进行分组;解调时,以batch为单位,为batch内的多个用户申请同一组天线数据,按照batch内所有用户的先后顺序对每个时隙逐个解调,直至当前batch内所有时隙都解调完毕。
下面结合附图对技术方案的实施作进一步的详细描述。
本发明的方案是一种无线通讯领域的WCDMA系统中NodeB上行一侧物理层数据信道基于干扰抵消后的延迟数据的任务调度及码片级处理方案。针对现有技术解决传输延迟数据的带宽和系统处理能力之间的矛盾,以及不能及时动态调度两方面的问题,本发明引入数据包(batch)的概念,用batch为单位分组,就是将多个用户分组到一个batch,分组需要具备的条件是:多个用户属于同一个小区且解调时间相近。分组时,将属于同一个小区且解调时间相近的多个用户分到一个batch,这样,以batch为单位传输天线数据时,同一时间每个batch只需要传送一个小区的天线数据,仅仅占用2个天线,其他天线可空闲,从而降低了数据量,在对接收的天线数据进行解调时使系统处理能力得到优化,从而,采用本发明不仅降低了传输数据量,而且避免了传输延迟数据的带宽和系统处理能力之间的矛盾。而不是像现有技术那样以用户为单位,由于所有用户分属12个天线,因此,同一时间天线都被占用以进行天线数据发射,从而数据量巨大,会导致传输延迟数据的带宽和系统处理能力之间的矛盾。由于每个batch只需要传送一个小区的天线数据,因此,传输天线数据的带宽降为原来的1/X,同时每个batch的解调时间是不受限制的,可以动态调度,而每个batch解调所需的天线数据由每个batch自己发送天线申请,由于每个batch内的多个用户同属一个小区,因此只需要传送一个小区的天线数据即可。所申请的天线数据发送过来后要在片内随机存取存储器(RAM)中存储,供解调时对存储的天线数据实时读取,一个batch所需的天线数据可以分若干次申请,循环使用片内RAM的天线数据存储区域,利用解调的时间同时传输申请的天线数据,以支持最优的解调性能。不同batch之间串行处理,处理完一个batch再处理下一个batch。
一种WCDMA系统上行数据信道解调的方法,主要包括以下内容:
一、将属于同一个小区且解调时间相近的多个用户划分组合为一个batch。
这里,该划分组合的操作可以由内嵌软件,如MIPS核和ARM这一类的CPU来完成的。这里,MIPS指MIPSTechnologie,为美普思科技公司,ARM指Advanced RISC Machines,为一家IP核供应商公司。内嵌软件先将多个用户组合成一个batch,然后将batch内的每个用户解调所需要的用户参数通过总线配置给系统中用于天线数据解调的硬件装置,该硬件装置内有一组片内RAM来存储用户解调所需要的用户参数,分乒乓区存储,即两个乒乓存储区(bank),batch内的用户(user)标识(id)信息、和用户解调所需要的用户参数的bank id信息则存在于存储有用户列表(user_list)的RAM中。batch内的用户(user)标识(id)信息、和用户解调所需要的用户参数的bank id在user_list中,并以链表的形式存在,内嵌软件同时给该硬件装置配置batch头(head)信息,batch头信息中包含第一用户id在user_list中的地址及用户的个数,同时还包含当前batch用于解调的天线数据的起始时间点。batch头信息和user_list的对应关系图如图1所示,图1中的user num表示用户的个数。
二、解调时,以batch为单位,为batch内的多个用户申请同一组天线数据,按照batch内所有用户的先后顺序对每个时隙逐个解调,直至当前batch内所有时隙都解调完毕。
这里,设定一个batch需要解调Y个时隙(slot)的数据,即所有时隙个数为Y,解调的粒度是一个时隙,硬件装置先将batch内的所有用户按先后顺序解调完一个时隙的数据,然后再从batch内的第一个用户开始解调下一个时隙的数据,如此循环一直到Y个时隙的数据全部解调完毕。当硬件装置接收到内嵌软件下发的batch头信息时,要根据当前天线数据存储RAM的空闲情况发送天线数据申请,当系统开始工作时,天线数据存储RAM是全部空闲的,这时可以一次申请Z(Z大于等于Y)个时隙的天线数据,当接收到的天线数据已经够解调一个时隙时,就开始解调,当第一个时隙解调完毕时,如图2中的第1个时隙的存储空间就已经释放了,这时可以马上申请下一个batch的第一个时隙的天线数据,以此类推,当前batch的所有数据处理完后,下一个batch的天线数据已经准备好,可以马上处理下一个batch,这样可以连续处理多个batch,而不必为等待天线数据而消耗时间。
一种WCDMA系统上行数据信道解调的系统,主要包括以下内容:
该系统包括:分组单元和解调单元;其中,分组单元用于以batch为单位,根据多个用户属于同一个小区且解调时间相近的原则对用户进行分组。解调单元用于解调时,以batch为单位,为batch内的多个用户申请同一组天线数据,按照batch内所有用户的先后顺序对每个时隙逐个解调,直至当前batch内所有时隙都解调完毕。
这里,分组单元,进一步用于将属于同一个小区且解调时间相近的多个用户组合为一个batch。解调单元进一步用于从当前batch内的第一个用户开始,按先后顺序对当前batch内的所有用户解调完第一个时隙后,再从当前batch内的第一个用户开始,按先后顺序对当前batch内的所有用户解调下一个时隙,对每个时隙逐个解调直到当前batch内所有时隙全部解调完毕。
这里,解调单元进一步包括:参数随机存取存储器(RAM)模块、天线数据RAM模块、和解调任务执行控制模块;其中,参数随机RAM模块用于接收batch和batch对应的用户的解调所需要的用户参数。天线数据RAM模块用于存储天线数据。解调任务执行控制模块用于从参数随机RAM模块读取batch和batch对应的用户的解调所需要的用户参数,从天线数据RAM模块读取天线数据,根据申请的天线数据,对与每一个batch对应的用户的解调所需要的用户参数进行解调。
这里,该系统还可以包括:包请求控制模块,用于从参数RAM模块中读取包请求,并解析出包请求中的batch及和batch对应的用户的解调所需要的用户参数,将解调任务执行控制模块的天线数据请求转发给天线数据RAM模块,以申请所需要的天线数据。
这里,该系统还可以包括:码片级处理模块,用于以用户为单位对数据信道解扰、解扩和频偏补偿。
以下对本发明进行举例阐述。
方法实施例:本实施例的流程包括如下步骤:
步骤101:系统的内嵌软件将属于同一个小区且解调时间相近的多个用户划分组合为一个batch。
步骤102:该内嵌软件将batch内的所有用户解调所需的参数配置给系统中用于天线数据解调的硬件装置。
步骤103:该内嵌软件将batch对应的user list链表配置给该硬件装置。
步骤104:该内嵌软件将batch头信息配置给该硬件装置。
步骤105:该硬件装置收到batch头信息后发送天线数据请求,以申请天线数据。
步骤106:申请天线数据后,该硬件装置收到申请的当前batch足够解调第一个时隙的天线数据后,开始对batch内的所有用户按顺序进行解调。这里的解调,实际上是根据申请的天线数据,对与每一个batch对应的所有用户的解调所需要的用户参数进行解调。
步骤107:当第一个时隙的天线数据解调完成后,如果该内嵌软件已经配置下一个batch头信息,则发送下一个batch的第一个时隙的天线数据的申请。
步骤108:如果申请的当前batch用于解调第二个时隙的天线数据已经准备好,该硬件装置就开始解调当前batch所有用户的第二个时隙,并以此类推,一直到当前batch的所有时隙全部解调完毕。
步骤109:当前batch解调完毕后,如果申请的下一个batch用于解调第一个时隙的天线数据已经准备好,则开始解调下一个batch。以此类推,循环解调该内嵌软件配置的任务。
系统实施例:
如图3所示,本实施例的系统共分为五个模块:参数RAM模块(可以用para ram模块表示)、天线数据RAM模块(可以用antenna data ram模块表示)、包请求控制模块(可以用batch controller模块表示)、解调任务执行控制模块(可以用task execute controller模块表示)、码片级处理模块(可以用chip processor模块表示)。和本系统有接口的外围子系统包括总线矩阵(AXI)、外部数据传输模块(ETI)、天线插值模块(ANU)、数据信道符号级处理模块(DMU)。其中,AXI主要是AXI总线接口模块,ETI是和天线存储设备(图3未显示)进行天线数据申请及天线数据的交互的扩展接口,DMU则主要是进行符号级处理的设备。其中,所述天线存储设备是一种数据存储设备,比如静态存储器(sram)或动态存储器(dram)。图3中,batch request指包请求;batch response指包响应;read指读;data指数据;data inf指所接收天线数据的数量;ch inf指码片级处理所需的参数;ch finish指码片级处理完成上一个用户的一个时隙的任务的标志信号;batch inf指包信息;batch finish指完成一个batch的任务;Antenna data request指天线数据请求。
上述系统中,参数RAM模块:用于接收内嵌软件通过AXI总线配置下来的batch头信息和用户解调所需要的用户参数,batch头信息存入参数RAM模块中的batch request FIFO,用户解调所需要的用户参数存入RAM;该参数RAM模块同时接收外围设备通过AXI总线读取参数的操作。
天线数据RAM模块:用于接收ETI传送的天线数据,存入天线缓存(buffer),并统计所接收天线数据的数量(data inf)。
包请求控制模块:用于从参数RAM模块中的batch request FIFO中读取包请求,并解析出包请求中的batch,将batch所对应的包信息(batch inf)传给解调任务执行控制模块并回复包响应给参数RAM模块;接收解调任务执行控制模块的天线数据请求,并向天线存储设备发送天线数据的请求。当完成一个batch的任务时(batch finish),要向内嵌软件发送响应信息。
解调任务执行控制模块:用于接收包请求控制模块传送的需要执行的包请求中batch所对应的包信息,并回复包信息接收完毕的响应,同时会接收天线RAM模块发送的天线以符号(symbol),如256chip为单位统计的所接收天线数据的数量(data inf),这样就可以维护完成一个包任务所需要的天线数据的symbol个数和存储天线数据的RAM空间之间的关系,当刚收到包请求中batch所对应的包信息时,RAM中没有天线数据,这时要发送天线数据申请,根据RAM空闲空间的大小和batch所需要的天线的长度来确定所申请的天线数据的长度,然后等天线数据的到来,天线存储设备会通过ETI把天线数据传送到天线数据RAM模块。当发出天线数据请求后,解调任务执行控制模块会先读取user list RAM中的数据,获得user id和用户解调所需要的用户参数的bank值,然后根据user id和参数bank值来读取码片级处理模块执行码片级处理时所需的参数,然后等待天线数据,当天线满处理一个时隙所需要的天线数据时,则向码片级处理模块发送任务执行指令,伴随的还有码片级处理所需的参数(ch inf)。接下来,解调任务执行控制模块要再读下一个user list中的user id和参数bank值,然后读取码片级处理模块执行码片级处理所需的参数,然后等码片级处理完成上一个用户的一个时隙的任务的标志信号(ch finish),完成信号到来,则发送刚才读取的user id的处理指令和对应的参数给码片级处理模块继续处理。这样可以保证码片级处理部分连续工作,提高系统效率。当处理完一个batch的所有用户的一个时隙的数据后,则需要再从第一个用户开始处理下一个时隙的数据,如此循环Y次,将Y个时隙全部处理完后,再进行下一个batch的处理。
码片级处理模块:用于以用户为单位对数据信道解扰、解扩和频偏补偿。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。