一种非正交多址的信号检测方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种非正交多址的信号检测方法及装置。
背景技术
非正交多址(Non-orthogonal mutiple access,NOMA)是在第三代合作伙伴项目(the 3rd Generation Partnership Project,3GPP)引入的通信技术。NOMA是一种功率域应用的非正交多址接入技术,可以有效地提高频谱的利用率和网络的吞吐量。
在NOMA系统中,不同用户(例如,远用户和近用户)的数据直接被映射为多维星座码本中的不同码字,并且多个用户同时在相互正交的传输资源块上重叠,从而提高了系统频谱利用率。然而,在提升频谱利用率的同时,也带来了接收端的挑战,如何降低NOMA系统接收端的误码率就是亟需解决的问题。
为了降低NOMA系统接收端的误码率,现有技术提供了一种解决方案,该解决方案为通过消息传递算法(Message propagation algorithm,MPA)对多用户的码字进行解码,从而检测出各用户发送的数据信号。然而,通过MPA算法对多用户的码字进行解码,从而检测出各用户发送的数据信号的方案含有大量的对数运算,实现复杂度较高。
发明内容
有鉴于此,本发明提供了一种非正交多址的信号检测方法及装置,用以解决现有技术中通过MPA算法对多用户的码字进行解码的方案含有大量的对数运算,实现复杂度较高的问题,其技术方案如下:
一种非正交多址的信号检测方法,所述方法包括:
按预设处理规则对接收的数据进行处理,获得目标数据,所述目标数据包括多个目标数据元素;
通过远用户的调制阶数和近用户的调制阶数确定目标调制阶数,并通过所述远用户与所述近用户的发送功率比值和所述目标调制阶数确定星座图;
利用所述目标数据和所述星座图计算用于提取软比特的目标数组,并基于所述目标调制阶数,利用所述目标数组提取主软比特数组和备用软比特数组;
基于所述目标调制阶数和所述远用户的调制阶数,从所述主软比特数组中提取出所述远用户的目标主软比特数组,并从所述备用软比特数组中提取出所述远用户的目标备用软比特数组;
对所述目标主软比特数组进行解码,并在所述解码未成功时,利用所述目标备用软比特数组对所述目标主软比特数组进行校正,以使所述校正后的主软比特数组成功解码出所述远用户的目标比特流;
通过所述接收的数据和所述远用户的目标比特流确定所述近用户的待解调解码数据。
其中,所述利用所述目标数据和所述星座图计算用于提取软比特的目标数组,包括:
对于所述目标数据中的每个目标数据元素,从所述星座图中确定出与所述目标数据元素汉明距离最小的第一目标星座点,以及与所述目标数据元素汉明距离次小的第二目标星座点;
对于所述目标数据中的每个目标数据元素,将所述目标数据元素与所述第一目标星座点之间的汉明距离作为第一目标距离,将所述目标数据元素与所述第二目标星座点之间的距离作为第二目标距离,计算所述第一目标距离与所述第二目标距离差值的绝对值作为目标差值;
将与所述目标数据中各个目标数据元素对应的第一目标星座点组成第一目标数据组,将与所述各个目标数据元素对应的第二目标星座点组成第二目标数组,将与所述各个目标数据元素对应的目标差值组成第三目标数组。
其中,所述基于所述目标调制阶数,利用所述目标数组提取主软比特数组和备用软比特数组,包括:
通过所述远用户的功率与总功率的比值计算软比特的提取门限值;
通过所述提取门限值、所述目标调制阶数和所述第一目标数据组确定所述目标数据中各个目标数据元素的软比特,将所述各个目标数据元素的软比特组成所述主软比特数组;
通过所述提取门限值、所述目标调制阶数和所述第二目标数据组确定所述目标数据中各个目标数据元素的软比特,将所述各个目标数据元素的软比特组成所述备用软比特数组。
其中,所述基于所述目标调制阶数和所述远用户的调制阶数,从所述主软比特数组中提取出所述远用户的目标主软比特数组、从所述备用软比特数组中提取出所述远用户的目标备用软比特数组,包括:
按顺序分别对所述主软比特数组和所述备用软比特数组中的元素进行分组,每个分组中包括Q个元素,其中,所述Q为所述目标调制阶数;
从每个分组中的所述Q个元素中提取前Q1个元素,其中,所述Q1为所述远用户的调制阶数;
将从所述主比特数组中各个分组提取的元素组成所述目标主软比特数组,并将从所述备用比特数组中各个分组提取的元素组成所述目标备用软比特数组。
其中,所述利用所述目标备用软比特数组对所述目标主软比特数组进行校正,包括:
依据所述第三目标数组中元素由小到大的顺序,获取所述第三目标数组中元素对应的索引值;
利用所述获取的索引值,计算得到所述目标主软比特数组中需要替换的元素的位置;
用所述目标备用软比特数组中与所述位置相同的元素,替换所述目标主软比特数组中的对应元素,获得校正后的目标主软比特数组;
判断所述校正后的目标主软比特数组是否解码成功;
若不成功,则重新执行所述获取所述第三目标数组中元素对应的索引值这一步骤,直至通过获取的索引值获得的校正后的目标主软比特数组解码成功。
一种非正交多址的信号检测装置,所述装置包括:
数据处理模块,用于按预设处理规则对接收的数据进行处理,获得目标数据,所述目标数据包括多个目标数据元素;
调制阶数确定模块,用于通过远用户的调制阶数和近用户的调制阶数确定目标调制阶数;
星座图确定模块,用于通过发送端所述远用户与所述近用户的功率比值和所述目标调制阶数确定星座图;
计算模块,用于利用所述目标数据和所述星座图计算用于提取软比特的目标数组;
第一提取模块,用于基于所述目标调制阶数利用所述目标数组提取主软比特数组和备用软比特数组;
第二提取模块,用于基于所述目标调制阶数和所述远用户的调制阶数从所述主软比特数组中提取出所述远用户的目标主软比特数组,并从所述备用软比特数组中提取出所述远用户的目标备用软比特数组;
解码模块,用于对所述目标主软比特数组进行解码;
校正模块,用于当所述解码未成功时,利用所述目标备用软比特数组对所述目标主软比特数组进行校正,以使所述校正后的主软比特数组成功解码出所述远用户的目标比特流;
用户数据确定模块,用于通过所述接收的数据和所述远用户的目标比特流确定所述近用户的待解调解码数据。
其中,所述计算模块包括:
第一确定子模块,用于对于所述目标数据中的每个目标数据元素,从所述星座图中确定出与所述目标数据元素汉明距离最小的第一目标星座点,以及与所述目标数据元素汉明距离次小的第二目标星座点;
第一计算子模块,用于对于所述目标数据中的每个目标数据元素,将所述目标数据元素中与所述第一目标星座点之间的汉明距离作为第一目标距离,将所述目标数据元素中与所述第二目标星座点之间的距离作为第二目标距离,计算所述第一目标距离与所述第二目标距离差值的绝对值作为目标差值;
目标数组组建子模块,用于将与所述目标数据中各个目标数据元素对应的第一目标星座点组成第一目标数据组,将与所述各个目标数据元素对应的第二目标星座点组成第二目标数组,将与所述各个目标数据元素对应的目标差值组成第三目标数组。
其中,所述第一提取模块包括:
第二计算子模块,用于通过所述远用户的功率与总功率的比值计算软比特的提取门限值;
第二确定子模块,用于通过所述提取门限值、所述目标调制阶数和所述第一目标数据组确定所述目标数据中各个目标数据元素的软比特,将所述各个目标数据元素的软比特组成主软比特数组;
第三确定子模块,用于通过所述提取门限值、所述目标调制阶数和所述第二目标数据组确定所述目标数据中各个目标数据元素的软比特,将所述各个目标数据元素的软比特组成备用软比特数组。
其中,所述第二提取模块包括:
分组子模块,用于按顺序分别对所述主软比特数组和所述备用软比特数组中的元素进行分组,每个分组中包括Q个元素,其中,所述Q为所述目标调制阶数;
提取子模块,用于从每个分组中的所述Q个元素中提取前Q1个元素,其中,所述Q1为所述远用户的调制阶数;
目标软比特数组组建子模块,用于将从所述主比特数组中各个分组提取的元素组成所述目标主软比特数组,并将从所述备用比特数组中各个分组提取的元素组成所述目标备用软比特数组。
其中,所述校正模块包括:
获取子模块,用于依据所述第三目标数组中元素由小到大的顺序,获取所述第三目标数组中元素对应的索引值;
第三计算子模块,用于利用所述获取的索引值,计算得到所述目标主软比特数组中需要替换的元素的位置;
替换子模块,用于使用所述目标备用软比特数组中与所述位置相同的元素,替换所述目标主软比特数组中的对应元素,获得校正后的目标主软比特数组;
判断子模块,用于判断所述校正后的目标主软比特数组是否解码成功;
若判断单元判断所述解码不成功,则所述获取子模块继续执行所述获取所述第三目标数组中元素对应的索引值步骤。
上述技术方案具有如下有益效果:
本发明提供的非正交多址的信号检测方法中,可利用处理得到的目标数据以及确定的星座图计算出用于提取软比特的目标数组,然后可基于目标调制阶数利用该目标数组提取主软比特数组和备用软比特数组,进而从主软比特数组中提取出远用户的目标主软比特数组、从备用软比特数组中提取出远用户的目标备用软比特数组,进而基于目标主软比特数组和目标备用软比特数组解码获得远用户的目标比特流,从而通过接收的数据和远用户的目标比特流确定近用户的待解调解码数据。本发明提出主、备用软比特信息同时提取的方案,使得远用户的目标主软比特数组不能成功解码时,可利用目标备用软比特数组对目标主软比特数组进行校正,从而有效降低误码率,并且,本发明提供的方法涉及的运算均为复杂度低的运算,易于实现,且随着调制阶数等条件的提升,不会对复杂度造成很大的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的非正交多址的信号检测方法的一流程示意图;
图2为本发明实施例提供的非正交多址的信号检测方法的另一流程示意图;
图3为本发明实施例提供的非正交多址的信号检测方法中,利用目标数据和星座图计算用于提取软比特的目标数组的实现方式的流程示意图;
图4为本发明实施例提供的非正交多址的信号检测方法中,基于目标调制阶数利用目标数组提取主软比特数组和备用软比特数组的实现方式的流程示意图;
图5为本发明实施例提供的非正交多址的信号检测方法中,从主软比特数组中提取出远用户的目标主软比特数组、从备用软比特数组中提取出远用户的目标备用软比特数组的实现方式的流程示意图;
图6为本发明实施例提供的非正交多址的信号检测方法中,利用目标备用软比特数组对目标主软比特数组进行校正的实现过程的流程示意图
图7为本发实施例提供的非正交多址的信号检测方法的一具体实例中的星座图;
图8为本发实施例提供的非正交多址的信号检测方法的一具体实例中,目标数据中的各个目标数据元素与星座图中的各个星座点的位置关系图;
图9为本发明实施例提供的非正交多址的信号检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,示出了本发明实施例提供的非正交多址的信号检测方法的一种流程示意图,该方法可以包括:
步骤S101:按预设处理规则对接收的数据进行处理,获得目标数据。
其中,目标数据为包括多个目标数据元素的数组。
步骤S102:通过远用户的调制阶数和近用户的调制阶数确定目标调制阶数,并通过远用户与近用户的发送功率比值和目标调制阶数确定星座图。
其中,目标调制阶数为远用户的调制阶数与近用户的调制阶数之和。
步骤S103:利用目标数据和星座图计算用于提取软比特的目标数组,并基于目标调制阶数利用目标数组提取主软比特数组和备用软比特数组。
步骤S104:基于目标调制阶数和远用户的调制阶数从主软比特数组中提取出远用户的目标主软比特数组、从备用软比特数组中提取出远用户的目标备用软比特数组。
步骤S105:对目标主软比特数组进行解码,并在解码未成功时,利用目标备用软比特数组对目标主软比特数组进行校正,以使校正后的主软比特数组成功解码出远用户的目标比特流。
步骤S106:通过接收的数据和远用户的目标比特流重构出近用户的待解调解码数据。
本发明实施例提供的非正交多址的信号检测方法中,可利用处理得到的目标数据以及确定的星座图计算出用于提取软比特的目标数组,然后可基于目标调制阶数利用目标数组提取主软比特数组和备用软比特数组,进而从所主软比特数组中提取出远用户的目标主软比特数组、从备用软比特数组中提取出远用户的目标备用软比特数组,进而基于目标主软比特数组和目标备用软比特数组解码获得远用户的目标比特流,从而通过接收的数据和远用户的目标比特流确定近用户的待解调解码数据。本发明实施例提出主、备用软比特信息同时提取的方案,在第一用户的目标主软比特数组不能成功解码时,可利用目标备用软比特数组对目标主软比特数组进行校正,从而有效降低误码率,同时,本发明实施例提供的方法涉及的运算均为复杂度低的运算,易于实现,且随着调制阶数等条件的提升,不会对复杂度造成很大的影响。
需要说明的是,非正交多址接入技术采用的是多个用户信号功率域的线性叠加,本发明实施例只考虑远用户和近用户,在接收端,由于远用户所分配的功率大于近用户,所以误码率相对较低,因此,本发明实施例发明主要针对近用户的数据检测,检测近用户的数据采用的方案为从接收的数据中解调解码出远用户的数据,再用接收的数据减去远用户的数据,这样得到的就是近用户待解调解码的数据。上述实施例即提供了从接收的数据中解调解码获得远用户数据的方法。
请阅图2,示出了本发明实施例提供了非正交多址的信号检测方法的另一流程示意图,该方法可以包括:
步骤S201:按预设处理规则对接收的数据进行处理,获得目标数据。
其中,目标数据为包括多个目标数据元素的数组。
步骤S202:通过远用户的调制阶数和近用户的调制阶数确定目标调制阶数。
其中,目标调制阶数为远用户的调制阶数与近用户的调制阶数之和。
步骤S203:通过远用户与近用户的发送功率比值和目标调制阶数确定星座图。
步骤S204:利用目标数据和星座图计算用于提取软比特的目标数组。
步骤S205:基于目标调制阶数利用目标数组提取主软比特数组和备用软比特数组。
步骤S206:基于目标调制阶数和远用户的调制阶数从主软比特数组中提取出远用户的目标主软比特数组、从备用软比特数组中提取出远用户的目标备用软比特数组。
步骤S207:对目标主软比特数组进行解码。
步骤S208:判断解码是否成功,如果是,则转入步骤S210,否则转入步骤S209。
步骤S209:利用目标备用软比特数组对目标主软比特数组进行校正,获得校正的目标主软比特数组。
步骤S210:判断校正的目标主软比特数组是否解码成功,如果是,则执行步骤S211,否则转入步骤S209。
步骤S211:通过接收的数据和解码得到的比特流重构出近用户的待解调解码数据。
本发明实施例提供的非正交多址的信号检测方法中,可利用处理得到的目标数据以及确定的星座图计算出用于提取软比特的目标数组,然后可基于目标调制阶数利用目标数组提取主软比特数组和备用软比特数组,进而从所主软比特数组中提取出远用户的目标主软比特数组、从备用软比特数组中提取出远用户的目标备用软比特数组,进而基于目标主软比特数组和目标备用软比特数组解码获得远用户的目标比特流,通过远用户和接收的数据重构出近用户的待解调解码数据。本发明实施例提出主、备用软比特信息同时提取的方案,在第一用户的目标主软比特数组不能成功解码时,可利用目标备用软比特数组对目标主软比特数组进行校正,从而有效降低误码率,同时,本发明实施例提供的方法涉及的运算均为复杂度低的运算,易于实现,且随着调制阶数等条件的提升,不会对复杂度造成很大的影响。
在上述任一实施例中,按预设处理规则对接收的数据进行处理,获得目标数据,具体为:对接收的数据进行OFDM变换、信道估计、信道均衡和解层映射,接获得目标数据r(cw_num,N),其中,cw_num为码字的个数,而N代表数据的个数。
请参阅图3,示出了上述任一实施例中,利用目标数据和星座图计算用于提取软比特的目标数组的实现方式的流程示意图,可以包括:
步骤S301:对于目标数据中的每个目标数据元素,从星座图中确定出与目标数据元素汉明距离最小的第一目标星座点,以及与目标数据元素汉明距离次小的第二目标星座点。
步骤S302:对于目标数据中的每个目标数据元素,将目标数据元素与第一目标星座点之间的汉明距离作为第一目标距离,将目标数据元素与第二目标星座点之间的距离作为第二目标距离,计算第一目标距离与第二目标距离差值的绝对值作为目标差值。
步骤S302:将与目标数据中各个目标数据元素对应的第一目标星座点组成第一目标数据组,将与各个目标数据元素对应的第二目标星座点组成第二目标数组,将与各个目标数据元素对应的目标差值组成第三目标数组。
示例性的,目标数据为r,目标数据r中的每一个元素为r(m,n),m是第m个码字(m=1,2…),n为第m个码字中第n个元素:
对于r中的每一个元素r(m,n),首先计算r(m,n)与星座图中每个星座点的汉明距离,得到最小的两个汉明距离dmin1(m,n)和dmin2(m,n),记录与r(m,n)汉明距离最小的星座点r_new1(m,n),与r(m,n)汉明距离次小的星座点为r_new2(m,n)。然后,计算差值d(m,n)=|dmin1(m,n)-dmin2(m,n)|。
遍历整个r数组,可以得到第一目标数组r_new1、第二目标数据r_new2和第三目标数组d。
请参阅图4,示出了上述任一实施例中,基于目标调制阶数利用目标数组提取主软比特数组和备用软比特数组的实现方式的流程示意图,可以包括:
步骤S401:通过远用户的功率与总功率的比值计算软比特的提取门限值。
步骤S402:通过提取门限值、目标调制阶数和第一目标数据组确定目标数据中各个目标数据元素的软比特,将各个目标数据元素的软比特组成主软比特数组。
步骤S403:通过提取门限值、目标调制阶数和第二目标数据组确定目标数据中各个目标数据元素的软比特,将各个目标数据元素的软比特组成备用软比特数组。
示例性的,远用户的调试阶数为Q1=2,近用户的调制阶数Q2=2,目标调制阶数Q=4,第一目标数组、第二目标数组分别为上述示例中的r_new1和r_new2,如果第二用户的功率与总功率的比值为a,则第一用户的功率与总功率的比值为1-a,则软比特的提取门限值sacle通过下式计算:
对于目标数据r的每一个元素为r(m,n),其主软比特的确定过程为:
第一个软比特soft(m,Q*n-3)=Re(r_new1(m,n))
第二个软比特soft(m,Q*n-2)=Im(r_new1(m,n))
第三个软比特soft(m,Q*n-1)=scale-abs(Re(r_new1(m,n)))
第四个软比特soft(m,Q*n)=scale-abs(Im(r_new1(m,n)))
备用软比特的确定过程为:
第一个软比特soft2(m,Q*n-3)=Re(r_new2(m,n))
第二个软比特soft2(m,Q*n-2)=Im(r_new2(m,n))
第三个软比特soft2(m,Q*n-1)=scale-abs(Re(r_new2(m,n)))
第四个软比特soft2(m,Q*n)=scale-abs(Im(r_new2(m,n)))
上述过程为远用户的调试阶数为Q1=2,近用户的调制阶数Q2=2,目标调制阶数Q=4时确定主软比特和备用软比特的过程,下面再给出远用户的调制阶数Q1=2,近用户的调制阶数Q2=4,目标调制阶数Q=6时确定主软比特和备用软比特的过程:
软比特的提取门限值通过下式计算:
则目标数据r的每一个元素为r(m,n),其主软比特的确定过程为:
第一个软比特soft(m,Q*n-5)=Re(r_new1(m,n))
第二个软比特soft(m,Q*n-4)=Im(r_new1(m,n))
第三个软比特soft(m,Q*n-3)=scale1-abs(Re(r_new1(m,n)))
第四个软比特soft(m,Q*n-2)=scale1-abs(Im(r_new1(m,n)))
第五个软比特soft(m,Q*n-1)=scale2-abs(soft(m,Q*n-3))
第六个软比特soft(m,Q*n)=scale2-abs(soft(m,Q*n-2))
备用软比特的确定过程为:
第一个软比特soft2(m,Q*n-5)=Re(r_new2(m,n))
第二个软比特soft2(m,Q*n-4)=Im(r_new2(m,n))
第三个软比特soft2(m,Q*n-3)=scale1-abs(Re(r_new2(m,n)))
第四个软比特soft2(m,Q*n-2)=scale1-abs(Im(r_new2(m,n)))
第五个软比特soft2(m,Q*n-1)=scale2-abs(soft2(m,Q*n-3))
第六个软比特soft2(m,Q*n)=scale2-abs(soft2(m,Q*n-2))
将目标数据r中各个目标数据元素的主软比特组成主软比特组soft,将各个目标元素的备用软比特组成备用软比特组soft2。
请参阅图5,示出了上述任一实施例中,基于目标调制阶数和远用户的调制阶数从主软比特数组中提取出远用户的目标主软比特数组、从备用软比特数组中提取出远用户的目标备用软比特数组的实现方式的流程示意图,可以包括:
步骤S501:按顺序分别对主软比特数组和备用软比特数组中的元素进行分组,每个分组中包括Q个元素,其中,Q为目标调制阶数。
步骤S502:从每个分组中的Q个元素中提取前Q1个元素,其中,Q1为远用户的调制阶数。
步骤S503:将从主比特数组中各个分组提取的元素组成远用户的目标主软比特数组,并将从备用比特数组中各个分组提取的元素组成远用户的目标备用软比特数组。
示例性的,主软比特数组soft中共有Q*N个元素,按顺序每Q个元素分为一组,将每组中前Q1个元素提取出来,存入到S1数组中,遍历整个soft数组,就可以产生远用户的目标主软比特数组S1。
同样的,备用软比特数组soft2共有Q*N个元素,按顺序每Q个元素分为一组,将每组中前Q1个元素提取出来,存入到S2数组中,遍历整个soft2数组,就可以产生远用户的目标备用软比特数组。
请参阅图6,示出了上述任一实施例中,利用目标备用软比特数组对目标主软比特数组进行校正的实现过程的流程示意图,可以包括:
步骤S601:依据第三目标数组中元素由小到大的顺序,获取第三目标数组中第i小的元素的索引值,其中,i的取值为小于第三目标数组中元素个数的值。
步骤S602:利用索引值确定目标主软比特数组中需要替换的元素的位置。
步骤S603:用目标备用软比特数组中与上述位置相同的元素替换目标主软比特数组中的对应元素,获得校正后的目标主软比特数组。
步骤S604:判断校正后的目标主软比特数组是否解码成功。
步骤S605:当校正后的目标主软比特数组解码未成功时,将i+1赋值给i转入步骤S601。
需要说明的是,当校正后的目标主软比特数组解码成功时,结束校正过程。
示例性的,第三目标数组为上述实施例中的d数组,目标主软比特数组为S1,备用软比特数组为S2,远用户的调制阶数为Q1,则从d数组中找出值最小的元素,将该元素在数据的位置值作为索引值index1,将目标主软比特数组S1中的S1(m,index1*Q1-1)和S1(m,index1*Q1)的两个值分别替换成S2(m,index1*Q1-1)和S2(m,index1*Q1),得到校正后的目标主软比特数组。
然后对校正后的目标主软比特数组重新进行解码,如果解码成功,则通过校正后的目标主软比特数组获得的比特流为远用户的比特流,如果解码不成功,则继续查询d数组,找出d数组中值第二小的元素的索引值index2,采用上述方式校正目标主软比特数组,然后对该校正后的目标主软比特数组解码,如果解码不成功,再查询d数组中第三小的元素的index3,基于index3校正目标主软比特数组,然后解码….以此类推,直至校正后的目标主软比特数组解码成功。
需要说明的是,在本实施例中,对目标主软比特数组进行解码的过程为CRC校验的过程,即在获得目标主软比特数组之后,对该目标主软比特数组进行CRC校验,如果校验通过,则获得的比特流即为远用户的比特流,如果校验不通过,则利用备用软比特数组采用上述方式对目标主软比特数组进行校正。
在上述本发明实施例提供的非正交多址的信号检测方法的基础上,现列举一具体实例进行说明:
配置为2x2天线,远用户与近用户占的功率分别和其中a=0.1。近用户与远用户均使用QPSK调制。
(一)接收数据的处理:
对接收数据进行OFDM变换,信道估计,信道均衡,解层映射,可以得到目标数据r(1,3),r=[0.95+0.38i,1.7-1.6i,-0.6+0.7i]。其中r(1,3)中的1表示码字的个数,而3代表数据的个数。
(二)远用户的解调
(1)确定目标调制阶数:
远用户的调制阶数为2,近用户的调制阶数为2,则目标调制阶数为4。
(2)通过非正交多址系统的发送端的远用户和近用户的功率比值,以及调制阶数确定星座图,图7示出了星座图。
(3)计算用于提取软比特的目标数组r_new1,r_new2和d:
取出目标数据r中的一个元素,例如r(1,1)=0.95+0.38i,计算其与星座图中十六个星座点的汉明距离,如图8所示,得到最小的两个汉明距离dmin1(1,1)=0.0872和dmin2(1,1)=0.5073,并计算差值d(1,1)=|dmin1-dmin2|=0.4201。同样的,也可以得到d(1,2)=0.3355d(1,3)=0.0481,用数组d记录。
由于目标调制阶数Q=4,r(1,1)=0.95+0.38i,距离其最近的两个星座点为r_new1(1,1)=0.8944+0.4472i和r_new2(1,1)=0.4472+0.8944i。同样的,也可以得到:
r_new1(1,2)=0.8944-0.4472i r_new1(1,3)=-0.4472+0.8944i
r_new2(1,2)=0.8944-0.8944i r_new2(1,3)=-0.4472+0.4472i。
(4)确定软比特提取的门限值scale,通过门限值scale和r_new1,r_new2提取主软比特和备用软比特:
由于Q=4,则:
第一个软比特=RE(r_new1(1,1))=0.8944,
第二个软比特=Im(r_new1(1,1))=0.4472,即:
S1(1,1)=RE(r_new1(1,1))=0.8944
S1(1,2)=Im(r_new1(1,1))=0.4472
S2(1,1)=RE(r_new2(1,1))=0.4472
S2(1,2)=Im(r_new2(1,1))=0.8944
遍历整个r数组,最后得到完整的S1数组和S2数组。
S1=[0.8944,0.4472,0.8944,-0.4472,-0.4472,0.8944]
S2=[0.4472,0.8944,0.8944,-0.8944,-0.4472,0.4472]
(三)远用户解码
(a)对S1数组进行CRC校验,如果校验成功,则获得远用户的比特流。
(b)如果CRC校验没有成功,则查询d数组,找出d数组中值最小的元素的索引值,此例中即为3。将S1(1,3*2-1)和S1(1,3*2)的两个值分别替换成S2(1,3*2-1)和S2(1,3*2),然后对替换后的S1进行CRC校验。
(c)如果校验成功则获得远用户的比特流,如果校验不成功则继续查询d数组,找出d数组中值第二小的元素的索引值,此例中为2。将S1(1,1*2-1)和S1(1,1*2)的两个值分别替换成S2(1,1*2-1)和S2(1,1*2),然后对替换后的S1进行CRC校验。
(d)如果校验成功则获得远用户的比特流,如果校验不成功则继续查询d数组,找出d数组中值第三小的元素的索引值,按上述方式进行替换,直至替换后的S1进行CRC校验成功。
(四)近用户的解调解码
近用户待解调解码数据通过使用接收的数据减去远用户解码获得的比特流获得,在获得近用户待解调解码数据之后可采用步骤(二)和(三)对其进行解调解码。
与上述方法相对应,本发明实施例还提供了一种非正交多址的信号检测装置,请参阅图9,示出了该装置的结构示意图,可以包括:数据处理模块901、调制阶数确定模块902、星座图确定模块903、计算模块904、第一提取模块905、第二提取模块906、解码模块907、校正模块908和用户数据确定模块909。其中:
数据处理模块901,用于按预设处理规则对接收的数据进行处理,获得目标数据,目标数据包括多个目标数据元素。
调制阶数确定模块902,用于通过远用户的调制阶数和近用户的调制阶数确定目标调制阶数。
星座图确定模块903,用于通过发送端所述远用户与近用户的功率比值和目标调制阶数确定星座图。
计算模块904,用于利用目标数据和所述星座图计算用于提取软比特的目标数组。
第一提取模块905,用于基于目标调制阶数利用目标数组提取主软比特数组和备用软比特数组。
第二提取模块906,用于基于目标调制阶数和所述远用户的调制阶数从所述主软比特数组中提取出远用户的目标主软比特数组,并从备用软比特数组中提取出远用户的目标备用软比特数组。
解码模块907,用于对目标主软比特数组进行解码。
校正模块908,用于当解码未成功时,利用目标备用软比特数组对目标主软比特数组进行校正,以使校正后的主软比特数组成功解码出远用户的目标比特流。
用户数据确定模块909,用于通过接收的数据和所述远用户的目标比特流确定近用户的待解调解码数据。
本发明实施例提供的非正交多址的信号检测装置,可利用处理得到的目标数据以及确定的星座图计算出用于提取软比特的目标数组,然后可基于目标调制阶数利用目标数组提取主软比特数组和备用软比特数组,进而从所主软比特数组中提取出远用户的目标主软比特数组、从备用软比特数组中提取出远用户的目标备用软比特数组,进而基于目标主软比特数组和目标备用软比特数组解码获得远用户的目标比特流,从而通过接收的数据和远用户的目标比特流确定近用户的待解调解码数据。本发明实施例提出主、备用软比特信息同时提取的方案,在第一用户的目标主软比特数组不能成功解码时,可利用目标备用软比特数组对目标主软比特数组进行校正,从而有效降低误码率,同时,本发明实施例提供的方法涉及的运算均为复杂度低的运算,易于实现,且随着调制阶数等条件的提升,不会对复杂度造成很大的影响。
在上述实施例中,计算模块可以包括:第一确定子模块、第一计算子模块和目标数组组建子模块。其中:
第一确定子模块,用于对于目标数据中的每个目标数据元素,从星座图中确定出与目标数据元素汉明距离最小的第一目标星座点,以及与目标数据元素汉明距离次小的第二目标星座点。
第一计算子模块,用于对于目标数据中的每个目标数据元素,将目标数据元素与第一目标星座点之间的汉明距离作为第一目标距离,将目标数据元素与第二目标星座点之间的距离作为第二目标距离,计算第一目标距离与第二目标距离差值的绝对值作为目标差值。
目标数组组建子模块,用于将与目标数据中与各个目标数据元素对应的第一目标星座点组成第一目标数据组,将与各个目标数据元素对应的第二目标星座点组成第二目标数组,将与各个目标数据元素对应的目标差值组成第三目标数组。
在上述实施例中,第一提取模块包括:第二计算子模块、第二确定子模块和第三确定子模块。其中:
第二计算子模块,用于通过远用户的功率与总功率的比值计算软比特的提取门限值。
第二确定子模块,用于通过提取门限值、目标调制阶数和第一目标数据组确定目标数据中各个目标数据元素的软比特,将各个目标数据元素的软比特组成主软比特数组。
第三确定子模块,用于通过提取门限值、目标调制阶数和第二目标数据组确定目标数据中各个目标数据元素的软比特,将各个目标数据元素的软比特组成备用软比特数组。
在上述实施例中,第二提取模块包括:分组子模块、提取子模块和组建子模块。其中:
分组子模块,用于按顺序分别对主软比特数组和备用软比特数组中的元素进行分组,每个分组中包括Q个元素,其中,Q为目标调制阶数。
提取子模块,用于从每个分组中的Q个元素中提取前Q1个元素,其中,Q1为远用户的调制阶数。
目标软比特数组组建子模块,用于将从主比特数组中各个分组提取的元素组成目标主软比特数组,并将从备用比特数组中各个分组提取的元素组成目标备用软比特数组。
在上述实施例中,校正模块包括:获取子模块、第三计算子模块、替换子模块和判断子模块。其中:
获取子模块,用于依据第三目标数组中值元素由小到大的顺序,获取第三目标数组中值元素对应的索引值。
第三计算子模块,用于利用获取的索引值,计算得到目标主软比特数组中需要替换的元素的位置。
替换子模块,用于使用目标备用软比特数组中与位置相同的元素,替换目标主软比特数组中的对应元素,获得校正后的目标主软比特数组。
判断子模块,用于判断校正后的目标主软比特数组是否解码成功。
若判断单元判断解码不成功,则获取子模块继续执行获取第三目标数组中值元素对应的索引值步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。