CN104917590B - 一种信道编码纠错方法 - Google Patents
一种信道编码纠错方法 Download PDFInfo
- Publication number
- CN104917590B CN104917590B CN201510311838.7A CN201510311838A CN104917590B CN 104917590 B CN104917590 B CN 104917590B CN 201510311838 A CN201510311838 A CN 201510311838A CN 104917590 B CN104917590 B CN 104917590B
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- frame
- bag
- byte
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0075—Transmission of coding parameters to receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1809—Selective-repeat protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1832—Details of sliding window management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明提供了一种信道编码纠错方法,数据发送端按规定长度对原始数据进行分割,在分割后的数据包中加入相关信息后,采用规定的协议对其进行转换,再经无线数据传输系统进行发送。数据接收端首先确定所收数据帧的偏移量,再对数据帧进行反向移位,之后将移位后的数据帧进行拼接,提取到一包完整数据后进行反向协议转换即可获得正确数据。本发明能兼顾数据处理效率与效果两方面的要求,可较好地解决无线传输中的数据移位现象,提高数据传输的可靠性。
Description
技术领域
本发明属于信道编码技术领域,具体涉及无线数据远距离传输的数据移位纠错解决方法。
背景技术
目前,无人机、无人飞艇等装备已经在目标识别、目标监测和跟踪、灾情探测与防治等各个领域广泛应用。与传统有线数据传输相比,无线数据传输经常会出现数据误码与丢帧,其可靠性较差。特别是远距离传输时,数据移位现象会导致数据接收端接收的数据完全错误。如果依赖机上存储设备进行事后回放,则不能满足实时观测需求,故需要一种简便、快捷的方法解决无线传输产生的数据移位问题。
目前在数据传输中,主要有三种误码控制方法,即自动请求重发(ARQ)、前向纠错(FEC)和混合纠错(HEC)。第一种方法中接收端要求发送端重发其检测到的错误信息,故实时性较差;第二种方法是在发送端给待传输信息按一定的算法附加一些监督码元,然后接收端对收到的码字进行译码,从而发现误码并予以纠正,通常所用编码算法(如BCH码、RS码)较为复杂;混合纠错(HEC)是前两种方式的结合。
发明内容
为了克服现有技术的不足,本发明提供一种信道编码纠错方法,只需在已有系统基础上以软件的形式来实现,能解决无线传输产生的数据移位问题。
本发明解决其技术问题所采用的技术方案包括以下步骤:
步骤1:数据发送端将待发送的原始数据块划分为若干个数据包,每个数据包的长度为2000字节,若最后一个数据包的长度不足2000字节,则无需补齐;
步骤2:在每个数据包的包首位置插入包所属原始数据块编号、原始数据块分割的包数和当前包编号;
步骤3:将每个数据包的所有字节按照无符号字节累加后取低字节,作为校验码插入数据包包尾;
步骤4:对数据包按下述方法进行协议转换:给数据包添加新的包头0XFFFF00与包尾0X00FFFF;将数据包中除包头、包尾外与0XFF相同的数据用字符0XDBDC代替,与字符0XDB相同的数据用字符0XDBDD代替;
步骤5:将协议转换后的数据包依次发送,当无数据发送时,发送空闲数据帧0XAA;
步骤6:数据接收端将接收到的数据帧放入缓存,然后逐帧从帧头开始以三个字节大小为移动窗口,逐位对数据帧进行滑动移位,若移动窗内数据为0XFFFF00或0X00FFFF则找到该帧数据偏移量,再按此数据偏移量对整帧数据进行反向移位纠偏;
步骤7:若反向移位纠偏后的数据全为0XAA则不处理,否则将反向移位纠偏后的数据存入缓存进行拼包处理,若出现以0XFFFF00开始、以0X00FFFF结束的一段数据则提取出一个数据包;
步骤8:移除包头与包尾,并将其中连续两个字节0XDBDC替换为0XFF,将连续两个字节0XDBDD替换为0XDB;
步骤9:按照数据包中的包所属原始数据块编号、原始数据块分割的包数、当前包编号信息拼接出完整的原始数据块。
本发明的有益效果是:通过对数据进行分包后协议转换、查找偏移量并进行反向移位等一系列处理后,在无线数据传输系统最高8Mb/s的传输速率下,仍能及时处理得到机上下传的最大分辨率为16384×16384的图像数据。这表明该方法能兼顾数据处理效率与效果两方面的要求。
此外,本方法将数据划分为若干较小数据包后发送,若传输中出现误码或丢帧,可要求数据发送端仅将出错的数据包进行重传,避免直接将原始数据下传时若数据出错,则整个数据需要全部重发的不足,可节省传输时间并减轻数据收、发双方的处理压力。
综上所述,本方法能使所用系统具有一定的检错与纠错能力,可较好地解决无线传输中的数据移位现象,提高数据传输的可靠性;
另一方面,本方法编解码效率高,且实现过程较为简单,能够完全满足处理高速数据对实时性的要求,并已在工程应用中取得了良好效果。
附图说明
图1是本方法实现信道编码纠错原理图。
图2是本方法滑动窗查找数据偏移量示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。
本发明包括以下步骤:
步骤1:数据发送端不直接将原始数据块送至无线数据传输系统进行发送,而是在发送前先对原始数据块进行分割,将其划分为长度2000字节的若干个数据包(若末尾数据包长不足2000,无需补齐);
步骤2:在每个数据包的包首位置插入唯一包编号(0-65535内循环递增,用于数据重传)、包所属原始数据块编号、原始数据块分割的包数、当前包编号;
步骤3:将数据包的所有字节按照无符号字节累加后取低字节,将其作为校验码插入数据包包尾;
步骤4:对数据包按下述方法进行协议转换,完成数据发送前的处理工作:
步骤4.(1):给数据包添加新的包头0XFFFF00与包尾0X00FFFF;步骤4.(2):将数据包中除包头包尾外,与0XFF相同的数据用字符0XDBDC代替,与字符0XDB相同的数据用字符0XDBDD代替。
[注1:如果确定包头、包尾均为0XFF,若包内两相邻数据00000111,11111000经过整体偏移5位操作后也可得到0XFF,此时包头、包尾不具备唯一性。如果包头、包尾为0XFFFF,则端字符转义后的包内数据偏移操作后绝不可能出现0XFFFF,只可能出现若干不连续的0XFF,这就保证了包头、包尾的唯一性。]
[注2:数据发送端下传的数据包通过无线数据传输系统传输时有可能被分割到两帧或者更多帧进行下传,此时数据接收端需对反向移位运算后的数据帧进行拼接后,才能得到一个完整数据包。即数据拼接时需明确区分包头与包尾,故将数据包头确定为0XFFFF00,包尾确定为0X00FFFF。]
[注3:包头0XFFFF00、包尾0X00FFFF和空闲字符0XAA不可替换,但端字符0XFF的转义字符以及转义字符的转义可使用其他字符。]
步骤5:将处理后的数据包依次送至无线数据传输系统进行发送;另外,需预先指定无线数据传输系统发送的空闲数据为0XAA,因为无线数据传输系统的特性是当无数据发送时,仍会持续向接收端发送空闲数据帧(内容可设置);
[注4:因为数据0XAA无论偏移几位,只可能出现0XAA(10101010)或0X55(01010101)两种情况,不会出现端字符0XFF,保证了其唯一性,且若一帧数据全为0XAA,则数据接收端直接丢弃。]
步骤6:数据接收端将接收到的数据帧放入缓存,然后逐帧进行处理。从帧头开始以三个字节大小为移动窗口,逐位对数据帧进行滑动移位,若移动窗内数据为0XFFFF00或0X00FFFF则找到该帧数据偏移量,再按此偏移量对整帧数据进行反向移位纠偏;
步骤7:若纠偏后的数据全为0XAA则不处理,否则将数据存入缓存进行拼包处理,若出现以0XFFFF00开始、以0X00FFFF结束的一段数据则提取出一个数据包;
步骤8:移除包头与包尾,并将其中连续两个字节0XDBDC替换为0XFF,将连续两个字节0XDBDD替换为0XDB;
步骤9:按照数据包中的包所属原始数据块编号、原始数据块分割的包数、当前包编号信息即可拼接出完整的原始数据块。
本发明的实施例包括以下内容:
数据发送端:
1.原始数据分割
数据发送端首先将所要发送的原始数据以2000个字节为标准划分为若干个数据包。这样做主要基于两方面的考虑:
第一,受无线数据传输系统的限制,其单次所能发送的最大数据帧为2171个字节;
第二,数据分割为较小的数据包,并在其中加入唯一包编号、包所属原始数据块编号、原始数据块分割的包数、当前包编号信息。如果某数据包在传输过程中丢失或误码,则数据接收端发现后可要求数据发送端进行重传。
2.协议转换
无线数据传输系统发送的数据帧有可能会产生移位,只有得知该帧的数据偏移量,才能对其进行反向移位。故需要在数据包的最前端与末端各添加一个唯一的标识符(即包头与包尾),组成一个新的数据包,使得数据接收端能够逐位对数据帧进行偏移操作,直至找到包头或包尾,从而确定数据偏移位数,之后对整个数据帧进行反向移位运算。数据包的协议转换具体过程如下:
1)数据包添加包头与包尾。确定数据包头为0XFFFF00,数据包尾为0X00FFFF;
2)端字符转义。为保证包头、包尾的唯一性,遍历数据包除包头包尾外的其他内容,与0XFF相同的数据用字符0XDBDC代替,与字符0XDB相同的数据用字符0XDBDD代替;
3)空闲数据的处理。无线数据传输系统在不发送有效数据时,仍会持续向接收端发送空闲数据帧(内容可设),因此指定其发送的空闲数据为0XAA。
数据接收端:
1.数据帧纠偏
1)查找数据偏移量
数据接收端首先将接收的数据帧存储至缓冲区,然后依次对各数据帧SrcBuf(长度为Len)从首字节SrcBuf[0]起进行遍历(i从0至Len-4):
若SrcBuf[i]+SrcBuf[i+1]+SrcBuf[i+2]整体向右移动j位(j从0至7)后所得新数据为包头0XFFFF00或包尾0X00FFFF则确定该数据帧的偏移量为j位,同时退出循环。
如果没有找到包头或包尾,若数据帧SrcBuf的最后三个字节为包头或包尾,则该帧数偏移量为0,否则沿用上一帧数据的偏移量(初始值为0)。
2)数据帧反向移位
将上一帧的最后一个字节(初始值为0)插入数据帧SrcBuf的帧头位置后,对该数据整体(除最后一个字节外)向右移动j位,得到纠偏后的正确数据。若该帧数据全为空闲数据0XAA,则丢弃。
2.数据包提取
将上述反向移位得到的数据帧插入已有的已纠偏数据缓存中后,对其进行遍历,若找到一个完整的数据包(包头0XFFFF00、包尾0X00FFFF),则提取出该包数据。
3.反向协议转换
对上一步提取出的数据包首先去除其包头0XFFFF00与包尾0X00FFFF。然后对其进行遍历,若连续两个字节为0XDBDC,则将其替换为0XFF;若连续两个字节为0XDBDD,则将其替换为0XDB。于是,得到一包完整的数据发送端发送的原始数据。
如果该数据包解析后发现唯一包编号与上一包不连续或者数据有误码,则需要时可要求数据发送端进行重发。
Claims (1)
1.一种信道编码纠错方法,其特征在于包括下述步骤:
步骤1:数据发送端将待发送的原始数据块划分为若干个数据包,每个数据包的长度为2000字节,若最后一个数据包的长度不足2000字节,则无需补齐;
步骤2:在每个数据包的包首位置插入包所属原始数据块编号、原始数据块分割的包数和当前包编号;
步骤3:将每个数据包的所有字节按照无符号字节累加后取低字节,作为校验码插入数据包包尾;
步骤4:对数据包按下述方法进行协议转换:给数据包添加新的包头0XFFFF00与包尾0X00FFFF;将数据包中除包头、包尾外与0XFF相同的数据用字符0XDBDC代替,与字符0XDB相同的数据用字符0XDBDD代替;
步骤5:将协议转换后的数据包依次发送,当无数据发送时,发送空闲数据帧0XAA;
步骤6:数据接收端将接收到的数据帧放入缓存,然后逐帧从帧头开始以三个字节大小为移动窗口,逐位对数据帧进行滑动移位,若移动窗内数据为0XFFFF00或0X00FFFF则找到该帧数据偏移量,再按此数据偏移量对整帧数据进行反向移位纠偏;
步骤7:若反向移位纠偏后的数据全为0XAA则不处理,否则将反向移位纠偏后的数据存入缓存进行拼包处理,若出现以0XFFFF00开始、以0X00FFFF结束的一段数据则提取出一个数据包;
步骤8:移除包头与包尾,并将其中连续两个字节0XDBDC替换为0XFF,将连续两个字节0XDBDD替换为0XDB;
步骤9:按照数据包中的包所属原始数据块编号、原始数据块分割的包数、当前包编号信息拼接出完整的原始数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510311838.7A CN104917590B (zh) | 2015-06-09 | 2015-06-09 | 一种信道编码纠错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510311838.7A CN104917590B (zh) | 2015-06-09 | 2015-06-09 | 一种信道编码纠错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104917590A CN104917590A (zh) | 2015-09-16 |
CN104917590B true CN104917590B (zh) | 2017-12-12 |
Family
ID=54086326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510311838.7A Active CN104917590B (zh) | 2015-06-09 | 2015-06-09 | 一种信道编码纠错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104917590B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016225224B3 (de) * | 2016-08-16 | 2018-02-01 | Volkswagen Aktiengesellschaft | Verfahren zur digitalen Übertragung von Datenblöcken von einer Sendestation zu einer Empfangsstation sowie Sendestation, Empfangsstation und Kraftfahrzeug zur Verwendung bei dem Verfahren |
CN108512785B (zh) * | 2018-04-13 | 2020-12-25 | 南京优米亚信息科技有限公司 | 一种数据传输协议方法 |
CN112213578A (zh) * | 2020-09-23 | 2021-01-12 | 青岛鼎信通讯股份有限公司 | 一种中压线变关系识别方法 |
CN114142970B (zh) * | 2021-11-25 | 2024-04-19 | 无锡彼星半导体有限公司 | 一种用于二维阵列数据高速传输的容错传输方法 |
CN115134426A (zh) * | 2022-05-18 | 2022-09-30 | 中国船舶集团有限公司第七二三研究所 | 一种SRIO协议到aurora协议的数据转换方法 |
CN116484407B (zh) * | 2023-04-23 | 2024-03-22 | 深圳市天下房仓科技有限公司 | 一种数据安全保护方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882654A (zh) * | 2012-10-25 | 2013-01-16 | 北京理工大学 | 一种基于编码约束及概率计算的编解码同步方法 |
EP2566119A1 (en) * | 2011-08-29 | 2013-03-06 | Panasonic Corporation | Generalized rotated constellations for time-frequency slicing |
CN103763374A (zh) * | 2014-01-23 | 2014-04-30 | 深圳联友科技有限公司 | 基于udt的数据传输方法及装置 |
-
2015
- 2015-06-09 CN CN201510311838.7A patent/CN104917590B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2566119A1 (en) * | 2011-08-29 | 2013-03-06 | Panasonic Corporation | Generalized rotated constellations for time-frequency slicing |
CN102882654A (zh) * | 2012-10-25 | 2013-01-16 | 北京理工大学 | 一种基于编码约束及概率计算的编解码同步方法 |
CN103763374A (zh) * | 2014-01-23 | 2014-04-30 | 深圳联友科技有限公司 | 基于udt的数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104917590A (zh) | 2015-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104917590B (zh) | 一种信道编码纠错方法 | |
CN101764730B (zh) | 一种can总线数据传输方法 | |
US8386901B2 (en) | Method, device and software application for transmitting data packets in a communication system | |
EP2493104B1 (en) | Header compression data packet transmission method and device based on retransmission mechanism | |
CN101155311B (zh) | 一种视频通信中的视频码流错误检测和处理方法 | |
CN107257270B (zh) | 基于混合自动重传请求的数据传输方法及系统 | |
CN101800757B (zh) | 一种基于单光纤结构的无反馈单向数据传输方法 | |
US20080192774A1 (en) | Method and system for aggregating multiple small packets in wireless communication | |
US7716559B2 (en) | Method for lost packet reconstruction and device for carrying out said method | |
US10256944B1 (en) | Controlling false packet acceptance | |
CN102239658B (zh) | 按需差错控制 | |
US20160285776A1 (en) | Physical-layer signaling of flow control updates | |
CN104038322A (zh) | 中间节点、通信网络及其数据传输控制方法 | |
CN103634083A (zh) | 一种适用于传感器网络的动态网络编码丢包重传方法 | |
CA2396213A1 (en) | Automatic retransmit request protocol for channels with time-varying capacity | |
CN103825689A (zh) | 具有本地缓存的延迟确定性报文重传方法 | |
CN103944689B (zh) | 一种适合物理层无速率编码传输的流水线传输方法 | |
CN104796235B (zh) | 基于丢包率的卫星通信自适应拥塞控制方法 | |
EP2784965A2 (en) | Data communication method and apparatus using forward error correction | |
WO2015085744A1 (en) | Method and apparatus for transmitting data packets | |
CN102195750B (zh) | 数据传送装置及数据传送系统 | |
EP1052798B1 (en) | Efficent automatic repeat request method using variable length sequence numbers | |
US20220123901A1 (en) | Method of transmission of a data packet, computer program, and transceiver device | |
CN104821843B (zh) | 一种基于丢包率的卫星通信分段式拥塞控制方法 | |
CN107911206B (zh) | 一种面向比特的同步通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |