专利名称:语音编码系统的纠错译码器的制作方法
背景技术:
发明的技术背景本发明涉及语音编码系统,尤其涉及在改进的多频带激励(IMBF)语音编码系统内关于执行译码和误差估计处理的高性能实施。
相关技术说明IMBE语音编码系统有关IMBE语音编码系统以及其它语音通信系统的更多的信息可从以下参考文献中获得美国专利5,081,681,题目为“语音处理的相位合成方法和设备”;美国专利5,226,084,题目为“语音量化和纠错的方法”;美国专利5,247,579,题目为“语音传输方法”;美国专利5,491,772,题目为“语音传输方法”。
这些参考文献的内容在此援引作为参考。
现在参看
图1,该图示出改进的多频带激励(IMBE)语音编码系统的发射机侧10的方框图。对于待编码的每一个20ms的语音段(包含L次谐波),量化器12产生多个量化值b0至bL+2。量化器值b0包括该语音段的音调。量化器值b1包括该语音段的发声/不发声比特矢量。量化器值b2包括该语音段的增益。最后,量化器值b3至bL+2包括该语音段L次谐波的其余频谱振幅。
发射机侧10的比特矢量按优先序排列单元14接收这些量化器值b0至bL+2,将它们重新排列成为一组p个按优先序排列的比特矢量u0至up。这一按优先序排列是根据各比特重要性来进行的。在这里,重要比特是指这样的比特,即如果其被错误地接收,它将造成再现语音的较大失真。各个20ms的语音段被比特矢量按优先序排列单元14相应地压缩成为由比特矢量u0至up组成的n个按优先序排列比特。
发射机侧10还包括采用能力不同的误差控制码把比特矢量u0至up变换成为编码矢量v0至vp的多个前向纠错(FEC)编码器16。这些FEC编码器16给由比特矢量u0至up组成的n′个按优先序排列语音比特添加另外m′个奇偶校验和/或纠错比特,输出编码矢量v0至vp。如果比特矢量v0至vp中的语音比特的重要性是递减的,则FEC编码器16提供给编码矢量v0至vp的误差控制能力也相应地递减。
在例如满足INMARSAT-M卫星通信系统标准的普通6.4kbps的IMBE语音编码器中,n′=83,m′=45,而p=7。比特矢量u0和u1分别被第一和第二FEC编码器16(1)和16(2)进行编码,这两个编码器采用(24,12)扩展戈莱码来产生编码矢量v0和v1。比特矢量u2至u6分别被第三至第七FEC编码器16(3)-16(7)进行编码,这五个编码器采用(15,11)汉明码来产生编码矢量v2至v6。余下的比特矢量u7没有被编码,就这样作为编码矢量v7进行传送。
被建议用于爱立信DLMR通信系统的7.1kbps的IMBE语音编码器(见图1的具体说明)有两种操作模式。在第一种操作模式中,n′=88,m′=54,而p=6。比特矢量u0被采用(19,7)截短戈莱码的第一FEC编码器16(1)编码,产生编码矢量v0。比特矢量u1被采用(24,12)扩展戈莱码的第二FEC编码器16(2)编码,产生编码矢量v1。比特矢量u2和u3分别被采用(23,12)戈莱码的第三和第四FEC编码器16(3)和16(4)编码,产生编码矢量v2和v3。最后,比特矢量u4和u5分别被采用(15,11)汉明码的第五和第六FEC编码器16(5)和16(6)编码,产生编码矢量v4和v5。余下的比特矢量u6没有被编码,就这样作为编码矢量v6进行传送。
在第二种操作模式中,n′=74,m′=68,而p=6。比特矢量u0被采用(19,7)截短戈莱码的第一FEC编码器16(1)编码,产生编码矢量v0。比特矢量u1被采用(18,6)截短戈莱码的第二FEC编码器16(2)编码,产生编码矢量v1。比特矢量u2、u3和u4分别被采用(18,7)截短戈莱码的第三、第四和第五FEC编码器16(3)、16(4)和16(5)编码,产生编码矢量v2、v3和v4。最后,比特矢量u5被采用(23,12)戈莱码的第六FEC编码器16(6)编码,产生编码矢量v5。余下的比特矢量u6没有被编码,就这样作为编码矢量v6进行传送。
对于任一种IMBE语音编码器,发射机侧10产生的编码矢量v0至vp都被交错单元20进行交错,然后被调制器22进行调制,以便通过通信信道(作为矢量c)进行传输。这种调制器22的一个例子是任何公知的具有M元信号群集(例如正交调幅(QAM)或移相键控(PSK))的调制器。传送被交错和被调制代码矢量v0至vp的通信信道24会引入产生被交错和被调制代码矢量z的一些随机和/或突发差错。
现在参看图2,该图示出改进的多频带激励(IMBE)语音编码系统的接收机侧30的方框图。合适的解调器32被用来解调通信信道24传送的通信矢量z,以便在导线34上输出在接收代码矢量z0至zp内的各比特的估算值。该解调器32还输出相应的由接收代码矢量z0至zp内的每一比特的可靠性值组成的可靠性矢量r。这些可靠性值表示解调器32以某一接收的解调比特的估算值表示的可信程度。因此,矢量r内的较大的可靠性值就表示了在正在被正确估算的接收代码矢量z内的相应比特的较高似然性。产生比特估算值和可靠性值的类似上述解调器的解调器在本领域是众所周知的,因此不在赘述。接收代码矢量z和相应的可靠性矢量r然后被解交错单元38解交错,产生编码矢量v0至vp。
接收机侧30包括把编码矢量v0至vp变换成为比特矢量u0至up的多个误差控制译码器40。例如,对于6.4kbps的IMBE语音编码系统,去除在编码矢量v0至v7内的添加的45个纠错比特,恢复包含比特矢量u0至u7的83个按优先序排列的语音比特。特别参看图2所示7.1kbps的IMBE语音编码系统,在第一种模式中,去除在编码矢量v0至v6内的添加的44个奇偶校验比特,恢复包含比特矢量u0至u6的88个按优先序排列的语音比特。相反地,在第二种模式中,去除在编码矢量v0至v6内的添加的68个奇偶校验比特,恢复包含比特矢量u0至u6的74个按优先序排列的语音比特。
可被给定代码校正的比特个数t是固定的。例如,汉明码只能校正一个比特。相反地,戈莱码、扩展戈莱码和截短戈莱码能够校正三个比特。误差控制译码器40不仅接收待被译码的适当的编码矢量v0至vp,而且接收它们相应的可靠性矢量r的比特可靠性值。可以采用本领域普通技术人员都知道的几种译码技术中的任何一种译码技术。例如,可以忽略可靠性矢量r,利用硬判决方法译码接收矢量v,这种译码技术的复杂程度相当低。或者,可用可靠性矢量r来执行对接收矢量v的软判决译码(或许包括误差和删除译码),这种译码技术的复杂程度中等。还有,可用可靠性矢量r执行对接收矢量v的最大似然译码,这种译码技术的复杂程度相当高。误差控制译码器40还计算最接近的候选矢量(相应于选定的输出比特矢量u)和接收矢量v之间的汉明距离dH,并将其与比特矢量u一道输出。这一汉明距离表明了该候选矢量和该接收矢量v的比特不相同的位置的数目,由此提供了与比特矢量u一道被输出的误差估算值。到目前还应注意到在这几种译码技术中,对于编码矢量vp,不需要误差控制译码器,编码矢量vp作为比特矢量up进行传送。
接收机侧30还包括比特矢量再现单元44,它接收按优先序排列的比特矢量u0至up,同时还接收相应的由所确定的汉明距离dH表示的误差估算信息,输出与20ms语音段相关的多个量化值b0至bL+2。单元44把汉明距离dH作为误差估算信息进行处理,以便判别按优先序排列的比特矢量u0至up的可靠性。如果认为比特矢量u是可靠的,就用它们来再现与相应20ms语音段相关的量化值b0至bL+2。相反地,如果认为比特矢量u是不可靠的,就放弃它们,利用内插再现与相应20ms语音段相关的量化值b0至bL+2。然后用去量化器46处理所产生的量化值b0至bL+2,获得供输出用的语音。
使用最接近的候选矢量(相应于选定的输出比特矢量u)和接收矢量v之间的汉明距离dH作为定位译码操作中的可能差错的手段不是较佳的,这是因为这种计算往往会丢弃过多可用的重要信息的缘故。这种计算也没有利用可用的信道抽头(channel tap)估算信息。因此需要更好的误差估算技术,这种技术最好采用欧几里德距离计算。
Conway-Sloane译码在接收机侧30,因为要考虑实施的复杂性,系统10中每一个误差控制译码器40通常由软判决译码器(和尤其是误差和删除译码器)组成。这种译码器在估算传送的码字时利用(来自可靠性矢量r的)可靠性值。在没有衰落但存在高斯噪声的情况下,最佳软判决译码器是最大似然译码器。在存在衰落(假定可很好地对衰落进行估算)情况下它通常也是最好的译码器。但是,对于一般分组码,例如在图1中采用的分组码,最大似然译码会复杂到根本无实施的可能。因此,译码过程最好采用软判决译码方法,但需要不那么复杂的最大似然译码方法。
对于上述IMBE语音编码系统,编码器16在某些情况下采用(24,12)扩展戈莱码和(23,12)戈莱码。对于(24,12)扩展戈莱码和(23,12)戈莱码的特殊情况,Conway和Sloane已设计了复杂程度非常低的最大似然译码器(见IEEE会刊“信息理论”,32卷41-50页,1986年)。在这两种情况下最好使用Conway-Sloane译码器来提高性能,而处理的复杂程度没有显著增大。
在Conway-Sloane译码方法中,组合接收矢量v和其相应可靠性矢量r来产生修改的接收矢量w。矢量w的第i个分量由下式给出wi=(1-2vi)ri(1)其中vi是v的第i个分量,ri是r的第i个分量。现在对修改的接收矢量w而不是对接收矢量r执行最大似然译码。
对于(n,k)二进制码Λ,设y=(y1…yn)代表Λ中的码字,这里y1∈(0,1),l=1,…,n。还设y代表具有如下元素的对映形式(+1,-1)的yy1=(1-2y1)(2)这里的l=1,…,n。最大似然译码器找到码字y*,使得y*在欧几里德距离方面最接近w。这就如同说y*具有由下式给出的最大内积w1y1*+w2y2*+…+wnyn*(3)现在考虑(n,k)二进制线性码Λ的生成矩阵G。把该矩阵看作如下式所示具有上矩阵G′和下矩阵G″是有用的G=G′G′″----(4)]]>其中G′具有k′行,而G″具有k″行。设Λ′表示G′产生的码字yj′的集合,这里的j=0,…,2k’-1。同样,设yi″表示G″产生的码字,这里的i=0,…2k”-1。则Λi′={yi″+yi′,yi′∈Λ′)(5)被称为Λ中Λ′的陪集。陪集Λi′是分离的,但它们的“或”等于代码Λ。
还要指出的是将接收矢量v与Λi′的元素作比较等价于将w*yi″与Λ′的元素作比较,这里
w*yi″={v1yi1″,…,vnyin″} (6)并且yi″=(yi1″,…yin″)是对映形式的yi″。现在如下地执行对y*的搜索对yi″执行外循环,而对Λ′的元素执行内循环。
(24,12)扩展戈莱码的生成矩阵G可方便地用以下的上矩阵G′和下矩阵G″来表示G′=111111110000000000000000111100001111000000000000111100000000111100000000111100000000000011110000111100000000000000001111----(7)]]>G′″=110011001100110000000000101010101010101000000000101010011100000011000000100111001010000010100000011110001000100010001000000000001100110011001100011110001000100010001000000000001010101010101010----(8)]]>注意上矩阵G′的结构非常简单。实际上,Λ′是重复4次的偶检验代码。在Λ′范围内对矢量w进行最大似然译码是通过形成6个4元组之和(I至VI)来实现的αI=w1+w2+w3+w4,…,αVI=w21+w22+w23+w24(9)如果负αN′的个数是奇数,就确定具有最小幅值的αN并改变其符号。现在设β1=sign(αI),…,βVI=sign(αVI) (10)最大似然码字则由下式确定
(βIβIβIβI,…,βVIβVIβVIβVI) (11)内积是p=|αi|+…+|αVI| (12)代替搜索的内循环。
关于外循环,为了产生公式(9)的和,需要计算w的128个修改形式。观察下矩阵G″将注意到w1至w4全部可能的符号组合都已产生。除w12、w16、w20和w24不改变符号外,对余下的5个4元组的每一个同样如此。在这种情况下,通过在全部符号组合下预先计算αI至αVI并将结果存储在6个表(称为σI至σVI)内就可提高效率。然后在外循环的每一步骤中提取这6个表的合适入口。为了进一步改善外循环的操作处理,按照格雷码顺序计算6个表的入口,以便利用一次减法而不是三次加法/减法根据先前的和确定当前的和。
为了实施这种译码算法,以某种方式排列多个yi″项,然后对于每一个yi″,在它们的格雷码号yNi中映射4元组。格雷码号的表存储在译码器的只读存储器(ROM)内。一旦接收到w,就预先计算6个和表σN。在(24,12)扩展戈莱码的例子中,和表σI和σII每一个都有16个入口,余下的和表σIII至αVI每一个有8个入口。过程的主循环执行如下-设p′=0,i′=0,δ=(δ1,…,δn)=(0,…,0)-对于i=0至127,-设αI=σI(γIi),…,αVI=σVI(γVIi)-设p=|αI|+…+|αVI|-如果负αN′的个数是奇数-改变最小幅值αN的符号-设p=p-2minN|αN|-计算βI=sign(αI),…,βVI=sign(αVI)-如果p>p′,设p′=p,i′=i,并且δ′=(βIβIβIβI,…,βVIβVIβVIβVI)-对映形式的最大似然码字是y*=(δ1yi1″,…,δnyin″),
二进制形式的最大似然码字是y*=1/2-y*/2,相应信息比特用u*表示。总之,y*就是修改的接收码字w的最大似然估算值。
已把上述过程推广用于译码(23,12)戈莱码。通过分别从公式(7)和(8)表示的上矩阵G′和下矩阵G″中去除第一列形成生成矩阵G1。然后同样使用用于(24,12)扩展戈莱码的上述算法译码修改的接收矢量w。为此,给接收矢量w添加零。由于接收矢量w是标称对映的,所以零值等价于删除。
在译码(24,12)扩展戈莱码或(23,12)戈莱码时使用Conway-Sloane算法明显优于使用其它公知技术(尤其是采用“强力”搜索法的技术)。但是,应当指出,许多IMBE语音编码系统(例如7.1kbpsIMBE语音编码系统)中的接收机侧30包括多个单独的误差控制译码器40,它们必须译码各种截短戈莱码,例如(19,7)戈莱码、(18,7)戈莱码和(18,6)戈莱码。目前正在使用不如Conway-Sloane算法那么有效的译码算法来执行这些截短戈莱码所必需的译码操作。但是,如果能把有效的Conway-Sloane算法推广用于译码这样的截短戈莱码将是有益的。
发明概要为了满足上述对于被译码比特矢量改进的误差估算值的计算的需要,本发明的误差控制译码器接收待译码的接收矢量。该译码器计算码字选择和该接收矢量之间的欧几里德距离作为误差估算值。根据该译码器所采用的具体代码恰当地定标和量化输出的误差估算值。
为了满足上述把有效的Conway-Sloane算法推广用于译码截短戈莱码的需要,本发明改进戈莱码的生成矩阵,产生专门用来译码每一种截短码的改进生成矩阵。然后在Conway-Sloane算法中有效地利用该改进生成矩阵来识别最佳码字以便变换到其相应的信息比特进行输出。尤其是,该改进生成矩阵包括删除了特定行和列的戈莱码生成矩阵。
附图概述参看以上发明背景和以下结合附图的详细描述可更彻底理解本发明的方法和设备,附图中图1是改进的多频带激励(IMBE)语音编码系统的发射机侧的方框图;图2是改进的多频带激励(IMBE)语音编码系统的接收机侧的方框图;图3是本发明采用Conway-Sloane算法译码截短戈莱编码信息的译码器的方框图;图4是本发明采用基于欧几里德距离的误差估算判定的译码器的方框图。
发明的详细描述现在参看图3,该图是本发明的译码器的方框图,推广Conway-Sloane技术供合适的译码器40在译码(19,7)截短戈莱码编码的矢量时使用。修改(24,12)扩展戈莱码的生成矩阵G来形成译码(19,7)扩展戈莱码所使用的改进生成矩阵G2100。具体来说,从生成矩阵G中去除列20、21、22、23和24,只保留生成矩阵G的行1、2、3、6、7、8和9。于是,(19,7)扩展戈莱码的生成矩阵G2可方便地用如下的上矩阵G2′和下矩阵G2″来表示G2′=111111110000000000011110000111100000001111000000001111000----(13)]]>G2″′=1100110011001100000101010101010101000010101001110000001101001110010100000101----(14)]]>在Conway-Sloane算法中使用(19,7)扩展戈莱码的生成矩阵G2将获得三种处理效率。首先,由于上矩阵G2″的最后3列是零,所以只需要响应接收矢量v预先计算前4个和表σN102并存储这些和表。其次,由于下矩阵G2″共用下矩阵G″的前4行,所以算法的循环长度是16而不是128。还有,算法实际上只使用这4个和表σN的偶入口,因此只需预先计算和存储这些偶入口。还存储格雷码值104。
然后根据生成矩阵G2对接收矢量w(或矢量v)执行Conway-Sloane算法。该过程的主循环如下-设p′=0,i′=0,δ=(δ1,…,δn)=(0,…,0)-对于i=0,8,16,…,至120-设αI=σI(γIi),…,αIV=σIV(γIVi)-设p=|αI|+…+|αIV|-如果负αN′的个数是奇数-改变最小幅值αN的符号-设p=p-2minN|αN|-计算βI=sign(αI),…,βIV=sign(αIV)-如果p>p′,设p′=p,i′=i,并且δ′=(βIβIβIβI,…,βIVβIVβIVβIV+1,+1,+1)-对映形式的最大似然码字是y*=(δ1yi1″,…,δnyin″),二进制形式的最大似然码字是y*=1/2-y*/2,相应信息比特用u*表示。总之,y*就是修改的接收矢量w的最大似然估算值。
再参看图3,根据本发明,推广Conway-Sloane技术供合适的译码器40在译码(18,6)截短戈莱码编码的矢量时使用。修改(24,12)扩展戈莱码的生成矩阵G来形成译码(18,6)扩展戈莱码所使用的改进生成矩阵G3100。具体来说,从生成矩阵G中去除列16、20、21、22、23和24,只保留生成矩阵G的行1、2、6、7、8和9。于是,(18,6)扩展戈莱码的生成矩阵G3可方便地用如下的上矩阵G3′和下矩阵G3″来表示G3′=111111110000000000111100001111000000----(15)]]>G3″′=110011001100110000101010101010101000101010011100000110100111001010000101----(16)]]>在Conway-Sloane算法中使用(18,6)扩展戈莱码的生成矩阵G3将获得三种处理效率。首先,由于上矩阵G3′的最后6列是零,所以只需要响应接收矢量v预先计算前3个和表σN102并存储这些和表。其次,由于下矩阵G3″共用下矩阵G″的前4行,所以算法的循环长度是16而不是128。还有,算法实际上只使用这4个和表σN的偶入口,因此只需预先计算和存储这些偶入口。还存储格雷码值104。
然后根据生成矩阵G3对接收矢量w(或接收矢量v)执行Conway-Sloane算法。该过程的主循环如下-设p′=0,i′=0,δ=(δ1,…,δn)=(0,…,0)-对于i=0,8,16,…,至120-设αI=σI(γIi),…,αIII=σIII(γIIIi)-设p=|αI|+…+|αIII|-如果负αN′的个数是奇数-改变最小幅值αN的符号-设p=p-2minN|αN|-计算βI=sign(αI),…,βIII=sign(αIII)-如果p>p′,设p′=p,i′=i,并且δ′=(βIβIβIβI,…,βIIIβIIIβIIIβIII+1,…,+1)-对映形式的最大似然码字是y*=(δ1yi1″,…,δnyin″),二进制形式的最大似然码字是y*=1/2-y*/2,相应信息比特用u*表示。总之,y*就是修改的接收矢量w的最大似然估算值。
再参看图3,根据本发明,推广Conway-Sloane技术供合适的译码器40在译码(18,7)截短戈莱码编码的矢量时使用。修改(24,12)扩展戈莱码的生成矩阵G来形成译码(18,7)扩展戈莱码所使用的改进生成矩阵G4100。具体来说,从生成矩阵G中去除列1、20、21、22、23和24,只保留生成矩阵G的行1、2、3、6、7、8和9。于是,(18,7)扩展戈莱码的生成矩阵G4可方便地用如下的上矩阵G4′和下矩阵G4″来表示G4′=111111100000000000111000011110000000111000000001111000----(17)]]>G4″′=100110011001100000010101010101010000010100111000000110001110010100000101----(18)]]>在Conway-Sloane算法中使用(18,7)扩展戈莱码的生成矩阵G将获得三种处理效率。首先,由于上矩阵G4′的最后3列是零,所以只需要预先计算前4个和表σN102并存储这些和表。其次,由于下矩阵G4″共用下矩阵G″的前4行,所以算法的循环长度是16而不是128。还有,算法实际上只使用这4个和表σN的偶入口,因此只需预先计算和存储这些偶入口。还存储格雷码值104。
然后根据生成矩阵G4对接收矢量w(或接收矢量v)执行Conway-Sloane算法。该过程的主循环如下-设p′=0,i′=0,δ=(δ1,…,δn)=(0,…,0)-对于i=0,8,16,…,至120-设αI=σI(γIi),…,αIV=σIV(γIVi)-设p=|αI|+…+|αIV|-如果负αN′的个数是奇数-改变最小幅值αN的符号-设p=p-2minN|αN|-计算βI=sign(αI),…,βIV=sign(αIV)-如果p>p′,设p′=p,i′=i,并且δ′=(βIβIβIβI,…,βIVβIVβIVβIV+1,+1,+1)-对映形式的最大似然码字是y*=(δ1yi1″,…,δnyin″),
二进制形式的最大似然码字是y*=1/2-y*/2,相应信息比特用u*表示。总之,y*就是修改的接收矢量w的最大似然估算值。实际上,作为另一种方案,在此通过给接收矢量w添加零,可再次使用与以上讨论过的对于(19,7)扩展戈莱码所采用的处理算法相同的处理算法。
如上所述,普通纠错译码器40计算候选矢量(相应于选定的最接近的比特矢量u)和接收矢量v之间的汉明距离dH。这一汉明距离表明了候选矢量和接收矢量v的比特不相同的位置的数目,由此提供了与比特矢量u一道被输出的误差估算值。但是,使用汉明距离不是较佳的,这是因为汉明距离计算往往会丢弃过多可用的重要信息的缘故。它也没有利用可用的信道抽头(channel tap)估算信息。欧几里德距离计算提供好于汉明距离计算的结果。
现在参看图4,该图是本发明采用基于欧几里德距离的误差估算判定的译码器40的方框图。设y*表示对映形式的选定的码字选择y*100。译码操作的误差估算值通过如下地计算接收矢量w和y*之间的欧几里德距离dE114来确定e=dE(w,y‾*)=Σm=1n|wn-y‾m*|2----(19)]]>然后根据所使用的代码类型恰当地定标和量化该误差估算值e。例如,对于译码汉明码的误差控制译码器40,将e定标和量化为0或1。相反地,对于戈莱码,将e定标和量化为0、1、2或3。
去交错单元38、译码器40(包括它们示于图3和4的功能部件)以及比特矢量重构单元44最好都用专用数字信号处理器(DSP)或专用集成电路(ASIC)来实现。当然,应当懂得,去交错单元38、译码器40(包括它们示于图3和4的功能部件)以及比特矢量重构单元44要不然也可用分立元件以及可能的分布处理来实现。在这两种情况下,去交错单元38、译码器40(包括它们示于图3和4的功能部件)以及比特矢量重构单元44各执行以上描述的功能操作。
虽然用附图表示了并在以上的详细说明中描述了本发明的最佳实施例,但应懂得本发明不受所公开的这些实施例的限制,不违背权利要求书所限定的发明的精髓可对之作出各种改进。
权利要求
1.接收待译码的接收矢量的译码器,包括确定最接近该接收矢量的码字选择的装置;和确定该接收矢量和该码字选择之间的欧几里德距离的装置,被确定的欧几里德距离作为被译码的接收矢量的误差估算值被输出。
2.权利要求1的译码器,还包括根据已知类型的代码定标和量化误差估算值的装置。
3.权利要求2的译码器,其中已知类型的代码包括汉明码,误差估算值被定标和量化为0或1的值。
4.权利要求2的译码器,其中已知类型的代码包括戈莱码,误差估算值被定标和量化为0、1、2或3的值。
5.权利要求1的译码器,该译码器计算对映形式的接收矢量和同样为对映形式的码字选择之间的欧几里德距离。
6.译码按照(n′,k′)截短戈莱码被编码的接收矢量的译码器,该译码器对该接收矢量执行Conway-Sloane算法来确定最接近该接收矢量的码字选择,被执行的Conway-Sloane算法使用该截短戈莱码的生成矩阵Gm,该生成矩阵Gm包括(n,k)戈莱码的生成矩阵G的修改,其中n′<n, k′<k,生成矩阵G包括多个行和多个列,修改生成矩阵G形成生成矩阵Gm包括去除生成矩阵G中的某些行和列。
7.权利要求6的译码器,其中(n,k)戈莱码包括(24,12)戈莱码,而(n′,k′)截短戈莱码包括(19,7)截短戈莱码。
8.权利要求7的译码器,其中生成矩阵G包括12行和24列,形成生成矩阵Gm的修改包括去除列20、21、22、23和24,以及去除行4、5、10、11和12。
9.权利要求6的译码器,其中(n,k)戈莱码包括(24,12)戈莱码,而(n′,k′)截短戈莱码包括(18,6)截短戈莱码。
10.权利要求9的译码器,其中生成矩阵G包括12行和24列,形成生成矩阵Gm的修改包括去除列16、20、21、22、23和24,以及去除行3、4、5、10、11和12。
11.权利要求6的译码器,其中(n,k)戈莱码包括(24,12)戈莱码,而(n′,k′)截短戈莱码包括(18,7)截短戈莱码。
12.权利要求11的译码器,其中生成矩阵G包括12行和24列,形成生成矩阵Gm的修改包括去除列1、20、21、22、23和24,以及去除行4、5、10、11和12。
13.权利要求11的译码器,其中生成矩阵G包括12行和24列,形成生成矩阵Gm的修改包括去除列20、21、22、23和24,以及去除行4、5、10、11和12,还包括在执行Conway-Sloane算法之前给接收矢量添加零。
全文摘要
误差控制译码器接收待译码的接收矢量。译码器然后计算码字选择和接收矢量之间的欧几里德距离作为误差估算值。按照正在被译码器处理的具体代码恰当地定标和量化输出的误差估算值。推广有效的Conway-Sloane算法来译码截短戈莱码。修改戈莱码的生成矩阵形成每种截短代码所特有的改进生成矩阵。然后在Conway-Sloane算法中采用改进生成矩阵确定变换到其相应信息比特进行输出的最佳码字。用于改进的多频带激励语音编码。
文档编号G10L19/00GK1247648SQ97181859
公开日2000年3月15日 申请日期1997年12月15日 优先权日1996年12月18日
发明者A·S·哈伊拉拉, R·L·托伊, S·钦纳克舒 申请人:艾利森公司