发明内容
(一)要解决的技术问题
由此可见,当接收信号质量非常差时,Turbo译码器消耗大量硬件资源、进行尽可能多次的迭代译码,但译码的误块率仍非常高。此时,硬件和时间开销非常大,功耗也非常高,但译码性能很差。
(二)技术方案
针对上述问题,本发明提出一种Turto迭代译码方法和装置,可以有效降低接收信号质量较差时的Turbo译码迭代次数,降低译码复杂度,节省硬件和时间开销,进而提高整个系统的性能。
本发明一方面提出一种Turbo迭代译码方法,应用于Turbo迭代译码装置中,所述Turbo迭代译码装置包括第一子译码器、第一交织器、第二交织器、第二子译码器、第一解交织器、第二解交织器、硬判决单元和译码差异判决单元,该方法包括:
步骤1,在第i(1≤i≤Nmax)次中,系统信息xs、第一校验信息xp1和先验信息L1p经第一子译码器后输出外信息L1e和第一信息比特软输出L1all(i),其中Nmax为提前预置的最大迭代次数;
步骤2,外信息L1e和系统信息xs经交织后分别得到第二子译码器的先验信息L2p和系统信息x′s;
步骤3,第二校验信息xp2、系统信息x′s和先验信息L2p经第二子译码器后输出外信息L2e和第二信息比特软输出L′2all(i);
步骤4,外信息L2e和第二信息比特软输出L′2all(i)经解交织后分别得到信息比特软信息2L2all(i)和第一子译码器的先验信息L1p;
步骤5,第二信息比特软输出L2all(i)经硬判决后得到本次迭代的译码结果
步骤6,第一信息比特软输出L1all(i)和第二信息比特软输出L2all(i)输入译码差异判决单元,结合前几次迭代的信息比特软输出,首先计算判决度量,然后依据一定判决准则进行是否终止译码迭代的判决;
步骤7,如译码正确则输出当前译码结果否则则跳转到步骤1继续进行迭代译码。
根据本发明的一种具体实施方式,步骤1和步骤3中的第一子译码器和第二子译码器是软输入软输出译码器。
根据本发明的一种具体实施方式,步骤6中的判决度量包括:
Δ(i)=f(L1all(j),L2all(j),j=1,…,i),
Δ′(i)=f(Δ(j),j=1,…,i),
根据本发明的一种具体实施方式,,步骤6中的判决准则为:当Δ(i)小于等于门限值ΔTH时,表示译码正确,则发起停止迭代中断;当Δ(i)大于ΔTH且Δ′(i)大于Δ′TH时,可预测译码不正确且经过迭代后信息比特的软信息置信度也没能提高,则发起译码失败停止迭代中断;否则,表示仍需继续进行迭代提高译码正确率,其中ΔTH和Δ′TH是提前预置的判断门限值,其中,ΔTH表示当前迭代的第一子译码器和第二子译码器输出的信息比特软信息的差异或者多次迭代的多个子译码器之间的信息比特软信息的差异,Δ′TH表示多次迭代输出的信息比特软信息差异之间的变化。
根据本发明的一种具体实施方式,判决度量是基于信息比特软信息的判决度量、基于信息比特硬比特的判决度量、及综合使用软信息和硬比特的判决度量。
本发明另一方面提出一种Turbo迭代译码装置,包括:
第一子译码器:其输入为系统信息xs、第一校验信息xp1和先验信息L1p,使用MAP译码算法得到外信息L1e和第一信息比特软输出L1all(i)输出;
第一交织器:其输入为第一子译码器输出的外信息L1e,按照一定交织规则处理后得到第二子译码器的先验信息L2p;
第二交织器:其输入为系统信息xs,按照一定交织规则处理后得到系统信息x′s;
第二子译码器:其输入为第二校验信息xp2、系统信息x′s和先验信息L2p,使用MAP译码算法得到外信息L2e和第二信息比特软输出L′2all(i)输出;
第一解交织器:其输入为外信息L2e,按照一定解交织规则处理后得到第一子译码器的先验信息L1p;
第二解交织器:其输入为第二信息比特软输出L′2all(i),按照一定解交织规则处理后得到第二信息比特软输出L2all(i);
硬判决单元:其输入为第二信息比特软输出L2all(i),根据输入数据的符号位进行硬比特判决,其输出为二进制比特流
译码差异判决单元:其输入为当前及以前的译码输出信息比特软输出{L1all(j),L2all(j),j=1,…,i},首先计算判决度量,然后依据一定判决准则进行是否终止译码迭代的判决。
根据本发明的一种具体实施方式,第一子译码器和第二子译码器是软输入软输出译码器。
根据本发明的一种具体实施方式,译码差异判决单元中的判决度量计算单元功能为计算如下判决度量:
Δ(i)=f(L1all(j),L2all(j),j=1,…,i),
Δ′(i)=f(Δ(j),j=1,…,i)。
根据本发明的一种具体实施方式,译码差异判决单元中的判决准则为:当Δ(i)小于等于门限值ΔTH时,表示译码正确,则发起停止迭代中断;当Δ(i)大于ΔTH且Δ′(i)大于Δ′TH时,可预测译码不正确且经过迭代后信息比特的软信息置信度也没能提高,则发起译码失败停止迭代中断;否则,表示仍需继续进行迭代提高译码正确率;其中ΔTH和Δ′TH是提前预置的判断门限值,ΔTH表示当前迭代的第一子译码器和第二子译码器输出的信息比特软信息的差异或者多次迭代的多个子译码器之间的信息比特软信息的差异,Δ′TH表示多次迭代输出的信息比特软信息差异之间的变化。
根据本发明的一种具体实施方式,判决度量计算单元的判决度量是基于信息比特软信息的判决度量、基于信息比特硬比特的判决度量、及综合使用软信息和硬比特的判决度量。
(三)有益效果
采用本发明的Turbo译码方法和译码装置可以有效降低接收信号质量较差时的译码迭代次数,降低译码复杂度,节省硬件和时间开销,进而提高整个系统的性能。
具体实施方式
所述Turbo迭代译码装置包括第一子译码器、第一交织器、第二交织器、第二子译码器、第一解交织器、第二解交织器、硬判决单元和译码差异判决单元。本发明的方法包括两个软输入软输出的子译码器对系统信息、第一校验信息和第二校验信息的迭代译码以及译码差异判决单元依据两个子译码器的输出比特软信息的差异进行的迭代停止判决。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本发明提出的Turbo迭代方法译码流程图如图5所示,具体包括:
步骤1,译码程序启动,设定迭代次数指示i等于0;
步骤2,执行i=i+1;
步骤3,判断i是否大于预置的最大迭代次数Nmax,如果是则表示译码达到最大迭代次数,跳转到步骤12;否则进入步骤4;
步骤4,在第i(1≤i≤Nmax)次中,系统信息xs、第一校验信息xp1和先验信息L1p经第一子译码器后输出外信息L1e和第一信息比特软输出L1all(i),其中Nmax为提前预置的最大迭代次数;
步骤5,外信息L1e和系统信息xs经交织后分别得到第二子译码器的先验信息L2p和系统信息x′s;
步骤6,第二校验信息xp2、系统信息x′s和先验信息L2p经第二子译码器后输出外信息L2e和第二信息比特软输出L′2all(i);
步骤7,外信息L2e和第二信息比特软输出L′2all(i)经解交织后分别得到信息比特软信息2L2all(i)和第一子译码器的先验信息L1p;
步骤8,第二信息比特软输出L2all(i)经硬判决后得到本次迭代的译码结果
步骤9,译码结果输入CRC校验单元判断译码是否正确,如果CRC校验结果全部为零,则表示跳转至步骤11;否则跳到步骤2;
步骤10,第一信息比特软输出L1all(i)和第二信息比特软输出L2all(i)输入译码差异判决单元,结合前几次迭代的信息比特软输出进行是否停止迭代的判决。首先计算判决度量:
Δ(i)=f(L1all(j),L2all(j),j=1,…,i),
Δ′(i)=f(Δ(j),j=1,…,i),
然后依据判决度量进行下一步操作:
●当Δ(i)小于等于门限值ΔTH时,表示译码正确,则跳转至步骤11;
●当Δ(i)大于ΔTH且Δ′(i)大于Δ′TH时,表示译码误差较大,且随着迭代次数的增加其变化没有减小的趋势,可预测译码不正确且经过迭代后信息比特的软信息置信度也没能提高,则发起译码失败停止迭代中断,跳转至步骤12;
●否则,表示仍需继续进行迭代提高译码正确率,跳转至步骤2。
其中ΔTH和Δ′TH是提前预置的判断门限值。ΔTH表示当前迭代的第一子译码器和第二子译码器输出的信息比特软信息的差异或者多次迭代的多个子译码器之间的信息比特软信息的差异。Δ′TH表示多次迭代输出的信息比特软信息差异之间的变化。
根据不同的实施例,判决度量的计算函数可以有不同的表达式,这里列举五种具体的实施例,但在本专利的具体实施过程中不仅限于以下五种。以下列举可以分为依据信息比特软信息差异进行判决的实施例(实施例一至四)和依据硬判决后硬比特差异进行判决的实施例(实施例五)。且ΔTH和Δ′TH的表达式也可以进行任意组合。
判决度量实施例一:
(k为信息比特索引)
判决度量实施例二:
(k为信息比特索引)
判决度量实施例三:
(k为信息比特索引)
判决度量实施例四:
(k为信息比特索引)
判决度量实施例五:
(k为信息比特索引)
其中,sign(*)表示取符号,也即相当于硬判决过程。
步骤11,译码正确,停止迭代,输出译码结果,结束。
步骤12,停止迭代,译码错误,输出译码错误标识,结束。
上述过程中的第一子译码器和第二子译码器可以是采用任何实现方式的软输入软输出译码器。
本发明提出的一种Turbo迭代译码装置,如图6所示,该装置包括:
第一子译码器(601):其输入为系统信息xs、第一校验信息xp1和先验信息L1p,使用MAP译码算法得到外信息L1e和第一信息比特软输出L1all(i)输出;
第一交织器(603):其输入为第一子译码器输出的外信息L1e,按照一定交织规则处理后得到第二子译码器的先验信息L2p;
第二交织器(604):其输入为系统信息xs,按照一定交织规则处理后得到系统信息x′s。
第二子译码器(602):其输入为第二校验信息xp2、系统信息x′s和先验信息L2p,使用MAP译码算法得到外信息L2e和第二信息比特软输出L′2all(i)输出;
第一解交织器(605):其输入为外信息L2e,按照一定解交织规则处理后得到第一子译码器的先验信息L1p;
第二解交织器(606):其输入为第二信息比特软输出L′2all(i),按照一定解交织规则处理后得到第二信息比特软输出L2all(i)。
硬判决单元(607):其输入为第二信息比特软输出L2all(i),根据输入数据的符号位进行硬比特判决,其输出为二进制比特流
译码差异判决单元(608):其输入为当前及以前的译码输出信息比特软输出{L1all(j),L1all(j),j=1,…,i},首先计算判决度量:
Δ(i)=f(L1all(j),L1all(j),j=1,…,i),
Δ′(i)=f(Δ(j),j=1,…,i),
然后依据如下判决准则进行是否停止迭代的判决:当Δ(i)小于等于门限值ΔTH时,表示译码正确,则发起停止迭代中断;当Δ(i)大于ΔTH且Δ′(i)大于Δ′TH时,可预测译码不正确且经过迭代后信息比特的软信息置信度也没能提高,则发起译码失败停止迭代中断;否则,表示仍需继续进行迭代提高译码正确率。
其中ΔTH和Δ′TH是提前预置的判断门限值。ΔTH表示当前迭代的第一子译码器和第二子译码器输出的信息比特软信息的差异或者多次迭代的多个子译码器之间的信息比特软信息的差异。Δ′TH表示多次迭代输出的信息比特软信息差异之间的变化。
上述装置中的第一子译码器和第二子译码器可以是采用任何实现方式的软输入软输出译码器。
对于译码差异判决单元(608)根据不同的判决度量计算函数也有不同的具体实施例。以下为与前述判决度量实施例相对应的译码差异判决单元(608)实施例,但在本专利的具体实施过程中,本单元不局限于以下两种。
译码差异判决单元(608)实施例一:
如图7所示,基于信息比特软信息差异的译码差异判决单元608由Δ计算单元701和Δ′计算单元702组成。信息比特软信息L1all和L2all输入Δ计算单元701,得到软信息的差异度量Δ,然后经Δ′计算单元702得到Δ′并进行是否停止迭代的判决,输出使能信号StopFlag。
译码差异判决单元(608)实施例二:
如图8所示,基于信息比特硬比特差异的译码差异判决单元608由硬判决单元801、Δ计算单元802和Δ′计算单元803组成。信息比特软信息L1all和L2all经营判决后分别得到硬比特和输入Δ计算单元802,得到软信息的差异度量Δ,然后经Δ′计算单元803得到Δ′并进行是否停止迭代的判决,输出使能信号StopFlag。
图9和图10是分别采用上述实施例对得到参考性能图3和图4的场景进行了仿真。由图9可见,采用了本发明的实施案例得到了与参考性能完全重合的误码率性能,而其在低信噪比场景下,Turbo译码的迭代次数明显下降,如图10所示。由此可见,采用本发明的Turbo译码方法和装置可以有效降低当接收信号质量较差时的译码迭代次数,降低硬件开销,缩短译码时间,进而提高了整个系统的性能。
此外,本发明Turbo译码器可在卫星通信系统、移动通信系统、无线电话系统、无线数据传输系统等中使用。本发明实施例Turbo译码器可以以专用集成电路的形式实现,也可以以可编程逻辑门阵列的形式实现,还可以以可编程通用微处理器电路的形式实现。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。