背景技术
在无线通信***中,为了随机化小区间干扰,通常使用加扰技术,不同的小区/UE使用不同的扰码对发送数据进行加扰。例如在长期演进(LTE)***中,数据在经过编码后,就要进行比特级加扰,然后进行调制,最终产生正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)符号。物理上行共享信道(Physical Uplink Share Channel,PUSCH)是LTE中的上行共享数据信道,主要用于传输上行共享数据,同时也可以传输上行控制信息,例如CQI(Channel Quality Indication,信道质量标识)/PMI(Precoding Matrix Indication,预编码矩阵标识)/RI(Rank Indication,秩标识)、下行解码结果反馈ACK/NACK。以PUSCH为例,现有技术中包含加扰的处理过程如图1、图2所示,具体包括如下步骤:
步骤S201:对上行共享数据UL-SCH(Uplink Shared Channel)、控制信令CQI/PMI、RI、ACK/NACK进行信道编码;
此处的UL-SCH的相关参数来自相应物理下行控制信道(Physical DownlinkControl Channel,PDCCH)的解码信息,具体来说,子帧n的UL-SCH信息要根据子帧n-4的PDCCH解码结果进行配置。UL-SCH编码采用Turbo编码,并根据需要进行速率匹配。通常,PDCCH解码由硬件加速器完成,解码结果上报给协议控制处理器(通常是ARM),协议控制处理器根据PDCCH解码结果配置参数并准备UL-SCH数据,协议控制处理器的处理时间相对较长。
对CQI/PMI进行卷积编码,并根据需要进行速率匹配。
对RI进行分组编码,并进行速率匹配。
ACK/NACK值来自相应物理下行共享信道(Physical Downlink ShareChannel,PDSCH)的解码结果,具体来说,子帧n要发送的ACK/NACK对应于子帧n-4的PDSCH解码结果。ACK/NACK编码采用分组编码,并根据需要进行速率匹配。
步骤S202:将UL-SCH、CQI/PMI、RI、ACK/NACK复用并进行信道交织
按照协议中的要求,将UL-SCH、CQI/PMI、RI、ACK/NACK等进行信道交织和复用。
步骤S203:将复用后的上行数据进行比特加扰
生成扰码序列,然后通过将扰码序列与上行数据按每比特异或的方式实现加扰。
步骤S204:对加扰后的数据进行调制
调制采用星座图映射的方式,将每连续若干个比特变换为一个复数符号。例如对于QPSK/16QAM/64QAM,分别将每连续2/4/6比特映射为一个复数,在LTE协议中定义了具体的映射关系。
步骤S205:生成单载波频分复用接入(SC-FDMA,Single Carrier-Frequency Division Multiple Access)符号
对调制后的符号根据协议进行DFT(数字傅里叶变换)/IFFT(逆快速傅里叶变换)处理,生成SC-FDMA符号。
在现有技术中,编码及加扰都在专用硬件单元中实现。在LTE中,扰码序列为gold序列;gold序列是LTE以及其它无线通信***中广泛使用的一种序列,gold序列可用于比特数据加扰、参考信号(Reference Signal,RS)序列、宽带码分多址WCDMA移动通信***中的扰码序列等。目前,***和终端的解决方案越来越向软件无线电(Software Define Radio,SDR)的方向转移,在基于SDR的解决方案中,占用计算资源较多、标准之间差异较小的比特级操作通常由编解码硬件加速器完成,而符号级处理通常由SDR处理器完成。针对各种通信***中广泛使用的一些序列(如gold序列),在基于软件无线电(SDR)的实现方案中都有专门的序列产生单元(Code Generation Unit,CGU,包含gold序列),用于各种用途。在现有技术中,比特加扰需要专门的硬件单元,没有充分利用SDR处理器的相应功能,是一种资源上的浪费。
如图3所示,现有技术的一种实现方案为,编码/复用和加扰过程在编解码硬件加速器中完成,调制在SDR处理器中完成,由于编解码硬件加速器适合进行比特级的处理,因此,加扰过程在比特级进行处理,而在SDR处理器中进行符号级调制,即现有技术采用的是先加扰后调制的方式,然而加扰过程用到的硬件单元和SDR处理器中的序列产生单元CGU在功能上都涉及到gold序列生成单元,例如:LTE参考信号生成(LTE RS Generation)单元用于根据配置生成gold序列,WCDMA加扰(wcdma scrambling)解扰也需要gold序列。因此,编解码硬件加速器和SDR处理器都包含了同样的功能单元,造成了一定的资源浪费。
另外,从功能实现灵活性的角度考虑,现有技术中的比特级加扰也存在问题。以LTE PUSCH为例,UL-SCH/CQI/PMI/RI依赖于PDCCH解码结果,ACK/NACK依赖于PDSCH解码结果;而在每一个子帧,PDSCH解码都依赖于PDCCH解码结果,在PDCCH解码完成之后才能进行PDSCH解码。编解码硬件加速器在完成解码后,需要将解码结果上报给协议处理器,协议处理器根据解码结果准备数据,协议处理器的处理时间较长,如果在PDSCH解码完成得到ACK/NACK之后才上报给协议处理器,很有可能不满足协议中的时序需求。如图4所示,在PDSCH解码完成后统一向协议处理器上报结果时,上行PUSCH发送存在时序风险。在这种情况下,需要把PDCCH和PDSCH解码结果分别处理,单独上报PDCCH解码结果,由协议处理器配置UL-SCH/CQI/PMI/RI数据并由编解码硬件加速器进行比特级处理,而由SDR处理器对ACK/NACK进行处理。此时的实现功能划分如图5所示。而在图5中,由于SDR处理器并不擅长比特级处理,因此在SDR处理器中进行比特级加扰、比特级复用的实现效率通常很低。
发明内容
有鉴于此,本发明的主要目的在于提供一种加扰方法和装置,用于解决现有技术在比特级加扰而无法复用信号处理单元中已有的扰码序列产生单元,及当由于时序原因导致需要在信号处理单元中复用多个信道时在信号处理单元中进行比特级复用和加扰实现效率低的问题。
为达到上述目的,本发明的技术方案是这样实现的:
技术方案1:一种加扰方法,该方法包括:
在信号处理单元中对来自编码硬件加速器的比特数据进行调制;
对调制后的符号进行符号级加扰,然后生成待发送的符号。
技术方案2:基于技术方案1,所述加扰过程中所使用的gold序列从所述信号处理单元中的序列产生单元CGU获得。
技术方案3:基于技术方案1,当由于时序原因导致需要在信号处理单元中复用多个信道时,所述方法在加扰之前还包括对调制后的多个信道符号进行复用的步骤,在复用后再进行所述符号级加扰。
技术方案4:基于技术方案3,所述调制后的多个信道符号包括:对上行共享数据UL-SCH、控制信令CQI/PMI和秩标识RI中的任意一个进行调制或任意多个进行复用交织及调制后的信道符号、对确认ACK/非确认NACK进行调制后的信道符号。
技术方案5:基于前述任一项技术方案,所述信号处理单元为软件无线电处理器。
技术方案6:基于本发明实施例,本发明还提供一种加扰装置,该装置应用于信号处理单元中,包括:
调制模块,用于对来自编码硬件加速器的比特数据进行调制;
加扰模块,用于对调制模块输出的调制后的符号进行符号级加扰,然后生成待发送的符号。
技术方案7:基于技术方案6,所述加扰模块从信号处理单元中的CGU单元中获取加扰所需的gold序列,对调制后的符号数据进行加扰。
技术方案8:基于技术方案6,所述装置包括多个调制模块,所述多个调制模块用于分别对多个信道数据进行调制;
所述装置还包括:
复用模块,用于对所述多个调制模块输出的调制数据进行符号级复用;
所述加扰模块用于对复用后的数据进行符号级加扰。
技术方案9:基于技术方案8,所述多个调制模块包括:
第一调制模块,用于对编码硬件加速器输出的数据进行调制,所述编码硬件加速器输出的数据为对UL-SCH信道编码数据、CQI/PMI信道编码数据和RI信道编码数据中的任意一个或多个进行复用交织处理后的数据;
第二调制模块,用于对ACK/NACK信道编码数据进行调制;
所述复用模块用于对所述第一调制模块和第二调制模块输出的调制符号进行复用,所述加扰模块对复用后的数据进行符号级加扰。
进一步地,技术方案6-9任一项中,所述信号处理单元为软件无线电处理器。
本发明实现了在信号处理单元中的符号级加扰,充分复用了信号处理单元中的符号级序列产生单元,避免了硬件资源的浪费;当由于时序原因导致需要在信号处理单元中复用多个信道时,本发明采用先进行调制、然后进行复用再进行符号级加扰的方式,解决了现有技术中,由于时序原因导致需要在信号处理单元中复用多个信道时,进行比特级加扰、比特级复用等比特级操作造成信号处理单元处理低效率的技术问题,提高了***效率、增加了***实现的灵活性。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
图6为本发明实施例提供的加扰方法流程图,该方法包括:
步骤601、在信号处理单元中对来自编码硬件加速器的比特数据进行调制;
本发明实施例中信号处理单元采用软件无线电SDR处理器,可以理解的是,本发明所述的信号处理单元还可以是其他类型的符号级处理单元。
步骤602、对调制后的符号进行符号级加扰,然后生成待发送的符号。
本发明提供的加扰方法在SDR处理器中先进行调制后再进行符号级的加扰,调制和加扰都在符号级处理,因此适合放在SDR处理器中完成,这时加扰用到的一些硬件单元也可以和SDR中本来就有的CGU复用(如gold序列产生),从而避免资源上的浪费。
基于上述方法,当由于时序原因导致需要在SDR处理器中复用多个信道时,所述方法在加扰之前还包括对调制后多个信道符号进行复用的步骤,在复用后再进行符号级加扰;
图7为本发明实施例提供的一种应用于SDR处理器中的加扰装置的结构示意图,该装置700包括:
调制模块701,用于对来自编码硬件加速器的比特数据进行调制;
加扰模块702,用于对调制模块输出的调制后的符号进行符号级加扰,然后生成待发送的符号。
所述调制模块701根据不同的协议规范,将每连续若干个比特数据映射为一个复数。以LTE为例,调制类型主要有QPSK/16QAM/64QAM,分别将每连续2/4/6个比特映射为一个复数。
加扰模块702从SDR处理器中的CGU单元中获取加扰所需的gold序列,对调制后的符号数据进行加扰,以LTE为例,该模块对调制后的复数数据的实部、虚部分别做符号和幅度变换。
所述调制模块701和加扰模块702联合使用的效果相当于现有技术中先对比特数据进行比特级加扰,然后再进行调制。
图8为本发明提供的加扰装置在SDR处理器中的应用示意图,在该实施例中,SDR处理器包含:
加扰装置,用于采用本发明提供的加扰方法对编解码硬件加速器输出的经编码和复用后的数据进行调制和加扰;所述加扰装置中的加扰模块从SDR中的CGU单元获取gold序列;
符号生成单元,用于从所述加扰装置获取加扰后的数据,生成所需的符号,如SC-FDMA符号。
本发明提供的符号级加扰方法及装置,能够充分利用SDR处理器中的序列产生单元。以下以典型的QPSK/16QAM/64QAM的加扰调制为例对本发明提供的方案进行详细说明:
(1)当采用QPSK调制方式时:
每2bit数据映射成一个复数,2比特数据b1b0与调制后的I/Q路(即实部/虚部)数据之间的映射关系如下。
表1QPSK调制映射
b0 |
I |
b1 |
Q |
0 |
1 |
0 |
1 |
1 |
-1 |
1 |
-1 |
假设b1b0对应的gold序列为c1c0,其中c0,c1∈{0,1},将其变换成c′1c′0,其中c′i=-sgn(ci*2-1),i=0,1,则c′i∈{-1,1},这里
设b1b0直接调制后的数据为(Xr,Xi),其中Xr对应调制后符号的实部,Xi对应调制后符号的虚部;设b1b0加扰后的数据为y1y0,其中yi=(bi+ci)mod2;设y1y0调制后的数据为(Yr,Yi)。要实现在调制之后加扰,就是要利用(Xr,Xi)和c′1c′0得到(Yr,Yi)。由QPSK调制特点可以发现,c′1c′0对(Yr,Yi)的符号产生影响,具体有如下规律:
Yr=sgn(c′0)*Xr
Yi=sgn(c′1)*Xi
(2)当采用16QAM调制方式时:
每4bit数据映射成一个复数,4比特数据b3b2b1b0与调制后的I/Q路数据之间的映射关系如下。
表216QAM调制映射
b0b2 |
I |
b1b3 |
Q |
01 |
3 |
01 |
3 |
00 |
1 |
00 |
1 |
10 |
-1 |
10 |
-1 |
11 |
-3 |
11 |
-3 |
假设b3b2b1b0对应的gold序列为c3c2c1c0,其中ci∈{0,1},i=0~3,将其变换成c′3c′2c′1c′0,其中c′i=-sgn(ci*2-1),i=0~3,则c′i∈{-1,1};
设b3b2b1b0直接调制后的数据为(Xr,Xi);设b3b2b1b0加扰后的数据为y3y2y1y0,其中yi=(bi+ci)mod2;设y3y2y1y0调制后的数据为(Yr,Yi)。要实现在调制之后加扰,就是要利用(Xr,Xi)和c′3c′2c′1c′0得到(Yr,Yi)。仔细观察三者之间的关系,c′2c′0会对Yr产生影响,c′3c′1会对Yi产生影响,分别对应于作符号和数据部分的处理。其中对于符号部分,I路符号由c′0、Xr共同决定,Q路符号由c′1、Xi共同决定。对于数据部分,取值为{1,3},将其减去2变为{-1,1},此时数据部分的变化区间与QPSK相同,参考QPSK时的变换公式,即可得到如下变换关系:
Yr=sgn(c′0*Xr)*(2+c′2*(|Xr|-2))
Yi=sgn(c′1*Xi)*(2+c′3*(|Xi|-2))
(3)当采用64QAM调制方式时:
每6bit数据映射成一个复数,6比特数据b5b4b3b2b1b0与调制后的I/Q路数据之间的映射关系如下。
表364QAM调制映射
b0b2b4 |
I |
b1b3b5 |
Q |
011 |
7 |
011 |
7 |
010 |
5 |
010 |
5 |
000 |
3 |
000 |
3 |
001 |
1 |
001 |
1 |
101 |
-1 |
101 |
-1 |
100 |
-3 |
100 |
-3 |
110 |
-5 |
110 |
-5 |
111 |
-7 |
111 |
-7 |
假设b5b4b3b2b1b0对应的gold序列为c5c4c3c2c1c0,其中c′i∈{0,1},i=0~5,将其变换成c′5c′4c′3c′2c′1c′0,其中c′i=-sgn(ci*2-1),i=0~5,则c′i∈{1,-1}。
设b5b4b3b2b1b0直接调制后的数据为(Xr,Xi);设b5b4b3b2b1b0加扰后的数据为y5y4y3y2y1y0,其中yi=(bi+ci)mod2;设y5y4y3y2y1y0调制后的数据为(Yr,Yi)。要实现在调制之后加扰,就是要利用(Xr,Xi)和c′5c′4c′3c′2c′1c′0得到(Yr,Yi)。仔细观察三者之间的关系,c′4c′2c′0会对Yr产生影响,c′5c′3c′1会对Yi产生影响,分别对Yi、Yr作符号和数据部分的处理。对于符号部分,I路符号由c′0、Xr共同决定,Q路符号由c′1、Xi共同决定。对于数据部分,取值为{1,3,5,7},将其减去4,则变为{-3,-1,1,3},此时数据部分的变化区间与16QAM相同,参考16QAM时的变换公式,即可得到如下变换关系:
Yr=sgn(c′0*Xr)*sgn(c′2*(4-|Xr|))*(4-(2+c′4(|4-|Xr||)-2))
Yi=sgn(c′1*Xr)*sgn(c′3*(4-|Xi|))*(4-(2+c′5(|4-|Xi||)-2))
对于更高阶的调制方式,也可以以此类推,本发明不再赘述。采用上述方法可以确保调制后加扰的结果与先加扰再调制的结果相同。
图9为本发明实施例提供的另一种加扰装置在SDR处理器中应用示意图,该实施例中的加扰装置910适用于由于时序原因导致需要在SDR处理器中复用多个信道的应用场景,该实施例的加扰装置包括:
多个调制模块,用于分别对多个信道的数据进行调制;
该实施例中,第一调制模块911用于用于对编码硬件加速器输出的数据进行调制,所述编码硬件加速器输出的数据为对UL-SCH信道编码数据、CQI/PMI信道编码数据和RI信道编码数据中的任意一个或多个进行复用交织处理后的数据;第二调制模块912用于对ACK/NACK信道编码数据进行调制;
复用模块913,用于对多个调制模块输出的调制数据进行符号级复用;
加扰模块914,用于对复用后的数据进行符号级加扰;
所述加扰模块914从CGU单元获取gold序列,加扰后的数据输出给SC-FDMA符号生成模块,生成所需的符号。相对于图5所示的SC-FDMA符号生成过程,该实施例的装置具有更高的执行效率。
图10为基于图9的PUSCH信道处理流程图,该实施例将上述的调制后加扰的方法应用于PUSCH处理,同时由于时序需求ACK/NACK在SDR处理器中完成,该PUSCH信道处理方法具体包括如下步骤:
步骤1001、对上行共享数据UL-SCH进行信道编码;对控制信令CQI/PMI进行信道编码;对控制信令RI进行信道编码;
对UL-SCH根据协议要求进行Turbo编码,并根据需要进行速率匹配;
对CQI/PMI进行卷积编码,并根据需要进行速率匹配;
对RI进行分组编码,并进行速率匹配;
步骤1002、对编码后的UL-SCH、CQI/PMI、RI进行复用并交织;
根据协议要求,将UL-SCH、CQI/PMI、RI进行信道交织和复用;
步骤1003、在SDR中对复用后的UL-SCH、CQI/PMI、RI数据进行调制;
根据协议要求对复用后的UL-SCH、CQI/PMI和RI,将每连续若干个比特变换为一个复数符号,以实现星座图调制。
步骤1004、在SDR中对控制信令ACK/NACK进行信道编码;
根据协议要求,对ACK/NACK进行分组编码,并根据需要进行速率匹配。
步骤1005、在SDR中对编码后的ACK/NACK进行调制;
将编码后的ACK/NACK比特调制为复数符号。
步骤1006、在SDR中将调制后的UL-SCH、CQI/PMI、RI、ACK/NACK进行复用/交织;
步骤1007、在SDR中对调制后的数据进行符号级加扰
该步骤根据前述的符号级加扰方法,根据调制方式和扰码数据对调制后的符号进行符号、幅度变换。
步骤1008、生成SC-FDMA符号
该步骤对调制和加扰后的符号根据协议进行DFT/IFFT变换,生成SC-FDMA符号。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。