发明内容
本发明的目的在于提供一种数字信号处理器(DSP)的动态分配方法,用于处理高速信道和低速信道,该方法可以利用有限的处理资源同时对高、低速两种信道进行实时处理,并且不会对任一个信道造成实际损害。
本发明的一种数字信号处理器(DSP)的动态分配方法包含以下步骤:
a、将待处理的m个信道输入到DSP集群中,由DSP集群中的主DSP获取所述m个信道中各个信道的比特率,其中m是大于等于1的正整数;
b、主DSP的调度器根据步骤a中得到的所述m个信道中各个信道的比特率,将所述m个信道中的一个或一个以上的信道分配给DSP集群中的至少一个辅DSP来处理;
c、分配到所述m个信道中各个信道的每个辅DSP根据分配到的需处理的信道分别从DSP集群的具有信号处理功能的软件无线电(SDR)库中下载所分配的相应的信号处理功能链,对分配到的所述m个信道中各个信道进行处理后输出处理结果;
其中步骤b进一步包含以下步骤:
b1、将得到的所述m个信道中各个信道的比特率分别与DSP集群中的单个辅DSP所能处理的信道比特率进行比较;
b2、当所述m个信道中的一个信道的比特率,或者一个以上的信道的比特率之和,小于等于DSP集群中的单个辅DSP所能处理的信道比特率时,主DSP的调度器分配一个辅DSP处理所述一个信道或一个以上的信道;
b3、当所述m个信道中的一个信道的比特率大于DSP集群中的单个辅DSP所能处理的信道比特率时,主DSP的调度器分配两个或两个以上的辅DSP处理该信道。
步骤b3中主DSP的调度器分配两个或两个以上的辅DSP处理该信道是通过下述公式来确定DSP个数的:
其中n表示处理一个信道所需的DSP的个数,n的值取四舍五入后的整数,bit_rate表示一个信道的比特率,spb(i)表示DSP集群的SDR库中每个功能处理每比特信号所需的时间,i表示一个信道处理功能链中功能的索引号(下标),k表示一个信道处理功能链中功能总数。
步骤b3中主DSP的调度器分配两个或两个以上的辅DSP处理该信道是通过一个查阅表来确定DSP个数的,所述查阅表通过仿真实验的方法预先得到。
当步骤b2中主DSP的调度器分配一个辅DSP处理所述m个信道中的一个信道或一个以上的信道时,则在步骤c中所述辅DSP从DSP集群的SDR库中下载整个信号处理功能链对所述一个或一个以上的信道进行处理。
当步骤b3中主DSP的调度器分配两个或两个以上的辅DSP处理所述m个信道中的一个信道时,则在步骤c中所述两个或两个以上的辅DSP分别从SDR库中下载整个信号处理功能链中连续的相互相对均衡的功能子链,并根据各个功能子链的连续性对所述m个信道中的一个信道进行处理,即下载整个信号处理功能链的前一功能子链的辅DSP对所述m个信道中的一个信道进行处理后,将处理结果传送到下载整个信号处理功能链的下一功能子链的辅DSP中对所述m个信道中的一个信道进行处理,直至所述m个信道中的一个信道经过整个信号处理功能链的处理。
上述两个或两个以上的辅DSP中每个辅DSP下载的功能子链中的功能数通过下述公式得到:
其中bit_rate表示一个信道的比特率,spb(i)表示DSP集群的SDR库中每个功能处理每比特信号所需的时间,i表示一个信道处理功能链中功能的索引号(下标),j,m表示分配给一个特定DSP的功能的起止索引号。
上述两个或两个以上的辅DSP中每个辅DSP下载的功能子链中的功能数通过一个查阅表得到,所述查阅表通过仿真实验的方法预先得到。
本发明的一种用于处理高、低速信道的数字信号处理器(DSP)集群,包含一组完全相同的DSP以及一个具有信号处理功能的软件无线电(SDR)库,所述一组完全相同的DSP和所述软件无线电(SDR)库通过公共总线相互连接在一起,其中
在所述一组完全相同的DSP中,指定其中一个DSP为主DSP,其余DSP为辅DSP,所述主DSP,包含一个调度器,用于获取输入的待处理的m个信道中各个信道的比特率,其中m是大于等于1的正整数,并由所述主DSP的调度器根据得到的所述m个信道中各个信道的比特率,将所述m个信道中的一个或一个以上的信道分配给DSP集群中的至少一个DSP来处理,其中所述主数字信号处理器的调度器将得到的所述m个信道中各个信道的比特率分别与数字信号处理器集群中的单个辅数字信号处理器所能处理的信道比特率进行比较,当所述m个信道中的一个信道的比特率,或者一个以上的信道的比特率之和,小于等于数字信号处理器集群中的单个辅数字信号处理器所能处理的信道比特率时,主数字信号处理器的调度器分配一个辅数字信号处理器处理所述一个信道或一个以上的信道,当所述m个信道中的一个信道的比特率大于数字信号处理器集群中的单个辅数字信号处理器所能处理的信道比特率时,主数字信号处理器的调度器分配两个或两个以上的辅数字信号处理器处理该信道;
在所述辅DSP中,分配到所述m个信道中各个信道的每个辅DSP,根据分配到的需处理的信道分别从DSP集群的软件无线电(SDR)库中下载所分配的相应的信号处理功能链,对分配到的所述m个信道中各个信道进行处理后输出处理结果;
所述具有信号处理功能的软件无线电(SDR)库,包含处理一个信道所需的整个信号处理功能链,每个辅DSP都有权使用SDR库中的整个信号处理功能链。而且SDR库放置在同步数据随机存储器(SDRAM)中。
DSP集群通过公共总线以星型结构、或环形结构、或星型结构和环形结构相结合的方式相互连接在一起。
本发明利用软件无线电库以及无线通信中处理高、低数据速率信道的不同需求,将高数据速率信道的处理方法和低数据速率信道的处理方法组合在一个DSP集群上,实现了在同一个DSP集群上同时对高数据速率信道和低数据速率信道进行处理,该方法在保持高数据速率信道的处理吞吐量的同时减少低数据速率信道上的延迟,并提高了处理性能,降低了成本。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
本发明是利用无线通信中的实际情况实现的,即通常在无线信道状况不佳,且使用快速链路适配方法降低延迟的情况下,采用低数据速率信道,而高数据速率信道则通常在无线信道状况良好且延迟不重要的情况下采用。
图1显示的是本发明的DSP集群的基本结构示意图。如图1所示,本发明的一种用于处理高、低速信道的数字信号处理器(DSP)集群1包含一个主DSP11、N个完全相同的数字信号处理器(DSP)即辅DSP 12,其中N是大于等于1的正整数,以及一个具有信号处理功能的软件无线电(SDR)库13。实际上,主DSP和辅DSP在硬件结构上完全相同,只是在系统初始化时,指定一个主DSP,并加载上相应功能的软件,使主DSP和辅DSP在功能上有所区别。
如图1所示,该主DSP11、N个辅DSP 12以及SDR库13通过公共总线以星型结构相互连接在一起。除了星型结构以外,该主DSP11、N个辅DSP 12以及SDR库13还可以通过公共总线以环形结构、或星型结构和环形结构相结合的方式相互连接在一起(图中未示出)。
在图1中,主DSP11,包含一个调度器111,用于获取输入的待处理的m个信道中各个信道的比特率,其中m是大于等于1的正整数,并由该主DSP11的调度器111根据得到的m个信道中各个信道的比特率,将m个信道中的一个或一个以上的信道分配给DSP集群1中的至少一个辅DSP12来处理。同时,该主DSP11还具有一个时序安排和实时操作系统的功能。
在N个完全相同的数字信号处理器(DSP)12中,分配到各个信道的每个DSP,根据分配到的需处理的信道分别从DSP集群1的软件无线电(SDR)库13中下载所分配的相应的信号处理功能链,对分配到的各个信道进行处理后输出处理结果;
具有信号处理功能的软件无线电(SDR)库13,包含处理一个信道所需的整个信号处理功能链,每个辅DSP都有权使用SDR库13中的整个信号处理功能链,其中信号处理功能包含编码/解码、速率匹配、交织等等。而且SDR库放置在同步数据随机存储器(SDRAM)中。
图2显示的是在本发明的DSP集群中处理低数据速率信道的示意图。如图2所示,首先将待处理的低数据速率信道A、B、C、D、E同时输入到DSP集群1中,由DSP集群1中的主DSP11获取低数据速率信道A、B、C、D、E中各个信道的比特率。
其次,将得到的低数据速率信道A、B、C、D、E中各个信道的比特率分别与DSP集群1中的单个辅DSP12所能处理的信道比特率进行比较,由于低数据速率信道A、B、C、D、E中各个信道的比特率均小于等于DSP集群1中的单个辅DSP12所能处理的信道比特率,因此主DSP11的调度器111分别分配一个辅DSP12来处理低数据速率信道A、B、C、D、E,即主DSP11的调度器111将信道A分配给DSP1处理,将信道B分配给DSPM处理,将信道C分配给DSPN处理,将信道D分配给DSPN-1处理,以及将信道E分配给DSPM+1处理。
接着,DSP1、DSPM、DSPN、DSPN-1、DSPM+1根据分配到的需处理的低数据速率信道A、B、C、D、E分别从DSP集群1的软件无线电(SDR)库13中下载整个包含功能1到功能k的信号处理功能链,并按信号处理功能链的次序即按功能1到功能k依次对分配到的低数据速率信道A、B、C、D、E的信道分别进行处理后输出处理结果。
图3显示的是在本发明的DSP集群中处理高数据速率信道的示意图。如图3所示,首先将待处理的高数据速率信道X、Y同时输入到DSP集群1中,由DSP集群1中的主DSP11获取高数据速率信道X、Y中各个信道的比特率。
其次,将得到的高数据速率信道X、Y中各个信道的比特率分别与DSP集群1中的单个辅DSP12所能处理的信道比特率进行比较,由于高数据速率信道X、Y的比特率均大于DSP集群1中的单个辅DSP12所能处理的信道比特率,表明只分配一个辅DSP12是无法完成对高数据速率信道X、Y中任一个信道的处理的,因此,为了保持一定的吞吐率,主DSP11的调度器111分别分配两个辅DSP12来处理高数据速率信道X、Y,即主DSP11的调度器111将高数据速率信道X分配给DSP1和DSPM处理,同时将高数据速率信道Y分配给DSPM+1和DSPN-1处理。
而主DSP11的调度器111是如何确定需要多少辅DSP12来处理一个高数据速率信道的呢,主DSP11的调度器111可以通过下述公式来确定处理一个高数据速率信道所需的辅DSP12的个数:
其中n表示处理一个信道所需的DSP的个数,n的值取四舍五入后的整数,bit_rate表示一个信道的比特率,spb(i)表示DSP集群的SDR库中每个功能处理每比特信号所需的时间,i表示一个信道处理功能链中功能的索引号(下标),k表示一个信道处理功能链中功能总数。
我们也可以通过一个查阅表来确定处理一个高数据速率信道所需的辅DSP12的个数的,该查阅表是通过仿真实验的方法预先得到。
接着,DSP1和DSPM根据分配到的高数据速率信道X分别从SDR库13中下载整个包含功能1到功能k的信号处理功能链中连续的相互相对均衡的功能子链,即DSP1从SDR库13中下载功能1到功能2,而DSPM则从SDR库13中下载功能3到功能k。每个辅DSP12下载的功能子链中的功能数可以通过下述公式得到:
在公式(2)中,bit_rate表示一个信道的比特率,spb(i)表示DSP集群的SDR库中每个功能处理每比特信号所需的时间,i表示一个信道处理功能链中功能的索引号(下标),j,m表示分配给一个特定DSP的功能的起止索引号。
我们也可以通过一个查阅表得到每个辅DSP12下载的功能子链中的功能数,该查阅表是通过仿真实验的方法预先得到。
DSP1根据从SDR库13中下载的功能1到功能2依次对高数据速率信道X进行处理后,将处理结果传送到下载整个信号处理功能链的下一功能子链的辅DSP12即DSPM中对高数据速率信道X进行功能3到功能k的依次处理,输出处理结果。
同理,DSPM+1和DSPN-1根据分配到的高数据速率信道Y分别从SDR库13中下载整个包含功能1到功能k的信号处理功能链中连续的相互相对均衡的功能子链,即DSPM+1从SDR库13中下载功能1到功能2,而DSPN-1则从SDR库13中下载功能3到功能k。
DSPM+1根据从SDR库13中下载的功能1到功能2依次对高数据速率信道Y进行处理后,将处理结果传送到下载整个信号处理功能链的下一功能子链的辅DSP12即DSPN-1中对高数据速率信道Y进行功能3模块到功能k的依次处理,输出处理结果。
图4显示的是在本发明的DSP集群中同时处理低数据速率信道和高数据速率信道的示意图。如图4所示,首先将待处理的高、低速信道即高数据速率信道X和低数据速率信道A、B同时输入到DSP集群1中,由DSP集群1中的主DSP11获取高数据速率信道X和低数据速率信道A、B的比特率。
其次,将得到的高数据速率信道X和低数据速率信道A、B的比特率分别与DSP集群1中的单个辅DSP12所能处理的信道比特率进行比较。
由于低数据速率信道A、B的比特率均小于等于DSP集群1中的单个辅DSP12所能处理的信道比特率,因此主DSP11的调度器111分别分配一个辅DSP12来处理低数据速率信道A、B,即主DSP11的调度器111将信道A分配给DSPM+1处理,同时将信道B分配给DSPN-1处理。
接着,DSPM+1、DSPN-1根据分配到的需处理的低数据速率信道A、B分别从DSP集群1的软件无线电(SDR)库13中下载整个包含功能1到功能k的信号处理功能链,并按信号处理功能链的次序即按功能1到功能k依次对分配到的低数据速率信道A、B分别进行处理后输出处理结果。
同时,由于高数据速率信道X的比特率均大于DSP集群1中的单个辅DSP12所能处理的信道比特率,表明只分配一个辅DSP12是无法完成对高数据速率信道X的处理的,因此,为了保持一定的吞吐率,主DSP11的调度器111通过公式(1)确定分配两个辅DSP12来处理高数据速率信道X,即主DSP11的调度器111将高数据速率信道X分配给DSP1和DSPM处理。
我们也可以通过一个查阅表来确定处理一个高数据速率信道所需的辅DSP12的个数的,该查阅表是通过仿真实验的方法预先得到。
接着,DSP1和DSPM根据分配到的高数据速率信道X通过公式(2)分别从SDR库13中下载整个包含功能1到功能k的信号处理功能链中连续的相互相对均衡的功能子链,即DSP1从SDR库13中下载功能1到功能2,而DSPM则从SDR库13中下载功能3到功能k。
我们也可以通过一个查阅表得到每个辅DSP12下载的功能子链中的功能数,该查阅表是通过仿真实验的方法预先得到。
DSP1根据从SDR库13中下载的功能1到功能2依次对高数据速率信道X进行处理后,将处理结果传送到下载整个信号处理功能链的下一功能子链的辅DSP12即DSPM中对高数据速率信道X进行功能3到功能k的依次处理,输出处理结果。
综上所述,本发明的一种数字信号处理器(DSP)的动态分配方法包含以下步骤:
a、将待处理的m个信道输入到DSP集群中,由DSP集群中的主DSP获取所述m个信道中各个信道的比特率,其中m是大于等于1的正整数;
b、主DSP的调度器根据步骤a中得到的所述m个信道中各个信道的比特率,将所述m个信道中的一个或一个以上的信道分配给DSP集群中的至少一个辅DSP来处理;
c、分配到所述m个信道中各个信道的每个辅DSP根据分配到的需处理的信道分别从DSP集群的软件无线电(SDR)库中下载所分配的相应的信号处理功能链,对分配到的各个信道进行处理后输出处理结果。
步骤b进一步包含以下步骤:
b1、将得到的所述m个信道中各个信道的比特率分别与DSP集群中的单个辅DSP所能处理的信道比特率进行比较;
b2、当所述m个信道中的一个信道的比特率,或者一个以上的信道的比特率之和,小于等于DSP集群中的单个辅DSP所能处理的信道比特率时,主DSP的调度器分配一个辅DSP处理所述一个信道或一个以上的信道。
b3、当所述m个信道中的一个信道的比特率大于DSP集群中的单个辅DSP所能处理的信道比特率时,主DSP的调度器分配两个或两个以上的辅DSP处理该信道。
步骤b3中主DSP的调度器分配两个或两个以上的辅DSP处理该信道是通过下述公式来确定DSP个数的:
其中n表示处理一个信道所需的DSP的个数,n的值取四舍五入后的整数,bit_rate表示一个信道的比特率,spb(i)表示DSP集群的SDR库中每个功能处理每比特信号所需的时间,i表示一个信道处理功能链中功能的索引号(下标),k表示一个信道处理功能链中功能总数。
步骤b3中主DSP的调度器分配两个或两个以上的辅DSP处理该信道是通过一个查阅表来确定DSP个数的,所述查阅表通过仿真实验的方法预先得到。
当步骤b2中主DSP的调度器分配一个辅DSP处理所述m个信道中的一个信道或一个以上的信道时,则在步骤c中所述辅DSP从DSP集群的SDR库中下载整个信号处理功能链对所述一个或一个以上的信道进行处理。
当步骤b3中主DSP的调度器分配两个或两个以上的辅DSP处理所述m个信道中的一个信道时,则在步骤c中所述两个或两个以上的辅DSP分别从SDR库中下载整个信号处理功能链中连续的相互相对均衡的功能子链,并根据各个功能子链的连续性对所述信道进行处理,即下载整个信号处理功能链的前一功能子链的辅DSP对所述m个信道中的一个信道进行处理后,将处理结果传送到下载整个信号处理功能链的下一功能子链的辅DSP中对所述m个信道中的一个信道进行处理,直至所述m个信道中的一个信道经过整个信号处理功能链的处理。
上述两个或两个以上的辅DSP中每个辅DSP下载的功能子链中的功能数通过下述公式得到:
其中bit_rate表示一个信道的比特率,spb(i)表示DSP集群的SDR库中每个功能处理每比特信号所需的时间,i表示一个信道处理功能链中功能的索引号(下标),j,m表示分配给一个特定DSP的功能的起止索引号。
上述两个或两个以上的辅DSP中每个辅DSP下载的功能子链中的功能数通过一个查阅表得到,所述查阅表通过仿真实验的方法预先得到。
图5显示的是本发明实施例的下行解码解扩(DDD)DSP集群的结构示意图。本发明的该实施例用于在当前公共陆地传输系统(UMTS)的Evolium节点版本2(Node B V2)的基带处理板上处理高速下行分组接入(HSDPA)的高速下行共享信道(HS-DSCH)信号。如图5所示,本发明实施例的下行解码解扩(DDD)DSP集群包含一个主DSP(图中未示出)、5个完全相同的辅DSP51,以及一个具有信号处理功能的软件无线电(SDR)库(图中未示出),该主DSP(图中未示出)、5个完全相同的辅DSP51以及SDR库(图中未示出)通过公共总线以星型结构和环形结构相结合的方式相互连接在一起。
在图5中,每个辅DSP51能够在恒定的吞吐率的情况下处理下行链路中的3M比特/秒的信道。
然而,在版本5(3GPP Release 5)中通常规定高速下行分组接入(HSDPA)用于支持相当于14.4M比特/秒的高速下行共享信道(HS-DSCH)。
整个HS-DSCH可以由一个移动站或多个移动站共用。由于信道的状况和小区内移动站的数量等等的影响,单个移动站的数据速率可以在0M比特/秒到14.4M比特/秒之间变动,或多个移动站数据速率总和在14.4M比特/秒以下。
假设,我们有如下的4个信道:一个2M比特/秒,一个3M比特/秒,一个1M比特/秒和一个6M比特/秒。由于图5中的每个辅DSP51能够在恒定的吞吐率的情况下处理下行链路中的3M比特/秒的信道,因此,主DSP的调度器(图中未示出)将总数据速率小于等于3M比特/秒的信道分配给一个DSP进行处理,并将数据速率大于3M比特/秒的信道按照公式(1)分配给两个或两个以上的DSP进行处理,即如图5所示,主DSP的调度器(图中未示出)将1M比特/秒和2M比特/秒的信道分配给DSP1处理,将3M比特/秒的信道分配给DSP2处理,将6M比特/秒的信道分配给DSP4和DSP5处理。DSP1、DSP2根据分配到的信道从SDR库(图中未示出)中下载整个信号处理功能链对分配到的信道进行处理后输出处理结果。SDR库(图中未示出)中的信号处理功能链如图6所示。
图6显示的是本发明实施例的处理高速下行共享信道(HS-DSCH)的信号处理功能链的示意图。该信号处理功能链包含在图5的SDR库(图中未示出)中,图5中的每个辅DSP51都有权使用SDR库(图中未示出)中的图6所示的信号处理功能链。如图6所示,本发明实施例的处理高速下行共享信道(HS-DSCH)信号的信号处理功能链依次包含循环冗余校验位(CRC)添加61、比特加扰62、码组分割63、信道编码64、物理层混合自动重传功能65、物理信道分割66、高速下行共享信道(HS-DSCH)信号交织67、16QAM重组68、物理信道映射69。
DSP1根据图6中的信号处理功能链对1M比特/秒和2M比特/秒的信道进行处理后输出处理结果。DSP2根据图6中的信号处理功能链对3M比特/秒的信道进行处理后输出处理结果。
根据上述公式(2),DSP4和DSP5分别从SDR库(图中未示出)中下载整个信号处理功能链中连续的相互相对均衡的功能子链对分配到的信道进行处理后输出处理结果,即DSP4从SDR库(图中未示出)中下载如图6所示的循环冗余校验位(CRC)添加61、比特加密编码62、码组分割63、信道编码64、物理层混合自动重传功能65这5个功能,并按这5个功能依次对6M比特/秒的信道进行处理后,将处理结果沿着环形结构的高速率环传送给DSP5,这样就避免了公共总线的过载。而DSP5则从SDR库(图中未示出)中下载如图6所示的物理信道分割66、高速下行共享信道(HS-DSCH)信号交织67、16QAM重组68、物理信道映射69这4个功能,并按这4个功能依次对DSP4的处理结果进行处理后输出处理结果。
图7显示的是本发明实施例的流水线延迟的曲线图。如图7所示,在6M比特/秒的信道上会有一定的延迟,然而,在这个延迟之后,吞吐率将被保持,也就是,输出比特/处理时间<=所需的数据输出速率。