CN100417071C - 一种单向广播文件传输中的前向纠错方法 - Google Patents

一种单向广播文件传输中的前向纠错方法 Download PDF

Info

Publication number
CN100417071C
CN100417071C CNB031342175A CN03134217A CN100417071C CN 100417071 C CN100417071 C CN 100417071C CN B031342175 A CNB031342175 A CN B031342175A CN 03134217 A CN03134217 A CN 03134217A CN 100417071 C CN100417071 C CN 100417071C
Authority
CN
China
Prior art keywords
data
circleplus
data block
centerdot
data blocks
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
CNB031342175A
Other languages
English (en)
Other versions
CN1458764A (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.)
TONGSHI DATA Co Ltd XI-AN CITY
Original Assignee
TONGSHI DATA Co Ltd XI-AN CITY
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 TONGSHI DATA Co Ltd XI-AN CITY filed Critical TONGSHI DATA Co Ltd XI-AN CITY
Priority to CNB031342175A priority Critical patent/CN100417071C/zh
Publication of CN1458764A publication Critical patent/CN1458764A/zh
Application granted granted Critical
Publication of CN100417071C publication Critical patent/CN100417071C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

本发明涉及一种单向广播文件传输中的前向纠错方法。该方法依次包括以下步骤:100)把待发送的数据拆分成多个数据块,计算每个数据块的校验和;200)将该多个数据块进行数据块的异或运算,计算保护数据块;300)发送数据块内容,包括保护数据块内容;400)接收数据块,校验接收到的数据块是否正确,并作标识;500)若有数据错误,统计错误数据块个数,若只有一个数据块发生错误,且接收到保护数据块,进行数据块的纠错还原;600)若无数据错误,按照编码规则,直接拼接还原数据。本发明可对字节数很大的数据进行纠错、运算量小、冗余数据量小且信道利用率高。

Description

