发明内容
本发明提供一种在基于GSM的***中使用固有冗余来解码控制数据的方法和/或***,如在至少一幅附图以及权利要求中所示和/或所述。
根据本发明的一方面,提供一种信号处理的方法,所述方法包括:
为接收到的GSM位序列产生对应的冗余校验参数,所述GSM位序列通过使用至少一种解码算法进行解码;
基于所述对应的冗余校验参数对所述解码后的接收GSM位序列进行校验;以及
如果所述解码后的接收GSM位序列的校验失败,在通过所述至少一种解码算法对所述接收的GSM位序列进行解码的过程中,利用至少一种物理约束。
优选地,所述至少一种解码算法包括Viterbi算法。
优选地,所述方法包括:如果所述解码后的接收GSM位序列通过校验,接受所述解码后的接收GSM位序列。
优选地,所述方法包括:如果所述解码后的接收GSM位序列的校验失败,增加计数。
优选地,所述方法包括:如果所述计数达到最大值,拒绝所述解码后的接收GSM位序列。
优选地,所述方法包括:如果所述解码后的接收GSM位序列的校验失败,对所述解码后的接收GSM位序列进行至少一种物理约束测试。
优选地,所述方法包括:基于所执行的至少一种物理约束测试,选择所述解码后的接收GSM位序列中的一个作为解码后的输出GSM位序列。
优选地,所述至少一种物理约束以GSM慢速联用控制信道(SACCH)为基础。
优选地,所述方法还包括:确定费尔码(Fire Code),以基于所述对应的冗余校验参数对所述解码后的接收GSM位序列进行校验。
优选地,所述至少一种物理约束包括以下至少一种:在第一阈值内的连续迭代之间的层1(L1)的约束变量参数,以及在第二阈值内的先前SACCH和当前SACCH的约束层3(L3)位。
根据本发明的一方面,提供一种机器可读的存储器,其中存储有计算机程序,所述计算机程序具有至少一段用于信号处理的代码段,当所述至少一段代码段由机器执行,可使机器执行以下步骤:
为接收到的GSM位序列产生对应的冗余校验参数,所述GSM位序列通过使用至少一种解码算法进行解码;
基于所述对应的冗余校验参数对所述解码后的接收GSM位序列进行校验;以及
如果所述解码后的接收GSM位序列的校验失败,在通过所述至少一种解码算法对所述接收的GSM位序列进行解码的过程中,利用至少一种物理约束。
优选地,所述至少一种解码算法包括Viterbi算法。
优选地,所述机器可读的存储器还包括:在所述解码后的接收GSM位序列通过校验时,用于接受所述解码后的接收GSM位序列的代码。
优选地,所述机器可读的存储器还包括:在所述解码后的接收GSM位序列的校验失败时,用于增加计数的代码。
优选地,所述机器可读的存储器还包括:在所述计数达到最大值时,用于拒绝所述解码后的接收GSM位序列的代码。
优选地,所述机器可读的存储器还包括:在所述解码后的接收GSM位序列的校验失败时,对所述解码后的接收GSM位序列进行至少一种物理约束测试的代码。
优选地,所述机器可读的存储器还包括:基于所执行的至少一种物理约束测试,用于选择所述解码后的接收GSM位序列中的一个作为解码后的输出GSM位序列的代码。
优选地,所述至少一种物理约束以GSM慢速联用控制信道(SACCH)为基础。
优选地,所述机器可读的存储器还包括:用于确定费尔码(Fire Code)的代码,以基于所述对应的冗余校验参数对所述解码后的接收GSM位序列进行校验。
优选地,所述至少一种物理约束包括以下至少一种:在第一阈值内的连续迭代之间的层1(L1)的约束变量参数,以及在第二阈值内的先前SACCH和当前SACCH的约束层3(L3)位。
根据本发明的一方面,提供一种信号处理***,所述***包括至少一个处理器,所述至少一个处理器能够:
为接收到的GSM位序列产生对应的冗余校验参数,所述GSM位序列通过使用至少一种解码算法进行解码;
基于所述对应的冗余校验参数对所述解码后的接收GSM位序列进行校验;以及
如果所述解码后的接收GSM位序列的校验失败,在通过所述至少一种解码算法对所述接收的GSM位序列进行解码的过程中,利用至少一种物理约束。
优选地,所述至少一种解码算法包括Viterbi算法。
优选地,如果所述解码后的接收GSM位序列通过校验,所述至少一个处理器能够接受所述解码后的接收GSM位序列。
优选地,如果所述解码后的接收GSM位序列的校验失败,所述至少一个处理器能够增加计数。
优选地,如果所述计数达到最大值,所述至少一个处理器能够拒绝所述解码后的接收GSM位序列。
优选地,如果所述解码后的接收GSM位序列的校验失败,所述至少一个处理器能够对所述解码后的接收GSM位序列进行至少一种物理约束测试。
优选地,所述至少一个处理器能够基于所执行的至少一种物理约束测试,选择所述解码后的接收GSM位序列中的一个作为解码后的输出GSM位序列。
优选地,所述至少一种物理约束以GSM慢速联用控制信道(SACCH)为基础。
优选地,所述至少一个处理器能够确定费尔码(Fire Code),以基于所述对应的冗余校验参数对所述解码后的接收GSM位序列进行校验。
优选地,所述至少一种物理约束包括以下至少一种:在第一阈值内的连续迭代之间的层1(L1)的约束变量参数,以及在第二阈值内的先前SACCH和当前SACCH的约束层3(L3)的位。
通过以下的描述和附图,可以更深入地理解本发明的各种优点、各个方面、创新特征、及其实施例的细节。
具体实施方式
本发明提供一种在基于GSM的***中使用固有冗余及物理约束来解码控制数据的方法和***。可通过执行搜索来选择至少一个基于GSM的估计的位序列,所述搜索从解码算法确定的格子结点(trellis junction)开始。可以基于对应的冗余校验参数来选择所述估计的位序列。可在所选择的基于GSM的估计位序列上执行至少一种物理约束测试来选择基于GSM的解码后的输出位序列。多层解码处理包括脉冲处理和帧处理。第一脉冲处理的结果可用来在帧处理中产生解码的GSM位序列。帧处理可以使用冗余信息和物理约束来提高解码算法的性能。帧处理的结果可以反馈给第二迭代的脉冲处理和帧处理,以进一步改善解码操作。在一些实施例中,第二迭代的脉冲处理以梯度搜索方法为基础。
图1A是可用于本发明的实施例中的示例性GSM帧和脉冲周期的示意图。GSM使用时分多址(TDMA)和频分多址(FDMA)技术的组合。参考图1A,图中示出了下行链路频带102、上行链路频带104、GSM TDMA帧108和GSM时隙或脉冲周期110。GSM下行链路频带102包括935~960MHz的范围,GSM上行链路频带104包括890~915MHz的范围。GSM的FDMA方面包括将上行链路频带104和下行链路频带的25MHz带宽分成124个载频(carrier frequency),每个载频为200KHz的带宽。每个基站可以分配到一个或多个载频。GSM的TDMA方面包括在时间上将每个载频分成8个时隙或者脉冲周期(BP),例如BP 110。移动台可使用其中一个时隙来发射、一个时隙来接收。
GSM时隙或BP110可包括尾部112和124、用户数据部分114和122、挪用位(stealing bit)116和120、训练序列118以及保护间隔(guard space)111和123。例如,每个尾部112和124可以包括3位,可用作分隔符。例如,每个用户数据部分114和122可包括57位,可用于数据传输。例如,每个挪用位116和120包括1位,可被快速联用控制信道(FACCH)消息所用。例如,每个训练序列118可包括26位,可被移动台接收器用于同步和补偿多路传播引起的时间离散。例如,每个保护间隔111和123包括8.25位,可虑及脉冲到达的传播时间延迟。脉冲周期110可以是0.577毫秒。
每8个时隙或脉冲周期如脉冲周期110可以形成GSM TDMA帧108。每4.615毫秒就可以发射一个GSM帧108。还可以将GSM帧如GSM帧108组合成多帧。一个GSM多帧可包括26个TDMA帧或者51个TDMA帧。例如,GSM多帧106可包括26个TDMA帧、编号是0、1、……、25。这26帧的多帧106可包括24个业务信道(TCH),这24个TCH可在帧0、1、……、11和帧13、14、……、24中传输。第13帧126可用于传输慢速联用控制信道(SACCH)块(block)。最后的第25帧目前在基于GSM的***中未使用。
图1B是本发明的一个实施例采用的慢速联用控制信道(SACCH)块的示意图。参考图1B,SACCH块126可包括23个八位位组(octet),总共184位。八位位组1和2可包括层1(L1)的控制信息,八位位组3、4、……、23可包括层3(L3)的***信息。L1控制消息可包括快速功率控制(FPC)位信息128、预定的移动台功率水平(ordered MS power level)130、预定的时间提前(Ordered timing advance)132。例如,可使用二进制值0编码SACCH块126内的剩余位。
根据SACCH 126所关联的信道的信道模式,FPC位128可具有不同的解释(interpretation)。例如,如果无线连接的信道模式采用的是FPC,那么FPC位128可表示是否是采用快速测量报告和功率控制机制。当没采用快速功率控制时,FPC位128可编码为0;当采用了快速功率控制,FPC位128编码为1。
例如,基站可以使用预定的移动台(MS)功率水平130来指示所关联的移动台需要的发射功率水平。预定的时间提前信息132可从基站(BS)传输到关联的MS,MS根据这一信息提前它向BS发射信号的时间,以补偿传播延迟。
在BS与MS之间的数据无线通信中,八位位组3、……、23中的L3***信息将保持不变。例如,在MS越区切换(handover)过程中或者接收短消息的情况下,SACCH块126中的L3***信息将改变。在这点上,在上行链路路径和下行链路路径中连续传输的SACCH块必须进行适当的数据交换,以建立无线连接或者越区切换无线连接。例如,MS可使用上行链路路径通过SACCH126将测量结果消息传输给BS。类似地,BS可使用下行链路路径通过SACCH126将***信息和测量消息传输给MS。
图2A是根据本发明的一个实施例的用于编码和发射信息的示例性基站(BS)的示意图。参考图2A,基站200可包括费尔编码器204、卷积编码器206、交错与脉冲格式模块(IBFB)208、射频模块(RFB)210以及天线212。
费尔编码器204可包括适当的电路、逻辑和/或编码,能够对接收的位序列,例如SACCH块202,进行块编码。费尔编码器204可向所接收的184位的接收SACCH块202添加40位奇偶位。编码器204可基于SACCH块202计算这40位奇偶位,并提供给接收器以在纠错时使用。此外,这40位奇偶位可用于纠正脉冲错误,例如在传输数据中的单个部分中的“12 errors”。
卷积编码器206可包括适当的电路、逻辑和/或编码,能够对费尔编码的数据进行半速率编码。卷积编码器206可使用有限域多项式的乘法,并为每个输入位产生两个编码位。在这点上,卷积编码器206的输出的位数是编码器206输入端的输入位数的两倍。
IBFB208可包括适当的电路、逻辑和/或编码,能够交错已编码位,使得连续编码位在传输时相互错开。在这点上,交错可用于使传输信道中的错误随机排列。IFBF208也能够脉冲格式化(burst formatting),或者向交错后的编码位流(bits tream)添加帧指示位(framing bit),从而产生脉冲格式(burst formation)。例如,脉冲格式化可包括向交错和编码位流添加训练序列。
RFB210可包括适当的电路、逻辑和/或编码,能够进一步处理从IBFB 208接收的经交错的或者经脉冲格式化的信号,例如调制、信号放大和滤波。所得到的RF信号可通过天线212发射。
图2B是根据本发明的一个实施例的示例性下行链路传输格式的示意图。参考图2A和2B,数据214,例如SACCH块202中168位的L3信息,最初是未编码的,可能还伴随着数据块报头,例如SACCH块202中16位的L1信息。接着,对数据块214进行块编码操作216,产生块编码序列(BCS)218,该BCS218被添加到数据214中。块编码操作216可用于数据块214的检错/纠错,可以包括循环冗余校验(CRC)和费尔编码操作。
费尔码能够纠错或者检错。费尔码是缩短的二进制循环码,它向数据报头和数据添加冗余位。块编码将用于检错的冗余位增补到数据214之后,可通过卷积编码器206执行卷积编码操作220来计算附加的纠错冗余位,以纠正无线信道引起的传输错误。卷积编码操作220可产生编码块222。在传输之前,通过凿孔操作224对卷积编码器206产生的一些冗余位进行凿孔(puncture)以产生无线块226。在这点上,凿孔能够增加卷积编码的速率,能够减少每个传输的数据块的冗余。另外,凿孔能够减低带宽需求,这样,经卷积编码信号能够符合可用的信道位流。无线块226的卷积编码凿孔位可传输给IBFB208进行交错和分段操作228,IBFB208能够混乱各种位流以及将交错后的位流分成4个脉冲230。RFB210将脉冲230调制成或转换成RF。RF脉冲可通过天线212发射。
图3A是根据本发明的一个实施例的用于还原已接收数据的示例性移动台(MS)的示意图。参考图3A,移动台300可包括射频模块(RFB)304、天线302、解交错和解分段模块(DBDB)306、卷积解码器308和费尔解码器310。
RFB304可包括适当的电路、逻辑和/或编码,能够处理通过天线302接收的RF脉冲。例如,RFB304能够对所接收的RF信号进行下变频、信号放大和滤波以产生交错的和脉冲格式化的编码位流数据。
DBDB306可包括适当的电路、逻辑和/或编码,能够对交错位流数据进行解交错。DBDB306也能够通过移除所接收的位流数据中的帧指示位来进行脉冲解分段。
卷积解码器308可包括适当的电路、逻辑和/或编码,能够对从DBDB306接收的解交错和解分段的数据进行半速率解码。例如,卷积解码器308可使用Viterbi解码来提供纠错,以及为每2个输入编码位产生1个解码位。Viterbi解码数据可传输到费尔解码器310。费尔解码器310可包括适当的电路、逻辑和/或编码,能够解码从Viterbi解码器308接收的位序列。费尔解码器310能够从所接收的位序列中提取出40个奇偶位,产生184位的接收SACCH块312。费尔解码器310能够使用所提取的40个奇偶位来执行费尔码校验以进行SACCH块312中的检错。
图3B是根据本发明的一个实施例的移动台(MS)中还原数据的示意图。参考图3A和图3B,DBDB306接收交错和分段脉冲314。DBDB306可应用解分段和解交错操作316来产生编码无线块318。编码无线块318传输给Viterbi解码器308并由Viterbi解码器308进行解凿孔(depuncturing)操作320以产生编码块322。可对编码块322进行卷积解码操作324以产生报头信息、数据和尾位(tailbit)326。所产生的报头、数据和尾位信息326可传输给费尔解码器310。费尔解码器310可使用块解码操作或者外部解码操作328来提取出尾位和产生报头信息和数据330。
图4A是根据本发明的一个实施例的改善了对接收GSM位序列的解码的多层***的示意图。参考图4A,所示的接收器150包括脉冲处理模块152、解交错器154和帧处理模块156。帧处理模块156可包括信道解码器158和数据解释模块160。接收器150可包括适当的逻辑、电路和/或编码,可以是有线接收器和/或无线接收器。接收器150可使用冗余来解码互相依赖的信号,例如,包括卷积编码数据的信号。接收器150也可以使用多层方法来改善对互相依赖的信号或具有记忆的信号的解码。在这点上,接收器150在处理所接收的互相依赖的信号时,可执行脉冲处理和帧处理。由接收器150执行的多层方法能够与多种调制标准相兼容。
脉冲处理模块152可包括适当的逻辑、电路和/或编码,能够执行接收器150的解码操作的脉冲处理部分。例如,脉冲处理模块152可包括信道估算操作和信道均衡操作。信道均衡操作使用信道估算操作的结果产生多个基于最大似然序列估算操作(MLSE)的数据脉冲。脉冲处理模块152的输出可传输给解交错器154。解交错器154可包括适当的逻辑、电路和/或编码,能够多路复用从脉冲处理模块152接收的多个数据脉冲中的位,以形成帧处理模块106的帧输入。例如,可使用交错来降低信道衰落失真的影响。
信道解码器158可包括适当的逻辑、电路和/或编码,能够解码从解交错器154中接收的输入帧的位序列。在Veterbi操作时,信道解码器158可使用Viterbi算法来改善对输入帧的解码。数据解释模块160可包括适当的逻辑、电路和/或编码,能够在信道解码器158的结果上执行内容细节处理(content specific processing)操作。
在解码器150的帧处理操作方面,用于解码卷积编码数据的标准方法是查找位序列的最大似然序列估算(MLSE)。这包括例如采用Viterbi算法搜索出满足条件概率P(X/R)最大的序列X,其中X是发射序列,R是接收序列。在一些情况下,接收信号R可包括作为信号源的编码处理的结果的固有冗余(inherent redundancy)。可通过开发能够满足信号源的至少一些物理约束的MLSE算法,可在解码处理中使用这种固有冗余。在MLSE中使用物理约束可表达为寻找条件概率P(X/R)的最大值,其中,序列X满足一组物理约束C(X),这组物理约束C(X)可取决于信号源类型和应用。在这点上,信号源的类型可以是语音、控制数据、音乐和/或视频源等类型。
图4B是根据本发明的一个实施例的为改善对接收GSM位序列的解码,迭代多层方案的示意图。参考图4B,图4B所示与图4A的接收器150相似,但图4B的接收器150具有从多层解码方法的帧处理部分到多层解码方法的脉冲处理部分的反馈信号。帧处理包括使用由Viterbi算法产生的结果的冗余校验以及使用物理约束,以减少可能由标准Viterbi算法导致的解码错误。脉冲处理能够将帧处理中解码的信息作为输入以改善信道估算和信道均衡操作。
图4C是根据本发明的一个实施例的用于改善解码的具有处理器和存储器的多层***的示意图。参考图4C,图中示出了处理器162、存储器164、脉冲处理模块152、解交错器154、信道解码器158和数据解释模块160。处理器162可包括能够执行计算和/或管理操作的、适当的逻辑、电路和/或编码。处理器162还可用于传输和/或控制脉冲处理模块152、解交错器154、信道解码器158和数据解释模块160的至少一部分操作。存储器164可包括适当的逻辑、电路和/或编码,能够存储数据和/或控制信息。存储器164可存储由脉冲处理模块152、解交错器154、信道解码器158和数据解释模块160使用的和/或产生的信息。在这点上,例如,可通过处理器162向存储器164存储信息以及从存储器164读取信息。
图5是根据本发明的一个实施例的将冗余应用到多层处理中的示例性步骤。参考图5,开始步骤502之后,在步骤504中,图4A中的接收器150通过使用Viterbi算法在帧处理模块156中解码接收帧。在步骤506中,对费尔码进行解码,如果解码处理成功,就进行校验测试。在步骤508中,接收器150确认费尔码校验测试是否成功。当测试验证了解码帧时,接收器150进入步骤512,接受所述解码帧。步骤512之后,接收器150进入结束步骤514。
返回步骤508中,当解码帧的校验测试不成功时,接收器150进入步骤510。在步骤510中,接收器150能够执行冗余算法,该冗余算法所提供的解码性能使得其导致的解码错误与使用标准Viterbi算法导致的相等,或者比使用标准Viterbi算法导致的更少。步骤510之后,接收器150进入结束步骤514。
在连续的迭代之间,层1(L1)参数如时序和功率参数不发生明显的变化。例如,连续的迭代之间的L1参数有较小的阈值变化,如20%。可能要求先前的SACCH和当前的SACCH的层3(L3)位相似,或者在较小阈值范围内。可通过计算两个L3序列之间的汉明距离(hamming distance)来检验相似度。如果汉明距离大于阈值,那么先前的SACCH和当前的SACCH的层3(L3)位不是相似的。例如,对于GSM应用,冗余算法包括搜索满足费尔码校验测试条件以及上述的L1和L3约束的MLSE。在这点上,可从满足费尔码校验测试的MLSE中确定一组K个位序列{S1、S2、……、Sk}。一旦确定了该组k个序列,就可以确定出同样满足GS ML1&L3约束的最佳序列Sb。k是可能大于或等于1的参数,是为满足复杂性、性能以及MLSE的考虑因素而选择的。
图6是根据本发明的一个实施例的满足费尔码(Fire Code)校验约束的T假设的示例性搜索过程的示意图。参考图6,搜索树600对应于示例性序列的搜索过程,该搜索过程从Viterbi操作产生减少的(reduced)估算位序列开始。在这点上,水平线的顶行对应于Viterbi操作产生的一组N个格子结点。在Viterbi计算时,可以获得主序列尺度(metric)和主列结点的尺度(metric)。其它序列的尺度可从父(parent)序列尺度和结点尺度的和获得。每个格子结点表示为斜线,对应于Viterbi操作的估算位序列。在顶行的估算位序列不满足费尔码校验约束。在冗余算法中,可从顶行选择一组估算位序列。如图所示,可从N个格子结点中选择10个估算位序列。所选的这10个估算位序列采用斜线末端具有黑圈来表示。在这点上,所述的选择可以取决于尺度参数,在一些情况下,尺度参数包括信道尺度(metric)部分和物理约束尺度(metric)部分。
满足GSM的费尔码校验或冗余校验参数的T假设的搜索过程从选择具有最高尺度的格子结点开始。在这个实施例中,标注6的结点具有最高尺度,搜索过程从该点开始。可以从标注6的结点创建新的搜索树600的分支或者行,可使用追溯指针来追踪搜索操作。新分支或行产生三个额外的估算位序列或者标注从11到13的三个结点。结果,顶行中具有最小尺度的三个结点,即结点3、9和10可能被放弃。这通过斜线末端黑圈上的短划线来表示。再次对新的分支或行进行费尔码校验。如图所示,该新分支的费尔码校验失败,并从具有最高尺度的结点或者所示的结点12创建下一个分支。在这个实施例中,从结点12开始的分支满足费尔码校验约束,搜索过程将返回顶行,返回具有次高尺度的结点。可选择与结点12关联的估算位序列,将它作为一组K个位序列{S1、S2、……、Sk}中的一个位序列。
结点4表示顶行上结点6之后的次高尺度的结点,可从结点4创建新的分支或行。在本实施例中,新分支满足费尔码校验约束,可选择与结点4关联的估算位序列,将它当作一组K个位序列{S1、S2、……、Sk}中的一个位序列。这种方法可以继续下去,直到超出这K个序列的极限为止,或者直到已经执行了所有剩下的结点的搜索为止。在这点上,可在搜索操作中计算多个追溯指针。该组K个位序列{S1、S2、……、Sk}的大小是可以改变的。
图7是根据本发明的一个实施例的在图6所示的搜索过程中缓冲内容的示意图。参考图7,图中示出了与搜索处理中所描述的结点标注对应的缓冲器内容710。例如,状态712可对应于搜索操作中的最初的10个结点。在这点上,突出结点6以表明它对应于最高的尺度值,是新分支或行的起始点。状态714可对应接下来的10个结点。在这个实施例中,使用从结点6创建的分支产生的结点11、12和13来替换结点3、9和10。突出结点12以表明它对应于最高的尺度值,是新分支或行的起始点。状态716可对应于接下来的10个结点。在这点上,突出结点4以表明它对应于最高的尺度值,是新分支或行的起始点。可在每个状态计算追溯指针以追踪搜索过程。
图8是根据本发明的一个实施例的改善解码的迭代多层方法的示例性步骤流程图。参考图8,开始步骤802之后,在步骤804中,在多层解码方法的脉冲处理部分中,对接收信号进行信道估算操作及均衡操作的初始迭代或第一次迭代。例如,信道估算操作的第一次迭代和均衡操作的第一次迭代可由图4B的脉冲处理模块102执行。步骤806中,在多层解码方法的帧处理部分对接收信号帧进行解码。例如,帧处理可由图4B中的帧处理模块106执行。步骤808中,多层解码方法的帧处理部分在步骤806中产生的至少一部分结果可以,例如,通过反馈信号从帧处理模块106传输到脉冲处理模块102。步骤810中,脉冲处理基于多层解码方法的帧处理部分提供的解码结果,执行信道估算操作的第二次迭代和均衡操作的第二次迭代。步骤810之后,流程800进入结束步骤812。脉冲处理产生的改良结果还可以通过帧处理进一步交错和处理。帧处理可以使用标准帧处理,或者可确定最佳序列,该最佳序列可基于例如冗余而使用。
图9是根据本发明的一个实施例的GSM应用中示例性的迭代帧和脉冲处理的示意图。参考图9,图中示出了至少一个时隙脉冲900和至少一个帧920。所述至少一个时隙脉冲900可对应于脉冲0至脉冲7,而所述至少一个帧920可对应于帧N-1到帧N+1。
可以考虑两种类型的迭代处理:因果迭代处理和非因果迭代处理。对于因果迭代处理,脉冲0至脉冲3中,每个脉冲具有57个数据位,该57个数据位来自在帧N-1的帧处理中被解码的时隙脉冲900的第一数据位部分。通过使用脉冲0至脉冲3中的每个脉冲中解码后的57个数据位以及训练序列(midamble)中的26个位,可以重新计算脉冲处理,或者进行脉冲处理的第二次迭代。在这点上,可通过使用第二次迭代时帧处理产生的解码数据位来改善脉冲处理的信道估算操作。此外,脉冲处理的信道均衡操作的MLSE将认为所述解码数据位比第一次迭代时具有更高的概率。在一些实施例中,为了减少第二次迭代操作带来的复杂性,脉冲处理可在选定的时隙脉冲上执行第二次迭代,所述选定的时隙脉冲在第一次迭代时确定。在这点上,可以为第二次迭代选择特定的时隙脉冲,例如,当所述时隙脉冲具有低的载波-干扰(C/I)比之时。一旦脉冲处理改善了数据,还可以由帧处理对该数据进行进一步交错和处理。所述帧处理可以使用标准的帧处理或者确定例如以冗余为基础的最佳序列。
对于非因果迭代过程,脉冲0至脉冲7的位可能需要重新计算将会传输给帧N的位序列的脉冲处理。来自帧N-1的数据和/或帧N+1的数据可用于计算传输给帧N的位序列的脉冲处理。通过使用帧0至帧7中每个帧的114个解码数据位以及训练序列(midamble)中的26个位,可以重新计算脉冲处理。与因果迭代过程一样,可以为第二次迭代选择特定的时隙脉冲,例如,当所述时隙脉冲具有低的载波-干扰(C/I)比之时。
图10是根据本发明的一个实施例的示例性的非因果迭代***的示意图。参考图10,图中示出了脉冲处理模块102、解交错器104、帧处理模块106、信道解码器108、数据解释模块110以及存储器1002。所示的脉冲处理模块102包括信道估算器1004和均衡器1006。存储器1002可包括适当的逻辑、电路和/或编码,能够存储与之前被处理的帧的帧处理有关的数据。信道估算器1004可包括适当的逻辑、电路和/或编码,能够在脉冲处理时进行信道估算操作。均衡器1006可包括适当的逻辑、电路和/或编码,能够在脉冲处理时执行MLSE信道均衡操作。
在操作时,可将存储在存储器1002中的来自帧处理操作的数据传输给信道估算器1004和/或均衡器1006以对帧N进行第二次迭代的脉冲处理。在这点上,存储在存储器1002中的数据包括与脉冲处理中的时隙脉冲有关的信息,对帧N进行第二次迭代的脉冲处理时可用到该信息。
当在因果迭代处理中使用所述57个数据位和26个训练序列(midamble)位时,或者在非因果处理中使用所述114个数据位和26个训练序列(midamble)位时,脉冲处理的第二次迭代会用到这些数据位的硬决策值或软决策值。在一些实施例中,对于特定的应用程序,优先选择软决策值。
图10中的信道估算器1004为脉冲处理执行软决策。例如,对于高斯最小频移键控(GMSK)调制,估算信道可如下表示:
其中, 由 指定软参考(softreference),其中,αn是软决策的权重,m=0、1、2、……7。在这点上,该估算信道的增益如下表示:
其中,N=147,以及
其中,SDn表示软决策值,所述估算信道的增益可简化为:
偏移和估算由以下表达式确定:
当不使用图10中的均衡器1006处理先前迭代的结果的情况下,可使用梯度搜索方法来进行脉冲处理的第二次迭代。在这点上,例如,第一次迭代可以在硬件中执行,至少一部分的第二次迭代可在软件中执行。
图11是根据本发明的一个实施例的基于梯度搜索方法的第二次脉冲处理迭代的示意图。参考图11,可通过使用适当的逻辑、电路和/或编码来执行脉冲处理的第二次迭代中的梯度搜索,包括使用信道估算器1102、信号估算器1104、匹配滤波器1106、符号(sign)转换器1108、聚合器(converger)1110、能量估算器1112、第一加法器1114、第二加法器1116和增益级1118。
梯度搜索方法以找到接收信号和估算信号之间的最小距离H为基础。所述最小距离由以下表达式给出:
其中,
是估算的字符矢量(symbol vector)的第k个元素,
是估算的字符波形(symbol waveform)。梯度由以下表达式给出:
以及
其中,Gk是梯度矢量的第k个元素。
信号估算器1104可包括适当的逻辑、电路和/或编码,能够基于以下表达式执行信号估算操作:
匹配滤波器1106可包括适当的逻辑、电路和/或编码,能够基于以下表达式执行匹配滤波操作:
梯度表达式可以写成:
其中μ是收敛因子(convergence coefficient),可由聚合器1110提供以及由以下表达式给出:
其中,IterNum可对应于迭代的次数,以及
它对应于由能量估算器1112提供的估算信道的能量增益级1118可包括适当的逻辑、电路和/或编码,能够为附加的噪声功率(sigma2)产生标准化(normalization)的软决策输出,所述软决策由第二加法器1116产生。在一些情况之下,噪声功率等于估算值的均方差:
本说明书描述的方法所产生的解码误码率比单次迭代的标准Viterbi算法产生的误码率低。多层迭代处理中利用了冗余以及物理约束,在为解码卷积编码数据而设计的优化接收器中,能够有效地实施这种多层迭代处理。
图12是根据本发明的一个实施例的在基于GSM的***中使用固有冗余解码控制数据的示例性步骤的流程图。参考图12,示例性步骤开始于步骤1202。在步骤1204中,图4A中的接收器150能够在帧处理模块156中通过使用Viterbi算法来解码接收帧。步骤1206中,利用费尔解码器并执行校验测试。步骤1206中,接收器150确认费尔码解码是否成功。如果所述费尔码解码不成功,控制流程进入1208。步骤1208中,迭代计数值N增加。步骤1210中,确认迭代计数值N是否达到最大值Nmax。如果迭代计数值N已经达到最大值Nmax,控制流程进入步骤1224。步骤1224中,产生坏帧(bad frame)指示。接着,控制流程进入结束步骤1226。如果迭代计数值N没有达到最大值Nmax,控制流程进入步骤1212。步骤1212中,产生下一个候选的Viterbi解码器。控制流程返回步骤1204。
返回到步骤1206中,如果费尔码解码成功,那么控制流程进入步骤1214。步骤1214中,确认解码帧是否满足要求以及迭代计数值N是否等于1。如果解码帧第一次迭代就满足要求,也就是迭代计数值N等于1,那么控制流程返回步骤1222。步骤1222中,接受解码帧。接着,控制流程进入结束步骤1226。如果迭代计数值N大于1,控制流程进入步骤1216。步骤1216中,产生解码帧。步骤1218中,确认所产生的帧是否满足基于GSM慢速联用控制信道(SACCH)的物理约束。例如,在连续的迭代之间,层1(L1)参数、时序和功率参数不发生明显的变化。例如,连续迭代之间的L1参数在较小阈值范围内变化,例如,20%。先前的SACCH和当前的SACCH的层3(L3)位要求是相似,或者在小阈值范围内。可通过计算两个L3序列之间的汉明距离来进行检验相似度。如果汉明距离大于阈值,那么先前的SACCH块和当前的SACCH块的层3(L3)位是不相似的。
步骤1218中,如果解码帧不满足SACCH的物理约束,那么控制流程进入步骤1220。步骤1220中,增加迭代计数值N。接着,控制流程进入步骤1210。步骤1210中,确认迭代计数值N是否达到最大值Nmax。如果迭代计数值N已经达到最大值Nmax,控制流程进入步骤1224。步骤1224中,产生坏帧指示。接着,控制流程进入结束步骤1226。如果迭代计数值N没有达到最大值Nmax,控制流程进入步骤1212。步骤1212中,产生下一个候选解码器。控制流程返回到步骤1206。步骤1218中,如果解码帧满足SACCH的物理约束,那么控制流程进入步骤1222。步骤1222中,接受解码帧。接着,控制流程进入结束步骤1226。
根据本发明的实施例,在基于GSM的***中使用固有冗余解码控制数据的方法和***包括至少一个处理器,例如,能够为所接收的GSM位序列产生对应的冗余校验参数的处理器162,通过使用解码算法来解码所接收的GSM位序列。处理器162能够基于对应的冗余校验参数来校验解码后的接收GSM位序列。如果解码后的接收GSM位序列的校验失败,那么处理器162在使用解码算法进行解码时,通过强加至少一种物理约束来解码该接收GSM位序列。所述解码算法包括Viterbi算法。如果解码后的接收GSM位序列通过了校验,处理器162能够接受解码后的接收GSM位序列。如果解码后的接收GSM位序列或帧的校验失败,处理器162能够增加迭代计数值N。如果迭代计数值N达到了最大值Nmax,处理器162能够拒绝解码后的接收GSM位序列。
处理器162能够对解码后的接收GSM位序列执行至少一种物理约束。处理器162能够基于所执行的至少一种物理约束测试选择至少一个解码的接收GSM位序列作为解码输出的GSM位序列。连续的迭代之间的层1(L1)参数例如时序和功率参数不发生明显的变化。例如,连续的迭代之间的L1参数在较小阈值范围内变化,如20%。先前的SACCH块和当前的SACCH块的层3(L3)位要求是相似的,或者在小阈值范围内。可通过计算两个L3序列之间的汉明距离(hamming distance)来检验相似度。如果汉明距离大于阈值,那么先前的SACCH块和当前的SACCH块的层3(L3)位是不相似的。例如,对于GSM应用,冗余算法包括搜索满足费尔码校验测试条件以及上述的L1和L3约束的MLSE。在这点上,可从满足费尔码校验测试的MLSE中确定一组K个位序列{S1、S2、……、Sk}。一旦确定了K个序列,就可以确定最佳序列Sb,该最佳序列Sb同样满足GSM SACCH约束。至少一个物理约束是以GSM慢速联用控制信道为基础。处理器162能够解码费尔码以基于对应的冗余校验参数校验解码后的接收GSM位序列。
因此,本发明可以通过硬件、软件,或者软、硬件结合来实现。本发明可以在至少一个计算机***中以集中方式实现,或者由分布在几个互连的计算机***中的不同部分以分散方式实现。任何可以实现所述方法的计算机***或其它设备都是可适用的。常用软硬件的结合可以是安装有计算机程序的通用计算机***,通过安装和执行所述程序控制计算机***,使其按所述方法运行。
本发明还可以通过计算机程序产品进行实施,所述程序包含能够实现本发明方法的全部特征,当其安装到计算机***中时,通过运行,可以实现本发明的方法。本文件中的计算机程序所指的是:可以采用任何程序语言、代码或字符编写的一组指令的任何表达式,该指令组使***具有信息处理能力,以直接实现特定功能,或在进行下述一个或两个步骤之后实现特定功能:a)转换成其它语言、编码或字符;b)以不同的格式再现。
本发明是通过几个具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或具体情况,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。
本申请是2005年7月26日提交的、申请号为11/189,509的美国专利申请的后续部分。美国专利申请11/189,509要求了2004年8月20日提交的、申请号为60/603,148的美国临时专利申请的优先权,并参考、结合其内容。