专利名称:一种基于反馈模式的帧级别编码与译码方法
技术领域:
本发明属于通信领域中的数据(信息)传输技术,特别是一种为降低信道传输差
错率的信道编码与译码的方法中的基于反馈模式的帧级别编码与译码方法。
背景技术:
随着通信技术的发展,传输容量与距离的要求也在不断增长。在数据通信中,信 号经常会由于受到噪声、衰落或其他原因的影响产生错误,为了确保通信质量和效率,必 须对这些错误进行控制和纠正,常见的差错控制技术主要包括前向纠错(FEC)与反馈重 传(ARQ)等技术。前向纠错是一种非常有效的方法,常见的前向纠错码、即信道编码,有里 德-所罗门(Reed-Solomon)码、巻积码、turbo码以及低密度奇偶校验码(LDPC)等。前向 纠错码、特别是近期快速发展的turbo码与LDPC码,其特点是单向传输、不需反馈,能根据 码的规律性自动纠正错误,纠错迅速,纠错能力非常强;但前向纠错码的编、译码结构复杂, 效率低,一般仅用在通信物理层作为帧内的比特级纠错。 由于仅采用前向纠错码难以保证经过译码的帧一定是正确的,因而一般在通信系 统的上层还要采用帧级别的纠错技术以进一步提高传输的可靠性,而其中最常见的也是最 简单的帧级别纠错技术就是ARQ技术。该技术的特点是结构简单、需要反馈信道,但在传输 中不需要在帧中增加很长的冗余信息,而只要增加很短的检错序列,接收端根据这个序列 判断该帧是否正确,如果正确、则接收,否则丢弃该帧,并通过反馈链路要求发射端重传该 帧。而近期开发出的另外一类基于帧级别的被称为"无速率"码及网络编码的通信技术;其 中,常见的无速率码有LT码、R即tor码以及二进制确定无速率码等,此类无速率码的特点 就是"无速率"性,当使用无速率码作为差错控制时,发射端不断地发送帧级别的经过编码 后的帧,接收端则对收到的帧进行译码,当接收端收到足够多的帧后,就能完全恢复出原信 息帧,然后再反馈一个终止信号给发射端,发射端就停止继续发送;整个传输过程,除了终 止信号,接收端不需要再向发射端反馈其他的信息,比如信息包的丢包情况,而不像ARQ技 术那样要经常性反馈信息给发射端;也正是由于无速率传输过程中不将接收情况即时反馈 给发射机,因而在传输效率方面往往就较反馈重传技术低。而网络编码既可以用于多播信 道以提高整个系统的传输容量,也可以用于一般信道传输,特别是在多播广播信道下将网 络编码作为一种纠错技术来提高传输的可靠性时,则要求系统有反馈信道,该纠错技术在 有反馈信道的情况下,当接收端因接收信息出现错误而要求重传时,发射端不再直接重传 出错的信息帧,而是先对一些信息帧进行帧级别的编码后再进行重传;而在接收端,每个接 收机会根据自己丢帧情况,从重传的编码帧中通过简单的异或运算处理找到自己需要的正 确帧。 上述不论是ARQ技术、无速率码还是网络编码技术,在译码时都是针对经过CRC检 测正确的帧进行译码,而将错误帧直接丢弃掉。而实际上,被丢弃的帧中大部分帧错误的比 特数非常少,如果能在接收端通过有针对性的技术处理、即将错误的具体位置找出并纠正, 使其成为正确帧,从而就可有效地提高信道的传输能力,包括传输的可靠性以及传输的效
4率。在ARQ技术基础上发展起来的帧合并技术,就是利用该原理在接收端把错误帧通过检 测恢复出原信息帧,因而该技术也要求系统提供反馈链路;但与ARQ不同的是,该技术并不 把第一次传输错误的帧丢弃掉,而是保存起来,如果第二次重传相同的帧再次出现错误,则 通过两个错误帧中比特值不同位置的对比,来确定其可能的错误位置, 一旦找到了出错的 位置,就可以通过穷搜索的办法来恢复出原信息帧。但采用帧合并技术的前提条件一是错 误的比特数不能太多,不然穷搜索的复杂度太高,否则可能因超出帧检测序列的可检错范 围而造成检错失败;二是两个帧的错误比特不能位于同一个位置,否则将发生漏检、而不能 找出其错误位,因而也就无法恢复出原信息帧;其三,该技术只有在帧传输中发生连续性错 误时才有效。因而,该技术又存在对降低信道传输差错率、提高传输可靠性和提升容量的效 能较差,应用范围窄等缺陷。
发明内容
本发明的目的是在背景技术基础上,改进设计一种基于反馈模式的帧级别编码与 译码方法,以强化信道编、译码的功能,提高信道传输中对错误帧进行控制及纠正的能力、 降低信道传输差错率,有效提升系统传输的可靠性和容量,确保通信质量和效率等目的。
本发明的解决方案是从帧级别编码的角度出发,在反馈重传(ARQ)及帧合并技术 的基础上,将编码过程分为两个阶段,第一阶段为系统编码,此阶段,编码器仅是将由前一 模块送进来的帧再送出去,不做任何处理,第二阶段为冗余编码阶段,在该阶段编码器根据 每次接收端反馈回来的帧号,将他们按照比特对比特进行异或处理,得到一个冗余帧,并送 至下一模块;而译码过程则是将收到的系统帧保存起来,每收到一个冗余帧则根据冗余 帧参与编码的帧号,将对应的系统帧从帧存储器中取出,并将系统帧及其对应收到的冗余 帧进行异或处理,获得一个错误位置指示序列;如果每次参与异或处理的系统帧中、没有偶 数个帧在相同的比特位出错、且出错的比特数目有限,则采用穷搜索类方法进行恢复,而对 无法满足该项条件的系统帧、则重新传冗余帧,冗余帧的内容由反馈过程来决定;为了使传 输效率最大,反馈的处理过程从当前未能在译码过程中恢复的所有系统帧中随机取出一半 或1个系统帧,并将其帧号从反馈信道发送给发射机,然后发射端再根据这些帧产生一个 新的冗余帧,再传送给译码器进行新一轮的译码;从而实现其目的。因此,本发明方法包括 发射端和接收端两级处理,其中
A.发射端处理步骤为 a.组帧将信号源发出的原始数据送入组帧处理模块、进行组帧,组帧处理后转 加校验序列模块; b.成帧处理将经a步骤组帧处理后的信号送入加校验序列模块作成帧处理,为 每一个帧插入帧校验序列,以用于接收端对该帧的验收; c.帧编码处理和发送经b步骤成帧处理的信号送入帧编码模块后、保存,再按照 先进先出的顺序连续地将各个系统帧送入d步骤;然后根据各时刻接收端反馈回来的帧号 信息(一个或多个系统帧帧号的集合)对应地将这些系统帧及其校验序列进行异或处理、 得到一个新的冗余帧,亦将其发送至d步骤,直至收到接收端发出接收完毕的确认信号时 止; d.加入帧识别号将经帧编码模块处理后的信息送入加帧号处理模块,在各系统帧及冗余帧中分别加入该帧的识别号,然后送至常规信号处理模块; e.信号处理及发送将经d步骤加帧识别号处理后的信息送入信号处理模块,对信号进行常规交织、调制处理,然后送入信道发送;
B.接收端处理步骤为 a.信号接收及常规处理将收到的发射端信号送入信号处理模块,进行常规解调、解交织处理后、送入下一步骤; b.帧的检测处理将经a步骤解调、解交织处理后的信号送入帧检测模块,首先从收到的各个系统帧中去掉其帧号、并按照原帧号将该帧保存在相应的帧存储器中,然后根据帧校验序列检测该系统帧的对错,并将其结果保存在帧质量缓存器的相应位置中;而将收到的冗余帧去掉其帧号后直接送入译码器、进行译码处理; c.译码处理经帧检测器处理后的冗余帧送入译码器,并按照以下步骤对系统帧
进行恢复,即首先获取冗余帧补集,接着获取错误位置指示序列,然后恢复系统帧,如果仍
然有系统帧没有恢复,则从当前未能恢复的所有系统帧中随机取出一半或1个,并将他们
的帧号从反馈信道发送给发射端、以获取新的冗余帧后,继续译码,直至所有系统帧都正确
恢复,再从反馈信道向发射端发送接收完毕的确认信号; d.将帧存储器中的系统帧送入接收系统信宿。 上述帧校验序列为循环冗余校验(CRC)序列及其检测方法。 在接收端处理的步骤C中所述冗余帧补集,其方法是通过对上一时刻冗余帧、上一时刻冗余帧补集以及当前时刻冗余帧进行异或处理;初始化时,令冗余帧、冗余帧补集为长度与系统帧及其校验序列长度相同的全零序列。 而所述的错误位置指示序列分成两种,一种是将当前收到的冗余帧及其对应的参与该冗余帧编码的所有系统帧进行异或处理得到的(称之为)参与帧错误位置指示序列;另一种是将升级后的冗余帧补集(即当前冗余帧补集)及未参与当前冗余帧编码的所有错误的系统帧进行异或处理得到的(称之为)未参与帧错误位置指示序列。
所述的恢复系统帧过程分两个部分,一是恢复参与当前冗余帧编码的系统帧,其过程为对参与当前冗余帧编码的所有错误的系统帧中、在参与帧错误位置指示序列中指示为错误的位置(也就是该序列中值为1的位置)进行比特翻转,每次比特翻转后都根据帧校验序列进行帧检测,如果检测结果正确,则该比特翻转后的帧就为相应的正确系统帧,并且通过对恢复后正确系统帧与当前冗余帧进行异或处理,将该正确系统帧从参与当前冗余帧编码的帧中剔除掉;二是恢复未参与当前冗余帧编码的错误系统帧,其过程与前一过程相同,只是要恢复的系统帧为未参与当前冗余帧编码的错误系统帧,而错误位置指示序列为未参与帧错误位置指示序列,并将当前冗余帧改为当前冗余帧补集。而其中所述比特翻转的数目按照从小到大递增的方式进行,最小为1个,最大数目则由译码器复杂度决定。
所述从当前未能恢复的所有系统帧中随机取出一半或1个,并将他们的帧号从反馈信道发送给发射端,其取出所有系统帧的一半还是取出1个系统帧的原则为所接收错误系统帧的总数连续2 3次没有变化,则随机地取出1个系统帧,否则就取出所有系统帧的一半、从反馈信道发送给发射端。 本发明相对于传统的帧级别的编译码方法具有如下优势由于接收端能够将错误帧通过简单的译码方法恢复,因而相对于传统的ARQ、无速率码、网络编码等技术,可以非常有效地提高系统传输容量;而采用反馈机制,发射端可以根据接收端反馈回来的接收情况再进行下一步的编码,因而其传输效率又较无反馈机制的帧级别编码技术的传输效率高;本发明发射端只对那些错误的帧进行编码,因而又大大地降低了参与编码的帧数量、以及编码和译码的复杂度;此外由于编码允许很多错误帧参与、且不要求错误帧是连续的,相对于传统的帧合并技术来说、纠错能力有了很大地提升。因而,本发明具有编码和译码的复杂度低,纠错能力强,系统的传输容量大、传输效率及可靠性高等特点。
具体实施例方式A.发射端 a.组帧由信源发出的长度为1000比特的原始数据送入组帧处理模块,进行组帧,组成10个每个长度为100的帧; b.成帧处理组帧后的信号被送至成帧模块,在每一个帧后面插入长度为16比特的CRC校验序列; c.帧编码处理和发送经过成帧处理的信号被送入帧编码模块,帧编码过程分两个步骤,第一步骤是连续地将前一模块送来的10个帧送至下一模块;第二步骤是发送冗余帧,根据第i个时刻接收端反馈回来帧号信息Ci, &是一个包含一个或多个系统帧帧号的集合,就对应地将这些系统帧进行(包括校验序列,下同)异或,得到一个冗余帧Ri,并送至下一模块,这个过程一直重复至收到接收端发来的接收完毕的确认信号为止;
d.加入帧识别号经帧编码模块处理后的信息被送入加帧号处理模块,即在每一个帧中,包括系统帧与冗余帧,增加一个唯一识别该帧的帧号,之后被送至下一模块;
e.信号处理及发送经加帧识别号模块处理后的信息被送入常规信号处理模块,对信号进行交织、调制处理后、送至信道发送;
B.接收端 a.信号接收及常规处理从信道送来的信号被送至信号处理模块,进行信号的常规解调、解交织等处理; b.帧的检测处理经解调、解交织处理后的信号被输送至帧检测器(模块),该检
测器先将收到的io个系统帧,去掉帧号,并按照原帧号将该帧保存在相应的帧存储器中,
然后根据CRC检测该系统帧对错,并将结果保存在一个帧质量缓存器的相应位置中;本实施方式的帧存储器是一个可以保存IO个每个长度为116比特的存储空间,而帧质量缓存器是一个有IO个比特存储空间的缓存器;该检测器将收到的冗余帧去掉帧号后直接送给下一模块; c.译码处理经帧检测器处理后的冗余帧被输送至译码器,记当前时刻收到的冗余帧为R' i,该冗余帧对应的在发射端参与编码的系统帧集合为Ci,记错误帧中未参与编码的帧集合为&, &也就是帧质量缓存器中所有错误系统帧扣除&剩下的错误系统帧集合,令豆'i = R' i+R'卜,豆'H为第i时刻的冗余帧补集(注这里+为异或运算,下同),其中,R'卜i和豆'卜i分别为前一时刻的冗余帧和冗余帧补集,初始化令R'。和豆'。皆为长为116的全零序列,&为空集,接着按如下步骤对&中的系统帧进行恢复
(1).从上一模块的帧存储器中找出Ci包含的所有系统帧,计算错误位置指示序列E = R' i+sum(Ci),这里sum(Ci)运算意思是对&中的所有元素进行异或,并设E中"1"的个数为d; (2).从E中的d个"1"位置取出v个"1 ",放在原位置,其他位置为"0"组成一个序列E',初始化v取1 ,则共有Cdv取法,这里Cdv是指d中取v的组合数,对每一个取法得到的E',又与Ci中的所有系统帧的每一个分别进行异或得到一系列试探系统帧St,对每一个试探系统帧St根据帧校验序列进行帧检测,如果检测结果正确,则该试探系统帧就为相应统帧的正确值,接着对如下信息进行更新将帧存储器中相应系统帧的更新为St ;将帧质量缓存器对应位更新为正确;将R' i更新为R' i+St,如果检测结果不正确,则继续下个试探系统帧的计算,计算过程中一旦&的所有系统帧都被恢复,则转向步骤[3],否则译码程序一直进行下去;当所有的E'及所有&中的系统帧都试探一遍后,&还有系统帧没有被恢复,则如果v < p,将v自加1,这里p的值由译码器设置的复杂度决定的,并重复该过程,如果v达到P值,则转向步骤[3]; 对&中的系统帧的恢复过程与&中的系统帧恢复过程一致,只要将(1)和(2)中的Ci换成&,将R' i换成豆'i,进行(1)和(2)运算即可; (3).译码处理的模块中的帧质量缓存器的数据被送至反馈处理模块,如果帧质量缓存器中没有错误系统帧,则转向步骤d,否则、总数连续几次( 一般为2-3次)没有变化,则随机地从错误系统帧号中取一个帧号作为下一时刻参与编码集合Cw,剩余的错误系统
,号就为&+1,否则从所有错误系统帧号中随机选择一半的帧号作为(;+1,剩余的一半作为
&+1,接着将Ci+1通过反馈信道反馈给发射端,这个过程一直重复直到帧质量缓存器中的所有系统帧指示都是正确为止,这时候则反馈发射端一个接收完毕的确认信号;
d.将帧存储器中已经全部恢复或部分恢复的系统帧送至信宿。
8
权利要求
一种基于反馈模式的帧级别编码与译码方法,包括发射端和接收端两级处理,其中A.发射端处理步骤为a.组帧将信号源发出的原始数据送入组帧处理模块、进行组帧,组帧处理后转加校验序列模块;b.成帧处理将经a步骤组帧处理后的信号送入加校验序列模块作成帧处理,为每一个帧插入帧校验序列,以用于接收端对该帧的验收;c.帧编码处理和发送经b步骤成帧处理的信号送入帧编码模块后、保存,再按照先进先出的顺序连续地将各个系统帧送入d步骤;然后根据各时刻接收端反馈回来的帧号信息对应地将这些系统帧及其校验序列进行异或处理、得到一个新的冗余帧,亦将其发送至d步骤,直至收到接收端发出接收完毕的确认信号时止;d.加入帧识别号将经帧编码模块处理后的信息送入加帧号处理模块,在各系统帧及冗余帧中分别加入该帧的识别号,然后送至常规信号处理模块;e.信号处理及发送将经d步骤加帧识别号处理后的信息送入常规信号处理模块,对信号进行常规交织、调制处理,然后送入信道发送;B.接收端处理步骤为a.信号接收及常规处理将收到的发射端信号送入信号处理模块,进行常规解调、解交织处理后、送入下一步骤;b.帧的检测处理将经a步骤解调、解交织处理后的信号送入帧检测模块,首先从收到的各个系统帧中去掉其帧号、并按照原帧号将该帧保存在相应的帧缓存器中,然后根据帧校验序列检测该系统帧的对错,并将其结果保存在帧质量存储器的相应位置中;而将收到的冗余帧去掉其帧号后直接送入译码器、进行译码处理;c.译码处理经帧检测器处理后的冗余帧送入译码器,并按照以下步骤对系统帧进行恢复,即首先升级冗余帧补集,接着获取错误位置指示序列,然后再试探并恢复系统帧,如果所有系统帧经过上述试探一遍后,仍然有系统帧没有恢复,则从当前未能恢复的所有系统帧中随机取出一半或1个,并将他们的帧号从反馈信道发送给发射端、以获取新的冗余帧后,继续译码,直至所有系统帧都正确恢复,再从反馈信道向发射端发送接收完毕的确认信号;d.将帧缓存器中的系统帧送入接收系统信宿 。
2. 按权利要求1所述基于反馈模式的帧级别编码与译码方法,其特征在于所述帧校验 序列为循环冗余校验序列及其检测方法。
3. 按权利要求1所述基于反馈模式的帧级别编码与译码方法,其特征在于所述冗余帧 补集,其方法是通过对上一时刻冗余帧、上一时刻冗余帧补集以及当前时刻冗余帧进行异 或处理;初始化时,令冗余帧、冗余帧补集为长度与系统帧及其校验序列长度相同的全零序 列。
4. 按权利要求1所述基于反馈模式的帧级别编码与译码方法,其特征在于所述的错误 位置指示序列分成两种,一种是将当前收到的冗余帧及其对应的参与该冗余帧编码的所有 系统帧进行异或处理得到的参与帧错误位置指示序列;另一种是将升级后的冗余帧补集及 未参与当前冗余帧编码的所有错误的系统帧进行异或处理得到的未参与帧错误位置指示序列。
5. 按权利要求1所述基于反馈模式的帧级别编码与译码方法,其特征在于所述试探并 恢复系统帧过程分两个部分,一是试探并恢复参与当前冗余帧编码的系统帧,其过程为对 所有错误的参与当前冗余帧编码的系统帧中的参与错误位置指示序列中指示为错误的位 置进行比特翻转,每次比特翻转后都根据帧校验序列进行帧检测,如果检测结果正确,则该 比特翻转后的帧就为相应的正确系统帧,并且通过对恢复后正确系统帧与当前冗余帧进行 异或处理,将该正确系统帧从参与当前冗余帧编码的帧中剔除掉;二是试探并恢复未参与 当前冗余帧编码的错误系统帧,其过程与前一过程相同,只是要试探并恢复的系统帧为未 参与当前冗余帧编码的错误系统帧,而错误位置指示序列为未参与帧错误位置指示序列, 并将当前冗余帧改为当前冗余帧补集。
6 按权利要求5所述基于反馈模式的帧级别编码与译码方法,其特征在于所述进行比 特翻转,其比特翻转的数目按照从小到大递增的方式进行,最小为1个。
7. 按权利要求1所述基于反馈模式的帧级别编码与译码方法,其特征在于所述从当前 未能恢复的所有系统帧中随机取出一半或1个,其取出所有系统帧的一半还是取出1个系 统帧的原则为所接收错误系统帧的总数连续2 3次没有变化,则随机地取出1个系统帧,否 则就取出所有系统帧的一半、从反馈信道发送给发射端。
全文摘要
该发明属于通信领域信息传输技术中的信道编码与译码的方法。包括发射端的组帧、成帧处理、帧编码处理和发送、加入帧识别号、信号处理及发送;以及接收端的信号接收及常规信号处理、帧的检测、译码处理及将系统帧送入信宿。该发明在发射端只对错误的帧进行编码大大地降低了参与编码的帧数量、以及编码和译码的复杂度,并通过反馈机制根据接收端反馈回来的接收情况再进行下一步的编码、以提高传输效率;接收端能够将错误帧通过简单的译码方法恢复;又有效地提高了传输容量;由于编码允许很多错误帧参与、且不要求错误帧是连续的,又提高了其纠错能力。因而具有编码和译码的复杂度低,纠错能力强,系统的传输容量大、传输效率及可靠性高等特点。
文档编号H04L1/00GK101777963SQ200910265070
公开日2010年7月14日 申请日期2009年12月29日 优先权日2009年12月29日
发明者李少谦, 林灯生, 肖鸣 申请人:电子科技大学