CN100521552C - 非二维化维特比数据处理系统与方法 - Google Patents

非二维化维特比数据处理系统与方法 Download PDF

Info

Publication number
CN100521552C
CN100521552C CNB2003101180766A CN200310118076A CN100521552C CN 100521552 C CN100521552 C CN 100521552C CN B2003101180766 A CNB2003101180766 A CN B2003101180766A CN 200310118076 A CN200310118076 A CN 200310118076A CN 100521552 C CN100521552 C CN 100521552C
Authority
CN
China
Prior art keywords
path distance
path
state
memory cell
dimension
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.)
Expired - Fee Related
Application number
CNB2003101180766A
Other languages
English (en)
Other versions
CN1619968A (zh
Inventor
吴正鼎
张宏铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Priority to CNB2003101180766A priority Critical patent/CN100521552C/zh
Publication of CN1619968A publication Critical patent/CN1619968A/zh
Application granted granted Critical
Publication of CN100521552C publication Critical patent/CN100521552C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

本发明包含有一非二维化维特比处理器、一路径距离内存以及一内存存取装置。该内存存取装置,是依据一可编程的存取控制序列,自该路径距离内存的多个存储单元中读取一组多个状态的路径距离,以供该非二维化维特比处理器进行计算,以及将经过更新的这些路径距离回存至该路径距离内存中。该可编程存取控制序列包含一读出序列与一写入序列。藉此,该路径距离内存中仅需包含与这些状态数目相同的存储单元,即可完成该组路径距离的更新。

Description

非二维化维特比数据处理系统与方法
技术领域
本发明涉及一种非二维化维特比数据处理系统与方法。
背景技术
维特比算法(Viterbi algorithm)目前已被广泛使用于各式装置中,用以译码经过卷积编码(convolution code)或称信道编码(channel code)的数据。已知以维特比数据处理系统(Viterbi data processing system)做为装置中提供译码卷积编码所需数据的组件,而依照卷积编码的复杂程度,维特比数据处理系统又可分为二维化与非二维化两种。
二维化维特比数据处理系统是指每一次系统所接收的数据符号(symbol)仅有0与1两种(即发送端的卷积编码系统仅以1位的分辨率来进行数据的编码),故称二维化维特比数据处理系统。非二维化维特比数据处理系统是指发送端的卷积编码系统以1位以上的分辨率加以编码,则编码后的数据符号则不仅有0与1,而是0~2i-1个数据符号。i即是指卷积编码系统的分辨率为i位。目前业界多使用的3位分辨率,因此编码符号有0~7共八个。针对目前各式装置中所传输的数据越来越复杂,二维化的解编码系统已经不符所需,所以目前多发展非二维化的数据解编码系统。
已知的维特比数据处理系统,由于每一个数据符号与前后数据符号有相关性,因此译码逻辑相当复杂。通常译码时须考虑当时所接收符号与前后符号的关系后,选择其中最有可能的解码值。
请参阅图1,图1是已知维特比处理系统10及符号缓存器13、15的示意图。已知应用维特比数据处理系统的装置接收到经卷积编码的数据符号后,先循序暂存于符号缓存器13、15中。由于卷积编码具有时间上(temporal)的关连,也就是说每一符号的译码与其前后符号皆有关连,故最佳的译码方式是可以暂存所有的符号后再进行译码。但符号缓存器成本高昂,且多个符号缓存器容易造成数据延迟处理的情况发生,故目前装置中多以配置两个符号缓存器为主,以循序译码数据。
图2S是已知的两符号维特比译码逻辑的示意图。已知将两个符号称为一个状态(state),如果为二维化的系统,则状态00或10的可能译码值是由00或01两个状态计算比较而得,01或11的可能解码值则是由10或11计算比较而得。如果为非二维化的编码系统,且符号以三位编码,则将符号状态00、10、20、30、40、50、60、70当成同一组,其可能译码值则是计算符号状态00、01、02、03、04、05、06、07这一组八种状态并加以比较后就可以获得,而不需要用到其它组的状态的译码值。同样地,下列各组符号状态(01、11-71),(02、12-72)...(07、17-77)的可能解码值也都是分别计算相对应下列各组状态(10、11-17),(20、22-27)...(70、71-77),并加以比较后就可以获得,而不需要用到其它组状态的译码值。简言之,在非二维化维特比数据处理系统中,如果符号的以3位编码,而系统需考虑两个符号间的关连性,故有(23)2共64种接收符号的状态。每一种状态的可能译码值有8个,因此需64×8共512种译码计算流程。
请参阅图3,图3是已知维特比数据处理系统10的示意图。已知维特比数据处理系统10包含一路径距离内存12、一多路复用器14、一缓冲存储器16、一分枝距离处理器18以及一加总比较选择模块20。已知维特比数据处理系统10在处理所接收的符号时,如上所述,必须计算每种状态的各种可能值,然后才决定出每一种状态最可能的转换值。已知以每一个状态的路径距离(path metric)来判断最有可能的转换值,路径距离的计算公式如公式一所列:
PMa(b0)=PM(0a)+BM(b0a)                   公式一
上述的公式一可以用来计算新状态的所有可能的路径距离。假设原来状态的符号为0a,也就是说储存于符号缓存器13、15中原来状态的符号分别为“0”与“a”(a=0~7),经过状态转换(state transition)后,新接收到的编码符号为“b”,于是将原来编码符号“a”弃置后,储存在符号缓存器13、15中的符号因此分别更新为“b”与“0”(b=0~7),也就是说新状态的符号为b0。当新状态b0如果是由原来状态0a经过状态转换而来的时,此时新状态b0的路径距离可表示为PMa(b0),如果以3位编码,则为PM0(b0)-PM7(b0)共8种。路径距离PMa(b0)的大小是由原来状态0a的路径距离PM(0a)加上在状态转换的过程中伴随产生的分枝距离BM(b0a)两者相加而得。
路径距离内存12即是用来记录每一种状态最新的路径距离。当已知维特比数据处理系统10每接收一个新的符号时,维特比数据处理系统则开始进行更新路径距离内存12的程序,按照00、01、02...07、10...、70...、77的顺序,逐一更新路径距离内存中的每一种状态最新的路径距离。
接着以更新00此一状态的路径距离为例来说明已知技术。更新00的路径距离时,必须先由多路复用器14循序取出所有可能转换为状态00的可能状态00、01...07共8种可能状态记录于路径距离内存12的路径距离,并循序暂存在缓冲存储器16中。分枝距离处理器18则用以计算暂存在缓冲存储器16中的可能状态转换为状态00时的分枝距离,并传送至加总比较选择模块20。
请参阅图4,图4是图3中加总比较选择模块20的示意图。已知加总比较选择模块20中包含一加法器22、一缓存器24、一比较器26以及一选择器28。加法器22用以加总暂存于缓冲存储器16的可能状态的路径距离与相对应的分枝距离。缓存器24则用以暂存加法器22所计算的结果。加法器22接着持续接收缓冲存储器16所传送的可能状态的路径距离以及相对应的分枝距离,进而将计算得出的结果记录在缓存器24中。直到缓存器24中储存了所有8种可能状态后,比较器26比较所有可能状态的计算结果,并由选择器28选择其中的最小值作为状态00的新路径距离后写回路径距离内存12中。
综上所述,已知维特比数据处理系统10中路径距离内存12需要庞大的空间以储存数据处理过程中的数据,举例来说,以3位编码,且每一状态包含2个符号的系统,则共需至少64个状态乘以2(新旧两个路径距离)来储存所有的数据,但最后会用到的仅有64个储存位置,相当耗费资源。除此之外,已知维特比数据处理系统中,由于必须将所有可能状态逐一读取计算,因此需要一直对路径距离内存进行存取的动作,对于装置中资源的耗费也相当严重。
发明内容
本发明的一目的是提供一种非二维化维特比数据处理系统,可以有效降低路径距离内存所需的储存容量。
本发明的另一目的在于提供一种非二维化维特比数据处理系统,可以减少内存的存取次数,进而节省系统资源。
本发明是一种非二维化维特比数据处理系统(non-binary Viterbi dataprocessing system),包含有一非二维化维特比处理器(non-binary Viterbiprocessor)、一路径距离内存(path metric memory)以及一内存存取装置(memory access device)。
该非二维化维特比处理器是用以根据一预定的维特比数据译码程序(Viterbi decoding procedure),来得出一组多个状态的路径距离。且于每次状态转换(state transition)时,计算每一该组状态的多个分枝距离(branch metrics),并据以更新每一该组状态相对应的路径距离。该组多个状态是由至少两个代表不同维度的符号的组合来加以编码。
该路径距离内存包含有与这些状态数目相同的多个存储单元。这些存储单元亦由上述符号的组合来加以表示,用以相对应储存这些状态的路径距离。该内存存取装置是用以依据一可程控的存取控制序列(programmable accesscontrol sequence),自该路径距离内存中读取这些路径距离,以供该非二维化维特比处理器进行计算,以及将经过更新的这些路径距离回存至该路径距离内存中。该可程控存取控制序列包含一读出序列(read out sequence)与一写入序列(write back sequence)。
其中,该读出序列会先依据一第一维度的方向依序读出这些存储单元中的这些路径距离,并经由该维特比数据译码程序计算以得到一组更新的路径距离。该写入序列则依序将该组更新的路径距离写回该相同的第一维度的方向的存储单元中,直到所有存储单元中的这些路径距离都已完成更新。接着,该读出序列会改由一第二维度的方向依序读出这些存储单元中的这些路径距离,并经由该维特比数据译码程序计算以得到一组更新的路径距离。该写入序列则依序将该组更新的路径距离写入该相同的第二维度的方向的存储单元中,直到所有存储单元中的这些路径距离都已完成更新。藉此,该路径距离内存中仅需包含与这些状态数目相同的存储单元,即可完成该组路径距离的更新。
本发明可使得路径内存的储存容量仅需与所有状态的数量一致,而已知技术则必须扩充路径距离内存的储存容量以储存所有的计算结果,因此本发明可有效降低路径距离内存所需的储存容量。
附图简述
关于本发明的优点与精神可以藉由以下的发明详述及附图得到进一步的了解。
图1是已知维特比料处理系统及符号缓存器的示意图;
图2是已知的两符号维特比译码逻辑的示意图;
图3是已知维特比数据处理系统的示意图;
图4是图3中加总比较选择模块的示意图;
图5是本发明非二维化维特比数据处理系统的示意图;
图6是图5中的路径距离内存的示意图;
图7是图5中路径距离内存的写入读取示意图;
图8是图5中非二维化维特比处理器的示意图;
图9是本发明非二维化维特比数据处理方法的流程图;
图10是本发明第二具体实施例的非二维化维特比数据处理系统的示意图;
图11(1)至图11(5)是图10中路径距离内存的写入读取示意图;
图12是本发明第三具体实施例的非二维化维特比数据处理系统的示意图;
图13是图12中路径距离内存的示意图;以及
图14(1)至图14(6)是图12中路径距离内存的写入读取示意图。
附图标号说明
30、72:非二维化维特比数据处理系统
32:非二维化维特比处理器                  34、90:路径距离内存
36:内存存取装置
38、82、84:循环缓存器
40、86、88:多路复用器                    42、92:存取控制器
440-447:循环缓存单元                     46:读出模块
48:写入模块                              50:地址产生器
52、54、56、58、861~865、881~885:箭头
62、74、76:分枝距离计算模块
64、78、80:加总比较选择模块               66:加法器
68:暂时缓存器             69:比较器
步骤70-86:非二维化维特比数据处理方法
94、96:子内存             98:内存读出选择单元
99:内存写入选择单元
具体实施方式
请参阅图5,图5是本发明非二维化维特比数据处理系统30的示意图。本发明是一种非二维化维特比数据处理系统(non-binary Viterbi dataprocessing system)30,包含有一非二维化维特比处理器(non-binaryViterbi processor)32、一路径距离内存(path metric memory)34以及一内存存取装置(memory access device)36。
非二维化维特比处理器32是用以根据一预定的维特比数据译码程序(Viterbi decoding procedure),来得出一组多个状态的路径距离。该组多个状态是由至少两个符号的组合来加以编码,每一个符号代表一个不相同的维度,每一个符号则是由i个位来加以编码。举例而言,假设每组状态包含两个符号,每个符号是以3个位加以编码,具有八个可能值,因此有(23)2共64种不同的状态。
在本发明的一具体实施环境,是使用在一个八相移相键控(8PSK)通信系统中。本发明非二维化维特比处理器32在通信统中的应用,是用来将一连串接收到的符号加以译码。八相移相键控通信系统的特性,在于每一接收到的符号是由3个位来加以编码,因此包含8个可能的值。该八相移相键控通信系统并包含有两个符号缓存器(symbol registers)以暂存两个最新接受到的符号。此两个符号共包含64种可能的值,以代表该组共64个可能状态。八相移相键控通信系统新接收到一个符号时,就会进行一次状态转换,而两个符号缓存器则会弃置较早接收的符号,以暂存最新接受到的符号。本发明的非二维化维特比数据处理系统30即是根据该维特比数据译码程序,来计算每一可能状态的路径距离并更新路径距离内存34,以于后续判断出该串所接收到符号最可能的相对应值为何。
如先前技术中所述,当欲利用维特比算法加以译码数据时,则需要先获得每次状态移转时,每组状态的路径距离,而路径距离的计算方法已于前述的先前技术中有描述,本发明在这一部分的作法并无不同,因而于此不再重述。本发明的非二维化维特比处理器32的主要功用则是在每次状态转换时,计算64个可能状态中每一状态可能的转移路径的多个分枝距离(branchmetrics),并据以更新每一状态相对应的路径距离。
请参阅图6,图6是图5中的路径距离内存34的示意图。路径距离内存34包含有与这些状态数目相同的多个存储单元,实际上,路径距离内存34中的存储单元通常是依序呈线型排列,但是为了本发明解说方便,因此以图6中N列乘N行的矩阵方式的排列加以呈现,已知内存存取技艺的人士可以利用多维度的寻址方法,将线型排列的存储单元等效转换为N列乘N行的矩阵排列,以下则不再赘述而直接以N列乘N行的矩阵排列来解说。举例而言,如果共有64种状态,则路径距离内存中则有相对应数量8×8的存储单元,图6中即以64个存储单元加以表示。这些存储单元即由上述不同维度的符号的组合来加以表示,用以相对应储存这些状态的路径距离。如图3所示,编号「00」的存储单元表示此一存储单元用以储存状态「00」的路径距离,其余以此类推。
本发明是利用内存存取装置36以方便快速地存取路径距离内存34。如图5所示,本发明的内存存取装置36包含一循环缓存器(circular buffer)38、一多路复用器(multiplexer)40以及一存取控制器(access controller)42。本发明的循环缓存器38中包含有八个依序排列的循环缓存单元440-447,以可循环存取的方式来暂存一待计算状态的前一次所有可能状态的相对应路径距离。
多路复用器40可接受来自路径距离内存34的存储单元以及循环缓存器38的循环缓存单元440-447的输入,并依据一控制信号从上述两者中择一选取其中的路径距离储存至该循环缓存器38的循环缓存单元440-447中。
存取控制器42,是用以发出该控制信号来控制多路复用器40以及循环缓存器38,以依据一可编程的存取控制序列(programmable access controlsequence),自路径距离内存34中读取这些路径距离,以供非二维化维特比处理器36进行计算,并将经过更新的路径距离回存至路径距离内存34中。该可编程的存取控制序列则包含一读出序列(read out sequence)以及一写入序列(write back sequence)。
如图5所示,存取控制器42包含一读出模块46与一写入模块48。请同时参阅图7,图7是图5中路径距离内存34的写入读取示意图。如图7(1)所示,当本发明的非二维化维特比数据处理系统30开始更新路径距离内存34中的路径距离时,读出模块46会根据该读出序列,发出控制信号要求多路复用器40自一第一维度的方向(如图7中箭头52所示)依序读出存储单元中状态00,01...至07的相对应的路径距离,暂时存放在循环缓存器38的八个循环缓存单元440-447中,之后经由非二维化维特比处理器32以维特比数据译码程序计算,而依次一个个得到状态00,10...至70更新过后的路径距离。如图7(2)所示,写入模块48则根据该写入序列,依序将状态00,10...至70更新后的路径距离一个个写回相同的第一维度方向的存储单元中(如图7中箭头54所示)的存储单元中。之后,读出模块46会根据该读出序列仍是沿着图7(1)的第一维度的方向依序读出存储单元中状态10,11...至17的相对应的路径距离,暂时存放于循环缓存器38的八个循环缓存单元440-447中,之后经由非二维化维特比处理器32以维特比数据译码程序计算,而依次一个个得到状态01,11...至71更新过后的路径距离,而写入模块48则根据该写入序列,如图7(2)依序将状态01,11...至71更新后的路径距离一个个写回相同的第一维度方向的存储单元中的存储单元中。此一动作会重复进行直到所有存储单元中的这些路径距离都已完成更新。当本发明对于储存于路径距离内存34中的路径距离更新至此时,彷佛是将路径距离内存34中的存储单元沿着对角线的方向互换,也可视为将第一与第二维度的方向作互换。
如图7(3)所示,当本发明的非二维化维特比数据处理系统30需再次更新路径距离内存34时,读出序列会改由一第二维度的方向(如图7中箭头56所示)依序读出存储单元中状态00,01...至07的相对应路径距离,并经由非二维化维特比处理器32以维特比数据译码程序计算,而依次一个个得到状态00,10...至70更新过后的路径距离。如图7(4)所示,写入序列则依序将状态00,10...至70该组更新过后的路径距离写入相同的第二维度的方向(如图7中箭头58所示)的存储单元中。之后,读出模块46会根据该读出序列仍是沿着第二维度的方向依序读出存储单元中状态10,11...至17的相对应的路径距离,暂时存放于循环缓存器38的八个循环缓存单元440-447中,之后经由非二维化维特比处理器32以维特比数据译码程序计算,而依次一个个得到状态01,11...至71更新过后的路径距离,而写入模块48则根据该写入序列,如图7(4)依序将状态01,11...至71更新后的路径距离一个个写回相同的第二维度方向的存储单元中的存储单元中。此一动作会重复进行,直到所有存储单元中的这些路径距离都已完成更新。当本发明对于储存于路径距离内存34中的路径距离更新至此时,彷佛是将路径距离内存34中的存储单元沿着对角线的方向又互换一次,也可视为将第一与第二维度的方向再次作互换,也因此使得图7(4)又回到如同图7(1)的状态,等待下一次再次更新路径距离内存34中的路径距离。
由于路径距离内存34为N列乘N行的矩阵,因此当该第一维度的方向为路径距离内存34的列的方向时,该第二维度的方向则为该路径距离内存的行的方向。反之,当该第一维度的方向为该路径距离内存的行的方向时,该第二维度的方向则为该路径距离内存的列的方向。如同之前已先声明,路径距离内存34中的存储单元实际上不一定呈矩阵方式的排列,在此只是为了本发明解说方便起见,已知内存存取技艺的人士可以利用多维度的寻址方法,将实际上线型排列的存储单元等效转换为观念上N列乘N行的矩阵排列方式。
存取控制器42并包含有一地址产生器50(address generator)以产生出一相对应的存储地址(memory address)。存取控制器42中读出模块46所发出的读出序列会依据地址产生器50所产生的存储地址,自路径距离内存34的相对应存储单元中读出该路径距离。而存取控制器42中写入模块48所发出的写入序列也会依据地址产生器50所产生的存储地址,将维特比数据处理器36所产生的更新过后的路径距离写入至相对应的存储单元中储存。
综上所述,内存存取装置36可以说是依照奇偶交错的方式(odd and evenin an alternative way),反复沿着该第一维度的方向与第二维度的方向,对于路径距离内存34进行读出与写入这些路径距离的动作,以依次更新这些路径距离。藉此,本发明的路径距离内存34中仅需包含与这些状态数目相同的存储单元,而不需要如先前技术要两倍的内存空间来储存路径距离,就可以不断对该组路径距离进行更新。
除此之外,在对于某一特定状态进行路径距离的更新时,读出模块46会读出这一个特定状态的前一个所有可能状态的路径距离,并于循环缓存器38中暂存以供之后加以循环利用。举例而言,当状态00、01~07的原来的路径距离PM(00)、PM(01)~PM(07)被读出并暂存于循环内存38中之时,可用来计算状态00、10~70的新的路径距离PM(00)、PM(10)~PM(70)。例如:以b=0为例,状态00的新的路径距离PM(b0)=PM(00)是由PM0(00)、PM1(00)~PM7(00)共八个值中选最小者为之。PM0(00)是由状态00原来的路径距离PM(00)加上分支距离BM(000)得出的;PM1(00)是由状态01原来的路径距离PM(01)加上分支距离BM(001)得出的,因此路径距离PM(00)就会由最开始的循环缓存单元440移出,由之后的路径距离PM(01)依次向前位移,而路径距离PM(00)就被移至最末端的循环缓存单元447中,以方便非二维化维特比处理器32对于路径距离PM(01)与分支距离BM(001)进行计算;依此类推,PM7(00)是由状态07原来的路径距离PM(07)加上分支距离BM(007)得出的,等到计算PM7(00)之时,路径距离PM(07)已经被位移至最开始的循环缓存单元440,以方便非二维化维特比处理器32对于路径距离PM(07)与分支距离BM(007)进行计算。
完成计算之后,路径距离PM(07)就会由最开始的循环缓存单元440移出,由之后的路径距离PM(00)依次向前位移,而使得路径距离PM(00)、PM(01)~PM(07)在循环缓存器38中完成一次完整的循环。同样地要计算状态10、20~70中每一个状态的新的路径距离PM(10)、PM(20)~PM(70)也都会要用到状态00、01~07的原来的路径距离PM(00)、PM(01)~PM(07),在这段时间之内,路径距离PM(00)、PM(01)~PM(07)是在循环缓存器38中重复被循环利用,因此不需去对于路径距离内存34进行读取数据的动作。直到要开始计算状态01、11~71的更新路径距离PM(01)、PM(11)~PM(71)时,状态10、11~17的原来的路径距离PM(10)、PM(11)~PM(17)就会被读出并暂存于循环内存38中。之后则进行和上述相类似的动作以更新路径距离,并将更新后的路径距离再回存至路径距离内存34之前被读出数据的存储单元中。如图5、图7(1)和图7(2)所示,这样的动作会持续到整个路径距离内存34的存储单元中的路径距离PM(00)、PM(01)~PM(77)都被更新为止。因此,本发明利用循环缓存器38可有效减少读取路径距离内存34的次数。改善已知技术因为采用缓冲存储器,使得每一次计算新的待计算状态时,皆须重新读取路径距离内存,进而造成读取次数过多,拉长系统处理时间等的问题。
在此特别强调一点,本发明存取路径距离内存34的方法不同于已知技术。将本发明的路径距离更新方式运用于8PSK的通信系统为例,本发明每次是先读取01~07等八个可能状态,存于循环缓存器38中。将八个可能状态的路径距离分别加上各自的分枝距离后,选择其中的最小值,即可获得一待计算状态的新的路径距离,而回存至路径距离内存34的存储单元中。当计算完八个可能状态相对应的八个待计算状态(00~07转换为00、10、20...70)后,新的状态相对应的路径距离也都已经沿着先前的读取方向回写至存储单元中,并覆盖掉已计算过的八个可能状态的路径距离。由于这组八个可能状态的路径距离已完成计算,对于更新其它组可能状态的路径距离并无相关,也不会再被系统使用,因此新的状态的路径距离可以直接覆盖掉原来储存于路径距离内存34中相对应存储单元的路径距离,而不需要担心被覆盖掉的路径距离数据就此消失的问题,完全不会影响系统正常的路径距离更新动作。
后续将描述非二维化维特比处理器的操作过程。请参阅图8,图8是图5中非二维化维特比处理器32的示意图。本发明的非二维化维特比处理器32包含一分枝距离计算模块(branch metric calculation module)62、一加总比较选择模块(add-compare-select module,ACS module)64。
分枝距离计算模块62,是根据该维特比数据译码程序,在每次状态转换时,得出某一待计算的该组状态与其前一次可能状态之间的相对应多个分枝距离。以8PSK通信系统为例,00、10、20~70这组共八个待计算状态的前一次可能状态为相对应的00、01、02~07这组共八个状态,其中每一个待计算状态皆需计算八个前一次可能状态的分枝距离。
加总比较选择模块64,则依据公式一将计算得出的这些分枝距离BM(b0a)分别与上述前一次可能状态的相对应路径距离PM(0a)进行加总,以得到多个相对应的路径距离候选值PMa(b0)(candidates of the path metrics)。并对于这些路径距离候选值进行比较,以从中择一选出来对于此一待计算状态的路径距离加以更新。以8PSK通信系统为例,每一个待计算状态计算完八个可能状态的分枝距离后,再加上原本记录于循环缓存器38的可能状态的路径距离,即可获得该待计算状态的八个路径距离候选值,再从其中挑选出最小值作为此待计算状态的新的路径距离。写入模块46可以设计成在每个待计算状态计算完成后即写入路径距离内存34,亦可设计成在八个待计算状态皆计算完成后才一次写入路径距离内存34。由于循环缓存器所暂存的八个前一次可能状态的路径距离可用以计算目前八个待计算状态,因此,读出模块44须待写入模块写入目前八个待计算状态新的路径距离后,才再次发出控制信号令多路复用器取出另一列或另一行的另外八个可能状态(10~17)的路径距离。
接着详述加总比较选择模块内含的组件。如图8所示,加总比较选择模块64包含一加法器(adder)66、一暂时缓存器(temporary buffer)68以及一比较器(comparator)69。
加法器66是用来将分枝距离计算模块62计算得出的可能状态的新的分枝距离BM(b0a)与内存存取装置36所传送来相对应的路径距离PM(0a)进行相加,而得到一相对应该可能状态的路径距离候选值PMa(b0)。暂时缓存器68是包含两种实施可能,一种是用来逐一暂存该待计算状态的所有可能状态的路径距离候选值,另一种是仅储存两个可能状态的路径距离候选值。
而比较器69则用来比较储存于暂时缓存器68的路径距离候选值。相对于不同的暂时缓存器68的设计,比较器69可设计成有新的路径距离候选值产生,即将原本已暂存于暂时缓存器68中的路径距离候选值取出两两相比较,并将其中较小者又储存于暂时缓存器74中。或是比较器69会等待所有路径距离候选值暂存至暂时缓存器38后,再一一比较该待计算状态的所有路径距离候选值,以得到其中最小者而作为该待计算状态的更新的路径距离。
当加总比较选择模块64中的比较器69每完成一次比较时,循环缓存器会被该控制信号触发,而使其中的循环缓存单元所暂存的这些路径距离依序循环位移。此一功能随设计的不同,亦可由加法器66在执行一次计算后即触发该控制信号。
如图5及图8所示,当比较器69一一比较完该待计算状态的所有路径距离候选值时,循环缓存器38中所暂存的这些路径距离会正好完成一次完整的循环位移。而加总比较选择模块64所选择产生出的该更新路径距离会依据地址产生器50所产生的存储地址被写入至相对应的存储单元中储存。加总比较选择模块64并继续对于下一个待计算状态的路径距离加以更新。
由于路径距离内存34包含有一组N列与N行的存储单元,以相对应储存该组状态的路径距离。因此,循环缓存器38中的循环缓存单元440-447每次会暂存某一列或是某一行存储单元中的路径距离。当加总比较选择模块64对于同一列或是同一行的路径距离加以更新时,是使用循环缓存单元440-447中所暂存的相同路径距离来进行计算。当加总比较选择模块64对于同一列或是同一行的路径距离已经全部完成更新时,存取控制器42会发出一新的读出序列,自路径距离内存34的存储单元中读出新一列或是新一行的路径距离至循环缓存器38中的循环缓存单元440-447暂存,以利加总比较选择模块64继续对于这些路径距离进行更新。
综合以上所述,本发明乃藉由简单的内存存取控制,达到了有效节省路径距离内存34的存储容量的目的。接着请参阅图9,图9是本发明非二维化维特比数据处理方法的流程图。本发明的非二维化维特比数据处理方法包含下列步骤:
步骤70:开始。
步骤71:判断为奇次读取或偶次读取,若为奇次读取则进行步骤72;若为偶次读取则进行步骤73。
步骤72:依据一读出序列,读出路径距离内存34中在一第一维度方向上位于第j排(1ine)的所有记录单元所记录的路径距离,其中,j=1-N,至步骤74。
步骤73:依据另一读出序列,读出路径距离内存34中在一第二维度方向上位于第k排的所有记录单元所记录的路径距离,其中,k=1-N,至步骤74。
步骤74:由多路复用器42将该排可能状态的路径距离暂存于循环内存44中。
步骤76:由分枝距离处理器计算第p个可能状态转移至第q个待计算状态的分枝距离。其中,p=1-N,q=1-N。
步骤77:由加法器将第p个可能状态的路径距离与相对应的分枝距离相加而得一路径距离候选值。
步骤78:暂存该路径距离候选值。
步骤79:判断p是否等于N,若是则进行步骤80;若否则令p=p+1并进行步骤76。
步骤80:比较N个路径距离候选值,选择其中的最小值作为第q个待计算状态的新的路径距离。
步骤82:判断q是否等于N,若是则进行步骤84;若否则令q=q+1并再次进行步骤76。
步骤84:根据为奇次或偶次,写入模块依照该第一或第二维度方向将待计算状态的路径距离写入该第j排或第k排存储单元。
步骤85:判断j或k是否等于N,若否则将令j=j+1或令k=k+1后进行步骤72或73;若是则进行步骤86。
步骤86:完成更新,结束。
上述是以完整的路径距离内存来读出与写入各种状态的路径距离,但在实际应用时,常会将内存做分割成多个子内存,以充分利用路径距离内存或是加快更新速度。接着详述本发明的另一具体实施例,请参阅图10,图10是本发明第二具体实施例的非二维化维特比数据处理系统72的示意图。本发明第二具体实施例与前述第一具体实施例最大的不同点在于将路径距离内存分割成为多个子内存。第二具体实施例是将原本第一具体实施例中的路径距离内存34分割为两个子内存,可分别独立进行数据的存取。因此相对的,非二维化维特比数据处理系统72需相对包含有两套类似第一具体实施例中的组件,以便可同时对于两个子内存进行存取的动作。
非二维化维特比数据处理系统72包含有二分枝距离计算模块74、76、二加总比较选择模块78、80、二循环缓存器82、84、二多路复用器86、88、一路径距离内存90以及一存取控制器92。如前所述,路径距离内存90是由两个可同时读出或是同时写入的子内存(sub-memories)94、96所组成。存取控制器92包含一读出模块98、一写入模块99。读出模块98是用来发出该读出序列以自这些子内存的存储单元中读出这些路径距离,并暂存至相对应的循环缓存器中。写入模块99是用来发出该写入序列以将上述二加总比较选择模块78、80所分别产生的这些更新路径距离写回至相对应的存储单元中储存。在此一具体实施例中,循环缓存器82、84各包含八个循环缓存单元,可分别用来暂存自路径距离内存90读出的八个路径距离。
加总比较选择单元78、80则包含加法器(adder)以及一比较器(comparator)。每一个加法器是用来将该分枝距离计算单元计算得出的新的分枝距离与该内存存取装置所传送来相对应的路径距离进行相加,而得到一相对应的路径距离候选值。比较器是用来同时比较所有这些路径距离候选值,并得出其中最小者来作为该待计算状态的更新的路径距离。由于除了读出与写入的流程不同之外,其余组件与第一具体实施例的设计大致相同,因此不再重复描述。
请参阅图11(1)至图11(5),图11(1)至图11(5)是图10中路径距离内存90的写入读取示意图。其中子内存中的存储单元是以8×4的矩阵排列。如图11(1)所示,当本发明的非二维化维特比数据处理系统72开始更新路径距离内存90中的路径距离时,存取控制器92会根据读出序列发出控制信号,并自一第一维度的方向(如图11(1)中箭头861所示)依序读出储存于子内存94中的这些路径距离,储存于循环缓存器82中,并经由该维特比数据译码程序计算以得到一组更新的路径距离。同时存取控制器92会根据读出序列,发出另一控制信号自一第一维度的方向(如图11(1)中箭头881所示)依序读出储存于子内存96中的这些路径距离,储存于循环缓存器84中,并经由该维特比数据译码程序计算以得到一组更新的路径距离。
如图11(2)所示,计算出更新的路径距离后,存取控制器92则根据写入序列,依序将该组更新的路径距离写回该相同的第一维度的方向(如图11(2)中箭头862所示)的子内存94的存储单元中。此一动作会重复进行直到所有子内存94的存储单元中的这些路径距离都已完成更新。同时,存取控制器92亦根据写入序列,依序将该组更新的路径距离写回该相同的第一维度的方向(如图11(2)中箭头882所示)的子内存96的存储单元中。此一动作会重复进行直到所有子内存96的存储单元中的这些路径距离都已完成更新。
如图11(3)所示,当本发明的非二维化维特比数据处理系统72需再次更新路径距离内存90时,存取控制器92会改由一第二维度的方向(如图11(3)中箭头863、883、864、884所示)依序读出子内存94、96中这些存储单元中的这些路径距离。由于子内存在第二维度方向仅有4个存储单元,因此读出需分两段进行以完成八个存储单元的读出。如图11(3)所示,存取控制器92先自子内存94中读出状态01~04的路径距离以供多路复用器86将该组路径距离暂存至循环内存82中,同时自子内存96中读出状态44~47的路径距离,以供多路复用器88将该组路径距离暂存至循环内存84中。如图11(4)所示,接着存取控制器92再自子内存94中读出状态40~43的路径距离以供多路复用器88将该组路径距离暂存至循环缓存器84中,同时自子内存96中读出状态04~07的路径距离以供多路复用器86将该组路径距离暂存至循环内存82中。接着再经由前述的维特比数据译码程序计算以得到两组更新的路径距离。
如图11(5)所示,计算出更新的路径距离后,存取控制器92则依序将该两组更新的路径距离写入该相同的第二维度的方向(如图11(5)中箭头865、885所示)的存储单元中,直到所有存储单元中的这些路径距离都已完成更新。因此,本发明可应用于路径距离内存中分割为多个子记体的变形,然由于变形众多,于此无法一一细述,因此仅以分割为两个子内存的变形加以说明,而不以此为限。
以上所述为本发明的实施环境中应用两个符号缓存器时,本发明详细的实施方式,而本发明的路径距离更新方式也可以应用于三个符号缓存器的实施环境中。由于采用了三个符号缓存器,因此本发明需译码的每一状态是包含三个符号,每一符号则是由3个位来加以编码,因此每一符号包含8个可能的值,共形成(23)3=512个可能状态。
在三个符号组成一个状态的非二维化维特比数据处理系统中,000此一待计算状态的路径距离,应该由000、001、002以及003四个可能状态的路径距离计算而得。而100、200以及300此三个待计算状态的路径距离,亦是由000、001、002以及003四个可能状态的路径距离所计算而得。同理010、011、012以及013四个可能状态可计算出010、110、210以及310四个待计算状态的路径距离,其余状态则以此类推。因此,在以三个符号组成一个状态的非二维化维特比数据处理系统中,只要将本发明的第一具体实施例中各部组件的操作略做改变,亦可具有本发明的优点。
请参阅图12,图12是本发明第三具体实施例的非二维化维特比数据处理系统100的示意图。本发明第三具体实施例的非二维化维特比数据处理系统100,包含有一非二维化维特比处理器102、一路径距离内存104以及一内存存取装置106。
本发明第三具体实施例与第一具体实施例各部组件作用大致相同,主要差别在于由于是每一个状态由三个符号所组成,因此为了方便说明起见,将路径距离内存104的结构以立体的方式加以表示,相对的内存存取装置106则需以三个维度的方向来读取或写入每一状态的路径距离于路径距离内存104中。
请参阅图13,图13是图12中路径距离内存104的示意图。路径距离内存104包含有与这些状态数目相同的多个存储单元,图13中所示是以每个状态包含三个符号,而每个符号以二位的分辨率加以编码时(即共有(22)3个状态,共需64个储存单元)的路径距离内存104的配置示意图。这些存储单元亦由上述不同维度的符号的组合来加以表示,用以相对应储存这些状态的路径距离。如图13所示,存储单元「000」,是表示此一存储单元用以储存状态「000」的路径距离,其余以此类推。
本发明是利用内存存取装置106以方便快速地存取路径距离内存104。如图11所示,本发明的内存存取装置106包含一循环缓存器(circularbuffer)108、一多路复用器(multiplexer)110以及一存取控制器(accesscontroller)112。其中循环缓存器与多路复用器的功能与前述本发明第一具体实施例相同,因此不再赘述。但由于每一状态具有三个符号,因此存取控制器112需应用三维度的寻址方式依序读取或写入各个状态的路径距离于路径距离内存中。
如图12所示,存取控制器112包含一读出模块116与一写入模块118。请同时参阅图14(1)至图14(6),图14(1)至图14(6)是图12中路径距离内存104的写入读取示意图。如图14(1)所示,当本发明的非二维化维特比数据处理系统100开始更新路径距离内存104中的路径距离时,读出模块116会根据该读出序列,发出控制信号自一第一维度方向(如图14中箭头142所示的X方向)依序读出储存于这些存储单元中的这些路径距离,并经由该维特比数据译码程序计算以得到一组更新的路径距离。如图14(2)所示,写入模块118则根据该写入序列,依序将该组更新的路径距离写回该相同的第一维度的方向(如图14中箭头144所示的X方向)的存储单元中。此一动作会重复进行直到所有存储单元中的这些路径距离都已完成更新。
如图14(3)所示,当本发明的非二维化维特比数据处理系统100需再次更新路径距离内存104时,读出序列114会改由一第二维度的方向(如图14(3)中箭头146所示的Y方向)依序读出这些存储单元中的这些路径距离,并经由该维特比数据译码程序计算以得到一组更新的路径距离。如图14(4)所示,写入序列116则依序将该组更新的路径距离写入该相同的第二维度的方向(如图14(4)中箭头148所示的Y方向)的存储单元中,直到所有存储单元中的这些路径距离都已完成更新。
如图14(5)所示,当本发明的非二维化维特比数据处理系统100需再次更新路径距离内存104时,读出序列114会改由一第三维度的方向(如图14(3)中箭头152所示的Z方向)依序读出这些存储单元中的这些路径距离,并经由该维特比数据译码程序计算以得到一组更新的路径距离。如图14(6)所示,写入序列116则依序将该组更新的路径距离写入该相同的第三维度的方向(如图14(6)中箭头154所示的Z方向)的存储单元中,直到所有存储单元中的这些路径距离都已完成更新。
由于路径距离内存104为Nx×Ny×Nz行的方阵,因此当该第一维度的方向为路径距离内存104的x方向时,该第二维度的方向则为该路径距离内存的y方向,该第三维度的方向则为该路径距离内存的z方向。反之,当该第一维度的方向为路径距离内存104的y方向时,该第二维度的方向则为该路径距离内存的z方向,该第三维度的方向则为该路径距离内存的x方向,以此类推。
存取控制器112并包含有一地址产生器120(address generator)以产生出一相对应的存储地址(memory address)。存取控制器112中读出模块116所发出的读出序列会依据地址产生器120所产生的存储地址,自路径距离内存的相对应存储单元中读出该路径距离。而存取控制器112中写入模块118所发出的写入序列会依据地址产生器120所产生的存储地址,将非二维化维特比数据处理器102所产生的该更新路径距离写入到相对应的存储单元中储存。
综上所述,本发明第三具体实施例的内存存取装置116会依照每三次循环的方式,反复沿着该第一维度、第二维度与第三维度的方向,对于路径距离内存34进行读出与写入这些路径距离的动作,以依次更新这些路径距离。藉此,本发明的路径距离内存104中仅需包含与这些状态数目相同的存储单元,即可完成该组路径距离的更新。
本发明第三具体实施例的系统中各部组件,与本发明第一具体实施例的功用大致相同,其差别在概念上可以理解为由原先平面xy轴的存取方式,改为立体的xyz三方向的存取方式,因此相对应的组件即不在此赘述。
本发明可使得路径内存的储存容量仅需与所有状态的数量一致,而已知技术则必须扩充路径距离内存的储存容量以储存所有的计算结果,因此本发明可有效降低路径距离内存所需的储存容量。另外本发明应用循环缓存器以循环暂存所有可能状态的路径距离,和已知技术相较,亦有效的减少存取路径距离内存的次数。
藉由以上较佳具体实施例的详述,是希望能更加清楚描述本发明的特征与精神,而并非以上述所揭露的较佳具体实施例来对本发明的范畴加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的安排于本发明所欲申请的专利范围的范畴内。

Claims (20)

1.一种非二维化维特比数据处理系统,包含有:
一非二维化维特比处理器,以根据一预定的维特比数据译码过程,来得出一组多个状态的路径距离,在每次状态转换时,计算每一该组状态的多个分枝距离,并据以更新每一该组状态相对应的路径距离,该组多个状态是由包括至少两个符号的组合来加以编码而获得;
一路径距离内存,包含有与这些状态数目相同的多个存储单元,这些存储单元亦由上述不同符号的组合来加以表示,用以相对应储存这些状态的路径距离;以及
一内存存取装置,以依据一可编程的存取控制序列,自该路径距离内存中读取这些路径距离,以供该非二维化维特比处理器进行计算,以及将经过更新的这些路径距离回存至该路径距离内存中,而该可编程存取控制序列包含一读出序列与一写入序列;
其中,该读出序列会先依据一第一维度的方向依序读出这些存储单元中的这些路径距离,并经由该维特比数据译码过程计算以得到一组更新的路径距离,该写入序列则依序将该组更新的路径距离写回该相同的第一维度的方向的存储单元中,直到所有存储单元中的这些路径距离都已完成更新;接着,该读出序列会改由一第二维度的方向依序读出这些存储单元中的这些路径距离,并经由该维特比数据译码过程计算以得到一组更新的路径距离,该写入序列则依序将该组更新的路径距离写入该相同的第二维度的方向的存储单元中,直到所有存储单元中的这些路径距离都已完成更新;藉此,该路径距离内存中仅需包含与这些状态数目相同的存储单元,即可完成该组路径距离的更新。
2.如权利要求1所述的数据处理系统,其中,该内存存取装置会依照奇偶交错的方式,反复沿着该第一维度的方向与第二维度的方向,对于该路径距离内存进行读出与写入这些路径距离的动作,以依次更新这些路径距离。
3.如权利要求1所述的数据处理系统,其中,该组多个状态是由两个符号来加以编码,每一个符号则是由i个位来加以编码,因此包含2i个可能的值,其中,i为正整数。
4.如权利要求3所述的数据处理系统,其中,该非二维化维特比数据处理系统是使用于一个八相移相键控通信系统中,以用来将一连串接收到的符号加以译码,每一接收到的符号是由3个位来加以编码,因此包含8个可能的值,该八相移相键控通信系统并包含有两个符号缓存器以暂存两个最新接受到的符号,该两个符号共包含64种可能的值,以代表该组共64个可能状态,该非二维化维特比数据处理系统即是根据该维特比数据译码过程,来计算每一可能状态的路径距离,以于后续判断出该串所接收到符号最可能的相对应值为何。
5.如权利要求4所述的数据处理系统,其中,当该八相移相键控通信系统新接收到一个符号时,就会进行一次状态转换,而该两个符号缓存器会弃置较早接收的符号,以暂存最新接受到的符号。
6.如权利要求1所述的数据处理系统,其中,该路径距离内存则包含有一组N列与N行的存储单元,以相对应储存该组状态路径距离;当该第一维度的方向为该路径距离内存的列的方向时,该第二维度的方向则为该路径距离内存的行的方向;反之,当该第一维度的方向为该路径距离内存的行的方向时,该第二维度的方向则为该路径距离内存的列的方向,其中,N为正整数。
7.如权利要求1所述的数据处理系统,其中,该非二维化维特比处理器包含:
至少一分枝距离计算模块,根据该维特比数据译码过程,在每次状态转换时,得出某一待计算的该组状态与其前一次可能状态之间的相对应多个分枝距离;以及
至少一加总比较选择模块,将计算得出的这些分枝距离分别与上述前一次可能状态的相对应路径距离进行加总,以得到多个相对应的路径距离候选值,并对于这些路径距离候选值进行比较,以从中择一选出来对于此一待计算状态的路径距离加以更新。
8.如权利要求7所述的数据处理系统,其中,该加总比较选择模块包含:
一暂时缓存器,用来暂存一第一路径距离候选值;
一加法器,用来将该分枝距离计算模块计算得出的新的分枝距离与该内存存取装置所传送来相对应的路径距离进行相加,而得到一第二路径距离候选值;以及
一比较器,用来比较该第一路径距离候选值以及该第二路径距离候选值,并将两者中较小者储存于该暂时缓存器中,而成为更新的第一路径距离候选值,并暂存于该暂时缓存器中;
其中,该比较器会一一比较该待计算状态的所有路径距离候选值,以得到其中最小者而作为该待计算状态的更新的路径距离。
9.如权利要求8所述的数据处理系统,其中,该内存存取装置包含:
至少一循环缓存器,包含有多个依序排列的循环缓存单元,以可循环存取的方式来暂存该待计算状态的前一次所有可能状态的相对应路径距离;
至少一多路复用器,可接受来自该路径距离内存的存储单元以及该循环缓存器的循环缓存单元的输入,并依据一控制信号从上述两者中择一选取其中的路径距离储存至该循环缓存器的循环缓存单元中;以及
一存取控制器,用以发出该控制信号来控制该多路复用器以及该循环缓存器,发出该读出序列自该路径距离内存的存储单元中读出这些路径距离至该循环缓存器中暂存,并且发出该写入序列以将该加总比较选择模块所产生的该更新路径距离写入至原来的存储单元中储存。
10.如权利要求9所述的数据处理系统,其中,该存取控制器并包含有一地址产生器以产生出一相对应的存储地址,该存取控制器所发出的读出序列会依据该地址产生器所产生的存储地址,自该路径距离内存的相对应存储单元中读出该路径距离,而该存取控制器所发出的写入序列会依据该地址产生器所产生的存储地址,将该加总比较选择模块所产生的该更新路径距离写入至相对应的存储单元中储存。
11.如权利要求9所述的数据处理系统,其中,当该加总比较选择模块中的比较器每完成一次比较时,该循环缓存器会被该控制信号触发,而使其中的循环缓存单元所暂存的这些路径距离依序循环位移。
12.如权利要求11所述的数据处理系统,其中,当该比较器一一比较完该待计算状态的所有路径距离候选值时,该循环缓存器中所暂存的这些路径距离会正好完成一次完整的循环位移,而该加总比较选择模块所选择产生出的该更新路径距离会依据该地址产生器所产生的存储地址被写入至相对应的存储单元中储存,而该加总比较选择模块并继续对于下一个待计算状态的路径距离加以更新。
13.如权利要求12所述的数据处理系统,其中,该路径距离内存包含有一组N列与N行的存储单元,以相对应储存该组状态的路径距离,该循环缓存器中的循环缓存单元每次会暂存某一列或是某一行存储单元中的路径距离;当该加总比较选择模块对于同一列或是同一行的路径距离加以更新时,是使用这些循环缓存单元中所暂存的相同路径距离来进行计算;当该加总比较选择模块对于同一列或是同一行的路径距离已经全部完成更新时,该存取控制器会发出一新的读出序列,自该路径距离内存的存储单元中读出新一列或是新一行的路径距离至该循环缓存器中的循环缓存单元暂存,以利该加总比较选择模块继续对于这些路径距离进行更新。
14.如权利要求9所述的数据处理系统,其中,该数据处理系统包含有二分枝距离计算模块、二加总比较选择模块、二循环缓存器与二多路复用器,该路径距离内存是由多个可同时读出或是同时写入的子内存所组成,该存取控制器另包含:
一内存读出选择单元,用来发出该读出序列以自这些子内存的存储单元中读出这些路径距离,并暂存至相对应的循环缓存器中;以及
一内存写入选择单元,用来发出该写入序列以将上述二加总比较选择模块所分别产生的这些更新路径距离写入至相对应的存储单元中储存。
15.如权利要求7所述的数据处理系统,其中,该加总比较选择单元包含:
多个加法器,每一个加法器是用来将该分枝距离计算单元计算得出的新的分枝距离与该内存存取装置所传送来相对应的路径距离进行相加,而得到一相对应的路径距离候选值;以及
一比较器,用来同时比较所有这些路径距离候选值,并得出其中最小者来作为该待计算状态的更新的路径距离。
16.如权利要求1所述的数据处理系统,其中,该组多个状态是由三个符号来加以编码,每一个符号则是由i个位来加以编码,包含2i个可能的值,因此共形成(2i)3个可能状态,其中,i是正整数;以及其中该读取序列在进行完该第一维度方向以及该第二维度方向的读取动作,且该写入序列亦进行完该该第一维度方向以及该第二维度方向的写入动作,该读取序列将依照一第三维度方向依序读出这些存储单元中的这些路径距离,并经由该维特比数据译码过程计算以得到一组更新的路径距离,该写入序列则依序将该组更新的路径距离写回该相同的第三维度的方向的存储单元中,直到所有存储单元中的这些路径距离都已完成更新。
17.一种非二维化维特比数据处理方法,以利用一维特比数据译码过程,来得出一组多个状态的路径距离,在每次状态转换时,计算每一该组状态的多个分枝距离,并据以更新每一该组状态相对应的路径距离,该组多个状态是由包括至少两个符号的组合来加以编码而获得,该数据处理方法包含:
利用一路径距离内存来储存这些路径距离,该路径距离内存包含有与这些状态数目相同的多个存储单元,这些存储单元亦由上述不同维度的符号的组合来加以表示,用以在每次状态转换时相对应储存所计算出这些状态的路径距离;以及
依据一可编程的存取控制序列,自该路径距离内存中读取这些路径距离,以经由该维特比数据译码过程进行计算,并将经过更新的这些路径距离回存至该路径距离内存中,而该可程控存取控制序列包含一读出序列与一写入序列;
其中,该读出序列会先依据一第一维度的方向依序读出这些存储单元中的这些路径距离,并经由该维特比数据译码过程计算以得到一组更新的路径距离,该写入序列则依序将该组更新的路径距离写回该相同的第一维度的方向的存储单元中,直到所有存储单元中的这些路径距离都已完成更新;接着,该读出序列会改由一第二维度的方向依序读出这些存储单元中的这些路径距离,并经由该维特比数据译码过程计算以得到一组更新的路径距离,该写入序列则依序将该组更新的路径距离写入该相同的第二维度的方向的存储单元中,直到所有存储单元中的这些路径距离都已完成更新;藉此,该路径距离内存中仅需包含与这些状态数目相同的存储单元,即可完成该组路径距离的更新。
18.如权利要求17所述的数据处理方法,其中,该数据处理方法是依照奇偶交错的方式,反复沿着该第一维度的方向与第二维度的方向,对于该路径距离内存进行读出与写入这些路径距离的动作,以依次更新这些路径距离。
19.如权利要求17所述的数据处理方法,其中,该组多个状态是由两个符号来加以编码,每一个符号则是由3个位来加以编码,包含8个可能的值,因此共形成64个可能状态。
20.如权利要求17所述的数据处理方法,其中,该组多个状态是由三个符号来加以编码,每一个符号则是由i个位来加以编码,包含2i个可能的值,因此共形成(2i)3个可能状态,其中,i是正整数;以及其中该读取序列在进行完该第一维度方向以及该第二维度方向的读取动作,且该写入序列亦进行完该该第一维度方向以及该第二维度方向的写入动作,该读取序列将依照一第三维度方向依序读出这些存储单元中的这些路径距离,并经由该维特比数据译码过程计算以得到一组更新的路径距离,该写入序列则依序将该组更新的路径距离写回该相同的第三维度的方向的存储单元中,直到所有存储单元中的这些路径距离都已完成更新。
CNB2003101180766A 2003-11-20 2003-11-20 非二维化维特比数据处理系统与方法 Expired - Fee Related CN100521552C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2003101180766A CN100521552C (zh) 2003-11-20 2003-11-20 非二维化维特比数据处理系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2003101180766A CN100521552C (zh) 2003-11-20 2003-11-20 非二维化维特比数据处理系统与方法

Publications (2)

Publication Number Publication Date
CN1619968A CN1619968A (zh) 2005-05-25
CN100521552C true CN100521552C (zh) 2009-07-29

Family

ID=34761057

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101180766A Expired - Fee Related CN100521552C (zh) 2003-11-20 2003-11-20 非二维化维特比数据处理系统与方法

Country Status (1)

Country Link
CN (1) CN100521552C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113345050B (zh) * 2021-08-09 2021-10-29 杭州安恒信息技术股份有限公司 一种修改二维几何边框方法及相关装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6504881B1 (en) * 1998-03-02 2003-01-07 Samsung Electronics Co., Ltd. Viterbi decoder with enhanced test function

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6504881B1 (en) * 1998-03-02 2003-01-07 Samsung Electronics Co., Ltd. Viterbi decoder with enhanced test function

Also Published As

Publication number Publication date
CN1619968A (zh) 2005-05-25

Similar Documents

Publication Publication Date Title
US5946361A (en) Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation
CN110321162B (zh) 基于粗粒度可重构计算单元的present加密算法实现方法及系统
US5465275A (en) Efficient utilization of present state/next state registers
CN105912501B (zh) 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统
KR100426712B1 (ko) 비터비 복호기
US9250996B2 (en) Multicore type error correction processing system and error correction processing apparatus
US20070180352A1 (en) Memory system and method for use in trellis-based decoding
CN102176750B (zh) 高性能自适应二进制算术编码器
US7895417B2 (en) Select-and-insert instruction within data processing systems
JPH10107651A (ja) ビタビ復号装置
CN110059493B (zh) 基于粗粒度可重构计算单元的skinny-128-128加密算法实现方法及系统
US5619514A (en) In-place present state/next state registers
CN101207467B (zh) 循环冗余校验码的生成和数据序列发送、校验方法及装置
CN106021171A (zh) 一种基于大规模粗粒度可重构处理器的sm4-128的密钥扩展实现方法及系统
CN100521552C (zh) 非二维化维特比数据处理系统与方法
JP2003530753A (ja) 高速acsビタビデコーダの実行のためにメモリ内の状態の距離を効率的に読出して記憶するための方法および装置
CN114780151A (zh) 一种基于归并排序算法实现可变规模数量的数据排序系统
CN1787386A (zh) 一种维特比译码器路径度量存储的方法
US6622283B1 (en) Digital signal processor decoding of convolutionally encoded symbols
US20050094749A1 (en) Non-binary viterbi data processing system and method
JP4086481B2 (ja) 算術復号化方法及び装置並びに記憶媒体
Jarvinen et al. Systematic approach for path metric access in Viterbi decoders
CN112242851B (zh) 一种ldpc码的分层译码中迭代数据处理方法及译码器系统
CN115841141A (zh) 一种针对神经网络的卷积存储方法
JP2904271B2 (ja) ビタビ復号器用パスメモリユニットおよび復号方法

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090729

Termination date: 20161120