一种单向广播文件传输中的前向纠错方法
一、技术领域
本发明涉及一种单向广播文件传输中的前向纠错方法。
二、背景技术
单向广播文件传输指的是:在播出端,将文件按照协议拆分成数据包,调制该数据包,通过单向广播传输信道传输出去;在接收端,通过该单向广播传输信道接收该调制的数据包,将其进行解调、还原、拼接成原来的文件。在单向广播文件传输领域,由于使用的单向广播传输信道没有反向传输通道,所以只能使用前向纠错的方法纠正错误的数据,以提高数据传输的性能。
当需要传输一个大文件时,一般情况下不可能将这个大文件作为一个数据包向外传输,通常做法是将这个大文件拆成几个小的数据块、对该数据块编码、通过某单向广播传输信道对外传输。在接收过程中,若一个数据块发生误码,则需要对该数据块纠错、拼接、还原到原始文件。若某时刻突发一个强烈的干扰,导致其中一个数据块被破坏的内容较多而无法纠正,那么这个文件就无法正确还原,只好等待下一轮的该文件的数据块纠错、拼接、还原全过程。在信号差的情况下,可能需要2~3次循环才能接收到正确的文件。
在单向广播传输信道中,常用的对拆分后的数据块纠错的方法有:
1、汉明(8,4)编码:一个字节,4比特有效数据,4比特冗余保护数据。该方法可以在一个比特发生错误的情况下正确纠错,运算速度快。其缺点是有2个以上比特发生错误,就会造成误判。每次只能保护4个比特的数据位,在发生突发干扰的情况下,不能产生前向纠错的效果。
2、格雷(23,12)编码:23比特,一般对齐为3个字节。12比特有效数据位,11比特为冗余保护数据。该方法最多能够同时纠错2个比特,能够正确指示3个比特以上的错误。该方法运算速度较快,但比汉明(8,4)编码慢。其缺点是每次只能保护12比特,在发生突发干扰的情况下,不能产生前向纠错的效果。
3、BCH编码、RS编码、Turbo编码:该类编码,编码效率高,纠错能力强,但是运算量随码长的增加而急剧增加。该类编码适合于小数据块的保护,而且一般只纠正其中的数个或数十个字节。其运算量巨大,在发生突发干扰的时间相对长的情况下,不能产生前向纠错的效果。
4、多次重复播出,覆盖接收方法:有的单向广播传输信道在对外传输中,采用连续传输两遍的方法来修补被丢弃数据块,即循环播传输出方式,基本上可归纳为两种:一种是大循环传输,如:A=>B=>C=>A=>B=>C;另一种是连续循环传输两遍,如:A=>A=>B=>B=>C=>C。这种循环传输的方法,可能实现丢弃数据块的修补。但其信道利用率低,而且多遍修补也不一定能够成功修补。
总的来说,现有的纠错方法,是在一个数据块内的纠错,只能对较小数据量的数据块提供了保护。为了能够修补被丢弃了的数据块,采用重复传输的方法,虽然重复传输的方法有可能修补丢弃的数据块,但需要较长的时间,而且需要占用带宽,这降低带宽的利用率。
三、发明内容
本发明为解决背景技术中存在的上述技术问题,而提供一种可对字节数很大的数据进行纠错、运算量小、冗余数据量小和信道利用率高的单向广播文件传输中的前向纠错方法。
本发明的技术解决方案是:一种单向广播文件传输中的前向纠错方法,其特殊之处在于:该方法依次包括以下步骤:
100)把待发送的数据拆分成多个数据块,计算每个数据块的校验和;
200)将该多个数据块进行数据块的异或运算,计算保护数据块,其中保护数据块按公式 P 0 = S 1 ⊕ S 2 ⊕ S 3 ⊕ S 4 · · · ⊕ Sn - 2 ⊕ Sn - 1 ⊕ Sn 进行异或运算,同时对保护数据块本身进行编码;
300)在同一个物理通道上,依次发送数据块,包括保护数据块;
400)接收数据块,校验接收到的数据块是否正确,并作标识;
500)若有数据错误,统计错误数据块个数,若只有一个数据块发生错误,且接收到保护数据块,进行数据块的纠错还原,假设第m个数据块发生错误,还原第m个数据的公式为: Sm = P 0 ⊕ S 1 . . . ⊕ Sm - 1 ⊕ Sm + 1 . . . ⊕ Sn - 2 ⊕ Sn - 1 ⊕ Sn ;
600)若无数据错误,按照编码规则,直接拼接还原数据。
上述步骤100)中当原始数据字节数很多时,用多个保护数据块来分段保护,此时每个分段数据就相当于一个独立的待播出的数据,将该分段数据拆分成多个数据块,再计算每个数据块的校验和。
上述步骤200)中保护数据块按公式 P 0 = S 1 ⊕ S 2 ⊕ S 3 ⊕ S 4 · · · ⊕ Sn - 2 ⊕ Sn - 1 ⊕ Sn 进行异或运算;同时对保护数据块本身进行编码。
上述步骤300)中发送数据块时,先发送保护数据块,再发送原始数据块内容。
上述步骤100)中在对数据块进行编码时,添加一个字段,用于标记播出轮次或编码时间。
在突发强干扰的环境中,容易导致某一个数据块整体丢弃而其他数据块正常接收的情况,若不能将该丢失的数据块“找”回来,就意味此次传输无效。应用本发明就可将被丢弃的某一个数据块“找”回来,从而实现一次循环就能完整、正确地接收整个文件。因此本发明具有以下优点:
1、本发明是一个数据块级的数据保护编码,可以对字节数很大的数据提供保护。
2、本发明运算量小,本发明采用异或操作,不会因数据保护长度增加而急剧增加,编、解码运算量小。
3、本发明冗余数据量小,信道利用率高。本发明在n个有效数据块后,才使用一个保护数据块,编码效率高,解决有些编码效率低的特点。
4、本发明在丢失数据块的情况下,让一个播出循环就能够成功接收成为可能,不用像“多次重复播出,覆盖接收方法”那样,可以缩短接收时间,同时提供信到利用率。
5、本发明还可以提高单向广播文件传输、接收性能,降低对信道的要求,同时还可以降低文件传输的循环次数,节约带宽,提高带宽的利用率。
四、附图说明
图1为本发明的方法流程图;
图2为本发明的实施例流程图。
五、具体实施方式
参见图1,本发明的方法流程如下:
100)把待发送的数据拆分成多个数据块,计算每个数据块的校验和;
200)将该多个数据块进行数据块的异或运算,计算保护数据块;其中保护数据块按公式 P 0 = S 1 ⊕ S 2 ⊕ S 3 ⊕ S 4 · · · ⊕ Sn - 2 ⊕ Sn - 1 ⊕ Sn 进行异或运算,同时对保护数据块本身进行编码;
300)在同一个物理通道上,依次发送数据块,包括保护数据块;
400)接受数据块,校验接收到的数据块是否正确,并作标识;
500)若有数据错误,统计错误数据块个数,若只有一个数据块发生错误,且接收到保护数据块,进行数据块的纠错还原,假设第m个数据块发生错误,还原第m个数据的公式为: Sm = P 0 ⊕ S 1 . . . ⊕ Sm - 1 ⊕ Sm + 1 . . . ⊕ Sn - 2 ⊕ Sn - 1 ⊕ Sn ;
600)若无数据错误,按照编码规则,直接拼接还原数据。
参见图2,本发明方法详细流程说明如下:
100)把待播出的数据,按Y字节拆分成n个数据块,其中n=(X+Y-1)/Y,并对数据块进行编码,标识每个数据块(在文件中)的偏移,计算该数据块的校验和。以Y=1024字节为佳,以便于计算。数据块的校验和还可以采用多种算法,只要能够判断数据块是否发生错误即可,此处推荐使用32位CRC校验,即循环冗余码校验。在对数据块编码时,可添加一个字段,用于标记播出轮次或编码时间,便于接收段判断一个文件是否播出完成。对于最后一个数据块,即第n数据块,其有效字节数据为r=X除以Y的余数,若r等于0,标识该数据块正好为Y字节,r应该等于Y;若r不等于Y,则剩余的Y-r字节填成数字0。
200)保护数据块按 P 0 = S 1 ⊕ S 2 ⊕ S 3 ⊕ S 4 . . . ⊕ Sn - 2 ⊕ Sn - 1 ⊕ Sn 进行异或运算;保护数据块本身也要进行编码,一方面让接收端能够判断该保护块的数据内容是否正确,另一方面让接收端能够区分保护数据块与其他数据块。此处符号
Figure C0313421700074
表示数据块的异或操作,数据块的异或操作,是指两个数据块对应字节进行异或操作,如,将第m个数据块的第1字节A1与第m+1字节的第1字节B1进行异或运算,得到结果C1,同理A2与B2运算得到C2。
300)发送n个数据块和保护数据块的内容。以先发送保护数据块内容为佳,这样便于程序设计,在接收时不会因为保护数据块是否已经接收而进行等待。先传输保护块P0,然后传输原始数据块S1,S2,…Sn-1,Sn。
400)接收数据块,计算各数据块的校验和,并与播出端计算的校验和进行比较,确定数据块是否正确接收。播出端计算的校验和随数据一起发送到客户端。若一个数据块不正确,则将对应的数据缓冲区用数字0代替。若一个数据块丢失,则等效于发生错误。然后根据播出端对数据块编码时,添加的字段,来检测当前文件是否已经播出完成。
500)统计错误数据块个数(保护数据块不被统计),若只有一个数据块发生错误,且接收到保护数据块,则进行纠错。假设第m个数据块发生错误,还原第m个数据的公式为: Sm = P 0 ⊕ S 1 · · · ⊕ Sm - 1 ⊕ Sm + 1 · · · ⊕ Sn - 2 ⊕ Sn - 1 ⊕ Sn . 其中符号
Figure C0313421700083
标识数据块的异或操作。若没有数据块发生错误,则不用进行纠错。
600)若无数据错误,按照编码规则,直接拼接还原数据。
当原始数据字节数很多时,可以用多个保护数据块来分段保护。此时每个分段数据就相当于一个独立的待播出的数据。再依次按上述步骤将该分段数据进行纠错处理。
现举一具体实例对本发明方法做进步说明:
数据块校验和采用32位CRC方式,假设在接收端发现第3个数据块发生错误,即m=3。待播出的数据总长度X=100000字节,拆分单位Y=1000字节,那么总数据块个数n=(100000+1000-1)/1000=100。
对每个数据块进行编码,标识数据块在文件中的偏移,播出轮次,并计算该数据块的32位CRC校验和。(符号
Figure C0313421700091
表示异或操作)。
计算保护数据块 P 0 = S 1 ⊕ S 2 ⊕ S 3 ⊕ S 4 · · · ⊕ S 98 ⊕ S 99 ⊕ S 100 .
发送保护数据块P0,依次发送S1,S2,,,,S100
接收数据块,并判断文件是否完成发送。
统计错误数据块个数,发现一个数据S3块发生错误,则进行还原。
还原方法,先将S3对应的缓冲区清成0,然后计算
S 3 = P 0 ⊕ S 1 ⊕ S 2 ⊕ S 4 · · · ⊕ S 98 ⊕ S 99 ⊕ S 100 .
通用的计算方法是:假设第m数据块发生错误,则
当m=1
S 1 = P 0 ⊕ S 2 ⊕ S 3 · · · ⊕ S 98 ⊕ S 99 ⊕ S 100
当m=100
S 100 = P 0 ⊕ S 1 ⊕ S 2 · · · ⊕ S 98 ⊕ S 99
其他
Sm = P 0 ⊕ S 1 ⊕ S 2 · · · ⊕ Sm - 1 ⊕ Sm + 1 · · · ⊕ S 98 ⊕ S 99 ⊕ S 100
至此,成功还原错误的数据包Sm的纠正。
其中,
Figure C0313421700097
表示Sm与Sm+1两个数据包内对应字节的异或操作。

