CN101145790A - 译码器、相加-比较-选择单元和其方法 - Google Patents
译码器、相加-比较-选择单元和其方法 Download PDFInfo
- Publication number
- CN101145790A CN101145790A CNA2007101665411A CN200710166541A CN101145790A CN 101145790 A CN101145790 A CN 101145790A CN A2007101665411 A CNA2007101665411 A CN A2007101665411A CN 200710166541 A CN200710166541 A CN 200710166541A CN 101145790 A CN101145790 A CN 101145790A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- significant digit
- output
- path values
- carry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4107—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
一种译码器、相加-比较-选择单元和其方法,特别涉及相加-比较-选择方法和相加-比较-选择方法单元。相加-比较-选择方法用于产生具有一第一位对和一最大有效位对的第一路径值,其中每个位对以冗余数表示,具有一高位和一低位,相加-比较-选择方法包括产生上述第一路径值的第一位对及第一进位值,根据第一进位值产生第一路径值的MSB,限制第一路径值的上述MSB在第一预定值,比较第一及第二路径值的上述MSB,用以根据最大似然选择方法来判定MSB决定信号,储存第一路径值的上述MSB做为先前第一路径值,以及当第一及第二路径值的上述MSB的高位到达第一预定值时,重置上述第一路径值的上述MSB到第二预定值。
Description
技术领域
本发明是有关于通讯系统内的译码器,尤指译码器内的相加-比较-选择(Add-Compare-Select,ACS)单元和其方法。
背景技术
数字通讯系统通常使用卷积编码(convolutional encoding)在传送数据时来降低噪声和干扰。卷积编码的数据可由接收器内的卷积译码器复原。维特比(Viterbi)译码器是一种已知译码器,用于达到译码卷积编码的最大似然(maximum likelihood),利用从多个可能的编码序列中选择出一种编码序列来译码接收到的数据。相加-比较-选择单元是维特比译码器中的主要动作元件。相加-比较-选择单元比较所有可能的编码序列的机率来决定一种最可能的序列。卷积译码器可以使用通道运行管理(pipeline)、预先查找(look-ahead)以及平行运作(parallelism)的技术来加强运算速度、电路大小以及制造成本。
有鉴于此,本发明提出一相加-比较-选择单元和其方法,能够使用通道运行管理、预先查找以及平行运作的技术来最小化电路大小而不会降低电路效能。
发明内容
本发明提出一种相加-比较-选择(Add-Compare-Select,ACS)单元,产生具有一第一位对(bit-pair)和一最大有效位对(Most Significant Bit-pair,MSB)的第一路径值(pathmetrics),其中每个位对以冗余数(redundant number)表示,具有一高位和一低位,上述ACS单元包括第一ACS电路、限制电路、MSB最大值选择单元、MSB储存单元以及重置单元。该第一ACS电路,产生上述第一路径值的上述第一位对以及第一进位值(carry)。该限制电路,耦接上述第一ACS电路,根据上述第一进位值产生上述第一路径值的上述MSB,以及限制上述第一路径值的上述MSB在一第一预定值。该MSB最大值选择单元,耦接上述限制电路以及另一个ACS单元,从上述另一个ACS单元接收第二路径值的MSB,以及比较上述第一以及第二路径值的上述MSB用以根据最大似然选择方法(maximum likelihoodselection)来判定MSB决定信号。该MSB储存单元,耦接上述MSB最大值选择单元,储存上述第一路径值的上述MSB做为先前第一路径值。该重置单元,耦接上述MSB最大值选择单元以及上述MSB储存单元,当上述第一以及第二路径值的上述MSB的高位到达上述第一预定值时,重置上述第一路径值的上述MSB到一第二预定值。
此外,本发明另提出一种译码器,包括分支值单元、相加-比较-选择单元以及存活值单元。该分支值单元从输入数据计算分支值。该相加-比较-选择单元,耦接上述分支值单元,接收该分支值和从一第二相加-比较-选择单元而来的第二路径值用以产生具有一第一位对和一最大有效位对的第一路径值以及一存活值(survivor metrics),其中每个位对以冗余数表示,具有一高位和一低位,该相加-比较-选择单元包括第一ACS电路以及MSB ACS电路。该第一ACS电路产生上述第一路径值的上述第一位对、第一进位以及上述存活值。该最大有效位对电路包括限制电路、MSB最大值选择单元、MSB储存单元以及重置单元。该限制电路,耦接上述第一ACS电路,根据上述第一进位值产生上述第一路径值的上述MSB,以及限制上述第一路径值的上述MSB在一第一预定值。该MSB最大值选择单元,耦接上述限制电路以及另一个ACS单元,从上述另一个ACS单元接收第二路径值的MSB,以及比较上述第一以及第二路径值的上述MSB用以根据最大似然选择方法(maximum likelihoodselection)来判定MSB决定信号。该MSB储存单元,耦接上述MSB最大值选择单元,储存上述第一路径值的上述MSB做为先前第一路径值。该重置单元,耦接上述MSB最大值选择单元以及上述MSB储存单元,当上述第一以及第二路径值的上述MSB的高位到达上述第一预定值时,重置上述第一路径值的上述MSB到一第二预定值。该存活值单元,耦接上述ACS单元,回溯(tracing back)上述存活路径值用以译码上述输入数据。
本发明另提出一种相加-比较-选择方法,用于产生具有一第一位对和一最大有效位对的第一路径值,其中每个位对以冗余数表示,具有一高位和一低位,上述相加-比较-选择方法包括产生上述第一路径值的上述第一位对以及第一进位值,根据上述第一进位值产生上述第一路径值的上述MSB,限制上述第一路径值的上述MSB在一第一预定值,比较上述第一以及第二路径值的上述MSB,用以根据最大似然选择方法来判定MSB决定信号,储存上述第一路径值的上述MSB做为先前第一路径值,以及当上述第一以及第二路径值的上述MSB的高位到达上述第一预定值时,重置上述第一路径值的上述MSB到一第二预定值。
本发明所述的译码器、相加-比较-选择单元和其方法,使用通道运行管理、预先查找以及平行运作的技术来最小化电路大小而不会降低电路效能。
附图说明
图1显示本发明实施例以维特比译码来使用卷积译码的通讯系统的方块图。
图2显示本发明实施例中18的方块图。
图3a显示使用卷积数据Dc和Radix-2演算法的部分格状图。
图3b图显示使用卷积数据Dc和Radix-4演算法的部分格状图。
图4a显示用于图2中的ACS单元。
图4b显示用于图2中的ACS单元的电路图。
图5a显示图4a和图4b内的编码转换器。
图5b显示编码转换器1822的真值表。
图6显示本发明实施例中的ACS运作的概念图。
图7显示图4a及图4b中相加-比较-选择单元182a的最大有效位对的方块图。
图8显示图7中MSB的电路图。
具体实施方式
为使本发明的该目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配合所附图式,作详细说明如下。
在此必须说明的是,于下揭露内容中所提出的不同实施例或范例,是用以说明本发明所揭示的不同技术特征,其所描述的特定范例或排列是用以简化本发明,然非用以限定本发明。此外,在不同实施例或范例中可能重复使用相同的参考数字与符号,所述重复使用的参考数字与符号是用以说明本发明所揭示的内容,而非用以表示不同实施例或范例间的关系。
图1显示本发明实施例以维特比译码来使用卷积译码的通讯系统的方块图,包括卷积编码器10、调制器12、通讯信道14、解调制器16和维特比译码器18。卷积编码器10耦接调制器12、通讯信道14、解调制器16、然后到维特比译码器18。
卷积编码器10位于一传输端,编码m位的符号到n位的卷积数据Dc,其中n大于m,并且m/n是编码率。卷积数据Dc是使用冗余位(redundant bit)的错误更正码,冗余位由模二运算(modulo-2)进行卷积处理产生。调制器12接着使用载波频率调制卷积数据Dc,用以产生存活值SM,其适合用于在通讯信道14中传送,以及解调制器16解调制调制的信号回卷积数据Dc。
在经过通讯信道14的数据传送后,卷积数据Dc由在接收端的维特比译码器18所接收。维特比译码器18是译码器,利用估计卷积数据Dc内转换(transition)的机率来判断最可能的数据序列。
在一些实施例中,卷积数据Dc可以是硬的(hard),即,二进制数字b’0或b’1。在其他实施例中,卷积数据Dc可以是软的(soft),即,每个数据位使用多位来代表在0和1之间的数据。例如,符合Gigabit以太网(Ethernet)和第一AND门802.11n的卷积数据Dc使用2位的软决定值,b’00代表最接近数据0的数据位,b’01代表在数据0和数据1之间的33%,b’01代表在数据0和数据1之间的66%,b’11最接近数据1。
图2显示本发明实施例中18的方块图, 包括分支值单元(Branch Metrics Unit,BMU)180、相加-比较-选择单元(Add-Compare-Select Unit,ACSU)182和存活值单元(SurvivorMetrics Unit,SMU)184。分支值单元180耦接相加-比较-选择单元182、然后到存活值单元184。
维特比译码器18根据数据率,获得n位输入数据区块的卷积数据Dc用以产生m位的输出数据区块。例如,对于1/2数据率的编码器n为2,对于1/3或2/3数据率的编码器n为3。在一些实施例中,卷积数据Dc由2位软编码决定,因此维特比译码器18根据2n位来译码。
维特比译码器18使用最大似然译码用以判定一组在所有编码序列中具有最大似然的特定编码序列。卷积数据Dc从一个状态到下一个状态的转换称为一个分支。
分支值单元180计算卷积数据Dc和在对应分支所预测的编码序列之间的距离,用以产生分支值BM。相加-比较-选择单元182将BM加入相对应的先前路径值γj(t-1)用以对每个可能的状态判定目前路径值γj(t),并且根据目前路径值γj(t)产生SM,SM可以储存在存活值单元184内的回溯(trace-back)存储器。这个过程可以一直重复到到达译码长度,译码长度可以是5或10倍限制的长度。存活值单元184经由回溯存储器内的SM回溯一存活路径,借此译码编码序列。
图3a显示使用卷积数据Dc和Radix-2演算法的部分格状图(trellis diagram),使用图2的维特比译码器18,包括状态0、1、2、3,阶段t和(t+1),分支值λ00(t)、λ10(t)、λ01(t)、λ21(t)、λ12(t)、λ32(t)、λ23(t)、λ33(t)和路径值γ0(t)、γ1(t)、γ2(t)、γ3(t)、γ0(t+1)、γ1(t+1)、γ2(t+1)和γ3(t+1)。
格状图3a显示在每个时间阶段中的相加-比较-选择程序的过程。时间阶段由输入数据(n位)的接收群组间的时间来区分。每个卷积数据Dc可以是4个状态中其中之一,格状图计算卷积数据Dc在每个阶段中为每个状态的机率,并且选择最大似然的状态用以产生存活路径。路径值由在每个阶段中结合先前路径值和分支值而运算产生。例如,路径值γ0(t)和分支值λ00(t)结合在下一个时间t(t+1)时产生下一个路径值γ0(t+1)。在每个阶段中从两个分支而来的相对应两个路径值会被比较,用以根据不同的演算法,使用最大选择电路或最小选择电路来选择最大似然。在一个实施例中,使用了最大选择电路来实现,相加-比较-选择单元182比较路径值(γ0(t)+λ00(t))以及(γ0(t)+λ10(t)),相加-比较-选择单元182内的最大选择电路比较(γ0(t)+λ00(t))以及(γ0(t)+λ10(t))用以选择其中的最大值用以产生存活值。虽然图3a只有显示两个阶段和四个状态,ACS程序可以由多阶段和状态来执行,用以使用最大似然判定存活路径。大致上,阶段2M由DC内的M位符号决定。
图3b显示使用卷积数据Dc和Radix-4演算法的部分格状图,使用图2的维特比译码器18,包括状态0、1、2、3以及阶段t和(t+1)。
在阶段t中,路径值γ0(t)到γ3(t)经由计算而得知,并且根据路径值γ0(t)到γ3(t)和分支值λ00(t)到λ33(t)计算路径值γ0(t+1)到γ3(t+1)。Radix-4演算法使用2步骤预先查找的技术,其中相加-比较-选择单元182的一个计算循环等于图3a中两个非预先查找方法的计算循环,对固定的译码率来说ACS运作效能为两倍。每个目前状态γj(t+1)且j是0到3来说,相加-比较-选择单元182对4个分支进行状态转换运算用以获得每个目前状态γj(t+1)的路径值,在这些路径值中比较以及选择具有最大似然的一个,用以产生存在存活值单元184的回溯存储器内的存活值。
图4a显示用于图2中的ACS单元,包括加法器1820、编码转换器(code converter)1822和最大似然选择单元1824。加法器1820耦接编码转换器1822,接着耦接最大似然选择单元1824。
加法器1820将分支值和先前路径值相加用以产生目前路径值,编码转换器1822重新编码目前路径值用以简化最大似然选择电路,最大似然选择单元1824接收重新编码的目前路径值以及其他重新编码的目前路径值用以在其中选择具有最大似然的目前路径值。
加法器1820是一种进位储存加法器(Carry Save Adder,CSA),产生以冗余数(redundant number)表示的目前路径值,其中相同数字的冗余数可以用一或多形式表示。例如,目前路径值可以包括3位对[xxx],代表0到14的十进制数字,其中x表示0、1、或2的位对。在冗余数表示方法中,3位对[002]相等于[010],并且3位对[020]相等于[100]。进位储存加法器永远传送每个位对“2”到进位位,该进位位送到下一个时脉周期中的下一个更高位对,例如[002]到[010]及[020]到[100]。就算3位对路径值还没到[222],当最大有效位对(most significant bit-pair,MSB)的[2xx]传送到MSB输出进位值时路径值还是会发生数据溢位(overflow)。
图4b显示用于图2中的ACS单元的电路图,以位层次表示,不包括最大有效位对,包括加法器1820a到1820h、编码转换器1822a到1822h、和最大似然选择单元1824a到1824h。图4b内的相加-比较-选择单元182接收8位分支值λij 7(t)到λij 0(t),并且使用管线(pipeline)构造以第7位位对γj 7(t)到最小有效位对(leastsignificant bit-pair,LSB)γj 0(t)的顺序来处理目前路径值γj(t),借此减低关键路径(critical path)的长度并且加强其速度效能。在通道运行管理完成后,最小有效位对的最大似然选择单元1824h产生到存活值单元184的存活路径。
图5a显示图4a和图4b内的编码转换器,包括相互耦接的AND门50和OR门52。图5b显示编码转换器1822的真值表(truthtable)。编码转换器1822根据图5b的真值表转换输入总和Sin和输入进位值Cin到输出总和Sout以及输出进位值Cout简化最大似然选择单元1824的电路实现。
参考图4a和图4b,维特比译码器18可以使用最小选择演算法,使得最大似然选择单元1824包括一种最小选择电路,选择重新编码的目前路径值中的最小值,用以产生存活值。在其他的实施例中,维特比译码器18使用最小选择演算法,以及最大似然选择单元1824包括最小选择电路,选择重新编码的目前路径值中最小值,用以产生存活值。
相加-比较-选择单元182使用最小数量的位对,称为最小长度,用以在最大似然选择单元1824的路径值比较程序发生的前避免数据溢位。
图6显示本发明实施例中的ACS运作的概念图,使用图4a中的相加-比较-选择单元182,包括圆圈和路径值60以及62。
圆圈之上包括位置0到31,由4位对数字以旁边的冗余数表示来代表。路径值60和62是4位对的数字,每个都带有圆圈上的31种可能数值的其中之一。比较和选择程序可以想成路径值60和62之间沿着圆圈的赛跑。判定赛跑中领先者的规定可以利用路径值60和62间的最大距离必须小于圆圈的一半圆周。例如,当路径值60在位置30并且路径值62在位置16时,路径值60为领先者,因为两者间的差值小于15。两个路径值之间的最大差值,或称为动态范围,是由所有的可能状态和译码阶段的数量所决定。例如,5位的软输入,64个状态的维特比译码器,其动态范围是180,使得相加-比较-选择单元182的最小宽度是8个位对(0-511)。
虽然图6中使用4位对数字,也可以使用其他合适数量的位对。
图7显示图4a及图4b中相加-比较-选择单元182的最大有效位对的方块图,可以实现图6的ACS动作,包括限制电路700a、MSB最大值选择(maximum selection,MS)单元702a、MSB储存单元704a和重置单元706a。限制电路700a耦接到MSB最大值选择单元702a、MSB储存单元704a、然后耦接到重置单元706a。
在实施例中,维特比译码器18是一个4个状态的译码器,其中卷积数据Dc可以在A、B、C、D中其中之一,对应到相加-比较-选择单元182a、182b、182c、182d。每个相加-比较-选择单元182都使用位通道(bit-pipelined)以及冗余数表示构造,和70a一起产生第一路径值PM1和第一存活值SM1,提供最小宽度用以降低电路大小以及制造成本,同时维持相加-比较-选择单元182内关键路径的不变。每个使用冗余数表示的位对包括一高位(highbit)及一低位(low bit),例如MSB包括MSB高位MSBH和MSB低位MSBL。
限制电路700a接收以及累积由先前位对而来的进位位C,用以产生目前的最高有效位对MSBC,直到到达第一预定值lim1,然后将目前的最高有效位对MSBC限制在第一预定值lim1。在实施例中,第一预定值lim1是位对“11”,限制电路700a将目前的最高有效位对MSBC限制在最大位对“11”,避免第一路径值PM1的数据溢位。
MSB最大值选择单元702a比较由限制电路700a和相加-比较-选择单元182b、c、d来的目前的最高有效位对MSBC用以根据最大似然选择机制判定MSB决定信号,借此产生在相加-比较-选择单元182a的第一存活值SM1。MSB最大值选择单元702a比较所有个目前的最高有效位对MSBC,并且根据对应于其中之一具有最大似然的值来选择MSB决定信号。MSB决定信号可以包括预先决定位dpM和最后决定位dFM,如InternationalConference on Application Specific Systems,Architecture,andProcessors on July 10-12,2000 by V/S Gierenz,O.Weiβ,T.G.Noll,I.Carew,J.Ashley,and R.Karabed所揭露的“A550Mb/sradix-4 bit-level pipelined 16-state 0.25-μm CMOS Viterbidecoder”,MSB最大值选择单元702a也可以根据该揭露的技术来实现。最大似然选择机制可以从限制电路700a和另外的相加-比较-选择单元182b而来的目前的最高有效位对MSBC之中选择最大或最小的数值。
MSB储存单元704a接收以及储存从MSB最大值选择单元702a来的第一路径值PM1的目前的最高有效位对MSBC。MSB储存单元704a可以是可以储存位对并且输出先前的最高有效位对MSBA的暂存器。
重置单元706a将从相加-比较-选择单元182a、182b、182c、182d来的位对MSBAH、MSBBH、MSBCH、MSBDH和第一预定值lim1比较。当先前的位对MSBAH、MSBBH、MSBCH、MSBDH到达第一预定值lim1时,重置单元706a重置目前的最高有效位对MSBC到第二预定值lim2。第二预定值lim2可以是为位对“00”,即,当先前的最大有效位对MSBAH到MSBDH都到达“11”时,重置单元706a到d重置相对应的目前的最高有效位对MSBC到“00”。参考图6,当所有4个先前的最高有效位对MSBA到达左半边圆圈时,重置单元706a将第一路径值PM1从代表左半边圆圈的[2xxx]移位到代表右半边圆圈的[0xxx]而较低的3个位对不变,因此简化MSB最大值选择单元702a中的比较程序,因为不需要跨范围(cross-boundary)比较([2xxx]和[0xxx]相比)。
图8显示图7中MSB的电路图,其中限制电路700包括第一OR门800、第一AND门802、第二OR门804和第二AND门806,MSB储存单元704包括暂存器808,以及重置单元706包括第三AND门810、第二OR门804、和第二AND门806。第一OR门800耦接到第一AND门802、第二OR门804,然后耦接到第二AND门806。第三AND门810和第二OR门804耦接到第二AND门806。
限制电路700将先前位对72(未图示)来的进位位c和先前的最高有效位对MSBA结合用以产生目前的最高有效位对MSBC,并且限制目前的最高有效位对MSBC到第一预定值lim1。第一OR门800对先前位对82(未图示)来的进位位c和先前的最高有效位对MSBA的低位MSBAL进行OR动作,用以产生低位MSBCL以及限制其目前的最高有效位对MSBC到b’1。第一AND门802对进位位c和低位MSBAL进行AND动作用以产生到第二OR门804的第一AND输出,其中第一AND输出和先前的最高有效位对MSBA的先前的最大有效位对MSBAH一起被OR(进行或运算)用以产生第二输出到第二AND门806,借此产生以及限制目前的最高有效位对MSBC的高位MSBCH在b’1。
重置单元706接收从相加-比较-选择单元182a到182d来的4个先前的最大有效位对MSBAH,并且在所有的位对MSBAH到达第二预定值lim2的高位时,重置目前的最高有效位对MSBC的高位MSBcH到b’0。在第二预定值lim2是’11’的例子中,当所有的位对MSBAH达到’11’时,重置单元706重置高位MSBCH到b’0。第三AND门810接收相加-比较-选择单元182a到182d来的4个位对MSBAH到MSBDH,对4个位对MSBAH执行AND动作用以产生第三AND输出。反相的第三AND输出和第二OR门804的第二OR输出在第二AND门806被被一起AND,用以重置目前的最高有效位对MSBC的高位MSBCH到b’0。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下:
10:卷积编码器
12:调制器
14:通讯信道
16:解调制器
18:维特比译码器
1822:编码换码器
1824:最大似然选择单元
70a:最高有效位对电路
700a:限制电路
704a:MSB储存单元
706a:重置单元
70:MSB电路
700:限制电路
704:MSB储存单元
706:重置单元。
Claims (12)
1.一种相加-比较-选择单元,产生具有一第一位对和一最大有效位对的第一路径值,其中每个位对以冗余数表示,具有一高位和一低位,其特征在于,上述相加-比较-选择单元包括:
一第一相加-比较-选择电路,产生上述第一路径值的上述第一位对以及第一进位值;
一限制电路,耦接上述第一相加-比较-选择电路,根据上述第一进位值产生上述第一路径值的上述最大有效位对,以及限制上述第一路径值的上述最大有效位对在一第一预定值;
一最大有效位对最大值选择单元,耦接上述限制电路以及另一个相加-比较-选择单元,从上述另一个相加-比较-选择单元接收第二路径值的最大有效位对,以及比较上述第一路径值以及上述第二路径值的上述最大有效位对用以根据最大似然选择方法来判定最大有效位对决定信号;
一最大有效位对储存单元,耦接上述最大有效位对最大值选择单元,储存上述第一路径值的上述最大有效位对做为先前第一路径值;以及
一重置单元,耦接上述最大有效位对最大值选择单元以及上述最大有效位对储存单元,当上述第一路径值以及上述第二路径值的上述最大有效位对的高位到达上述第一预定值时,重置上述第一路径值的上述最大有效位对到一第二预定值。
2.根据权利要求1所述的相加-比较-选择单元,其特征在于,上述限制电路包括:
一第一OR门,耦接上述第一相加-比较-选择电路和上述最大有效位对储存单元,将上述第一进位值和上述先前第一路径值的上述最大有效位对的上述低位进行OR操作,用以产生上述第一路径值的上述最大有效位对的上述低位;
一第一AND门,耦接上述第一相加-比较-选择电路和上述最大有效位对储存单元,将上述第一进位值和上述先前第一路径值的上述最大有效位对的上述低位进行AND操作,用以产生一第一AND输出;
一第二OR门,耦接上述第一AND门和上述最大有效位对储存单元,将上述第一AND输出和上述先前第一路径值的上述最大有效位对的上述高位进行OR操作,用以提供一第二OR输出;以及
一第二AND门,耦接上述第一OR门和上述最大有效位对储存单元,接收上述第二OR输出用以产生并且限制上述第一路径值的上述最大有效位对的上述高位。
3.根据权利要求2所述的相加-比较-选择单元,其特征在于,上述重置单元包括:
一第三AND门,耦接其他相加-比较-选择单元和上述最大有效位对储存单元,将上述先前第一路径值和上述第二路径值的上述最大有效位对的上述高位进行AND操作,用以产生一第三AND输出;
上述第二OR门,耦接上述第一AND门和上述最大有效位对储存单元,接收上述第一路径值的上述最大有效位对用以提供一第二OR输出;以及
上述第二AND门,耦接上述第三AND门和上述第二OR门,将上述第三AND输出和上述第二OR输出进行AND操作,用以重置上述第一路径值的上述最大有效位对的上述高位。
4.根据权利要求1所述的相加-比较-选择单元,其特征在于,上述第一相加-比较-选择电路是管线运作,并且包括:
一第一进位储存加法器,具有两个第一进位储存加法器输入端、一第一进位储存加法器进位输出端以及一第一进位储存加法器总和输出端,接收在上述第一进位储存加法器输入端其中之一的第一分支值的第一位,以及在上述第一进位储存加法器进位输出端上输出上述第一进位值;
一第一编码转换器,具有第一CC总和输入端、第一CC进位输入端以及第一C C输出端,该第一CC总和输入端耦接该第一进位储存加法器总和输出端;
一第一最大值选择单元,具有第一最大值选择单元输入端、第一最大值选择单元输出端、第一决定输入端和第一决定输出端,该第一最大值选择单元输入端耦接该第一CC输出端,在该第一决定输入端接收该最大有效位对决定信号,以及该第一决定输出端输出第一决定信号;
一第一储存单元,具有第一储存输入端和第一储存输出端,该第一储存输入端耦接该第一最大值选择单元输出端,以及该第一储存输出端耦接另一该第一进位储存加法器输入端;
一第二储存单元,具有第二储存输入端和第二储存输出端,在该第二储存输入端接收该第一决定信号,以及在该第二储存输出端输出该第一储存信号;
一第二进位储存加法器,具有两个第二进位储存加法器输入端、一第二进位储存加法器进位输出端以及一第二进位储存加法器总和输出端,接收在上述第二进位储存加法器输入端其中之一的第一分支值的第二位,以及上述第二进位储存加法器进位耦接该第一进位输入端;
一第三储存单元,具有第三储存输入端和第三储存输出端,该第三储存输入端耦接该第二进位储存加法器总和输出端;
一第二编码转换器,具有第二CC总和输入端、第二CC进位输入端以及第二CC输出端,该第二CC总和输入端耦接该第二储存输出端;
一第二最大值选择单元,具有第二最大值选择单元输入端、第二最大值选择单元输出端、第二决定输入端和第二决定输出端,该第二最大值选择单元输入耦接该第二CC输出端,在该第二决定输入端接收该最大有效位对决定信号,以及该第二决定输出端输出第二决定信号。
5.根据权利要求1所述的相加-比较-选择单元,其特征在于,上述相加-比较-选择单元位于使用Radix-4演算法的最大似然译码器之内,上述相加-比较-选择单元更接收第三路径值和第四路径值,以及上述最大有效位对最大选择单元更包括所有四个路径值的上述最大有效位对,并且使用最大可能相似度选择由其选择该最大有效位对决定信号。
6.一种译码器,其特征在于,包括:
一分支值单元,从输入数据计算分支值;
一相加-比较-选择单元,耦接上述分支值单元,接收该分支值和从一第二相加-比较-选择单元而来的第二路径值用以产生具有一第一位对和一最大有效位对的第一路径值,以及一存活值,其中每个位对以冗余数表示,具有一高位和一低位,该相加-比较-选择单元包括:
一第一相加-比较-选择电路,产生上述第一路径值的上述第一位对、第一进位以及上述存活值;以及
一最大有效位对电路,包括:
一限制电路,耦接上述第一相加-比较-选择电路,根据上述第一进位值产生上述第一路径值的上述最大有效位对,以及限制上述第一路径值的上述最大有效位对在一第一预定值;
一最大有效位对最大值选择单元,耦接上述限制电路以及另一个相加-比较-选择单元,从上述另一个相加-比较-选择单元接收第二路径值的最大有效位对,以及比较上述第一路径值以及上述第二路径值的上述最大有效位对用以根据最大似然选择方法来判定最大有效位对决定信号;
一最大有效位对储存单元,耦接上述最大有效位对最大值选择单元,储存上述第一路径值的上述最大有效位对做为先前第一路径值;以及
一重置单元,耦接上述最大有效位对最大值选择单元以及上述最大有效位对储存单元,当上述第一路径值以及上述第二路径值的上述最大有效位对的高位到达上述第一预定值时,重置上述第一路径值的上述最大有效位对到一第二预定值;以及
一存活值单元,耦接上述相加-比较-选择单元,回溯上述存活路径值用以译码上述输入数据。
7.根据权利要求6所述的译码器,其特征在于,上述限制电路包括:
一第一OR门,耦接上述第一相加-比较-选择电路和上述最大有效位对储存单元,将上述第一进位值和上述先前第一路径值的上述最大有效位对的上述低位进行OR操作,用以产生上述第一路径值的上述最大有效位对的上述低位;
一第一AND门,耦接上述第一相加-比较-选择电路和上述最大有效位对储存单元,将上述第一进位值和上述先前第一路径值的上述最大有效位对的上述低位进行AND操作,用以产生一第一AND输出;
一第二OR门,耦接上述第一AND门和上述最大有效位对储存单元,将上述第一AND输出和上述先前第一路径值的上述最大有效位对的上述高位进行OR操作,用以提供一第二OR输出;以及
一第二AND门,耦接上述第一OR门和上述最大有效位对储存单元,接收上述第二OR输出用以产生并且限制上述第一路径值的上述最大有效位对的上述高位。
8.根据权利要求7所述的译码器,其特征在于,上述重置单元包括:
一第三AND门,耦接其他相加-比较-选择单元和上述最大有效位对储存单元,将上述先前第一路径值和上述第二路径值的上述最大有效位对的上述高位进行AND操作,用以产生一第三AND输出;
上述第二OR门,耦接上述第一AND门和上述最大有效位对储存单元,接收上述第一路径值的上述最大有效位对用以提供一第二OR输出;以及
上述第二AND门,耦接上述第三AND门和上述第二OR门,将上述第三AND输出和上述第二OR输出进行AND操作,用以重置上述第一路径值的上述最大有效位对的上述高位。
9.根据权利要求6所述的译码器,其特征在于,上述第一相加-比较-选择电路是管线运作,并且包括:
一第一进位储存加法器,具有两个第一进位储存加法器输入端、一第一进位储存加法器进位输出端以及一第一进位储存加法器总和输出端,接收在上述第一进位储存加法器输入端其中之一的第一分支值的第一位,以及在上述第一进位储存加法器进位输出端上输出上述第一进位值;
一第一编码转换器,具有第一CC总和输入端、第一CC进位输入端以及第一CC输出端,该第一CC总和输入端耦接该第一进位储存加法器总和输出端;
一第一最大值选择单元,具有第一最大值选择单元输入端、第一最大值选择单元输出端、第一决定输入端和第一决定输出端,该第一最大值选择单元输入端耦接该第一CC输出端,在该第一决定输入端接收该最大有效位对决定信号,以及该第一决定输出端输出第一决定信号;
一第一储存单元,具有第一储存输入端和第一储存输出端,该第一储存输入端耦接该第一最大值选择单元输出端,以及该第一储存输出端耦接另一该第一进位储存加法器输入端;
一第二储存单元,具有第二储存输入端和第二储存输出端,在该第二储存输入端接收该第一决定信号,以及在该第二储存输出端输出该第一储存信号;
一第二进位储存加法器,具有两个第二进位储存加法器输入端、一第二进位储存加法器进位输出端以及一第二进位储存加法器总和输出端,接收在上述第二进位储存加法器输入端其中之一的第一分支值的第二位,以及上述第二进位储存加法器进位耦接该第一进位输入端;
一第三储存单元,具有第三储存输入端和第三储存输出端,该第三储存输入端耦接该第二进位储存加法器总和输出端;
一第二编码转换器,具有第二CC总和输入端、第二CC进位输入端以及第二CC输出端,该第二CC总和输入端耦接该第二储存输出端;
一第二最大值选择单元,具有第二最大值选择单元输入端、第二最大值选择单元输出端、第二决定输入端和第二决定输出端,该第二最大值选择单元输入耦接该第二CC输出端,在该第二决定输入端接收该最大有效位对决定信号,以及该第二决定输出端输出第二决定信号。
10.根据权利要求6所述的译码器,其特征在于,上述相加-比较-选择单元位于使用Radix-4演算法的最大似然译码器之内,上述相加-比较-选择单元更接收第三路径值和第四路径值,以及上述最大有效位对最大选择单元更包括所有四个路径值的上述最大有效位对,并且使用最大可能相似度选择由其选择该最大有效位对决定信号。
11.一种相加-比较-选择方法,其特征在于,用于产生具有一第一位对和一最大有效位对的第一路径值,其中每个位对以冗余数表示,具有一高位和一低位,上述相加-比较-选择方法包括:
产生上述第一路径值的上述第一位对以及第一进位值;
根据上述第一进位值产生上述第一路径值的上述最大有效位对;
限制上述第一路径值的上述最大有效位对在一第一预定值;
比较上述第一以及第二路径值的上述最大有效位对,用以根据最大似然选择方法来判定最大有效位对决定信号;
储存上述第一路径值的上述最大有效位对做为先前第一路径值;以及
当上述第一路径值以及第二路径值的上述最大有效位对的高位到达上述第一预定值时,重置上述第一路径值的上述最大有效位对到一第二预定值;
其中上述第一预定值是二进制的1,以及上述第二预定值是二进制的0。
12.根据权利要求11所述的相加-比较-选择方法,其特征在于,更接收第三路径值和第四路径值,以及上述最大有效位对最大选择单元更包括所有四个路径值的上述最大有效位对,并且使用最大可能相似度选择由其选择该最大有效位对决定信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/608,459 US7861147B2 (en) | 2006-12-08 | 2006-12-08 | ACS unit and method thereof |
US11/608,459 | 2006-12-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101145790A true CN101145790A (zh) | 2008-03-19 |
CN101145790B CN101145790B (zh) | 2011-07-06 |
Family
ID=39208116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101665411A Active CN101145790B (zh) | 2006-12-08 | 2007-11-05 | 译码器、相加-比较-选择单元和其方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7861147B2 (zh) |
CN (1) | CN101145790B (zh) |
TW (1) | TWI356594B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045070A (zh) * | 2009-10-19 | 2011-05-04 | 晨星软件研发(深圳)有限公司 | 译码方法及其装置 |
CN102201815A (zh) * | 2010-03-25 | 2011-09-28 | 承景科技股份有限公司 | 高运算频率的二进制运算解码装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8401115B2 (en) * | 2008-03-11 | 2013-03-19 | Xilinx, Inc. | Detector using limited symbol candidate generation for MIMO communication systems |
RU2012133248A (ru) * | 2012-08-02 | 2014-02-10 | ЭлЭсАй Корпорейшн | Быстродействующая схема сложения, сравнения и выбора |
CN104617962B (zh) * | 2014-12-03 | 2017-09-29 | 芯原微电子(上海)有限公司 | 一种应用矢量数字信号处理器的维特比译码的实现方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5881075A (en) * | 1996-03-18 | 1999-03-09 | Samsung Electronics Co., Ltd. | Viterbi decoder |
JP3654392B2 (ja) * | 1996-09-02 | 2005-06-02 | ソニー株式会社 | データ受信装置および方法 |
DE19937506A1 (de) * | 1999-08-09 | 2001-04-19 | Infineon Technologies Ag | ACS-Einheit für einen Viterbi-Decodierer |
US6333954B1 (en) * | 1999-10-21 | 2001-12-25 | Qualcomm Incorporated | High-speed ACS for Viterbi decoder implementations |
US7073118B2 (en) * | 2001-09-17 | 2006-07-04 | Digeo, Inc. | Apparatus and method for saturating decoder values |
US7117426B2 (en) * | 2003-12-01 | 2006-10-03 | Mediatek Inc. | Branch metric computation and add-compare-select operation in viterbi decoders |
US7496159B2 (en) * | 2003-12-01 | 2009-02-24 | Mediatek Inc. | Survivor memory management in a Viterbi decoder |
US7684505B2 (en) * | 2004-04-26 | 2010-03-23 | Qualcomm Incorporated | Method and apparatus for encoding interleaving and mapping data to facilitate GBPS data rates in wireless systems |
US7506239B2 (en) * | 2004-12-23 | 2009-03-17 | Raghavan Sudhakar | Scalable traceback technique for channel decoder |
-
2006
- 2006-12-08 US US11/608,459 patent/US7861147B2/en active Active
-
2007
- 2007-10-01 TW TW096136752A patent/TWI356594B/zh active
- 2007-11-05 CN CN2007101665411A patent/CN101145790B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045070A (zh) * | 2009-10-19 | 2011-05-04 | 晨星软件研发(深圳)有限公司 | 译码方法及其装置 |
CN102045070B (zh) * | 2009-10-19 | 2015-11-25 | 晨星软件研发(深圳)有限公司 | 译码方法及其装置 |
CN102201815A (zh) * | 2010-03-25 | 2011-09-28 | 承景科技股份有限公司 | 高运算频率的二进制运算解码装置 |
CN102201815B (zh) * | 2010-03-25 | 2015-03-18 | 承景科技股份有限公司 | 高运算频率的二进制运算解码装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101145790B (zh) | 2011-07-06 |
TW200826514A (en) | 2008-06-16 |
US20080140743A1 (en) | 2008-06-12 |
TWI356594B (en) | 2012-01-11 |
US7861147B2 (en) | 2010-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5406570A (en) | Method for a maximum likelihood decoding of a convolutional code with decision weighting, and corresponding decoder | |
US5027374A (en) | Bit serial Viterbi decoder add/compare/select array | |
EP0671817A1 (en) | Soft symbol decoding for use in an MLSE-equaliser or convolutional decoder | |
US20070266303A1 (en) | Viterbi decoding apparatus and techniques | |
CN101145790B (zh) | 译码器、相加-比较-选择单元和其方法 | |
US20050157823A1 (en) | Technique for improving viterbi decoder performance | |
US7117426B2 (en) | Branch metric computation and add-compare-select operation in viterbi decoders | |
US8055986B2 (en) | Viterbi decoder and method thereof | |
US20060115023A1 (en) | Apparatus and method for decoding and trace back of convolution codes using the viterbi decoding algorithm | |
US8694878B2 (en) | Processor instructions to accelerate Viterbi decoding | |
US20070201586A1 (en) | Multi-rate viterbi decoder | |
CN101411071A (zh) | 具有双向滑动窗口体系结构的map译码器 | |
US7496159B2 (en) | Survivor memory management in a Viterbi decoder | |
US7062000B1 (en) | Viterbi decoder | |
FI100564B (fi) | Menetelmä transitiometriikan muodostamiseksi ja solukkoradiojärjestelm än vastaanotin | |
KR101134806B1 (ko) | 부호 복호 방법 | |
Chandel et al. | Viterbi decoder plain sailing design for TCM decoders | |
CN1139190C (zh) | 对于维特比译码器实施的快速量度计算 | |
US9294134B2 (en) | Viterbi decoding device and method for decoding a signal produced by a convolutional encoder | |
US8583998B2 (en) | System and method for Viterbi decoding using application specific extensions | |
KR20000049852A (ko) | 비터비복호기 | |
TWI383596B (zh) | 維特比解碼器 | |
CN101527573B (zh) | 维特比解码器 | |
KR100726170B1 (ko) | 비터비 복호 장치 및 방법 | |
Soumya | Viterbi Decoder Plain Sailing Design for TCM Decoders |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |