方 解,徐 磊,徐哲鑫,吳 怡
(福建師范大學 福建省光電傳感應用工程技術研究中心,福州 350007)
無人機是一種利用無線電遙控無人機和利用自我控制程序控制裝置操縱的不載人飛機[1].無人機由于體積小、重量輕、隱藏性好、價格低廉、操作簡單,目前在軍用和民用方面得到了廣泛的應用.在軍事應用中,無人機可以通過使用光電傳感器,機載雷達和機載武器系統(tǒng)裝備不同的軍事設備[2].它也適用于民用領域,包括數(shù)據(jù)收集、人員搜救、農作物監(jiān)測、資源勘查等[3–7].無人機的攝像頭捕捉到空中目標或者地面目標以后,將捕捉的畫面?zhèn)魉徒o空中無人機群或者地面接收人員.這就需要設計圖像傳輸系統(tǒng)的編碼、傳輸、接收和解碼.在某些特定的應用場景下,將無人機傳輸?shù)膱D像作為飛行控制和導航的關鍵信息,需要較高的可靠性保障.
傳統(tǒng)的無人機與地面接收機之間的信道編碼采用Turbo碼、LDPC碼等.Turbo碼和LDPC碼譯碼復雜、實時性較差,硬件成本高,其中LDPC碼在高信噪比時易導致錯誤地板.如何設計一個簡單有效的譯碼器是目前Turbo碼在無人機測控系統(tǒng)中實用化研究的重點[8].格雷碼碼長短,能量高,運算時間少,在硬件實現(xiàn)上,設備量少,體積小,重量輕,功耗更低,適合無人機的負載和能量有限的要求.本文首次提出采用格雷碼應用至無人機信息傳輸中,基于格雷碼在比特糾錯基礎上,降低了運算的復雜度,在其可糾錯能力范圍內可保證信息的正確性,且可杜絕地板錯誤發(fā)生的情形.并將其改良為依據(jù)奇偶校驗位選擇不同的譯碼判決機制,能夠配合數(shù)據(jù)傳輸精度的需求,采用最合適的解碼方法以較快的速度達到使用者的精度需求.
在無人機圖像傳輸系統(tǒng)中,采用格雷碼可以提高圖像傳輸系統(tǒng)的可靠性.無人機圖像傳輸系統(tǒng)中格雷碼圖傳系統(tǒng)模型如圖1 所示.無人機通信信道是一個非常復雜的動態(tài)信道.信號從發(fā)射機發(fā)射出去到接收機接收的過程中,會經歷不同的路徑.不同的路徑擁有不同的信號干擾,會導致信號在傳輸過程發(fā)生不同的變化,接收機接收到多個不同版本的信號.無人機通信系統(tǒng)中分為上行和下行信道.所謂上行,即從地面往空間發(fā)送信號,下行就是從空中平臺向地面發(fā)送信號[9].圖1 中所示的無人機發(fā)射部分和地面站接收部分上各有一套系統(tǒng)來完成測控信息的傳輸.無人機測控數(shù)據(jù)在發(fā)送端經過編碼、加密、格雷碼信道編碼后通過擴頻和某種方式的調制后進行無線傳播.在接收端經過解擴、解調、信道譯碼后,解碼恢復并獲取數(shù)據(jù).
格雷碼為平方剩余碼,其碼率略大于或等于0.5且有著較大的最小距離,因此糾錯性能優(yōu)異.其中擴展碼型 (24,12,8)格雷碼已經被廣泛應用于通信系統(tǒng)中,包括美國NASA的Voyager圖像系統(tǒng).擴展格雷碼的編解碼原理如下所示.
圖1 格雷碼圖傳系統(tǒng)模型
擴展格雷碼對任意的輸入12位元的信息位m進行編碼,即將輸入信息m和生成多項式g相乘得到碼字c0,再將c0的最低位后加上奇偶校驗值構成擴展格雷碼c.在傳輸過程中會發(fā)生噪聲e干擾,而接收者接收到的碼字r就是c與e相加的結果.然后我們對接收到的r進行解碼處理,在硬判決糾錯能力范圍內可得到原有碼字c及輸入信息m.
軟判決譯碼原理如下:
第1步: 根據(jù)軟判決接收序列r做硬判決得到序列z;
第2步: 基于軟判決接收序列r的LRP組,構造錯誤模式集合E;
第3步: 用錯誤模式集合E中的每一個錯誤圖案e對硬判決序列z進行修改,得到修改后的接收向量z+e;
第4步: 使用硬判決譯碼器將修改后的向量z+e譯為碼字集合C中的一個碼字(當然也可能由于z+e的錯誤個數(shù)大于碼的糾錯能力t,而導致譯碼失敗);
第5步: 根據(jù)第4步得到碼字生成一個候選碼字表,計算列表中每個碼字的軟判決譯碼度量,若使用的度量是相關,則找到度量值最大的碼字,若使用的是相關差,則找取度量值最小的碼字,以此碼字為譯碼結果[10].
本文的格雷碼硬判決譯碼算法采用擴展格雷碼硬判決譯碼算法,它能夠糾正24位分位碼組中的任何3個或者更少的隨機差錯的組合,軟判決譯碼算法采用格雷碼軟判決譯碼算法,它能夠糾正23位分位碼組中的任何6個或者更少的隨機差錯的組合.
本文提出基于格雷碼的無人機圖像傳輸自適應譯碼算法,主要基于格雷碼譯碼復雜度遠低于Turbo碼譯碼復雜度.
Turbo碼的SOVA譯碼算法時間復雜度為:
m為Turbo碼譯碼算法的碼字.Turbo碼的交織器的長度對其性能影響很大.一般情況下信息序列分組長度和交織器的大小相同.交織長度的增加可以提高Turbo碼的性能,但隨著信息序列長度的增加,譯碼的復雜性也隨之增大,這樣會帶來較大時延,在實際應用中一般選用 1024 bits較為合適.因此,在這里我們可以取Turbo碼譯碼時間復雜度為:
格雷碼的算法時間復雜度為
n為格雷碼譯碼算法的碼字,其碼字長度為23,因此,其時間復雜度為:
比較公式(3)和(6),Turbo碼的時間復雜度接近是格雷碼的1.4*2996倍,因此,選擇格雷碼作為無人機圖像傳輸?shù)男诺谰幗獯a可以解決Turbo碼譯碼的時間復雜度較大這個問題,具有顯著的優(yōu)勢.
本文提出通過奇偶校驗位權衡譯碼精度和速度,主要基于格雷碼的硬判決解碼速度遠快于軟判決,但譯碼精度遠低于軟判決.
在23位分位碼組中,格雷碼硬判決最大糾錯能力為 3 bits,當數(shù)據(jù)出現(xiàn) 3 bits 以上錯誤的時候,其無法糾出,這樣就影響了數(shù)據(jù)的精度,導致地面接收站無法更加精準的還原出圖片,稍有損耗無人機圖像傳輸?shù)目煽啃?但其速度更快.此原理同樣適合擴展格雷碼硬判決.格雷碼軟判決最大糾錯能力為6 bits,具有較強的糾錯能力,其精度更加精準,還原的圖片更加清晰,但是其速度相對較慢,稍有損耗無人機圖像傳輸?shù)膶崟r性.這是因為格雷碼的軟判決譯碼算法根據(jù)軟判決接收序列r得到硬判決接收序列z,并對r向量的每個分量取絕對值作為z相應位置上的可靠性值.根據(jù)可靠性值,考慮取z的個最不可靠位置上0和1的所有組合,構成測試錯誤模式集合E,顯然該集合大小為對E中的每個錯誤模式e形成修正向量z+e.將修正后的向量z+e送入代數(shù)譯碼器得到一個候選譯碼碼字v.計算每個候選碼字v與接收序列z的軟判決譯碼度量,選擇最可能的候選碼字作為譯碼結果.格雷碼的漢明距離為7,它要做23=8次的硬判決,這樣就大大增加了譯碼復雜度,增加了譯碼時延,降低了譯碼的實時性[11].若24位分位碼組中發(fā)生了任何3個或更少的隨機差錯的組合,只需要做一次硬判決則可完全解出差錯,這樣就節(jié)省了7倍的時間,大大提高了譯碼的實時性.
為了降低圖像譯碼時延,提高譯碼的實時性,同時也兼顧到圖像譯碼的精度,本文提出通過奇偶校驗位來權衡譯碼精度和速度,得到的自適應譯碼流程如圖2所示.
圖2 自適應譯碼流程圖
下文將介紹具體設計.
擴展格雷碼是在格雷碼的硬判決的基礎上適當修正后得出的,也就是說對格雷碼的每一個碼子后面加上一個校驗元,并滿足以下校驗關系:
幀數(shù)據(jù)經過硬判決解碼后,當碼字滿足以上0校驗關系時,本文認為此幀數(shù)據(jù)的錯誤已經完全解出,此時直接輸出結果,當不滿足以上關系時,則說明該幀數(shù)據(jù)還有錯誤尚未完全解完,則將數(shù)據(jù)傳輸?shù)杰浥袥Q中去,利用軟判決較強的譯碼能力,再對該數(shù)據(jù)譯碼.
隨機給出一幀數(shù)據(jù)位為 1110 1100 1101 1000 1010 1011,最后一位為校驗位,此時每位按照公式(7)進行異或,結果為0.滿足以上校驗關系,本文認為此幀數(shù)據(jù)受環(huán)境干擾的錯誤全部解出,直接輸出結果.反之,若此幀數(shù)據(jù)最后一位為0,此時異或結果為1.不滿足以上校驗關系,本文認為此幀數(shù)據(jù)受環(huán)境干擾的錯誤沒有全部解出.此時將此幀數(shù)據(jù)的最后一位校驗位刪除,然后傳輸?shù)杰浥袥Q中去.當數(shù)據(jù)經過軟判決譯碼結束后,直接輸出結果.至此,該幀數(shù)據(jù)譯碼結束.
本文將提出的格雷碼自適應譯碼算法應用于無人機圖像傳輸,主要基于2.2.1節(jié)和2.2.2節(jié)所述內容.圖3為格雷碼自適應譯碼算法應用于圖像處理.
圖3 格雷碼自適應譯碼算法應用于圖像處理
當編碼器接收到需要傳輸?shù)膱D像數(shù)據(jù)時,首先采用自上而下,自左而右的方式掃描圖片,讀取圖片的像素值.每讀取一個十進制像素值將其二進制化變成一幀長為12 bits的數(shù)據(jù),并添加校驗位以及奇偶校驗位變成幀長為24 bits的數(shù)據(jù).接著對這幀數(shù)據(jù)進行BPSK調制,調制完成后,壓縮并通過射頻發(fā)射器將其發(fā)射出去.當接收機接收到這幀數(shù)據(jù)時,先將其解壓,解調,隨后開始譯碼.先選擇格雷碼擴展碼的硬判決譯碼方式,一幀數(shù)據(jù)譯碼完成后,檢查奇偶校驗位是否一致.若一致,則認定該串數(shù)據(jù)中的錯誤全部解出,輸出結果; 若不一致,則將該幀數(shù)據(jù)去除奇偶校驗位,并輸入到格雷碼的軟判決譯碼算法中去,譯碼完成后,輸出結果.輸出的結果按照提取像素的順序存于一個圖像框內,將其還原成圖像.
無人機通信信道中存在較強的地面反射波,因此,無人機的通信信道是頻率選擇性的Rayleigh或者Rician慢衰落信道[12].同時考慮到Rayleigh信道是Rician信道的特例,因此無人機信道可用Rician衰落信道模型來表示,上述兩個信道的基礎都是在高斯信道分配下加上各自的特性來實現(xiàn).所以本文做仿真時,選擇在高斯信道下仿真,不會失去其一般性.仿真環(huán)境為Intel(R)Core(TM) i5-3470,4 GB 內存,32 位操作系統(tǒng).處理的航拍圖像來自大疆 phantom 3 standard,具有 3000*4000像素,如圖4 所示.該圖將在高斯信道中傳輸,并比較不同接收信噪比下分別采用未編碼算法、Turbo碼譯碼算法、格雷碼硬判決譯碼算法、格雷碼軟判決譯碼算法、本文所提出自適應譯碼算法的誤比特率性能(Bit Error Rate,BER).其中擴展格雷碼編碼及特性如下.生成多項式為:
圖4 航拍圖像 (大疆 phantom 3 standard,3000*4000 像素)
信息位為12 bits,經編碼后生成碼字幀長為23 bits,其碼率接近 1/2,漢明距離為 7,之后在幀尾加上一位校驗位生成擴展格雷碼,碼率為1/2,漢明距離為8.解碼時先對原先的23 bits數(shù)據(jù)進行硬判決,若符合校驗條件,則輸出結果,否則進行軟判決; Turbo 碼分量碼生成多項式為[37,21],幀長度為 1024 bits,碼率為 1/3,偽隨機交織,SOVA 譯碼算法,7 次迭代的方案[13].仿真得到的BER性能曲線如圖5(HD-BER: 格雷碼硬判決譯碼算法誤碼率曲線,SD-BER: 格雷碼軟判決譯碼算法誤碼率曲線,UD-BER: 未編碼算法誤碼率曲線,HSBER: 格雷碼自適應譯碼算法誤碼率曲線,Turbo-BER:Turbo碼譯碼算法誤碼率曲線)所示.其中表1是該數(shù)據(jù)量的格雷碼及Turbo碼譯碼仿真時間表.為了能更清晰地展示不同編譯碼方案的效果,將以圖4紅框部分為例,將各方案在接收信噪比為 0,2,4,6,8 dB 所得到的圖像對應部分展示在圖6中.
圖5 格雷碼及 Turbo 碼譯碼性能比較
表1 格雷碼及 Turbo 碼譯碼仿真時間表(單位: s)
根據(jù)圖5分析,當傳輸并還原后的圖片的誤碼率達到10–6,也就是達到圖片傳輸?shù)男枨蠛?格雷碼軟判決譯碼機制相對未編碼的機制有將近4.2 dB的編碼增益,相對格雷碼的硬判決機制有2 dB的編碼增益,本文提出的自適應譯碼機制達到了同樣的效果.Turbo碼譯碼機制相對無編碼的機制有將近6.7 dB的編碼增益,相對于格雷碼有 3 dB 的增益.但 Turbo 碼的優(yōu)異性能依賴于較長的交織器和進行多次迭代譯碼,而使用較長的交織器和進行多次迭代譯碼,會延長數(shù)據(jù)譯碼的時間,加大譯碼器的功耗.根據(jù)表1的數(shù)據(jù)分析,格雷碼軟判決譯碼算法運行時間大約是硬判決譯碼算法的7倍,基于格雷碼的自適應譯碼算法運行時間大約是硬判決譯碼算法的1.7倍,大約是軟判決譯碼算法執(zhí)行時間的25%.算法執(zhí)行總時間大約是Turbo碼譯碼算法執(zhí)行總時間的0.8%.圖7可以很直觀的看出在不同的信噪比下格雷碼的軟硬判決譯碼速度都比turbo碼譯碼速度要快很多.從左往右看圖7,誤碼率BER從10–6到10–4自適應譯碼算法時間曲線走勢更接近格雷碼硬判決譯碼算法時間曲線圖,說明在高信噪比下,信號出錯的幾率較小,格雷碼自適應譯碼算法中硬判決占的比重較大,同時軟判決可以解出硬判決解不了另外的3個及3個以內的比特位錯誤,誤碼率BER從10–3到10–1自適應譯碼算法時間曲線走勢更接近格雷碼軟判決譯碼算法時間曲線圖,說明在低信噪比下,信號出錯的幾率較大,格雷碼自適應譯碼算法中軟判決占的比重較大,同時硬判決可以直接解出3個及3個以內的比特位錯誤.結合圖5 和圖7,我們可以看出本文提出的自適應算法能夠在滿足圖像譯碼的精度要求的同時,大大提高了譯碼的速度.由圖6可以看出隨著信噪比的增高,干擾對信號傳輸影響逐漸減小.比較圖6可以看出在相同的環(huán)境下,信噪比為2 dB以上的時候,經過格雷碼硬軟判決譯碼傳輸?shù)膱D片清晰度明顯要高與未編碼傳輸?shù)膱D片.經過格雷碼軟判決及自適應譯碼的圖片清晰度高于格雷碼硬判決譯碼的圖片.信噪比為6 dB時,經過格雷碼軟判決及自適應編解碼的圖片清晰度基本上等同于原圖.結合表1,我們可以看出自適應譯碼算法能夠配合數(shù)據(jù)傳輸?shù)木鹊男枨?采用最合適的解碼方法以較快的速度達到使用者的精度需求.經過Turbo碼譯碼的圖片在低信噪比情況下的清晰度要高于經過格雷碼算法的圖片,但是考慮到我們實際應用的環(huán)境的信噪比較高以及Turbo碼譯碼的時間較長,譯碼器能耗較高,選擇基于格雷碼的自適應譯碼算法具有顯著的優(yōu)勢.仿真證明該方案是可行的.
圖6 不同編譯碼方式下圖像傳輸效果,自上而下分別為未編碼、Turbo譯碼、格雷碼硬判決譯碼、格雷碼軟判決譯碼、格雷碼自適應判決譯碼圖片
本文提出了一種應用于無人機圖像傳輸?shù)幕诟窭状a的無人機圖像傳輸自適應譯碼算法.在高斯信道下,在格雷碼硬判決的基礎添加奇偶校驗位,當奇偶校驗滿足預先設定的校驗關系時,輸出譯碼結果,否則將數(shù)據(jù)輸入到格雷碼的軟判決中譯碼,可以依據(jù)奇偶校驗位來權衡譯碼的精度和速度.實驗表明,該算法實現(xiàn)成本低,實現(xiàn)簡單,功耗低,運算速度快.因此,基于格雷碼的無人機圖像傳輸自適應譯碼算法非常適合用于無人機圖像傳輸,是一種可行的譯碼算法.
圖7 格雷碼硬判決譯碼、格雷碼軟判決譯碼、格雷碼自適應判決譯碼、Turbo譯碼時間比較圖
參考文獻
1Yoon K,Park D,Yim Y,et al.Security authentication system using encrypted channel on UAV network.Proceedings of the 1st IEEE International Conference on Robotic Computing.Taichung,China.2017.393–398.
2Gao Q,Ji M,Pang L,et al.Design of UAV high resolution image transmission system.International Conference on Optical and Photonics Engineering.Chengdu,China.2017.102502Y.
3Choi M,Lee H,Nam H.Cooperative UAV networks based on distributed space-time block codes.Proceedings of the 13th International Conference on Ubiquitous Robots and Ambient Intelligence.Xi’an,China.2016.454–458.
4Cao HR,Liu YX,Yue XJ,et al.Cloud-assisted UAV data collection for multiple emerging events in distributed WSNs.Sensors,2017,17(8): 1818.[doi: 10.3390/s17081818]
5Baker CAB,Ramchurn S,Teacy WTL,et al.Planning search and rescue missions for UAV teams.Proceedings of the 22nd European Conference on Artificial Intelligence.The Hague,Holland.2016.1777–1782
6Zhang Y,Su ZB,Shen WZ,et al.Remote monitoring of heading rice growing and nitrogen content based on UAV images.International Journal of Smart Home,2016,10(7):103–114.[doi: 10.14257/ijsh]
7Messous MA,Senouci SM,Sedjelmaci H.Network connectivity and area coverage for UAV fleet mobility model with energy constraint.Proceedings of 2016 Wireless Communications and Networking Conference.Doha,Qatar.2016.1–6.
8Belov V,Mosin S.FPGA implementation of LTE turbo decoder using MAX-log MAP algorithm.Proceedings of the 6th Mediterranean Conference on Embedded Computing.Bar,Montenegro.2017.1–4.
9許哲,康永,黃鶯,等.無人機測控系統(tǒng) Turbo-MAP 譯碼方法.火力與指揮控制,2015,40(4): 14–17,22.
10段延森,王琳,黎勇.(73,37,13)QR 碼的一種新型代數(shù)硬判決譯碼算法.重慶郵電大學學報 (自然科學版),2013,25(5):622–627.[doi: 10.3979/j.issn.1673-825X.2013.05.011]
11段延森,王琳.格雷碼的代數(shù)軟判決譯碼研究.重慶郵電大學 學 報 (自 然 科 學 版 ),2011,23(5): 565 –569.[doi: 10.3979/j.issn.1673-825X.2011.05.013]
12余格非,王振華,李穎,等.信道編碼在無人機數(shù)據(jù)鏈中的應用研究.重慶郵電大學學報 (自然科學版),2014,26(6):845–849.[doi: 10.3979/j.issn.1673-825X.2014.06.019]
13范昭波,路平.無人機數(shù)據(jù)鏈中 Turbo 碼應用研究.通信技術,2008,41(11): 44–46.[doi: 10.3969/j.issn.1672-4844.2008.11.012]