本申请涉及信号处理领域,尤其涉及一种适用于ovxdm系统的快速译码方法、装置及ovxdm系统。
背景技术:
对于重叠复用系统——不管是重叠时分复用(ovtdm,overlappedtimedivisionmultiplexing)系统、重叠频分复用(ovfdm,overlappedfrequencydivisionmultiplexing)系统还是重叠码分复用(ovcdm,overlappedcodedivisionmultiplexing)系统、重叠空分复用(ovsdm,overlappedspacedivisionmultiplexing)系统、重叠混合复用(ovhdm,overlappedhybriddivisionmultiplexing)系统其传统的译码中,都需要不断访问格状图(trellis)中的节点,并为每一个节点设置两个存储器,一个用于存储到达该节点的相对最佳路径,一个用于存储到达该节点的相对最佳路径对应的测度。
对于ovtdm系统和ovfdm系统,由于译码过程中,需要对格状图中每个节点进行扩展,因此节点数决定了译码的复杂度,而对于重叠次数为k和调制维度为m的系统(m是大于等于2的整数),其对应的格状图中稳定状态的节点数为mk-1,因此译码复杂度会随着重叠次数k而指数增加。而在ovtdm系统和ovfdm系统中,系统的频谱效率为2k/符号,因此重叠次数k越大频谱效率越高。因此,一方面出于提高频谱效率的要求使得重叠次数k越大越好,另一方面出于降低译码复杂度的要求使得重叠次数k越小越好,特别地,当重叠次数k增加到一定值,例如k大于8后,译码复杂度急剧增加,现有的译码方法难以满足实时译码的要求,频谱效率与译码复杂度、译码效率形成了一对矛盾需求。
类似地,对于一个编码支路数为k’的m维调制ovcdm系统,其对应的格状图中稳定状态的节点数为mk’-1,因此译码复杂度会随着编码去路数k’而指数增加。而在ovcdm系统中,需要尽可能大的编码支路数k’,以使得频谱效率越高,但是同时译码复杂度会随k’的增加而急剧增加,因此频谱效率与译码复杂度、译码效率形成了一对矛盾需求。
技术实现要素:
为解决上述问题,本申请提供一种适用于ovxdm系统的快速译码方法、装置及ovxdm系统,其译码复杂度并不会像传统译码方案一样随着k/k’的增加而急剧增加,解决了频谱效率与译码复杂度、译码效率这一对矛盾需求。
根据本申请的第一方面,本申请提供一种适用于ovxdm系统的快速译码方法,包括以下步骤:
步骤一、分别计算前r个符号所潜在的全部路径与接收符号序列中前r个接收符号之间的测度;
步骤二、对计算得到各测度进行排序,并存储其中较小的rn个测度及其各自对应的路径;
步骤三、对当前存储的每条路径的最后一个节点进行m维扩展,对扩展出的路径计算其与接收符号序列中对应接收符号之间的瞬时测度,并将各瞬时测度与其前一时刻对应的累加测度相加,得到当前时刻相加后的各路径的累加测度;
步骤四、对所述相加后的各路径的累加测度进行排序,并存储其中较小的rn个测度及其各自对应的路径;
步骤五、当步骤三中扩展到接收符号序列中最后一个符号对应的节点,步骤四相应地存储有对应整个接收符号序列的较小的rn个测度及其各自对应的路径时停止,否则重复步骤三和步骤四;
步骤六、选取测度最小的一条路径作为译码路径,以进行判决输出;
rn为一正整数,其根据需求进行预设,且小于ovxdm系统对应的格状图的节点数。
根据本申请的第二方面,本申请提供一种适用于ovxdm系统的快速译码装置,包括:
第一计算模块,用于分别计算前r个符号所潜在的全部条路径与前r个接收符号之间的测度;
第一排序模块,用于对计算得到各测度进行排序;
rn个距离存储器及对应的rn个路径存储器,分别用于存储第一排序模块中得到的较小的rn个测度及其各自对应的路径;
扩展模块,用于对当前存储的每条路径的最后一个节点进行m维扩展;
第二计算模块,对扩展出的路径计算其与接收符号序列中对应接收符号之间的瞬时测度,并将各瞬时测度与其前一时刻对应的累加测度相加,得到当前时刻相加后的各路径的累加测度;
第二排序模块,用于对第二计算模块中得到的所述相加后的各路径的累加测度进行排序,其中较小的rn个测度及其各自对应的路径用于更新所述rn个距离存储器及对应的rn个路径存储器中的值;扩展模块、第二计算模块和第二排序模块重复进行工作,直到扩展模块扩展到接收符号序列中最后一个符号对应的节点以使得rn个距离存储器及对应的rn个路径存储器分别存储有对应整个接收符号序列的较小的rn个测度及其各自对应的路径时停止;
判决输出模块,选取存储的测度最小的距离存储器对应的路径存储器中存储的路径作为译码路径,以进行判决输出;
rn为一正整数,其根据需求进行预设,且小于ovxdm系统对应的格状图的节点数。
根据本申请的第三方面,本申请提供一种ovxdm系统,包括上述的适用于ovxdm系统的快速译码装置。
本申请的有益效果是:
依上述实施的适用于ovxdm系统的快速译码方法、装置及ovxdm系统,由于在译码过程中无需遍历所有状态节点及其扩展路径,只需通过测度排序选取部分状态节点和路径进行扩展,因此可以大幅度降低译码复杂度,并提高译码效率。
附图说明
图1为本申请一实施例中的适用于ovxdm系统的快速译码方法的流程示意图;
图2为本申请一实施例中的适用于ovxdm系统的快速译码装置的结构示意图;
图3为本申请第一种实施例中ovfdm系统的发射端的结构示意图;
图4(a)和(b)本申请第一种实施例中ovfdm系统的接收端的结构示意图;
图5为本申请第一种实施例中ovfdm系统的码树图;
图6为本申请第一种实施例中ovfdm系统的译码的格状图;
图7为本申请第一种实施例中ovfdm系统的格状图扩展的示意图;
图8为本申请第一种实施例中适用于ovfdm系统的快速译码方法的译码示意图;
图9为本申请第一种实施例中适用于ovfdm系统的快速译码方法与传统译码方法的性能对比图;
图10为本申请第一种实施例中适用于ovfdm系统的快速译码方法与传统译码方法的译码时间对比图;
图11为本申请第二种实施例中ovtdm系统的发射端的结构示意图;
图12(a)为本申请第二种实施例中ovtdm系统的预处理单元示意图;
图12(b)为本申请第二种实施例中ovtdm系统的序列检测单元示意图;
图13为本申请第二种实施例中ovtdm系统的码树图;
图14为本申请第二种实施例中ovtdm系统的译码的格状图;
图15为本申请第二种实施例中ovtdm系统的格状图扩展的示意图;
图16为本申请第二种实施例中适用于ovtdm系统的快速译码方法的译码示意图;
图17为本申请第二种实施例中适用于ovtdm系统的快速译码方法与传统译码方法的性能对比图;
图18为本申请第二种实施例中适用于ovtdm系统的快速译码方法与传统译码方法的译码时间对比图;
图19为本申请第三种实施例中ovcdm系统的结构示意图;
图20为本申请第三种实施例中ovcdm系统的编码器的结构示意图;
图21为本申请第三种实施例中ovcdm系统的编码矩阵的示意图;
图22为本申请第三种实施例中ovcdm系统的译码器的结构示意图;
图23为本申请第三种实施例中ovcdm系统对应的格状图;
图24为本申请第三种实施例中适用于ovcdm系统的快速译码方法的译码示意图。
具体实施方式
下面通过具体实施方式结合附图对本申请作进一步详细说明。
对于ovxdm系统,例如ovtdm系统、ovfdm系统和ovcdm系统,传统的译码方案一般采用维特比(viterbi)译码方案,其原理是对系统的对应的格状图中全部节点都进行充分扩展,计算每条路径的测度,最后选取测度最小的路径作为译码路径。从维特比译码方案的原理可以看出,其译码的复杂度会随着重叠次数/编码支路数的增加而指数增加。
本申请在译码过程中无需遍历所有状态节点及其扩展路径,只需通过测度排序选取部分状态节点和路径进行扩展,因此可以大幅度降低译码复杂度,并提高译码效率。下面具体说明。
本申请公开了一种适用于ovxdm系统的快速译码方法,如图1所示,其包括步骤s01~s19。
步骤s01、分别计算前r个符号所潜在的全部条路径与接收符号序列中前r个接收符号之间的测度。对于m维调制的ovtdm系统和ovfdm系统等,前r个符号所潜在的全部条路径数量为mr,其中m为大于或等于2的整数。本申请中的测度表示两个信号之间的距离,定义为:
步骤s03、对步骤s01中计算得到各测度进行排序。
步骤s05、存储步骤s03中排序得到的其中较小的rn个测度及其各自对应的路径。
步骤s07、对当前存储的每条路径的最后一个节点进行扩展。对于m维调制的ovtdm系统和ovfdm系统等,是对当前存储的每条路径的最后一个节点进行m维扩展。
步骤s09、对扩展出的路径计算其与接收符号序列中对应接收符号之间的瞬时测度。
步骤s11、将步骤s09计算得到的各瞬时测度与其前一时刻对应的累加测度相加,得到当前时刻相加后的各路径的累加测度。
步骤s13、对步骤s11中所述相加后的各路径的累加测度进行排序。
步骤s15、存储其中较小的rn个测度及其各自对应的路径。
步骤s17、当步骤s07中扩展到接收符号序列中最后一个符号对应的节点,步骤s15相应地存储有对应整个接收符号序列的较小的rn个测度及其各自对应的路径时停止,否则重复步骤s07~s15。
步骤s19、选取测度最小的一条路径作为译码路径,以进行判决输出。
在上述译码方法中,rn为一正整数,其根据需求进行预设,且小于ovxdm系统对应的格状图的节点数。对于重叠次数为k的m维调制的ovtdm系统和ovfdm系统等,rn小于mk-1。在一较优实施例中,r为logmrn的数值向下取整。
在一实施例中,x可代表任何域,包括时域t,频域f,空间s,码域c或混合h等,对应的,ovxdm系统可为ovtdm系统、ovfdm系统、ovcdm系统、ovsdm系统或ovhdm系统等。
如上所述,本申请在译码过程中无需遍历所有状态节点及其扩展路径,只需通过测度排序选取部分状态节点和路径进行扩展,因此可以大幅度降低译码复杂度,并提高译码效率,。上述译码方法过程中,选取的是每次对rn个节点进行扩展。因此,在译码过程中,保留路径数rn决定了译码过程中保留的信息,对于ovtdm系统和ovfdm系统,每次扩展舍弃的路径数量为mk-rn,因此rn越小那相应地译码复杂度就越低,但是rn不可能无限小,因为rn越小,译码性能损失越大,相同误码率条件下需要更高的信噪比。因此rn选取也十分关键,要保证在降低复杂度的同时,使得译码性能损失较小,经试验表明,一般选取rn小于mk-1,且大小或等于mk-4,其中k为接收符号的重叠次数,m表示m维系统(m是大于等于2的整数),此时大幅降低译码复杂度的同时还保证了译码性能。类似地,对于编码支路数为k’和编码约束长度为l的ovcdm系统,每次扩展舍弃的路径数量为mlk’-rn,一般选取rn小于ml(k’-4),且大小或等于ml(k’-2)时,能大幅降低译码复杂度的同时还保证了译码性能。
相应地,本申请还提出了一种适用于ovxdm系统的快速译码装置,如图2所示,其包括第一计算模块01、第一排序模块03、rn个距离存储器05、rn个路径存储器07、扩展模块09、第二计算模块11、第二排序模块13和判决输出模块15。
第一计算模块01用于分别计算前r个符号所潜在的全部条路径与前r个接收符号之间的测度。
第一排序模块03用于对第一计算模块01计算得到各测度进行排序。
rn个距离存储器05用于分别存储第一排序模块中得到的较小的rn个测度,对应的rn个路径存储器07用于分别存储上述rn个测度对应的路径。
扩展模块09用于对当前存储的每条路径的最后一个节点进行m维扩展。
第二计算模块11用于对扩展出的路径计算其与接收符号序列中对应接收符号之间的瞬时测度,并将各瞬时测度与其前一时刻对应的累加测度相加,得到当前时刻相加后的各路径的累加测度。
第二排序模块13用于对第二计算模块11中得到的所述相加后的各路径的累加测度进行排序,其中较小的rn个测度及其各自对应的路径用于更新所述rn个距离存储器05及对应的rn个路径存储器07中的值。扩展模块09、第二计算模块11和第二排序模块13重复进行工作,直到扩展模块09扩展到接收符号序列中最后一个符号对应的节点以使得rn个距离存储器05及对应的rn个路径存储器07分别存储有对应整个接收符号序列的较小的rn个测度及其各自对应的路径时停止。
判决输出模块15选取存储的测度最小的距离存储器05对应的路径存储器07中存储的路径作为译码路径,以进行判决输出。
在上述快速译码装置中,rn为一正整数,其根据需求进行预设,且小于ovxdm系统对应的格状图的节点数。在一实施例中,r为logmrn的数值向下取整,其中m表示系统的维度,为大于或等于2的整数。
在一实施例中,当ovxdm系统为ovtdm系统、ovfdm系统时,rn小于mk-1,且大小或等于mk-4,其中k为接收符号的重叠次数,其中m表示系统的维度,其是大于或等于2的整数;当ovxdm系统为ovcdm系统时,所述rn小于ml(k’-4),且大小或等于ml(k’-2),其中k’为接收符号的编码支路数,l为接收符号的编码约束长度,同样m表示系统的维度,其是大于或等于2的整数。
本申请还公开了一种ovxdm系统,其包括上述的适用于ovxdm系统的快速译码装置,在一实施例中,ovxdm系统可以为ovtdm系统、ovfdm系统、ovcdm、ovsdm或ovhdm系统。
下面再通过若干个实施例对本申请作进一步的说明。
实施例一
本实施例不妨以ovfdm系统为例进行说明。
如图3所示,为ovfdm系统发送端,其首先将频域信号按照一定的规律进行编码,然后将频域信号转换为时域信号即进行傅氏反变换,之后才将信号发送出去。具体地,先根据设计参数生成一个初始包络波形;然后根据重叠复用次数将上述初始包络波形在频域上按预定的频谱间隔进行移位,得到各子载波包络波形;再将输入数据序列与各自对应的子载波包络波形相乘,得到各子载波的调制包络波形;再将各子载波的调制包络波形在频域上进行叠加,得到频域上的复调制包络波形,最后将上述频域上的复调制包络波形变换为时域上的复调制包络波形以发送,其中频谱间隔为子载波频谱间隔△b,其中子载波频谱间隔△b=b/k,b为所述初始包络波形的带宽,k为重叠复用次数。如图4所示为ovfdm系统接收端,其通过天线收到的信号是时域的信号,如果要对接收信号译码,首先需要将时域信号转换为频域信号,即进行傅氏变换之后才能处理。具体地,先对接收信号在时间域形成符号同步;然后对各个符号时间区间的接收信号进行取样、量化,使它变成接收数字信号序列;将时域信号转换为频域信号,再对该频率域信号以频谱间隔△b分段,形成实际接收信号分段频谱;再形成接收信号频谱与发送的数据符号序列之间的一一对应关系,最后根据此种一一对应的关系,检测数据符号序列。ovfdm系统中的傅氏反变换和傅氏变换都涉及采样点数的设置,两者的采样点数应保持一致,且取值为2n,n为正整数。
一个重叠次数为k的2维调制ovfdm系统,即m=2,其格状图的节点数为2k-1,传统译码算法中需要的距离存储器为2k-1个,路径存储器也为2k-1个,如图5所示,其为一个接收信号长度n=4,重叠次数k=3时系统对应的码树图,从图中可以看出,码树图的状态数为2k-1=4,相应地,如图6所示,对应的格状图的节点数也为4,当译码状态充分展开时,每个译码步骤共有8条路径。本实施例中,选取距离存储器05为rn个,路径存储器07也为rn个,其中rn小于2k-1,从而降低译码的复杂度,在一实施例中,令r为log2rn的数值向下取整。下面详述译码步骤。
(1)长度为r的符号序列表示为:
(2)对2r个节点进行扩展,每个节点可以同时进行2维扩展,当输入为+1时向上扩展,输入为-1时向下扩展,如图7所示,计算扩展到达的节点的瞬时测度:
(3)对2r+1个路径测度进行排序,保留路径测度较小的前rn个节点及其路径,将后面几个测度较大的节点舍弃;。
(4)继续对rn个节点进行二维扩展,并计算扩展到达节点的瞬时测度,将瞬时测度与该节点前一时刻的累加测度相加,不管格状图是否完全展开,从第n步开始只保留前rn个到达节点及其路径测度,具有较大测度的路径及其距离全部抛弃,每次对剩余的rn个节点进行扩展,如此继续进行直至格状图的数据帧结束。
从以上步骤可以看出,本申请提出的快速译码方法每次仅需对rn个节点进行扩展,而传统方法需要对2k-1个节点进行扩展,在一实施例中,当k较大时,rn可以取值相对较小,并且满足rn<2k-1,因此对于长度为n的译码序列,译码复杂度大幅降低。需要说明的是,本实施例为描述方便,是以2维调制系统进行说明本申请的快速译码方法,实际上,本方法适用于m维调制的系统,其中m可以为大于或等于2的整数。
下面再以一个实际的例子说明本实施例。
以重叠次数k=5的二维调制的ovfdm系统为例,其采用矩形复用窗h={11111}进行调制。需要说明的是,本申请的快速译码文法,适用于各种复用窗函数。因此,当格状图完全展开后共有2k-1=16个节点,本例子选取rn=4,因此r为log2rn的数值向下取整,即为2,需要说明的是,本申请的快速译码方法中,rn的取值只要小于2k-1即可降低译码复杂度。
不妨令发送码序列为xi={+1+1-1+1-1+1+1+1-1+1},经过ovfdm系统调制后,得到的接收序列为yi={+1+2+1+2+1+1+1+3+1+3}。
如图6所示,其采用本申请的快速译码方法如下:
(1)由于r=2,因此首先计算两个符号能够组合得到的序列组合分别为:u1={+1+1},u2={+1-1},u3={-1+1},u4={-1-1},将接收序列的前两个符号{yi(1)yi(2)}分别与u1、u2、u3、u4计算测度,得到d1、d2、d3、d4,将其存入距离存储器05,同时将与之对应的路径u1、u2、u3、u4存入路径存储器07,为方便行文,下面以d1、d2、d3、d4指代上述的4个距离存储器05,以u1、u2、u3、u4指代上述的4个路径存储器07。
(2)对当前的四个节点进行扩展,每个节点对应一条路径,对其进行二维扩展,因此可以得到8条潜在路径,分别为s1={u1+1}、s2={u1-1}、s3={u2+1}、s4={u2-1}、s5={u3+1}、s6={u3-1}、s7={u4+1}、s8={u4-1}。接着计算潜在路径对应测度:
(3)对di′进行排序,保留较小的4个路径瞬时距离,将其更新到距离存储器d1、d2、d3、d4中,并将其对应的路径si更新到路径存储器u1、u2、u3、u4中,此时格状图中仍只到达4个节点,同时对应4条路径。
(4)重复步骤(2)和(3),对当前的四个节点进行扩展,每个节点对应一条路径,对其进行二维扩展,因此可以得到8条潜在路径,分别为s1={u1+1}、s2={u1-1}、s3={u2+1}、s4={u2-1}、s5={u3+1}、s6={u3-1}、s7={u4+1}、s8={u4-1},接着计算潜在路径对应测度:
(5)对di′进行排序,保留较小的4个路径的测度,将其更新到距离存储器d1、d2、d3、d4中,并将其对应的路径si更新到路径存储器u1、u2、u3、u4中,此时格状图中仍只到达4个节点,同时对应4条路径。
(6)直到最后一个符号计算完毕,此时路径存储器u1、u2、u3、u4和距离存储器d1、d2、d3、d4分别存储了四条路径及其对应的测度,最小距离对应的路径即为最终的译码结果。
图9和图10分别给出了本例子的快速译码方法与目前的维特比译码方法的性能对比和运算时间对比,从图中可以明显看出本例子的快速译码方法性能损失不到1db,但是时间却大幅压缩,即在能大幅降低译码复杂度、提高译码效率的同时还保证了译码性能。
实施例二
本实施例不妨以ovtdm系统为例进行说明。
如图11所示,为ovtdm系统发送端,先根据设计参数生成一个时域内的初始包络波形;然后根据重叠复用次数将上述初始包络波形在时域上按预定的时间间隔进行移位,得到各个时刻的偏移包络波形;再将输入数据序列与各个时刻的偏移包络波形相乘,得到各个时刻的调制包络波形;再将各个时刻的调制包络波形在时域上进行叠加,得到时域上的复调制包络波形以发送,其中时间间隔为△t,△t=t/k,t为所述初始包络波形的时域宽度,k为重叠复用次数。如图12所示,为ovtdm系统接收端,其对每一帧内的接收信号形成接收数字信号序列,再对形成的接收数字信号序列实施检测,以得到所述帧长内的调制在全部符号上的调制数据的判决。
一个重叠次数为k的2维调制ovtdm系统,其格状图的节点数为2k-1,传统译码算法中需要的距离存储器为2k-1个,路径存储器也为2k-1个,如图13所示,其为一个接收信号长度n=4,重叠次数k=3时系统对应的码树图,从图中可以看出,码树图的状态数为2k-1=4,相应地,如图14所示,对应的格状图的节点数也为4,当译码状态充分展开时,每个译码步骤共有8条路径。本实施例中,选取距离存储器05为rn个,路径存储器07也为rn个,其中rn小于2k-1,从而降低译码的复杂度,在一实施例中,令r为log2rn的数值向下取整。下面详述译码步骤。
(1)长度为r的符号序列表示为:
(2)对2r个节点进行扩展,每个节点可以同时进行2维扩展,当输入为+1时向上扩展,输入为-1时向下扩展,如图15所示,计算扩展到达的节点的瞬时测度:
(3)对2r+1个路径测度进行排序,保留路径测度较小的前rn个节点及其路径,将后面几个测度较大的节点舍弃;。
(4)继续对rn个节点进行二维扩展,并计算扩展到达节点的瞬时测度,将瞬时测度与该节点前一时刻的累加测度相加,不管格状图是否完全展开,从第n步开始只保留前rn个到达节点及其路径测度,具有较大测度的路径及其距离全部抛弃,每次对剩余的rn个节点进行扩展,如此继续进行直至格状图的数据帧结束。
从以上步骤可以看出,本申请提出的快速译码方法每次仅需对rn个节点进行扩展,而传统方法需要对2k-1个节点进行扩展,在一实施例中,当k较大时,rn可以取值相对较小,并且满足rn<2k-1,因此对于长度为n的译码序列,译码复杂度大幅降低。需要说明的是,本实施例为描述方便,是以2维调制系统进行说明本申请的快速译码方法,实际上,本方法适用于m维调制的系统,其中m可以为大于或等于2的整数。
下面再以一个实际的例子说明本实施例。
以重叠次数k=5的二维调制的ovtdm系统为例,其采用矩形复用窗h={11111}进行调制。需要说明的是,本申请的快速译码文法,适用于各种复用窗函数。因此,当格状图完全展开后共有2k-1=16个节点,本例子选取rn=4,因此r为log2rn的数值向下取整,即为2,需要说明的是,本申请的快速译码方法中,rn的取值只要小于2k-1即可降低译码复杂度。
不妨令发送码序列为xi={+1+1-1+1-1+1+1+1-1+1},经过ovtdm系统调制后,得到的接收序列为yi={+1+2+1+2+1+1+1+3+1+3}。
如图16所示,其采用本申请的快速译码方法如下:
(1)由于r=2,因此首先计算两个符号能够组合得到的序列组合分别为:u1={+1+1},u2={+1-1},u3={-1+1},u4={-1-1},将接收序列的前两个符号{yi(1)yi(2)}分别与u1、u2、u3、u4计算测度,得到d1、d2、d3、d4,将其存入距离存储器05,同时将与之对应的路径u1、u2、u3、u4存入路径存储器07,为方便行文,下面以d1、d2、d3、d4指代上述的4个距离存储器05,以u1、u2、u3、u4指代上述的4个路径存储器07。
(2)对当前的四个节点进行扩展,每个节点对应一条路径,对其进行二维扩展,因此可以得到8条潜在路径,分别为s1={u1+1}、s2={u1-1}、s3={u2+1}、s4={u2-1}、s5={u3+1}、s6={u3-1}、s7={u4+1}、s8={u4-1}。接着计算潜在路径对应测度:
(3)对di′进行排序,保留较小的4个路径瞬时距离,将其更新到距离存储器d1、d2、d3、d4中,并将其对应的路径si更新到路径存储器u1、u2、u3、u4中,此时格状图中仍只到达4个节点,同时对应4条路径。
(4)重复步骤(2)和(3),对当前的四个节点进行扩展,每个节点对应一条路径,对其进行二维扩展,因此可以得到8条潜在路径,分别为s1={u1+1}、s2={u1-1}、s3={u2+1}、s4={u2-1}、s5={u3+1}、s6={u3-1}、s7={u4+1}、s8={u4-1},接着计算潜在路径对应测度:
(5)对di′进行排序,保留较小的4个路径的测度,将其更新到距离存储器d1、d2、d3、d4中,并将其对应的路径si更新到路径存储器u1、u2、u3、u4中,此时格状图中仍只到达4个节点,同时对应4条路径。
(6)直到最后一个符号计算完毕,此时路径存储器u1、u2、u3、u4和距离存储器d1、d2、d3、d4分别存储了四条路径及其对应的测度,最小距离对应的路径即为最终的译码结果。
图17和图18分别给出了本例子的快速译码方法与目前的维特比译码方法的性能对比和运算时间对比,其为计算机10000次蒙特卡罗仿真结果,从图中可以明显看出本例子的快速译码方法性能损失不到1db,但是去处时间却大幅压缩,即在能大幅降低译码复杂度、提高译码效率的同时还保证了译码性能
实施例三
本实施例不妨以ovcdm系统为例进行说明。
ovcdm系统的重叠码分复用的核心是重叠和复用,目的是提高通信系统的频谱效率。ovcdm系统将卷积编码系数推广到复数域的广义卷积编码模型,通过符号重叠产生约束关系,主要参数包括编码支路数k’路和编码约束长度l,其系统结构图如图19所示,对应的编码器结构如附图20所示。ovcdm系统的关键是编码矩阵,即卷积扩展系数,要求其满足线性关系,此时输入序列与输出序列一一对应,因此理论上可以无误码的解码,一般通过计算机搜索所有测度较大的矩阵作为编码矩阵,其编码矩阵排列如附图21所示。
为了说明本实施例的快速译码方法,先给出ovcdm系统的编码过程。
(1)将待发送数据经过串并转换成为k’路子数据流,第i路上的数据流记为ui=ui,0ui,1ui,2…。比如k’=2时,u0=u0,0u0,1u0,2…,u1=u1,0u1,1u1,2…,
(2)将每一路数据送入一个移位寄存器进行加权叠加,第i路的加权系数为bi=bi,0bi,1bi,2…,其为一复向量。
(3)把各路信号相加输出,得到最终ovcdm编码器的输出为c=c0c1c2…,
ovcdm的码率为
传统的二元域卷积编码模型码率一般小于1,会导致频谱效率损失。而ovcdm的复数域的卷积编码码率等于1,单路的卷积编码扩展不会导致频谱效率损失,还会增加额外的编码增益。
接收端收到信号后,先对信号进行同步、信道估计、数字化处理,再对处理后的数据进行快速译码。译码算法的核心是通过计算接收信号与理想状态的测度,采用路径存储器和测度判决出最佳的译码路径,得到最终的检测序列,序列检测过程框图如附图22所示。
本实施例适用于ovcdm系统的快速译码方法,具体步骤如下。
不妨令ovcdm系统的编码支路数为k’路和编码约束长度l,编码输出矢量的维数为n,采用二维调制,因此码元为+1、-1。
(1)初始状态:
令初始节点状态即l=0的路径测度为d0,0=0;
(2)计算节点测度:
每个节点共计包括s个状态,对第l个节点求其测度,方法为计算全部m条从前一状态转移到此状态的理想信号波形与接收信号序列
(3)计算累加测度:
将当前节点各个状态s的测度ds,m(l,l+1)与它们各自出发状态s'的测度ds',l-1相加,形成新的m个路径的累加测度。
(4)路径筛选:
对路径测度进行排序,选择路径测度较小的rn条路径,将其对应的路径存入路径存储器,测度存入距离存储器。其余路径被舍弃,下一阶段从保留路径进行扩展。
(5)最终路径确定:
重复步骤(2)-(4)直至译码结束,此时存储器中共保留了rn条路径及其对应的路径测度,测度最小的路径即为译码结果。
下面再以一个实例进行说明。
本案例以输入数据流为u={+1,-1,-1,-1,-1,+1,-1,+1,+1,-1,+1,-1,-1,-1,-1,+1},k’=2,l=2,编码矩阵
(1)编码过程
首先对于k’=2,将输入数据流u转换为两路,对应为:
u1={+1,-1,-1,-1,+1,+1,-1,-1}
u2={-1,-1,+1,+1,-1,-1,-1,+1}
每一路的卷积系数表示为:b0=[1j],b1=[j1],参照附图20编码结构和附图23的格状图,其编码输出为c={1-j,-2,-2,0,2-2j,0,-2,-2}。ovcdm系统的编码实现过程也可以采用其他方式,本申请的发明点在于译码过程而不在于编码过程。
(2)译码过程,如图24所示:
经过信号同步、信道估计、数字化处理后,接收端得到信号序列,为方便说明,假定为理想状态,此时接收信号序列为c={1-j,-2,-2,0,2-2j,0,-2,-2},利用接收信号进行译码:
接收到的第一个符号为1-j,将其与理想的四个状态(1,1),(1,-1),(-1,1),(-1,-1)分别求测度,此时,前3个较小的测度对应的路径从小到达依次为(1,-1)、(1,1)、(-1,-1)。将对应的前3个较小的测度及其对应的路径分别存入距离存储器05和路径存储器07中。
接着处理第2个符号-2,当前保留的路径对应的状态分别为(1,-1)、(1,1)、(-1,-1),对每个状态进行扩展,每个状态可以进行四维扩展,因此得到12条路径,计算每条路径与当前接收符号的测度,并对这12条路径的测度进行排序,保留前3个较小的测度,更新存储器,将测度与对应的路径分别存入距离存储器05和路径存储器07中。
后面的符号采用相同的方法,通过求累加求得12条测度,并保留测度最小的三条路径及其对应的测度。直至最后一个符号计算完毕,此时得到3条路径及其对应的路径测度,测度最小的路径对应的序列即为最终译码输出序列,为(1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,-1,1),译码结束。
本申请提出的快速译码方法及装置,除了应用在ovxdm系统中,也可广泛应用于实际移动通信系统中,如td-lte、td-scdma等系统,还可以广泛应用于卫星通信、微波视距通信、散射通信、大气层光通信、红外通信与水生通信等任何无线通信系统中。本申请的快速译码方法及装置既可以应用于大容量无线传输,也可以应用于小容量的轻型无线电系统。
本专利中提出的快速译码方法,在译码的路径扩展期间,对待扩展的节点进行筛选,由于正确路径必定为较优的几个路径之一,因此只需选出路径较优的节点进行扩展,将较差的节点舍弃,后期不再对其进行扩展,从而降低译码的复杂度,提高了系统的译码效率
以上内容是结合具体的实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。对于本申请所属技术领域的普通技术人员来说,在不脱离本申请发明构思的前提下,还可以做出若干简单推演或替换。