專利名稱:一種水聲modem混合自動重傳方法
技術(shù)領(lǐng)域:
本發(fā)明涉及聲學(xué)和電子學(xué)領(lǐng)域,主要是一種水聲MODEM混合自動重傳方法,用于水聲 MODEM實(shí)現(xiàn)信息傳輸?shù)牟铄e控制以提高通信可靠性,或水聲通信中糾、檢錯編碼。
背景技術(shù):
如何提高水聲通信的高數(shù)據(jù)率和可靠性, 一直是世界性的重要研究課題。水聲通信的研 究相比無線通信起步較晚, 一般的研究主要圍繞如何提高數(shù)據(jù)率和帶寬的利用率上,主要為 研究先進(jìn)的調(diào)制解調(diào)技術(shù)、信道均衡技術(shù)以克服多徑和多普勒頻移等,但除此之外,水聲通 信的研究還應(yīng)該在研究差錯控制技術(shù)方面下工夫,來增加通信的可靠性,從而提高整體的通 信性能。國外的水聲MODEM產(chǎn)品一般采用了糾錯編碼來進(jìn)行差錯控制,如L-3 Communications EL AC Nautik GmbH公司的Digital Underwater Modem UM 30水聲MODEM 和Sonardyne公司的uCOMM Omni MF水聲MODEM。
由香農(nóng)信道編碼理論知,形成好的糾錯編碼需具備三個前提條件, 一為碼的長度要長, 二為碼必須隨機(jī),三要采用最大似然概率譯碼。據(jù)報道,低密度奇偶校驗(yàn)碼LDPC,在碼長 為107時,距離香農(nóng)限0.0045dB,可見好的糾錯碼是長碼,而水聲通信的數(shù)據(jù)率一般較低,
碼長度過長,會引起很大的編碼延時,降低通信的實(shí)時性,因此水聲通信僅僅采用糾錯編碼,
并不能較好降低通信的誤碼率。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)的缺點(diǎn)和不足,提供一種水聲MODEM混合自動重傳方法, 該方法為糾、檢錯編碼聯(lián)合,并實(shí)現(xiàn)自動反饋重傳,同時結(jié)合遞增冗余編碼技術(shù),減少誤碼 率,提高水聲通信的可靠性,進(jìn)一步降低僅采用糾錯碼的誤碼率。
為解決上述技術(shù)問題,本發(fā)明是提出以下技術(shù)方案實(shí)現(xiàn)的這種水聲MODEM混合自動重 傳方法,步驟如下
(1) 、收端解碼獲得發(fā)端的碼字序列,先RS碼糾錯,再CRC碼檢錯,檢査出那些超出 RS碼糾錯能力的錯誤碼字;
(2) 、如果收端沒有發(fā)現(xiàn)任何錯誤,則反饋ACK信號,如果發(fā)現(xiàn)了錯誤,收端首先發(fā)射 一個NACK信號,然后收端再將錯誤的幀編號進(jìn)行組幀編碼發(fā)射,將這些檢錯結(jié)果反饋給發(fā) 端,要求發(fā)端重發(fā)對應(yīng)幀編號的信息;(3) 、發(fā)端根據(jù)收到的錯誤包號,提取錯誤幀編號的信息,將該信息進(jìn)行遞增冗余編碼, 重新發(fā)射給收端;
(4) 、收端調(diào)整RS碼參數(shù),提取第一次收到的信息碼與接收到冗余編碼的校驗(yàn)碼,再 次進(jìn)行RS碼糾錯,然后CRC碼檢錯,直到認(rèn)為正確為止,如果不正確,重復(fù)1 3步驟,如 果重傳超過了收發(fā)雙方規(guī)定次數(shù),也會終止雙方通信。
作為優(yōu)選在發(fā)端,首先將待發(fā)送的信息碼進(jìn)行CRC檢錯編碼,加入CRC碼的校驗(yàn)位, 再按照幀格式對含CRC碼的校驗(yàn)位信息碼的進(jìn)行編號,在MODEM的RAM備份一份該信息 碼和編號;然后進(jìn)行RS糾錯編碼,加入RS碼的校驗(yàn)位,完成第1次通信發(fā)射的編碼過程, 信息發(fā)射后,發(fā)端MODEM要一直處于幀聽狀態(tài),來獲得接收端的反饋信息,如果獲得ACK 反饋,則結(jié)束本次通信,否則要將接收端的錯誤信息解調(diào)出來,獲得錯誤的幀編號后,按照 此編號從RAM中找到需要重發(fā)信息碼,對該信息碼重新進(jìn)行RS編碼,將遞增的冗余編碼進(jìn) 行第2次通信發(fā)射,發(fā)射后又進(jìn)入幀聽狀態(tài),如果還是沒有收到接收端的ACK反饋,則重復(fù) 第2次通信編碼發(fā)射過程,直到收到接收端的ACK反饋為止,如果重傳的次數(shù)超過了規(guī)定的 最大重傳次數(shù),發(fā)端MODEM也將終止本次通信過程;
在收端,首先將解調(diào)出的原始信息碼進(jìn)行RS譯碼,獲得的信息碼再進(jìn)行CRC譯碼,如 果CRC譯碼結(jié)果為檢査出沒有錯誤,則將發(fā)送一個ACK信號,該信號為一個幀頭信號結(jié)合 一個固定頻率fi單頻信號,并結(jié)束該通信過程;發(fā)端只要檢測到頻率&就知道收端接收的信 息正確,如果檢査出錯誤,收端首先發(fā)射一個NACK信號,該信號為一個幀頭信號結(jié)合一個 固定頻率f2單頻信號,再將該錯誤位于哪個幀編號的信息編碼發(fā)射給發(fā)端;之后進(jìn)入通信幀 聽狀態(tài),第2次的通信接收將按照收發(fā)雙方約定好的冗余度修改RS碼的譯碼參數(shù)進(jìn)行RS譯 碼,之后又進(jìn)行CRC譯碼,根據(jù)檢查結(jié)果決定反饋信號,如果還是檢查出錯誤,將重復(fù)第2 次通信接收過程,接受次數(shù)超過了重傳次數(shù)將結(jié)束整個通信過程。
作為優(yōu)選,所述RS編碼步驟如下
(1) 、首先可編制GF域運(yùn)算匯編函數(shù)庫,在該函數(shù)庫中定義了一種稱之為碼失的變量;
(2) 、獲得GF域的碼矢與多項(xiàng)式的映射表;
(3) 、由根值計算生成多項(xiàng)式;
(4) 、碼矢多項(xiàng)式與生成多項(xiàng)式相乘。作為優(yōu)選,所述RS譯碼過程步驟如下(1) 、獲得GF域的碼矢與多項(xiàng)式的映射表;(2) 、計算伴隨多項(xiàng)式;(3) 、 BM迭代計算,獲得錯誤值多項(xiàng)式;(4) 、錢搜索獲得錯誤位置(求解方程組,獲得根值);(5) 、錯誤值計算,進(jìn)行糾錯。作為優(yōu)選,所述循環(huán)冗余校驗(yàn)碼CRC檢錯過程步驟如下CRC校驗(yàn)采用多項(xiàng)式編碼方 法,發(fā)送方和接收方用同一個生成多項(xiàng)式g(x),發(fā)送方以g(x)去除信息多項(xiàng)式t(x),得到的余 數(shù)作為CRC校驗(yàn)碼;校驗(yàn)時,以計算的校驗(yàn)結(jié)果是否為0,判斷數(shù)據(jù)幀是否出錯。本發(fā)明的原理提出了混合自動重傳HARQ的差錯控制方案,該方案為糾、檢錯編碼聯(lián)合,并實(shí)現(xiàn)自動反饋重傳,同時結(jié)合遞增冗余編碼技術(shù),減少誤碼率,該方案已經(jīng)在研制的水聲MODEM中獲得應(yīng)用,取得良好效果。HARQ技術(shù)結(jié)合了前向糾錯方式FEC和重傳反 饋方式ARQ。 HARQ技術(shù)的基本思想是收端正確接收到數(shù)據(jù)幀后,給發(fā)端發(fā)確認(rèn)信號ACK; 如果收端收到錯誤信息,給發(fā)端發(fā)否定確認(rèn)信號NACK,要求發(fā)端重發(fā)數(shù)據(jù)包。在傳輸過程 中誤碼率高時,采用FEC容易出現(xiàn)"亂糾"現(xiàn)象,采用ARQ方式的檢錯功能,檢査出碼字 序列的錯誤,將檢查結(jié)果反饋給發(fā)端,發(fā)端根據(jù)反饋結(jié)果,把收端認(rèn)為有錯的消息再次傳送, 直到收端認(rèn)為正確接收為止。HARQ技術(shù)由于具備了錯誤自動重傳功能,因此比僅采用前向 糾錯方式FEC的誤碼率要低。本發(fā)明的前向糾錯方式FEC采用RS碼,它是基于迦羅華域 GF的特殊的多進(jìn)制的BCH碼,具有較強(qiáng)的糾突發(fā)錯誤能力,ARQ方式的檢錯碼采用了循環(huán) 冗余校驗(yàn)碼CRC,它是由線性分組碼分支出來,編碼簡單且誤判概率很低,在通信、計算機(jī) 等領(lǐng)域運(yùn)用十分廣泛,UART通信芯片、以太網(wǎng)芯片、MPEG解碼芯片等,都采用了 CRC碼。 本發(fā)明制定了采用了多參數(shù)編譯的RS碼作為前向糾錯編碼,CRC碼作為檢錯碼,并對 反饋后的錯誤信息遞增冗余編碼技術(shù),使得能夠比較智能地改變對錯誤信息再次糾正的糾錯 能力,實(shí)現(xiàn)時,本發(fā)明充分分析了RS碼、CRC碼的編譯碼運(yùn)算特點(diǎn),開發(fā)了專門針對在編 碼領(lǐng)域運(yùn)算的函數(shù)庫,只需要調(diào)用這些函數(shù)庫,就可以很方便的完成整個編譯碼過程。本發(fā)明的優(yōu)點(diǎn)在于:6(1) 在水聲通信中,由于受碼長限制,很難找到糾錯能力強(qiáng)的糾錯碼,本發(fā)明的混合自動重傳結(jié)合了糾、檢錯編碼技術(shù),實(shí)現(xiàn)前向糾錯和反向糾錯,很大程度降低誤碼率,通信實(shí) 驗(yàn)誤碼率結(jié)果。(2) RS碼、CRC碼模塊由于釆用C與匯編混合編程,代碼執(zhí)行效率與占用硬件資源少, 據(jù)測試,RS碼最大可支持2.5Mbps比特流的實(shí)時編譯碼,存儲器占用率3.9%, CRC碼最大 可支持32Mbps比特流的實(shí)時編譯碼,存儲器占用率1.14%,本發(fā)明開發(fā)的RS碼、CRC碼模 塊可集成在其他通信系統(tǒng)中。
圖1利用本發(fā)明的GF域函數(shù)庫實(shí)現(xiàn)的RS編碼過程;圖2利用本發(fā)明的GF域函數(shù)庫實(shí)現(xiàn)的RS譯碼過程;圖3為SW-HARQ原理示意圖;圖4為SR-HARQ原理示意圖;圖5收發(fā)端進(jìn)行HARQ的流程示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對發(fā)明作進(jìn)一步說明(1) RS (Reed-Solomon)糾錯碼實(shí)時模塊與實(shí)現(xiàn) RS碼最主要特點(diǎn)之一是碼元取自GF(q)上,GF(q)域運(yùn)算實(shí)質(zhì)表現(xiàn)為邏輯運(yùn)算,因此采用 定點(diǎn)DSP較浮點(diǎn)DSP更具優(yōu)勢,首先可編制GF域運(yùn)算匯編函數(shù)庫,在該函數(shù)庫中定義了一 種稱之為碼失的變量,以下函數(shù)庫基于該變量進(jìn)行運(yùn)算的,如下① GF域的向量與向量的乘法② GF域的向量與矩陣的乘法③ GF域的向量求冪④ GF域的向量點(diǎn)積⑤ GF域的向量加法⑥ GF域的向量與、或、非等運(yùn)算⑦ GF域的向量巻積⑧ GF域的模值運(yùn)算為了使得本發(fā)明的RS碼模塊可以集成在其他通信系統(tǒng)中,并且多參數(shù)編譯碼,實(shí)現(xiàn)時并不是采用了存儲數(shù)據(jù)表的方式,而是利用了這些函數(shù)庫來通過計算獲得這些數(shù)據(jù)表,本發(fā) 明的RS碼的編碼流程圖如圖1, RS碼的譯碼流程圖如圖2。(2) 循環(huán)冗余校驗(yàn)碼CRC檢錯模塊CRC校驗(yàn)采用多項(xiàng)式編碼方法,發(fā)送方和接收方用同一個生成多項(xiàng)式g(x),發(fā)送方以g(x) 去除信息多項(xiàng)式t(x),得到的余數(shù)作為CRC校驗(yàn)碼。校驗(yàn)時,以計算的校驗(yàn)結(jié)果是否為0, 判斷數(shù)據(jù)幀是否出錯。利用GF域運(yùn)算匯編函數(shù)庫中的除法運(yùn)算函數(shù)很方便實(shí)現(xiàn)多項(xiàng)式相除, 并且實(shí)現(xiàn)多種參數(shù)的CRC碼,分別為CRC-4、 CRC-12、 CRC-16、 CRC-32等,由信息幀的 長短,可選擇不同參數(shù)的CRC碼。(3) 混合自動重傳HARQ的差錯控制方案水聲MODEM采取了兩種HARQ,停止等待模式SW-HARQ和選擇模式SR-HARQ,如 圖3、 4,傳輸協(xié)議包、參數(shù)包、命令包等,釆用SW-HARQ,傳輸數(shù)據(jù)包,采用SR-HARQ。 前向糾錯方式FEC采用了RS碼,檢錯碼采用了CRC碼,形成糾、檢錯編碼聯(lián)合,并自動重 傳反饋的差錯控制系統(tǒng)。在發(fā)端,首先將待發(fā)送的信息碼進(jìn)行CRC檢錯編碼,加入CRC碼的校驗(yàn)位,再按照幀 格式對含CRC碼的校驗(yàn)位信息碼的進(jìn)行編號,在MODEM的RAM備份一份該信息碼和編號, 然后進(jìn)行RS糾錯編碼,加入RS碼的校驗(yàn)位,完成第1次通信發(fā)射的編碼過程,信息發(fā)射后, 發(fā)端MODEM要一直處于幀聽狀態(tài),來獲得接收端的反饋信息,如果獲得ACK反饋,則結(jié) 束本次通信,否則要將接收端的錯誤信息解調(diào)出來,獲得錯誤的幀編號后,按照此編號從RAM 中找到需要重發(fā)信息碼,對該信息碼重新進(jìn)行RS編碼,此次編碼可按照冗余度10%遞增, 增加RS碼的糾錯能力,將遞增的冗余編碼進(jìn)行第2次通信發(fā)射,發(fā)射后又進(jìn)入幀聽狀態(tài), 如果還是沒有收到接收端的ACK反饋,則重復(fù)第2次通信編碼發(fā)射過程,直到收到接收端的 ACK反饋為止,如果重傳的次數(shù)超過了規(guī)定的最大重傳次數(shù),發(fā)端MODEM也將終止本次 通信過程。在收端,首先將解調(diào)出的原始信息碼進(jìn)行RS譯碼,獲得的信息碼再進(jìn)行CRC譯碼,如 果CRC譯碼結(jié)果為檢查出沒有錯誤,則將發(fā)送一個ACK信號,該信號為一個幀頭信號結(jié)合 一個固定頻率&單頻信號,并結(jié)束該通信過程,發(fā)端只要檢測到頻率&就知道收端接收的信 息正確,如果檢査出錯誤,收端首先發(fā)射一個NACK信號,該信號為一個幀頭信號結(jié)合一個 固定頻率f2單頻信號,再將該錯誤位于哪個幀編號的信息編碼發(fā)射給發(fā)端,之后進(jìn)入通信幀聽狀態(tài),第2次的通信接收將按照收發(fā)雙方約定好的冗余度修改RS碼的譯碼參數(shù)進(jìn)行RS譯 碼,之后又進(jìn)行CRC譯碼,根據(jù)檢查結(jié)果決定反饋信號,如果還是檢查出錯誤,將重復(fù)第2 次通信接收過程,接受次數(shù)超過了重傳次數(shù)將結(jié)束整個通信過程。 如圖5為收發(fā)端進(jìn)行HARQ的流程,其整個過程為a. 收端解碼獲得發(fā)端的碼字序列,先RS碼糾錯,再CRC碼檢錯,檢査出那些超出 RS碼糾錯能力的錯誤碼字。b. 如果收端沒有發(fā)現(xiàn)任何錯誤,則反饋ACK信號,如果發(fā)現(xiàn)了錯誤,收端首先發(fā)射 一個NACK信號,然后收端再將錯誤的幀編號進(jìn)行組幀編碼發(fā)射,將這些檢錯結(jié) 果反饋給發(fā)端,要求發(fā)端重發(fā)對應(yīng)幀編號的信息。c. 發(fā)端根據(jù)收到的錯誤包號,提取錯誤幀編號的信息,將該信息進(jìn)行遞增冗余編碼, 為節(jié)省通信時間,只將這些冗余編碼的校驗(yàn)碼組幀編碼重新發(fā)射給收端。d. 收端調(diào)整RS碼參數(shù),提取第一次收到的信息碼與接收到冗余編碼的校驗(yàn)碼,再次 進(jìn)行RS碼糾錯,然后CRC碼檢錯,直到認(rèn)為正確為止,如果不正確,重復(fù)a c 步驟,如果重傳超過了收發(fā)雙方規(guī)定次數(shù),也會終止雙方通信。以上對本發(fā)明的描述不具有限制性,如果本領(lǐng)域的普通技術(shù)人員受其啟示,在不脫離本 發(fā)明權(quán)利要求的保護(hù)的情況,作出本發(fā)明的其它結(jié)構(gòu)變形和實(shí)施方式,均屬于本發(fā)明的保護(hù) 范圍。
權(quán)利要求
1、一種水聲MODEM混合自動重傳方法,其特征在于步驟如下(1)、收端解碼獲得發(fā)端的碼字序列,先RS碼糾錯,再CRC碼檢錯,檢查出那些超出RS碼糾錯能力的錯誤碼字;(2)、如果收端沒有發(fā)現(xiàn)任何錯誤,則反饋ACK信號,如果發(fā)現(xiàn)了錯誤,收端首先發(fā)射一個NACK信號,然后收端再將錯誤的幀編號進(jìn)行組幀編碼發(fā)射,將這些檢錯結(jié)果反饋給發(fā)端,要求發(fā)端重發(fā)對應(yīng)幀編號的信息;(3)、發(fā)端根據(jù)收到的錯誤包號,提取錯誤幀編號的信息,將該信息進(jìn)行遞增冗余編碼,重新發(fā)射給收端;(4)、收端調(diào)整RS碼參數(shù),提取第一次收到的信息碼與接收到冗余編碼的校驗(yàn)碼,再次進(jìn)行RS碼糾錯,然后CRC碼檢錯,直到認(rèn)為正確為止,如果不正確,重復(fù)1~3步驟,如果重傳超過了收發(fā)雙方規(guī)定次數(shù),也會終止雙方通信。
2、 根據(jù)權(quán)利要求l所述的水聲MODEM混合自動重傳方法,其特征在于在發(fā)端,首先將待發(fā)送的信息碼進(jìn)行CRC檢錯編碼,加入CRC碼的校驗(yàn)位,再按照幀格式對含CRC碼的校驗(yàn)位信息碼的進(jìn)行編號,在MODEM的RAM備份一份該信息碼和編號;然后進(jìn)行RS糾錯編碼,加入RS碼的校驗(yàn)位,完成第1次通信發(fā)射的編碼過程,信息發(fā)射后,發(fā)端MODEM要一直處于幀聽狀態(tài),來獲得接收端的反饋信息,如果獲得ACK反饋,則結(jié)束本次通信,否則要將接收端的錯誤信息解調(diào)出來,獲得錯誤的幀編號后,按照此編號從RAM中找到需要重發(fā)信息碼,對該信息碼重新進(jìn)行RS編碼,將遞增的冗余編碼進(jìn)行第2次通信發(fā)射,發(fā)射后又進(jìn)入幀聽狀態(tài),如果還是沒有收到接收端的ACK反饋,則重復(fù)第2次通信編碼發(fā)射過程,直到收到接收端的ACK反饋為止,如果重傳的次數(shù)超過了規(guī)定的最大重傳次數(shù),發(fā)端MODEM也將終止本次通信過程;在收端,首先將解調(diào)出的原始信息碼進(jìn)行RS譯碼,獲得的信息碼再進(jìn)行CRC譯碼,如果CRC譯碼結(jié)果為檢查出沒有錯誤,則將發(fā)送一個ACK信號,該信號為一個幀頭信號結(jié)合一個固定頻率ft單頻信號,并結(jié)束該通信過程;發(fā)端只要檢測到頻率f,就知道收端接收的信息正確,如果檢查出錯誤,收端首先發(fā)射一個NACK信號,該信號為一個幀頭信號結(jié)合一個固定頻率f2單頻信號,再將該錯誤位于哪個幀編號的信息編碼發(fā)射給發(fā)端;之后進(jìn)入通信幀聽狀態(tài),第2次的通信接收將按照收發(fā)雙方約定好的冗余度修改RS碼的譯碼參數(shù)進(jìn)行RS譯碼,之后又進(jìn)行CRC譯碼,根據(jù)檢査結(jié)果決定反饋信號,如果還是檢查出錯誤,將重復(fù)第2 次通信接收過程,接受次數(shù)超過了重傳次數(shù)將結(jié)束整個通信過程。
3、根據(jù)權(quán)利要求l所述的水聲MODEM混合自動重傳方法,其特征在于所述循環(huán)冗余校 驗(yàn)碼CRC檢錯過程步驟如下CRC校驗(yàn)采用多項(xiàng)式編碼方法,發(fā)送方和接收方用同一個生 成多項(xiàng)式g(x),發(fā)送方以g(x)去除信息多項(xiàng)式t(x),得到的余數(shù)作為CRC校驗(yàn)碼;校驗(yàn)時, 以計算的校驗(yàn)結(jié)果是否為0,判斷數(shù)據(jù)幀是否出錯。
全文摘要
本發(fā)明涉及一種水聲MODEM混合自動重傳方法,步驟如下(1)收端解碼獲得發(fā)端的碼字序列,先RS碼糾錯,再CRC碼檢錯;(2)如果收端沒有發(fā)現(xiàn)任何錯誤,則反饋ACK信號,如果發(fā)現(xiàn)了錯誤,收端將錯誤的幀編號進(jìn)行組幀編碼發(fā)射,將這些檢錯結(jié)果反饋給發(fā)端,要求發(fā)端重發(fā)對應(yīng)幀編號的信息;(3)發(fā)端根據(jù)收到的錯誤包號,提取錯誤幀編號的信息進(jìn)行遞增冗余編碼,重新發(fā)射給收端;(4)收端調(diào)整RS碼參數(shù),提取第一次收到的信息碼與接收到冗余編碼的校驗(yàn)碼,再次進(jìn)行RS碼糾錯,然后CRC碼檢錯,直到認(rèn)為正確為止。本發(fā)明的優(yōu)點(diǎn)在于該方法為糾、檢錯編碼聯(lián)合,并實(shí)現(xiàn)自動反饋重傳,同時結(jié)合遞增冗余編碼技術(shù),減少誤碼率,提高水聲通信的可靠性。
文檔編號H04L1/18GK101610139SQ20091010074
公開日2009年12月23日 申請日期2009年7月20日 優(yōu)先權(quán)日2009年7月20日
發(fā)明者周士弘, 煜 姜, 張國松, 張宏滔, 峰 李, 熊省軍, 田玲愛 申請人:中國船舶重工集團(tuán)公司第七一五研究所