具体实施方式
本发明的第1主题是:在重复解码中重复次数少的阶段中,通过即使根据重复解码的解码结果未检测出差错也继续进行重复解码,来防止由于漏检差错而使传输质量恶化。具体地说,本发明的第1主题是:设定重复次数的重复约束次数,进行重复解码,直至超过该重复约束次数,而且从解码结果中检测不出差错。
本发明的第2主题是:通过重复解码的解码结果中包含的多个检错码,来校验重复解码的解码结果中有无残存的差错,进行重复解码,直至对校验过的所有检错码都判断为在重复解码期间至少有1次无差错。
以下,参照附图来详细说明本发明的各实施例。在各实施例的说明中,作为重复解码的一种,以Turbo解码为例来进行说明。
(实施例1)
图2是表示本发明实施例1的无线通信系统的结构方框图。如该图所示,本实施例的数据传输装置用编码部101对从未图示的信源送来的发送信息比特串进行检错编码及纠错编码,用调制部102进行调制,用无线发送部103进行无线发送处理,从发送天线104进行无线发送。此外,接收端用无线接收部106对从天线105接收到信号(编码序列)进行无线接收处理,用解调部107进行解调,用解码部108进行纠错解码,得到接收信息比特串。编码部101使用的代表性的检错码是循环码。此外,在本实施例中,假设由编码部101包括的Turbo编码器进行纠错编码来进行说明。
图3是表示编码部101包括的Turbo编码器的结构方框图。如该图所示,Turbo编码器包括递归系统卷积编码器201、对发送信息比特串进行交织的交织器202、以及递归系统卷积编码器203。递归系统卷积编码器201及递归系统卷积编码器203进行系统卷积编码,所以与进行非系统卷积编码的情况相比,具有优良的差错率特性。
在上述Turbo编码器中,不对发送信息比特串施加任何变更而作为编码序列u来输出,并且输入到递归系统卷积编码器201及交织器202中。递归系统卷积编码器201对输入的信息比特串进行卷积编码,生成编码序列y1。交织器202对输入的信息比特串进行交织并输出到递归系统卷积编码器203。递归系统卷积编码器203对从交织器202输出的信息比特串进行卷积编码来生成编码序列y2。这些编码序列u、编码序列y1、及编码序列y2由调制部102进行调制,由无线发送部103实施规定的无线发送处理,从天线104进行无线发送。无线发送的编码序列u、编码序列y1、及编码序列y2在信道上被附加了噪声,由接收端的天线105进行接收。
接收端从天线105接收从发送装置发送的编码序列u、编码序列y1、及编码序列y2信道上附加了噪声的编码序列,用无线接收部106实施无线接收处理,用解调部107进行解调并输入到解码部108中。这里,设编码序列u在信道上被附加了噪声而被接收到的编码序列为编码序列U,设编码序列y1在信道上被附加了噪声而被接收到的编码序列为编码序列Y1,设编码序列y2在信道上被附加了噪声而被接收到的编码序列为编码序列Y2。
图4是表示解码器108的结构方框图。Turbo解码器301对接收到的编码序列重复进行纠错解码,每当进行纠错解码时将其解码结果输出到差错校验器302及重复控制器303。从Turbo解码器301输出的解码结果作为检错编码过的信息比特串(即检错码)而被得到。其重复次数由后述重复控制器303控制。差错校验器302对从Turbo解码器301输出的解码结果(检错码)进行检错,校验该解码结果中包含的差错,将表示校验结果的校验结果信号(OK信号或NG信号)输出到重复控制器303。差错校验器302在判断为有差错的情况下,将NG信号输出到重复控制器303。相反,在判断为无差错的情况下,将OK信号输出到重复控制器303。重复控制器303判决Turbo解码器301是继续还是结束重复解码,在结束重复的情况下,控制Turbo解码器301,使其结束重复解码。该重复控制器303在后面将详述。
接着,参照图5来说明Turbo解码器301。图5是表示本发明实施例1的Turbo解码器301的结构方框图。向Turbo解码器301输入编码序列U、编码序列Y1、编码序列Y2,保持在缓冲器406中。
首先,从缓冲器406将编码序列U及编码序列Y1输出到软输出解码器401。软输出解码器401通过软输出解码,根据从缓冲器406输出的编码序列U及编码序列Y1、以及从解交织器404输出的上次解码结果即先验似然来计算软输出解码结果,输出到交织器402。在第1次重复时,上次的解码结果不存在,所以使先验似然为零。交织器402用与发送端的Turbo编码器包括的交织器202相同的方式对从软输出解码器401输出的软输出解码结果进行交织,作为先验似然而输出到软输出解码器403。此外,从缓冲器406向交织器407输出编码序列U,交织器407用与发送端的Turbo编码器包括的交织器202相同的方式进行交织,将交织过的编码序列U’输出到软输出解码器403。此外,从缓冲器406向软输出解码器403输出编码序列Y2。软输出解码器403根据从交织器402及交织器407输出的先验似然及编码序列U’和编码序列Y2,用软输出解码来进一步生成软输出解码结果,输出到解交织器404。
解交织器404对从软输出解码器403输出的软判决值进行解交织,将交织器402交织过的信息比特串还原为原来的排列顺序的信息比特串。解交织所得的软输出解码结果由硬判决器405进行硬判决,变换为硬判决值“0”或“1”。该硬判决值成为Turbo解码器301的解码结果。在本阶段的硬判决值中包含检错编码时附加的冗余比特。此外,解交织器404解交织所得的软输出解码结果作为先验似然被反馈到软输出解码器401。
通过上述软输出解码器401、交织器402、软输出解码器403、及解交织器404构成的反馈电路进行的一系列软输出解码处理,对编码序列进行纠错解码。通过重复该软输出解码器401、交织器402、软输出解码器403、及解交织器404构成的反馈电路进行的一系列软输出解码处理来进行重复解码。在被重复控制器303控制为结束重复解码时,将从硬判决器405输出的硬判决结果作为最终解码结果,结束解码。
这样,上述Turbo解码器301用编码序列U、编码序列Y1及编码序列Y2来进行重复解码。图1示出每种重复次数下Turbo解码器重复解码的解码结果的BER(比特差错率;Bit Error Rate)和SNR(信噪比;Signal to Noise Ratio)的关系。如该图所示,即使SNR相同(即,即使信道环境相同),通过重复进行解码,BER也不断降低。即,在Turbo解码中,通过重复进行解码,能够实现高纠错能力,得到高传输质量。
图6是表示重复控制器303的结构方框图。重复控制器303主要包括:计数器501,对Turbo解码器的重复次数进行计数;存储器502,存储Turbo解码器301的重复次数的“重复约束次数”;判决电路503,判决是否结束Turbo解码器301中的重复解码;以及输出控制电路504,接受Turbo解码器301的解码结果,按照判决电路503的控制来控制是否将该解码结果输出到未图示的解码结果输出存储器。
下面说明上述重复控制器303的工作。首先,计数器501对Turbo解码器301中的解码处理的重复次数进行计数并输出到判决电路503。即,在计数器501中设定有“1”作为初始值,在从Turbo解码器301接受重复次数为第1次的解码结果后,将初始值“1”输出到判决电路503。此外,与向判决电路503输出“1”的工作并行,将设定值从“1”更新为“2”。接着,在从Turbo解码器301接受重复次数为第2次的解码结果后,将设定的“2”输出到判决电路503,与输出“2”并行,将设定值从“2”更新为“3”。这样,计数器501每当从Turbo解码器301输出解码结果时将设定值输出到判决电路503,并且递增设定值,设定为新的设定值。此外,在判决电路503判决为结束重复解码时,计数器501根据判决电路503的控制对设定值进行复位,将初始值“1”作为设定值。这样,计数器501将与Turbo解码器301中纠错解码的重复次数对应的设定值输出到判决电路503。
在存储器502中,存储有Turbo解码器301的重复次数的“重复约束次数”。判决电路503从存储器502中读出“重复约束次数”,与计数器501的输出信号所示的Turbo解码器301的纠错解码的重复次数进行比较。然后,只在实际的重复次数(从计数器501输出的设定值)在“重复约束次数”以上的情况下,才判断从Turbo解码器301输出的解码结果有无差错,判决是否结束重复解码。即,在实际的重复次数低于“重复约束次数”的情况下,差错校验器302中的校验结果很可能是错误,所以不进行是否结束重复解码的判决。因此,在实际的重复次数低于“重复约束次数”的情况下,不进行结束重复解码的控制,Turbo解码器301中的重复解码至少继续到重复约束次数以上的重复次数。判决电路503中的是否结束重复解码的判决参照从计数器501输出的重复次数、从存储器502输出的重复次数的重复约束次数、及从差错校验器302输出的校验结果信号(OK信号或NG信号)来进行。
在实际的重复次数在“重复约束次数”以上的情况下,判决电路503向输出控制电路504指示将从Turbo解码器301输出的解码结果输出到未图示的解码结果输出存储器。输出控制电路504收到来自判决电路503的输出指示后,将从Turbo解码器301输出的解码结果输出到未图示的解码结果输出存储器。这样,在重复次数低于重复约束次数时,通过不向解码结果输出存储器进行写入,能够削减存储器写入时浪费的功耗。此外,在实际的重复次数在“重复约束次数”以上、而且来自差错校验器302的输出信号为OK信号的情况下,判决电路503对Turbo解码器301进行结束当前的编码序列的重复解码的控制。在实际的重复次数虽然在“重复约束次数”以上、但是来自差错校验器302的输出信号为NG信号的情况下,判决电路503不进行结束重复解码的控制。在此情况下,判决电路503对Turbo解码器301进行继续重复解码的控制。这样,判决电路503使Turbo解码器301进行重复解码,直至重复次数达到重复约束次数以上,而且解码结果中差错消失。Turbo解码器301根据判决电路503的控制,在重复次数少于“重复约束次数”的情况下,继续进行重复解码。
在本实施例中,继续进行重复解码,直至重复次数达到重复约束次数以上,而且解码结果中差错消失,但是也可以预先设定重复次数的上限,在直至该上限重复次数、解码结果中差错还不消失的情况下,在进行了上限重复次数的重复时结束重复解码。这是因为,在信道上向编码序列施加了大的噪声的情况下,有时即使继续进行重复解码,也不能使所有检错码都变为无差错。通过这样对重复次数设置上限,能够防止无谓地继续进行重复,增大处理延迟及功耗。
这里,详细说明Turbo解码器301的重复次数的“重复约束次数”。
在编码理论中我们知道,在发生的差错的个数超过对信息比特实施检错编码而得到的码字的最小距离的情况下,有时即使对检错码进行解码,也不能正确地校验差错。即,在某个码字中发生的差错的个数超过最小距离时,有时出错的码字与其他码字一致。在此情况下,尽管有差错,也判断为无差错,发生所谓的“漏检差错”。一般,将下述情况称为“漏检差错”:尽管解码结果中包含差错,也不能检测出该差错,最终解码结果中包含差错。
另一方面,如图1所示,Turbo码具有下述特性:进行重复解码时的重复次数越多,则差错率越降低。即,重复次数越多,则解码结果中包含的差错越减少。
因此可知,在重复解码的初始阶段(差错率高的阶段)中进行的检错的可靠性低,随着一再进行重复解码,检错的可靠性不断提高。
因此,本实施例的重复解码在重复解码的初始阶段中,通过检错码来校验有无差错的可靠性低,所以即使在判断为无差错的情况下,也继续进行重复解码。然后,在进行了规定的次数以上的重复解码、解码结果中包含的差错减少后,在判断为解码结果中无差错的情况下,结束重复解码,得到最终解码结果。在本说明书中,将该规定的次数称为“重复约束次数”。通过进行“重复约束次数”以上的重复解码,能够减少漏检差错的发生。如上所述,在本发明中,进行重复解码,直至判断为重复次数达到“重复约束次数”以上,而且通过检错码来重复解码的解码结果中无差错。
表1示出在每种重复次数下测定误比特数、BER、及漏检差错次数所得的仿真结果。该仿真结果示出下述情况下的结果:用8比特的CRC码对640比特的发送信息比特串实施检错编码,进而进行Turbo编码,实施简易的调制后附加白高斯噪声,进行Turbo解码及CRC校验。此外,该仿真结果是在重复次数为8次、BER为10的-6次方附近的噪声电平的条件下进行测定的情况下的例子,重复次数和漏检差错的关系不限于表1所示的内容,而是按照仿真时的条件来适当变更。
【表1】
每种重复次数下的误比特数、BER以及漏检差错次数
|
误比特数 |
BER |
漏检差错次数 |
第1次重复 |
10776260 |
0.0655324 |
1000 |
第2次重复 |
2746229 |
0.0167003 |
724 |
第3次重复 |
434988 |
0.0026452 |
113 |
第4次重复 |
55726 |
0.0003389 |
25 |
第5次重复 |
8359 |
0.0000508 |
1 |
第6次重复 |
1761 |
0.0000107 |
0 |
第7次重复 |
520 |
0.0000032 |
0 |
第8次重复 |
261 |
0.0000016 |
0 |
此外,表2示出在每次重复解码时测定出的漏检差错次数和有差错的检错码的数目。此外,也示出该漏检差错次数和有差错的检错码的数目的比率。该仿真的结果是在与表1所示的情况相同的条件下进行的情况下的例子,表所示的值可以按照仿真时的条件来适当变更。
【表2】
每种重复次数下的漏检差错次数占有差错比特的检错码的数目的比率
第1次重复 |
0.00394 |
1000 |
253759 |
第2次重复 |
0.00323 |
724 |
223930 |
第3次重复 |
0.00155 |
113 |
72817 |
第4次重复 |
0.00266 |
25 |
11042 |
第5次重复 |
0.00060 |
1 |
1664 |
第6次重复 |
0.00000 |
0 |
319 |
第7次重复 |
0.00000 |
0 |
76 |
第8次重复 |
0.00000 |
0 |
36 |
从上述表1及表2可知,重复次数越多,则漏检差错次数越减少,漏检差错次数与有差错的检错码的数目的比率也减少。
这里,说明在上述表1及表2所示的例子中设定的重复约束次数的例子。以下说明的重复约束次数的设定方法只是一例,本发明的重复约束次数的设定方法不限于该例。如上所述,重复约束次数是为了减少漏检差错而进行重复解码的最少次数。容许的漏检差错的数目因系统的设定而异,但是将重复约束次数设定为完全不发生漏检差错的次数会使处理延迟和功耗增大,所以在标准的系统中不被考虑。另一方面,在表1及表2所示的例子中,在重复约束次数为1次或2次时漏检差错发生很多,所以将1次或2次作为重复约束次数在标准的系统中也不妥当。因此,在表1及表2所示的例子那样的信道环境下的系统中,重复约束次数被决定在3次至5次之间。如果增加重复约束次数,则解码结果的质量提高,但是装置的功耗增大,所以考虑到系统要求的解码结果的质量和功耗,将重复约束次数设定在3次至5次之间是妥当的。
上述重复约束次数根据系统的设定来适当选择、设定。例如,在组合本实施例的解码装置和进行内环发送功率控制的装置的情况下,重复约束次数按照发送功率的目标接收质量等的设定基准来决定。在内环发送功率控制中,闭环发送功率控制将接收端的目标接收质量(例如,接收信号的信干比(SIR:Signal to Interference Ratio))预先设定为目标接收质量,将该目标接收质量和实际测定出的接收质量进行比较,在测定出的接收质量比目标接收质量差的情况下,向通信对方发送指示提高发送功率的发送功率控制信号;相反,在测定出的接收质量比目标接收质量好的情况下,向通信对方发送指示降低发送功率的发送功率控制信号,发送端按照发送功率控制信号来进行发送功率的增减。在这种闭环发送功率控制中,在设定的目标接收质量是比较好的值的情况下,在使用重复解码的纠错解码中能够在重复次数比较少的阶段中纠错。因此,设定的目标接收质量的值越好,则能用越少的重复次数使差错率改善到使漏检差错处于容许范围内的程度,所以将重复约束次数设定为少的次数即可。相反,在闭环发送功率控制中,在设定的目标接收质量是比较差的值的情况下,在使用重复解码的纠错解码中只有进行到比较多的重复次数才能纠错。因此,设定的目标接收质量的值越差,则漏检差错越残存到后面的重复中,所以将重复约束次数设定为长的次数即可。
鉴于上述状况,在组合本实施例的解码装置、和进行闭环发送功率控制的装置的情况下,重复约束次数按照设定的目标接收质量来决定。此外,在将本实施例的解码装置用于没有功率控制的通信系统中的情况下,根据该系统中的平均接收质量的好坏来决定重复约束次数即可。
接着,参照图7来说明本实施例的重复解码处理的过程。图7是本发明实施例1的重复解码处理的过程的说明流程图。
首先,在步骤(以下,简称“ST”)601中,对计数器501的设定值(重复次数)进行初始化。接着,在ST602中,Turbo解码器301用接收信号和通过上次纠错解码而得到的软判决结果(先验似然)来进行纠错解码。其中,第1次重复将“0”用作先验似然。接着在ST603中,差错校验器302对检错码进行解码,校验有无差错。接着,在ST604中,将计数器501的设定值(重复次数)和存储器502中存储的“重复约束次数”进行比较,在计数器501计数所得的重复次数大或相等的情况下转移到ST605,而在小的情况下转移到ST607。
在ST605中,将Turbo解码器301的解码结果输出到未图示的解码结果输出存储器。
在ST606中,参照ST603中得到的有无差错的校验结果,来判断Turbo解码器301的解码结果中是否包含差错。然后,在判断为有差错的情况下转移到ST607,而在判断为无差错的情况下转移到ST608,将从Turbo解码器301输出的解码结果输出到未图示的解码结果输出存储器并结束重复解码。在ST607中,递增计数器501的设定值并转移到ST602,继续进行重复解码。这样,在本发明的重复解码处理中,在已经进行了次数超过“重复约束次数”的重复、而且解码结果中未检测出差错的情况下,Turbo解码器301的重复解码结束。
如上所述,在本实施例中,在重复次数少于“重复约束次数”的情况下,不管通过检错码进行差错校验的结果如何都继续进行重复解码,所以不会在容易发生漏检差错的重复的初始阶段中结束重复解码。因此,在解码结果中残留有漏检差错的情况下,很少结束重复解码,所以能够得到可靠性高的解码结果。此外,在重复次数达到“重复约束次数”以上后,在通过检错码进行的差错校验中判断为无差错的情况下结束重复解码,所以能够缩短处理时间。
在以上说明中,编码部101包括的Turbo编码器并联配置了2个递归系统卷积编码器,但是也可以包括3个以上的递归系统卷积编码器来对发送信息比特串进行编码。此外,也可以对编码后的编码序列进行删截(パンクチャ)等抽取处理。在这些情况下,采用包括与发送端的编码器的数目对应的进行软输出解码的纠错解码器、包括向抽取的数据中填充零的电路的结构即可。
软输出解码器401及软输出解码器403中的解码算法使用MAP(Maximum A Posteriori Probability decoding:最大后验概率解码)算法或SOVA(Soft Output Viterbi Algorithm:软输出维特比解码算法)即可。
此外,在本实施例中,接收端包括的解码器使用Turbo解码器301,但是本发明可应用的解码器不限于此,可以应用通过重复进行纠错解码来对接收到的编码序列进行解码的解码器。在本发明的解码器采用Turbo解码器以外的解码器的情况下,发送端包括与该采用的解码器对应的编码器。
此外,在本实施例中,在重复次数未达到“重复约束次数”的情况下差错校验器302也校验有无差错,但是Turbo解码器301不管差错校验的结果如何都继续进行重复处理,直至达到“重复约束次数”,所以在重复次数未达到“重复约束次数”的情况下,差错校验器302也可以不校验有无差错。由此,能够降低重复解码时消耗的功耗。
此外,在本实施例中,在重复解码达到“重复约束次数”以后的重复次数时,始终输出解码结果,在解码结果输出存储器上最终盖写解码结束时的解码结果,但是也可以只输出解码结束时的解码结果。相反,在重复次数低于重复约束次数时,也可以始终输出解码结果,最终盖写解码结束时的解码结果。
此外,在本实施例中,在每次重复解码时始终进行检错,但是在重复次数低于重复约束次数时也可以不进行检错。由此,检错处理的次数减少,所以能够减轻处理负担,能够抑制功耗。
(实施例2)
在本实施例中,说明在输入到进行重复解码的解码器中的编码序列(纠错码)中包含多个检错码的情况下优化重复解码的重复次数的手法。
图8是表示本发明实施例2的无线通信系统从编码到解码的数据变化的流程图。如该图所示,首先在发送端对信息比特串#1至信息比特串#4分别进行检错编码,生成检错码#1至检错码#4。将检错码#1至检错码#4相互结合来进行纠错编码,得到纠错编码过的编码序列。在该编码序列(纠错码)中包含4个检错码。纠错码中包含的检错码的数目不限于4个,可以是1个以上的任意数目。以下,在本实施例中,以在纠错码中包含4个检错码的情况为例来进行说明。
纠错编码过的编码序列在信道上被附加了噪声,由接收端进行接收。接收端对接收到的编码序列重复进行纠错解码来进行解码,得到一组解码结果。在该解码结果中,包含检错码#1至检错码#4。该解码结果被分割给检错码#1至检错码#4。对检错码#1至检错码#4分别进行解码,得到信息比特串#1至信息比特串#4。此外,通过对检错码#1至检错码#4进行解码,能够校验各检错码中包含的信息比特串#1至信息比特串#4中有无残存的差错。
图9是表示本发明实施例2的重复控制器303的结构方框图。本实施例的无线通信系统的结构除了重复控制器303的内部结构以外,具有与实施例1相同的结构。因此,对与实施例1相同的部分附以相同的标号,省略其说明。
如图9所示,本实施例的重复控制器303主要包括:检错码计数器801,对纠错码中包含的检错码进行计数;标志存储器802,存储数目与检错码对应的差错校验结果标志;判决电路803,参照差错校验结果标志等来判决是否结束Turbo解码器301中的重复解码;以及输出控制电路804,按照判决电路803的控制将Turbo解码器301的解码结果作为最终解码结果来输出。
接着,说明具有上述结构的重复控制器303的工作。检错码计数器801对Turbo解码器301的解码结果中包含的检错码的数目进行计数,将该计数所得的计数值输出到判决电路803。即,在检错码计数器801中设定有计数值的初始值“1”,在Turbo解码器301进行1次重复期间,每当将检错码作为纠错解码结果来输出时,从“1”起依次递增1来输出数目与纠错码中包含的检错码相等的计数值。例如,如图8所示,在纠错码包含4个检错码的情况下,检错码计数器801在1次重复期间依次输出“1”、“2”、“3”、及“4”。
在标志存储器802中,存储有数目与检错码相同的差错校验结果标志。差错校验结果标志用作区分Turbo解码器301进行重复解码的编码序列中包含的检错码中被判断为无差错的检错码的标记。下面具体说明该差错校验结果标志。
首先,差错校验器302对Turbo解码器301的解码结果中包含的每个检错码校验差错,将表示其差错校验结果的校验结果信号(OK信号或NG信号)按每个检错码输出到标志存储器802。在差错校验结果标志中设定有“0”作为初始值。差错校验结果标志按照从差错校验器302输出的校验结果信号来更新。即,标志存储器802输入OK信号作为校验结果信号后,将与该检错码对应的差错校验结果标志更新为“1”。差错校验结果标志在重复解码途中被设定为“1”后,一直为“1”,直至对解码中的编码序列进行的重复解码结束。这样,差错校验结果标志表示重复解码中解码结果是否有1次以上为无差错。即,差错校验结果标志中设定了“1”的检错码已经有1次以上为无差错,而差错校验结果标志中设定了“0”的检错码尚未有1次为无差错。
判决电路803用从标志存储器802中读出的差错校验结果标志、从检错码计数器801输出的检错码的计数值、以及从差错校验器302输出的检错结果,来进行是否结束Turbo解码器301中的重复解码的判决、和是否输出从Turbo解码器输出到输出控制电路804的解码结果的判决。
首先,说明是否结束重复解码的判决。在重复解码中每当1次重复结束时,对于解码中的编码序列中包含的所有检错码,如果差错校验结果标志为“1”,或者本次检错结果为无差错,则判决电路803判决为结束Turbo解码器301的重复解码,而如果即使有1个差错校验结果标志不为“1”,而且有的检错码本次检错结果也为有差错,则判决为继续进行重复解码。在对于解码中的编码序列中包含的所有检错码、差错校验结果标志为“1”或者本次检错结果为无差错的情况下,所有检错码在差错校验器302中都被判决为已经有1次以上为无差错。因此,所有检错码都已经有1次以上为无差错,所以判决为结束重复解码。判决电路803在判决为结束重复解码的情况下,对Turbo解码器301进行结束当前的编码序列的重复解码的控制。Turbo解码器301根据判决电路803的控制来结束重复解码。
接着,说明是否输出到输出控制电路804的解码结果的判决。在与检错码对应的差错校验结果标志已经被设定为“1”的情况下,即,在上次以前的重复解码中已经有1次以上为无差错的情况下,判决电路803判决为不输出与该被设定为“1”的差错校验结果标志对应的检错码(Turbo解码器301的解码结果)。相反,在与检错码对应的差错校验结果标志被设定为“0”的情况下,即,在上次以前的重复解码中没有1次为无差错的情况下,判决为输出与该被设定为“0”的差错校验结果标志对应的检错码(Turbo解码器301的解码结果)。判决电路803在判决为输出解码结果的情况下,向输出控制电路804指示只输出从Turbo解码器301输出的解码结果中判决为要输出的解码结果。从Turbo解码器301向输出控制电路804输出重复解码的解码结果(这里,是检错码#1至检错码#4)。输出控制电路804将从Turbo解码器301输出的检错码中判决电路803指示输出的检错码作为解码结果而输出到未图示的存储器。该存储器是为了保持从重复控制器303输出的解码结果而设置的。由此,成为每个检错码最初为无差错的解码结果最终被输出到解码结果输出用的区域的状态。
图11是表示标志存储器802中存储的差错校验结果标志的更新经过的示例图。该图对Turbo解码器301的每个解码结果(检错码#1至检错码#4)示出差错校验结果标志的更新经过。如该图所示,在各个差错校验结果标志中设定有“0”作为初始值。检错码#1中包含的信息比特串在第1次重复中被判断为无差错,所以与该检错码#1对应的差错校验结果标志在第1次重复结束的时刻被更新为“1”,以后一直为“1”,不再变更。检错码#2中包含的信息比特串在第3次重复中才被判断为无差错,所以与该检错码#2对应的差错校验结果标志在第3次重复结束的时刻被更新为“1”。同样,与检错码#3对应的差错校验结果标志在第6次重复结束的时刻被更新为“1”,与检错码#4对应的差错校验结果标志在第2次重复结束的时刻被更新为“1”。这样,在图11所示的例子中,在第6次重复结束的时刻,差错校验结果标志全部被更新为“1”。因此,在第6次重复结束的时刻,所有检错码都被判决为有1次以上无差错,所以在第6次重复中结束重复解码。
在差错校验结果标志经历图11所示的更新经过的情况下,对于检错码#1,输出通过第1次重复解码而得到的解码结果,而不输出第2次以后的重复解码中得到的解码结果。此外,对于检错码#2,输出通过第1次至第3次重复解码而得到的解码结果,而不输出第4次以后的重复解码中得到的解码结果,所以结果是在最终保持解码结果的存储器中存储有通过第3次重复解码而得到的解码结果。对于检错码#3,输出通过第1次至第6次重复解码而得到的解码结果,而不输出第7次以后的重复解码中得到的解码结果,所以结果是在最终保持解码结果的存储器中存储有通过第6次重复解码而得到的解码结果。对于检错码#4,输出通过第1次至第2次重复解码而得到的解码结果,而不输出第3次以后的重复解码中得到的解码结果,所以结果是在最终保持解码结果的存储器中存储有通过第2次重复解码而得到的解码结果。结果是在保持最终纠错解码结果的存储器中,对于检错码#1至检错码#4,分别存储有第1次、第3次、第6次、及第2次重复解码中得到的解码结果。
接着,参照图10来说明本实施例的重复解码处理的过程。图10是说明本发明实施例2的重复解码处理的过程的流程图。
首先,在步骤(ST)901中,对标志存储器802中存储的差错校验结果标志进行初始化,转移到ST902。在ST902中,用接收信号和上次纠错解码的软输出解码结果(先验似然)来开始纠错解码。其中,第1次重复将0用作先验似然。在ST903中,对输出检错码的计数值的检错码计数器801进行初始化。在ST904中,每当从Turbo解码器301输出检错码时开始重复解码的解码结果中包含的检错码的解码,开始校验该检错码的重复解码结果中有无残存的差错的处理。
在ST905中,从检错码计数器801输出“1”作为计数值,校验与该“1”对应的检错码#1的差错校验结果标志,如果差错校验结果标志为“0”(尚未有过无差错)则转移到ST906,而如果差错校验结果标志为“1”(已经有过无差错)则转移到ST909。在第1次纠错处理的情况下,在标志存储器802中存储有初始值“0”,所以始终转移到ST906。在ST906中,输出通过重复解码而得到的解码结果中与检错码计数器输出的“1”对应的检错码#1的解码结果,转移到ST907。在ST907中,在通过ST903中的差错校验而判断为无差错的情况下转移到ST908,而在判断为有差错的情况下转移到ST909。在ST908中,将与检错码#1对应的差错校验结果标志的值变更为“1”(已经有过无差错)。
在ST909中,将从检错码计数器801输出的计数值和当前进行重复解码的编码序列中包含的检错码数进行比较,在计数值少于编码序列中包含的检错码的数目的情况下转移到ST910,在从检错码计数器801输出的计数值与检错码的数目一致的情况下转移到ST911。在ST910中,递增检错码计数器801,转移到ST904,转移到从Turbo解码器301输出的下一检错码的检错。通过ST909中的分支,进行由ST904、ST905、ST906、ST907、ST908、ST909、及ST910构成的循环中的差错校验结果标志的更新,直至计数值与编码序列中包含的检错码的数目一致。因此,通过该循环中进行的处理,通过1次重复解码而输出的解码结果的差错校验结果被反映在差错校验结果标志上。如图8所示,在编码序列中包含4个检错码的情况下,从检错码计数器801依次输出“1”、“2”、“3”、及“4”。然后,对于最后的计数值“4”,在进行由ST904、ST905、ST906、ST907、ST908、ST909、及ST910构成的循环中的处理后,计数值与纠错码中包含的检错码的数目一致,来自Turbo解码器301的本次重复解码中的输出也已结束,所以从ST909转移到ST911。
另一方面,在ST911中,校验与编码序列中包含的检错码#1至检错码#4分别对应的差错校验结果标志,在某一个检错码的差错校验结果标志被设定为“0”(尚未有过无差错)的情况下,转移到ST902。在ST902中,开始下次纠错解码。即,在转移到ST902后,继续进行重复解码,再次开始按照上述解码结果的检错结果来更新差错校验结果标志的处理。在ST911中,在差错校验结果标志对所有检错码都为“1”(已经有过无差错)的情况下,结束重复解码。
如上所述,在本实施例中,对包含多个检错码的编码序列重复进行纠错解码,在对编码序列中包含的所有检错码都判决为有1次以上无差错时结束重复解码。因此,根据本实施例的重复次数控制手法,与在重复解码的各次重复中解码中的编码序列中包含的所有检错码在相同的重复次数下都被判决为无差错的情况下结束解码的手法相比,能够缩短重复次数。
在本实施例中,不管差错校验结果标志的值如何都进行检错解码,但是差错校验结果标志被更新为“1”后的检错结果在控制重复解码的重复次数时不被考虑,所以也可以在差错校验结果标志被更新为“1”后不进行检错。由此,能够减轻解码装置的处理负担,能够抑制功耗。
此外,在本实施例中说明了进行下述控制的情况:在重复解码的解码结果的差错校验结果最初为无差错时,将该判断为无差错的解码结果从输出控制电路804作为最终解码结果来输出,存储到存储器中;但是在其后的重复解码中,在根据差错校验的结果而判决为解码结果再次为无差错的情况下,即使是第2次以后判决为无差错,也可以盖写解码结果并输出。
此外,在本实施例中,在对编码序列中包含的所有检错码都判决为有1次以上无差错时结束重复解码,但是也可以预先设定重复次数的上限,即使在直至该上限重复次数之前1次也未被判决为无差错的检错码的情况下,也在进行了上限重复次数的重复解码时结束重复解码。通过这样设置重复次数的上限,能够防止重复次数延长而使处理延迟及功耗增加。在信道上向编码序列施加了大的噪声的情况下,有时即使继续进行重复解码,也不能对所有检错码都变为无差错,所以在信道环境不恒定的通信系统中使用本实施例的情况下设置上限很有效。
此外,本实施例也可以与实施例1组合来使用。即,设定重复次数的重复约束次数,在重复次数达到重复约束次数以上、而且通过差错校验而判决为重复解码的解码结果中无差错的情况下,将差错校验结果标志更新为“1”。相反,在重复次数少于重复约束次数的情况下,不更新差错校验结果标志而一直为“0”。这样,通过在重复次数少于重复约束次数的情况下不更新差错校验结果标志而一直为“0”,能够防止由于重复次数增多而造成的处理延迟,并且也能够防止由于重复解码的初始阶段中容易发生的漏检差错而造成传输质量恶化。
此外,在如上所述将本实施例与实施例1组合来使用的情况下,也可以在多个检错码都在相同的重复次数下被判决为无差错的情况下,即使重复次数在重复约束次数以下也结束重复。由此,能够减少重复次数,缩短解码处理的处理时间。
上述各实施例的无线通信系统适用于蜂窝系统。在基站上搭载解码部108,在该基站装置的小区内收纳的移动台等通信终端上搭载编码部101。相反,在基站上搭载编码部101,在该基站装置的小区内收纳的移动台等通信终端上搭载解码部108。通过在基站和通信终端之间进行上述从编码到解码的工作,来进行适当的重复次数的重复解码,以确保期望的传输质量,同时减少处理延迟。
如上所述,根据本发明,在重复解码中重复次数少的阶段中,即使根据重复解码的解码结果未检测出差错也继续进行重复解码。由此,能够防止由于漏检差错而造成的传输质量恶化。此外,设定重复次数的重复约束次数,在重复次数超过重复约束次数的情况下,在根据差错校验的结果而判决为无差错时结束重复解码。由此,不进行不必要的重复,所以能够缩短重复次数,减轻处理延迟。
此外,根据本发明,对包含多个检错码的编码序列重复进行纠错解码,在对编码序列中包含的所有检错码都判决为有1次以上无差错的情况下结束重复解码。因此,与在重复解码的各次重复中正在进行解码处理的编码序列中包含的所有检错码在相同的重复次数下都被判决为无差错的情况下结束解码的手法相比,能够缩短重复次数。