Claims (4)

1. 一种单向广播文件传输中的前向纠错方法,其特征在于:该方法依次包括以下步骤:
100)把待发送的数据拆分成多个数据块,计算每个数据块的校验和;
200)将该多个数据块进行数据块的异或运算,计算保护数据块,其中保护数据块按公式 P 0 = S 1 ⊕ S 2 ⊕ S 3 ⊕ S 4 · · · ⊕ Sn - 2 ⊕ Sn - 1 ⊕ Sn 进行异或运算,同时对保护数据块本身进行编码;
300)在同一个物理通道上,依次发送数据块,包括保护数据块;
400)接收数据块,校验接收到的数据块是否正确,并作标识;
500)若有数据错误,统计错误数据块个数,若只有一个数据块发生错误,且接收到保护数据块,进行数据块的纠错还原,假设第m个数据块发生错误,还原第m个数据的公式为: Sm = P 0 ⊕ S 1 · · · ⊕ Sm - 1 ⊕ Sm + 1 · · · ⊕ Sn - 2 ⊕ Sn - 1 ⊕ Sn ;
600)若无数据错误,按照编码规则,直接拼接还原数据。
2. 根据权利要求1所述的单向广播文件传输中的前向纠错方法,其特征在于:所述步骤100)中当原始数据字节数很多时,用多个保护数据块来分段保护,此时每个分段数据就相当于一个独立的待播出的数据,将该分段数据拆分成多个数据块,再计算每个数据块的校验和。
3. 根据权利要求2所述的单向广播文件传输中的前向纠错方法,其特征在于:所述步骤300)中发送数据块时,先发送保护数据块,再发送原始数据块内容。
4. 根据权利要求1所述的单向广播文件传输中的前向纠错方法,其特征在于:所述步骤100)中在对数据块进行编码时,添加一个字段,用于标记播出轮次或编码时间。
CNB031342175A 2003-05-30 2003-05-30 一种单向广播文件传输中的前向纠错方法 Expired - Fee Related CN100417071C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031342175A CN100417071C (zh) 2003-05-30 2003-05-30 一种单向广播文件传输中的前向纠错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031342175A CN100417071C (zh) 2003-05-30 2003-05-30 一种单向广播文件传输中的前向纠错方法

