一種短距離無線通信糾錯(cuò)處理方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及一種通信糾錯(cuò)處理方法,尤其是涉及一種短距離無線通信糾錯(cuò)處理方法。【
背景技術(shù):
】[0002]由于無線通信的傳輸條件比較復(fù)雜,如何減小通信傳輸中的誤碼率就成了無線通信模塊必須面對的問題。出于成本上的考慮,短距離無線通信模塊,采用的處理器芯片,帶有的flash和RAM都是極其有限的。本發(fā)明實(shí)例使用的處理器芯片,flash為8K字節(jié),RAM為1024個(gè)字節(jié)。因而大多數(shù)短距離通信模塊都只是采用CRC校驗(yàn)來確定傳輸數(shù)據(jù)是否準(zhǔn)確,但是卻無法在不進(jìn)行重傳的情況下,得到正確的數(shù)據(jù)?!?br/>發(fā)明內(nèi)容】[0003]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種短距離無線通信糾錯(cuò)處理方法。[0004]本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):[0005]一種短距離無線通信糾錯(cuò)處理方法,其特征在于,該方法采用理查-所羅門(ReedSolomon)算法編碼,包括以下步驟:[0006]I)初始化ReedSolomon編解碼參數(shù);[0007]2)發(fā)送模塊在發(fā)送數(shù)據(jù)之前,對數(shù)據(jù)進(jìn)行編碼,由編碼所得的根符號(rootsymbol)放置在數(shù)據(jù)幀的末尾,所有的數(shù)據(jù)編碼完畢之后,無線模塊將包含原始數(shù)據(jù)和rootsymbol的新巾貞發(fā)送出去;[0008]3)接收模塊在接收到數(shù)據(jù)后,對接收的數(shù)據(jù)進(jìn)行校驗(yàn),如果有錯(cuò),則進(jìn)行解碼,更正錯(cuò)誤的符號單元(symbol)。[0009]無線通信模塊包括發(fā)送模塊、接收模塊,所述的發(fā)送模塊與接收模塊無線連接。[0010]所述的步驟I)初始化ReedSolomon編解碼參數(shù)具體步驟如下:[0011](1-1)將symbol的大小設(shè)為4比特,根(root)的個(gè)數(shù)設(shè)為4,每個(gè)ReedSolomon塊(block)包含的symbol數(shù)為15,除去4個(gè)rootsymbol,包含的數(shù)據(jù)symbol為11個(gè);[0012](1-2)每個(gè)ReedSolomonblock的數(shù)據(jù)symbol為11,symbol的大小為4比特,將每個(gè)block編碼5字節(jié)數(shù)據(jù),剩下的一個(gè)symbol作填充處理;[0013](1-3)采用查表法對數(shù)據(jù)進(jìn)行ReedSolomon編碼和解碼;[0014](1-4)根據(jù)選擇的參數(shù),使用PC或者其他工具計(jì)算出ReedSolomon編解碼時(shí)所需的對數(shù)查找表(Loglookuptable),逆對數(shù)查找表(Antiloglookuptable),生成多項(xiàng)式表(Generatorpolynomialtable)。[0015]所述的步驟2)中的編碼過程如下:[0016](2-1)將傳輸?shù)臄?shù)據(jù)幀,拆分成5字節(jié)大小的組,若最后一組不足5字節(jié),填充到5字節(jié);[0017](2-2)每次對5個(gè)字節(jié)數(shù)據(jù)進(jìn)行編碼,得到root數(shù)據(jù);[0018](2-3)將得到的4個(gè)symbol的root,合并為2個(gè)字節(jié);[0019](2-4)將步驟(2-3)所得的數(shù)據(jù),放到數(shù)據(jù)幀的末尾部分;[0020](2-5)重復(fù)步驟(2-2)?(2-4)。[0021]所述的步驟3)具體過程如下:[0022](3-1)將接收的幀的前部的數(shù)據(jù)部分按照5字節(jié)大小分組,后部root部分按照2字節(jié)分組,由步驟(2)可知,兩者分組所得的組數(shù)應(yīng)該是一致的;[0023](3-2)每次取一組數(shù)據(jù)和root,米用ReedSolomon算法進(jìn)行驗(yàn)證,如果驗(yàn)證沒有錯(cuò)誤,則進(jìn)行(3-5),若出錯(cuò)symbol少于4個(gè),則進(jìn)行步驟(3_4);[0024](3-3)返回錯(cuò)誤,放棄本次收到的數(shù)據(jù)幀;[0025](3-4)采用ReedSolomon算法進(jìn)行糾錯(cuò)處理,更正出錯(cuò)的symbol;[0026](3-5)重復(fù)(3-2)?(3-4)。[0027]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):[0028]1、占用的Flash和RAM都很小;[0029]2、對傳輸?shù)臄?shù)據(jù)卻起到了糾錯(cuò)的作用;[0030]3、性價(jià)比高。【附圖說明】[0031]圖1為本發(fā)明一種短距離無線通信糾錯(cuò)處理方法的流程圖;[0032]圖2為本發(fā)明一種短距離無線通信糾錯(cuò)處理方法的初始化ReedSolomon編解碼參數(shù)流程圖;[0033]圖3為本發(fā)明一種短距離無線通信糾錯(cuò)處理方法的發(fā)送數(shù)據(jù)編碼流程圖;[0034]圖4為本發(fā)明一種短距離無線通信糾錯(cuò)處理方法的接收數(shù)據(jù)解碼流程圖。【具體實(shí)施方式】[0035]下面結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)說明。[0036]實(shí)施例[0037]如圖1所述,一種短距離無線通信糾錯(cuò)處理方法,該方法包括以下步驟:[0038]第I步,初始化ReedSolomon編解碼參數(shù);[0039]第2步,無線模塊在發(fā)送數(shù)據(jù)之前,對數(shù)據(jù)進(jìn)行編碼,由編碼所得的rootsymbol放置在數(shù)據(jù)幀的末尾,所有的數(shù)據(jù)編碼完畢之后,無線模塊將包含原始數(shù)據(jù)和rootsymbol的新幀發(fā)送出去;[0040]第3步,接收模塊在接收到數(shù)據(jù)后,對接收的數(shù)據(jù)進(jìn)行校驗(yàn),如果有錯(cuò),則進(jìn)行解碼,更正錯(cuò)誤的symbol。[0041]如圖2所示,短距離無線通信模塊開機(jī)啟動(dòng)后,初始化ReedSolomon算法相關(guān)的參數(shù),包括但不限于symbolsize,numberofroots,Loglookuptable,Antiloglookuptable,Generatorpolynomialtable,pad本實(shí)施例中[0042]Symbolsize=4,[0043]numberofroots=4,[0044]Loglookuptable={I,2,4,8,3,6,12,11,5,10,7,14,15,13,9,0},[0045]Antiloglookuptable={15,0,1,4,2,8,5,10,3,14,9,7,6,13,11,12},[0046]Generatorpolynomialtable={10,3,6,13,0}。[0047]Pad=I,因?yàn)楸緦?shí)施例只使用10個(gè)symbol,故填充一個(gè)symbol。[0048]如圖3所示,無線模塊在發(fā)送數(shù)據(jù)之前,先對數(shù)據(jù)進(jìn)行ReedSolomon編碼,由編碼所得的rootsymbol放置在數(shù)據(jù)幀的末尾。所有的數(shù)據(jù)編碼完畢之后,無線模塊將包含原始數(shù)據(jù)和rootsymbol的新巾貞發(fā)送出去。[0049]如圖4所示,無線模塊在接收到一幀數(shù)據(jù)后,對其進(jìn)行ReedSolomon解碼。在此過程中,先對一個(gè)一個(gè)的RSblock進(jìn)行校驗(yàn),得到當(dāng)前block出錯(cuò)的symbol數(shù),如果多于4個(gè),那么超出了本實(shí)施例選擇的ReedSolomon算法參數(shù),所能糾錯(cuò)的范圍,無線模塊丟棄本次接收到幀。如果少于4個(gè)(包含4個(gè))可以對當(dāng)前的block進(jìn)行糾錯(cuò)處理,從而得到正確的數(shù)據(jù)。所有的block處理完成之后,將數(shù)據(jù)返回,就完成了整個(gè)解碼過程?!局鳈?quán)項(xiàng)】1.一種短距離無線通信糾錯(cuò)處理方法,其特征在于,該方法采用理查-所羅門(ReedSolomon)算法編碼,包括以下步驟:1)初始化ReedSolomon編解碼參數(shù);2)發(fā)送模塊在發(fā)送數(shù)據(jù)之前,對數(shù)據(jù)進(jìn)行編碼,由編碼所得的根符號(rootsymbol)放置在數(shù)據(jù)幀的末尾,所有的數(shù)據(jù)編碼完畢之后,無線模塊將包含原始數(shù)據(jù)和rootsymbol的新幀發(fā)送出去;3)接收模塊在接收到數(shù)據(jù)后,對接收的數(shù)據(jù)進(jìn)行校驗(yàn),如果有錯(cuò),則進(jìn)行解碼,更正錯(cuò)誤的符號單元(symbol)。2.根據(jù)權(quán)利要求1所述的短距離無線通信糾錯(cuò)處理方法,其特征在于,無線通信模塊包括發(fā)送模塊、接收模塊,所述的發(fā)送模塊與接收模塊無線連接?!緦@勘景l(fā)明涉及一種短距離無線通信糾錯(cuò)處理方法,該方法采用理查所羅門(Reed?Solomon)算法編碼,包括以下步驟:初始化Reed?Solomon編解碼參數(shù);發(fā)送模塊在發(fā)送數(shù)據(jù)之前,對數(shù)據(jù)進(jìn)行編碼,由編碼所得的根符號(root?symbol)放置在數(shù)據(jù)幀的末尾,所有的數(shù)據(jù)編碼完畢之后,無線模塊將包含原始數(shù)據(jù)和root?symbol的新幀發(fā)送出去;接收模塊在接收到數(shù)據(jù)后,對接收的數(shù)據(jù)進(jìn)行校驗(yàn),如果有錯(cuò),則進(jìn)行解碼,更正錯(cuò)誤的符號單元(symbol)。與現(xiàn)有技術(shù)相比,本發(fā)明具有占用的Flash和RAM都很小、對傳輸?shù)臄?shù)據(jù)卻起到了糾錯(cuò)的作用、性價(jià)比高等優(yōu)點(diǎn)。【IPC分類】H04L1-00,H03M13-15【公開號】CN104579543【申請?zhí)枴緾N201310509188【發(fā)明人】不公告發(fā)明人【申請人】西安造新電子信息科技有限公司【公開日】2015年4月29日【申請日】2013年10月24日