检测信息帧的端点的装置和方法

文档序号:7610637阅读:219来源:国知局
专利名称:检测信息帧的端点的装置和方法
技术领域
本发明涉及一种用于检测信息帧的端点的装置和方法。
背景技术
通信通常包括在媒介上传送电磁符号序列,诸如但不限制于无线媒介。在传送期间,该序列可能被破坏。现代的发射机和接收机应用各种措施来克服所述破坏,并提供“强壮耐用”(robust)的通信链路。
发射机通常接收输入信息序列,并通过前向纠错设备,诸如卷积编码器,来编码该信息序列。卷积编码器生成解码的信息序列,该编码信息序列包括输入信息信号以及冗余信号。该编码的信息序列可以进一步以各种方式被处理,并在媒介上被发送之前还可被调制。
Ammer等的美国专利申请2004/0091067,名称为“System andmethod for one-pass blind transport format detection”,其被包括在这里以资参考,它提供了现代宽带码分多址(WCDMA)发射机和现代WCDMA发射机所采用的各种处理阶段的简单描述。
接收机通常解调所接收的信号并处理它们,以重建输入信息信号序列。接收过程通常包括维特比(Viterbi)解码。
维特比解码是本领域公知的。下面的美国专利和专利申请都被包括在这里以资参考,它们提供了现有技术维特比解码器和维特比解码方法的例子Coombs发明的名称为“Method and apparatus forimplementing a single cycle operation in a data processing system”的美国专利申请2003/0028844;Hansquine发明的名称为“method and apparatusfor efficiently reading and storing state metrics in memory for high-speedACS Viterbi decoder implementation”的美国专利6575864;Muck等发明的名称为“Viterbi decoder,method and unit therefore”的美国专利申请2002/0126776;Yu等发明的名称为“Apparatus and method forcomputing the result of a Viterbi equation in a single cycle”的美国专利5987638。
典型地,接收机需要预先知晓接收的信息序列(也称为信息帧、信息块)的长度。所述知晓可以提高接收机的性能,在某些情况下甚至可以是关键的。
某些通信协议、标准和方法使用可变长度的信息帧。例如,第三代合作伙伴项目(3GPPTM)定义了一种使用可变大小帧(也称为通信信道)的通信协议。
更具体地,该标准定义了多种操作模式,并为每种模式定义了三种可能的通信信道大小(类别A、类别B和类别C)。多篇文献中定义了该协议,包括技术规范3GPP TS 25.212 V6.0.0,它被包括在此以资参考。
发射机可以向接收机发送表示所发送的信息帧的大小的尺寸信息。另一方面,接收机可以自己确定接收的信息帧的大小。一种公知的确定信息分组长度的方法是盲传输前向检测。该算法在3GPP TS25.212 V6.0.0的附件A中被描述,它被包括在此以资参考。
简言之,盲传输前向检测(BFTD)算法(或序列)包括应用前向网格处理(也称为维特比解码或前馈处理)、由S(nend)表示的变量的复杂计算、以及将该变量与一个预定的门限D相比较。如果S(nend)等于D或小于D,则通过执行维特比回溯过程并在回溯过程的结果上应用循环冗余校验(CRC)来继续该算法。
信息帧的大小(或者信息帧末端的位置)可以通过从一组已知的可能端点中选择出一个端点来确定。如果不止一个可能的端点通过了CRC测试,并且它的S(nend)小于D,那么该算法选择与最小的S(nend)相关联的端点。要说明的是,接收机可以确定接收失败。
在数学式S(nend)=-10Log((a0(nend)-amin(nend))/(amax(nend)-amin(nend))中,其中a0(nend)是对应于第nend个可能的端点的网格级在零状态时的路径度量值,amin(nend)和amax(nend)是该网格级的所有幸存路径中的最小和最大路径度量值。在典型的网格图中,每个网格级包括2T-1个状态,其中T是该卷积编码器的长度。在标准3GPP TS 25.212V6.0.0中T等于九。这样,对最小和最大幸存路径的搜索就很长。
Ammer等的美国专利申请2004/0091067中建议计算门限T(nend),并将其与零比较,来代替计算S(nend)并将其与D比较。T(nend)=10D/10*((amax(nend)-amin(nend))-((a0(nend)-amin(nend))。
图1例示了信息帧10,九个可能的端点11-19,以及网格图20的一部分,该网格图20对应于该信息帧10。信息帧10包括有效载荷、CRC比特和空比特(零比特序列)。网格图20包括多个网格级,其中九个网格级关联于九个可能的端点。九个网格级的每一个与范围是从一到九的nend值相关联。
图2例示了盲传输前向检测算法的现有方法30,它出现在所述的3GPP TS 25.212 V6.0.0的附录A中。
方法30以将nend设定为1(从第一个可能的端点开始),将另一个变量nend’设定为零,并将Smin设定为D的阶段32开始。
阶段32之后接着是阶段34,执行从起点到对应于第nend’个可能的端点的网格级的维特比解码(也称为前向网格处理或网格前馈处理)。
阶段34之后接着是阶段36,计算S(nend)。
阶段36之后接着是查询阶段38,确定S(nend)是否大于D。如果D>=S(nend),那么查询阶段38接着是阶段40,执行从第nend’个可能端点的回溯过程,以提供第nend’个假设的网格路径。如果D<S(nend),那么阶段38接着是查询阶段50。
阶段40接着是阶段42,计算用于第nend’个假设的网格路径的CRC奇偶校验位。
阶段42接着是阶段44,校验CRC是通过还是失败,如果CRC失败,查询阶段44接着是查询阶段50。如果CRC通过,那么查询阶段44接着是阶段46,比较S(nend)与Smin。
如果S(nend)<Smin,那么查询阶段46接着是阶段48,将Smin设定为S(nend),并将nend’设定为nend。否则查询阶段46接着是查询阶段50。阶段48接着是查询阶段50。
查询阶段50包括检查阶段34-48是否被应用到所有可能的端点(“nend是最大值?”)。
如果答案是否定的,那么查询阶段50接着是阶段52,增加nend并跳到阶段34。
如果所有可能的端点都被校验了,查询阶段50接着是阶段54,提供与nend’相关联的端点作为所选的帧端点。如果nend’的值是零,说明接收的帧错误。
需要提供一种有效的方法和装置来定位信息帧的末端。

发明内容
一种用于定位信息帧末端的方法和装置,如附加的权利要求所描述的。


通过下面结合附图进行的详细描述,会更全面地理解本发明,其中图1例示了信息帧、九个可能的帧端点以及对应于该信息帧的部分网格图;图2例示了盲传输前向检测算法的现有技术方法;图3例示了根据本发明实施例的检测信息帧末端的装置;图4例示了根据本发明实施例的维特比协处理器;以及图5-6是根据本发明多种实施例的执行盲传输格式检测的方法流程图。
具体实施例方式
发明人将该检测信息块末端的方法应用于MSC8126芯片中,它包括四个StarCore 140TM核,可以被选择性地连接到一个维特比协处理器,以应用各种算法,诸如前馈解码、前馈信道均衡、回溯、BFTD等。要说明的是提供的方法和设备不限于所述配置。
发明人通过提供类别A和类别B的信息分组给VCOP模块,来测试本专利申请的主题的方法的效率。CRC计算需要大约950个时钟周期,而S(nend)的计算需要大约10,000个时钟周期。提供了17个假设的网格路径,仅有两个通过了CRC测试。该方法需要大约35,000个时钟周期。现有方法的设备需要大约165,000个时钟周期。要进一步说明的是,建议方法的时钟周期量还可以通过并行地执行各种处理(诸如回溯和CRC校验,或者甚至S(nend)计算)进一步减少。
要进一步说明的是,本发明的各个阶段可以由一个或多个处理器来执行。其中处理器是能够处理信息的设备。处理器可以执行软件,但这不是必须的,因为纯硬件部件也能够执行信息处理操作。要进一步说明的是,如果在所述方法的执行中涉及了不止一个处理器,那么这些处理器可以彼此独立、相距一定距离等等。
图3例示了根据本发明实施例的检测信息帧的末端的设备100。
设备100包括数字信号处理器(DSP)110、维特比协处理器(VCOP)120和存储单元130。
DSP 110可以配置该VCOP 120,并且VCOP 120可以向DSP 110生成中断请求。两个处理器110和120都可以访问存储单元130。
设备100通常包括在接收机中,诸如接收机99,该接收机99还包括其它部件,例如但不限于,天线、RF接口、下变频器等等。接收机可以位于基站内,但这不是必须的。为了简化解释,其它部件没有例示。
图4例示了根据本发明实施例的VCOP 120。
VCOP 120包括输出接口142、踪迹引擎144、网格历史存储器146、控制器148、编程模块170、路径度量计算器150、第一和第二网格级存储器160和162以及复用器154、156和164。
编程模块170包括多个寄存器,诸如VCNT寄存器171、VOBAR寄存器172、VISBAR寄存器173、VISRA寄存器174、VAADAR寄存器175、VCONFR寄存器176和VSTR寄存器177。
VCNT寄存器171存储维特比解码器回溯模式指示和回溯起始网格级指示。VOBAR寄存器172存储在存储单元130中的地址,该存储单元130存储了在回溯过程期间或者为了转储网格历史存储器146的解码比特。VISBAR寄存器173存储了在维特比解码过程和BFTD过程期间要处理的输入符号的地址。
VISRA、VISRB和VISRC寄存器177-179存储了可能的端点-网格级,其中网格级存储器160(或164)中存储的路径度量被转储到存储单元130。VAADAR寄存器175保持存储单元130中的地址,可能端点的路径度量被转储到该地址。
VCONFR寄存器176存储控制比特,诸如路径度量控制字段、前馈控制比特、历史转储控制字段、回溯控制字段、速率控制比特、可能端点比特量、历史转储中断使能比特、前馈中断使能比特、路径度量转储中断使能比特,等等。VSTR寄存器174包括状态比特,其指示VCOP的状态,诸如哪些过程已经完成(诸如网格历史转储、路径度量填充、路径度量清除和前馈)。
控制器148根据编程模块170中存储的控制信息控制VCOP 120的各个部件的操作。
路径度量计算器150执行前向馈送过程,以提供幸存路径。前向馈送过程包括使用第一和第二网格级存储器160和162来执行多个蝶式或相加比较选择(ACS)操作,这两个网格级存储器被交替用作当前网格级存储器和下一个网格级存储器。所述交替是通过控制复用器154、156和164来实现的,它们连接到第一和第二网格级存储器160和162的输入和输出。
在前馈过程中,幸存路径被存储在网格历史存储器146中。方便地,每个状态与一个标记相关联,该标记反映了导致该网格状态的两个路径的哪一个是幸存路径。方便地,可能端点的路径度量被转储到存储单元130。
踪迹引擎14能够通过从网格历史存储器146中读取上述的标记重建假设的网格路径。踪迹引擎能够通过输出接口142输出该假设的网格路径到其它部件,诸如存储单元130。
一旦VCOP 120终止了前馈过程并且一旦VCOP 120终止了回溯过程,其能够向DSP 110生成中断请求。它还能够在每次转储路径度量时生成中断请求。
根据本发明的一个实施例,VCOP 120和DSP 110协作执行BFTD过程。方便地,VCOP 120执行前馈过程,例如在网格帧的起点开始,并在最后的可能端点19处结束。在该前馈过程中,网格历史存储器146存储幸存路径,并且每个可能端点11-19的路径度量被转储到存储单元130。
一旦前馈过程结束,VCOP 120开始从一个可能的端点开始回溯过程。一旦该VCOP 120结束重建假设的网格路径(基于网格历史存储器146中存储的网格历史),它发出一个中断,并且DSP 110计算CRC校验位并确定是否通过了CRC。如果CRC通过了,DSP 110计算错误检测变量,诸如S(nend)或T(nend)。当DSP 110执行这些操作时,VCOP120可以执行在另一个可能端点开始的回溯过程。
BFTD过程可以通过并行操作DSP 110和VCOP 120来被加速。
参见图1的信息帧,示例性的BFTD过程将包括前馈过程,由整个信息块的VCOP 120执行,直到最后一个可能的端点19。该前馈过程之后接着是一系列回溯过程(从不同的可能端点开始),它们被并行执行到CRC校验。只有通过了CRC校验,DSP 110才计算错误检测变量,诸如S(nend)或T(nend)。
图5是根据本发明的实施例,用于定位接收帧末端的方法200的流程图。
方法200在阶段202开始,设定nend为1(从第一个可能的端点开始),设定另一个变量nend”为0,并设定Smin为D。
阶段202接着是阶段204,从一个起点到最后的可能端点执行维特比解码。
阶段204接着是阶段206,从第nend个可能的端点开始执行回溯过程,以提供假设的网格路径。
阶段206接着是阶段208,执行前向检测操作,诸如为假设的网格路径计算CRC校验位。
阶段208接着是查询阶段210,检查是否通过了前向检测操作,诸如CRC。如果前向检测操作失败,查询阶段210接着是查询阶段220。如果前向检测操作通过了,阶段210接着是阶段212,计算错误检测变量。方便地,该变量是S(nend)或者甚至是T(nend),但这不是必须的。为了简化解释,假定S(nend)被计算。要说明的是,前向检测校验的计算比错误检测变量的计算更快,并且通常快很多。
阶段212接着是查询阶段214,确定S(nend)是否大于D。如果D<S(nend),查询阶段214接着是查询阶段220。如果D>=S(nend),查询阶段214接着是阶段216,比较S(nend)与Smin。
如果S(nend)<Smin,那么查询阶段216接着是阶段218,将Smin设定为S(nend),并将nend”设定为nend。否则(S(nend)>=Smin)查询阶段216接着是查询阶段220。阶段218接着是查询阶段220。
查询阶段220包括检查是否阶段204-218被应用到所有可能的端点(“nend是最大值?”)。
如果答案是否定的,那么查询阶段220接着是阶段222,增加nend并跳到阶段206。如果所有可能的端点都被校验了,查询阶段220接着是阶段224,提供与nend”相关联的端点作为所选的帧端点。如果nend”的值是0,说明接收的帧错误。
根据本发明的一个实施例,方法200至少由第一和第二处理器来执行,诸如但不限制于DSP 110和VCOP 120,但这不是必须的。
根据本发明的实施例,第一和第二处理器至少部分地并行操作。方便地,当第一处理器执行关于特定可能端点的特定阶段时,另一个处理器执行关于另一个可能端点的方法200的其它阶段。
根据本发明的实施例,阶段240的维特比解码可以包括每次处理帧的一部分。从而,一旦当前帧部分被处理,则特定信息(诸如路径度量、网格历史)被存储或转储,并且另一个帧部分被处理。要进一步说明的是维特比解码可以应用于在特定点结束的帧部分上(诸如但不限制于可能的端点),并且只有对于假设的网格路径的回溯会话和/或重建需要进一步解码时,维特比解码才继续。
图6是根据本发明的实施例,用于定位接收帧末端的方法300的流程图。
方法300从提供假设的在不同的可能端点结束的网格路径的阶段310开始。方便地,阶段310包括接收信息帧并执行至少一个前馈过程,该过程在预定义的起始网格级开始,并可以在一个可能的结束点结束。
方便地,前馈过程被执行,直到它处理了对应于一组可能端点组中的最后一个可能端点的网格级为止。方便地,对应于可能端点的网格级的路径度量被存储。根据本发明的实施例,反映幸存路径的信息也被存储。
参见图3和图4中所示的例子,阶段310由VCOP 120执行,对应于可能端点的网格级的路径度量被发送到存储单元130,反映幸存路径的信息被存储在网格历史存储器146中。
根据本发明的实施例,前向馈送过程的端点可以是最后的可能端点19、接着所述最后可能端点29的点或者在最后可能端点19之前的点。
方便地,前向馈送过程接着是从特定的可能端点执行回溯过程,以提供假设的网格路径。在阶段214的第一次重复期间,回溯过程可以从第一个可能端点开始,但这不是必须的,因而选择的可能端点的顺序是不重要的。
方便地,阶段310包括阶段204的至少一次重复和阶段206的多次重复。
阶段310接着是阶段320,为每个假设的网格路径执行前向检测校验,诸如CRC校验。通常,阶段320包括阶段208的多次重复。参见图3所示的例子,CRC计算可以由DSP 110来执行。
根据本发明的一个实施例,当VCOP 120执行特定假设的网格帧的回溯过程时,DSP 120执行对之前提供的假设网格路径的CRC校验。
阶段320接着是阶段330,为通过前向检测(诸如CRC)校验的假设网格路径计算错误检测变量,诸如S(nend)或T(nend)。前向检测校验的计算比错误检测变量的计算快,并且通常快很多。
根据本发明的实施例,当VCOP 120执行特定假设网格帧的回溯过程时,DSP 120还可以计算错误检测变量。
方便地,阶段330包括处理过程的多次重复,包括阶段210和212。要说明的是如果CRC校验失败,则不计算上述变量。
阶段330接着是阶段340,响应于上述计算,确定接收帧的端点。方便地,阶段340包括阶段216、218和224的多次重复。
根据本发明的实施例,确定操作可以是查找与最小的S(nend)相关联的可能端点,并且其S(nend)小于D。
根据本发明的实施例,提供假设网格路径的阶段310由第一处理器执行,诸如但不限制于VCOP 120,并且执行CRC校验的阶段320以及甚至计算错误检测变量由另一个处理器执行,诸如但不限制于DSP110。
根据本发明的实施例,确定阶段340响应于门限D与计算的变量之间的关系,其中门限D在方法300期间或者在方法300的会话之间可以变化。
有利地,特定的假设网格路径的计算是并行执行的,以为之前计算的假设网格路径执行CRC校验,或者甚至并行于之前提供的通过了CRC校验的假设网格路径的错误检测变量的计算。
在不脱离所请求的本发明的精神和范围的情况下,本领域普通技术人员可以对于在此所述的发明进行各种变型、修改及其它实现方式。因而,本发明不是由之前的说明性描述来定义的,而是由所附的权利要求的范围和精神来定义的。
权利要求
1.一种用于定位接收帧的末端的方法(300),该方法包括提供(310)在不同的可能端点结束的假设网格路径的阶段;其特征在于,为每个假设网格路径,执行前向检测校验(320);为通过前向检测校验的假设网格路径计算(330)错误检测变量,其中前向检测校验的计算快于错误检测变量的计算;以及响应于上述计算,确定(340)接收帧的端点。
2.如权利要求1所述的方法,其中前向检测校验是CRC。
3.如权利要求1或2所述的方法,其中提供(310)假设网格路径的阶段由第一处理器执行,并且其中执行前向检测校验的阶段由另一个处理器执行。
4.如权利要求1或2所述的方法,其中提供(310)阶段包括执行前馈网格计算。
5.如权利要求4所述的方法,其中提供(310)阶段包括存储可能端点的路径度量。
6.如任意一项前述权利要求所述的方法,其中提供(310)阶段包括存储指示幸存路径的信息。
7.如任意一项前述权利要求所述的方法,其中提供(310)阶段包括执行回溯过程。
8.如权利要求7所述的方法,其中执行回溯过程的阶段包括检索之前存储的指示幸存路径的信息。
9.如任意一项前述权利要求所述的方法,其中所述确定是响应于门限D和计算的变量之间的关系的,并且其中所述方法包括改变门限D。
10.如权利要求1所述的方法,其中提供(310)阶段包括计算假设网格路径。
11.如权利要求9所述的方法,其中在为之前计算的假设网格路径执行(320)前向检测校验的同时计算假设网格路径。
12.如任意一项前述权利要求所述的方法,包括在为之前提供的通过CRC校验的假设网格路径计算错误检测变量的同时计算假设网格路径。
13.一种用于定位接收帧的末端的设备(100),该设备包括至少一个用于存储路径度量的存储单元(130);其特征在于,包括至少一个处理器(110,120),适于提供在不同的可能端点结束的假设网格路径;为每个假设网格路径执行前向检测校验;为通过所述前向校验的假设网格路径计算错误检测变量;其中前向检测校验的计算快于错误检测变量的计算;以及响应于上述计算,确定接收帧的端点。
14.如权利要求13所述的设备,其中第一处理器(120)适于提供在不同的可能端点结束的假设网格路径;以及第二处理器(110)适于为每个假设网格路径执行前向检测校验。
15.如权利要求14所述的设备,其中第一和第二处理器(110,120)至少部分地互相并行操作。
16.如权利要求13到15中的任意一项所述的设备,其中第一处理器(120)适于提供在不同的可能端点结束的假设网格路径;以及第二处理器(110)适于为通过前向检测校验的假设网格路径计算错误检测变量。
17.如权利要求16所述的设备,其中第一和第二处理器(110,120)至少部分地互相并行操作。
18.如权利要求13到17中的任意一项所述的设备,其中至少一个处理器(120)适于执行前馈网格计算。
19.如权利要求18所述的设备,其中至少一个处理器(120)适于在至少一个存储单元(130)中存储可能端点的路径度量。
20.如权利要求13到19中的任意一项所述的设备,其中至少一个处理器(120)适于在至少一个存储单元(146)中存储指示幸存路径的信息。
21.如权利要求13到20中的任意一项所述的设备,其中至少一个处理器(120)适于执行回溯过程。
22.如权利要求13到21中的任意一项所述的设备,其中至少一个处理器(120)适于在回溯过程中检索之前存储的指示幸存路径的信息。
23.如权利要求13到22中的任意一项所述的设备,其中至少一个处理器(110)适于响应于门限D和计算的变量之间的关系而确定接收帧的端点,并且其中该设备能够改变门限D。
24.一种接收机(99),包括如任意一项前述权利要求所述的用于定位接收帧的末端的设备(100)。
全文摘要
一种用于定位接收帧的末端的设备(100),该设备包括至少一个用于存储路径度量的存储单元(120);至少一个处理器,适于提供在不同的可能端点结束的假设的网格路径;为每个假设的网格路径执行前向检测校验;为经过前向校验的假设网格路径计算错误检测变量;并响应于该计算,确定接收的帧的端点。其中前向检测校验的计算远快于错误检测变量的计算。一种用于定位接收的帧的末端的方法(300),该方法包括提供(310)在不同的可能端点结束的假设的网格路径;为每个假设的网格路径执行(320)CRC校验;为经过CRC校验的假设网格路径计算(330)错误检测变量;并响应于该计算,确定(340)接收的帧的端点。
文档编号H04L1/00GK101076963SQ200480044591
公开日2007年11月21日 申请日期2004年12月13日 优先权日2004年12月13日
发明者多夫·莱翁利克, 龙·贝尔科维奇, 埃利泽·赞德 申请人:飞思卡尔半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1