Publications (2)

Publication Number Publication Date
CN1458764A CN1458764A (zh) 2003-11-26
CN100417071C true CN100417071C (zh) 2008-09-03

Family

ID=29430626

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031342175A Expired - Fee Related CN100417071C (zh) 2003-05-30 2003-05-30 一种单向广播文件传输中的前向纠错方法

Country Status (1)

Country Link
CN (1) CN100417071C (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703780B1 (ko) * 2005-05-11 2007-04-06 삼성전자주식회사 무선 네트워크에서 라우팅 테이블의 정보를 일치시키는방법 및 장치
CN101114887B (zh) * 2006-07-24 2012-03-21 华为技术有限公司 一种业务数据的传输方法及其接收装置与设备
CN1972455B (zh) * 2006-11-30 2012-02-22 中兴通讯股份有限公司 一种移动多媒体广播系统的容错方法
CN101267210B (zh) * 2007-03-12 2011-01-05 华为技术有限公司 数据编译码和收发方法及装置
CN101312384B (zh) * 2007-05-24 2012-05-23 上海贝尔阿尔卡特股份有限公司 通信网络中计算奇偶校验信息的方法和装置
CN101355705B (zh) * 2007-07-23 2010-12-08 中兴通讯股份有限公司 一种用于多媒体广播系统的数据传输方法
CN101383678B (zh) * 2007-09-04 2011-12-28 中兴通讯股份有限公司 基带单元与射频单元间传输的正交调制数据的校验方法
CN101465791B (zh) * 2007-12-18 2011-08-17 国家广播电影电视总局广播科学研究院 一种基于单向链路的文件传输方法
CN101510818B (zh) * 2009-03-27 2012-01-04 华为技术有限公司 一种光纤链路的检测方法、装置和系统
US9417821B2 (en) 2011-09-30 2016-08-16 Intel Corporation Presentation of direct accessed storage under a logical drive model
CN106843958A (zh) * 2017-01-18 2017-06-13 成都黑盒子电子技术有限公司 一种嵌入式固件升级方法
CN109560864B (zh) * 2017-09-26 2021-10-19 中兴通讯股份有限公司 一种数据传输方法和装置
CN108712235B (zh) * 2018-05-29 2020-11-20 北京光润通科技发展有限公司 一种单向无反馈传输方法
CN113938248B (zh) * 2020-07-14 2023-04-28 华为技术有限公司 数据报文纠错方法和数据报文纠错装置
CN112968754B (zh) * 2021-02-01 2022-03-15 航天国盛科技有限公司 一种基于n+1路e1信道实现数据可靠性传输方法、网络设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1399447A (zh) * 2001-07-25 2003-02-26 英业达集团(南京)电子技术有限公司 利用无线通讯协定下载大型数据的方法
CN1411280A (zh) * 2002-11-21 2003-04-16 北京中科大洋科技发展股份有限公司 一种制作和发送及接收广播式准视频点播节目的装置
CN1414699A (zh) * 2001-10-26 2003-04-30 富士通株式会社 纠错装置和纠错方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1399447A (zh) * 2001-07-25 2003-02-26 英业达集团(南京)电子技术有限公司 利用无线通讯协定下载大型数据的方法
CN1414699A (zh) * 2001-10-26 2003-04-30 富士通株式会社 纠错装置和纠错方法
CN1411280A (zh) * 2002-11-21 2003-04-16 北京中科大洋科技发展股份有限公司 一种制作和发送及接收广播式准视频点播节目的装置

Also Published As

Publication number Publication date
CN1458764A (zh) 2003-11-26

Similar Documents

Publication Publication Date Title
CN100417071C (zh) 一种单向广播文件传输中的前向纠错方法
CN1154285C (zh) 灵活的通信差错保护方法
US6199190B1 (en) Convolution decoding terminated by an error detection block code with distributed parity bits
US6336200B1 (en) Method for validating communicated packets of data and for locating erroneous packets
KR100292309B1 (ko) 데이터 전송 방법, 데이터 전송 시스템과 송신기및 수신기
CN106817192B (zh) 一种错误估计的方法、基站及终端
CN1656693A (zh) 迭代硬输入前向纠错的方法
US8458549B2 (en) Data transmission method, data reception method, mobile terminal and radio communication system
EP1333586A2 (en) Decoding method, decoding apparatus and digital transmission system of product code
US7023899B2 (en) Method for reliable signaling information transmission in a wireless communication system
EP1497926B1 (en) Diversity scheme for error control coding in a system with prioritized data
CN1187674C (zh) 用于发送键字符的方法、键盘、和系统
US6563879B1 (en) Method and apparatus for enabling transmission of variable length encoded data in a low signal to noise ratio environment
CN101931492A (zh) 数据块前向纠错算法的确定方法与装置
US7770096B1 (en) Method of operating a matrix checksum
CN101107864A (zh) 使用crc奇偶校验码的视频差错检测技术
CN103001729A (zh) 一种编码调制方法以及相关装置
CN103138881B (zh) 编解码方法和设备
CN1112778C (zh) 一种数字通信系统中的信道循环冗余码校验的方法
US6007238A (en) Communication method and communication system using the same
CN103138880B (zh) 编解码方法和设备
EP0625834A1 (en) Method and arrangement for arranging an interception-proof optical link
US11451246B1 (en) FEC codec module
Gholase et al. Enhancement of error detection and correction capability using orthogonal code convolution
JPH10290216A (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

Granted publication date: 20080903

Termination date: 20150530

EXPY Termination of patent right or utility model