?

基于GNU Radio和USRP的體域網收發機設計

2022-08-16 03:10瞿佳俊劉昌榮徐大誠
計算機工程與設計 2022年8期
關鍵詞:物理層接收端載波

王 銘,瞿佳俊,劉昌榮,徐大誠

(蘇州大學 電子信息學院,江蘇 蘇州 215000)

0 引 言

軟件定義無線電(software defined radio,SDR)是具有可編程、可重配置能力的新型無線電結構[1],基于通用射頻前端和信號處理平臺(如RTL SDR、HackRF One、USRP),用軟件編程實現通信系統中的數據組包和調制解調。通過在軟件無線電平臺中搭建通信收發機,可靈活改變基帶電路結構,降低產品開發成本并縮短設計周期,為基于特定通信協議的專用集成電路設計提供算法基礎。

針對WBAN無線體域網基帶處理模塊設計,文獻[2]提出了IEEE 802.15.6窄帶物理層接收機的幀同步,定時同步和載波頻率同步算法,不包含完整軟硬件電路實現。文獻[3]提出了基于IEEE 802.15.6 NB PHY層標準的硬件電路實現,包含支持π/2-DBPSK、π/4-DQPSK兩種調制的可重構符號映射、解映射器,平方根升余弦滾降濾波器和前導碼粗定時、細定時同步等模塊。文獻[4]中同樣提出一種基于802.15.6協議的NB PHY基帶收發專用集成電路設計方案,提出支持DBPSK、DQPSK和D8PSK多種調制方式的可重構符號映射器。

國內在此方面研究較少,文獻[5]提出針對窄帶物理層前導碼在接收端的分組檢測、符號定時同步和載波偏移恢復的相關算法。文獻[6,7]基于FPGA平臺實現WBAN窄帶物理層收發架構,配合射頻電路,對整個通信系統進行板級測試驗證。文獻[7]對系統做出點對點通信驗證,未從系統性能、誤包率等角度展開分析。

以上論文均采用硬件實現體域網通信系統。為了滿足當前無線體域網絡設備高傳輸速率需求,結合IEEE 802.15.6協議中可重構調制方式規定,本文擬采用π/2-DBPSK調制PLCP前導碼和幀頭,π/8-D8PSK調制PSDU。通過開源軟件無線電平臺GNU Radio與通用硬件外設USRP完成基于802.15.6協議標準的軟件無線電無線通信收發機,最后對系統進行性能分析。仿真和實驗結果均表明本系統能在低誤碼率下實現可靠通信。

1 軟硬件平臺及協議

1.1 軟件無線電平臺

軟件無線電平臺為無線通信系統設計與開發提供一種建立多模式、多頻段、多功能無線設備的有效且經濟實用的解決方案,通過修改軟件代碼可方便切換網絡協議和調制方式,極大縮短開發周期和設計成本。

Matt Ettus 開發的USRP(universal software radio peripheral)是一種低成本、靈活的軟件無線電硬件平臺。母板USRP N210擁有兩路100 MS/s、14位模數轉換器,兩路400 MS/s、16位數模轉換器,帶可編程抽取率的數字下變頻,帶可編程插值率的數字上邊頻,千兆以太網接口,擴展用的2 Gbps高速串口,可處理帶寬高達100 MHz,流信號可達50 MHz。作為USRP N210的兼容射頻子板,WBX-40覆蓋頻段50 MHz~2.2 GHz,最大信號處理帶寬可達40 MHz,可提供100 mw功率輸出。

GNU Radio是一個開源的軟件無線電系統開發構建平臺,允許開發者運用自帶信號處理模塊搭建系統(也可自行編寫樹外模塊),完成系統開發設計和功能驗證。GNU Radio采用Python和C++語言混合編程的方式編寫代碼,SWIG(simplified wrapper and interface generator)作為Python和C++之間的接口轉換,將C++編寫的模塊用Python粘合在一起,以便讓上層Python自由調用由C++編寫的信號處理模塊。為簡化開發難度,GNU Radio使用GRC(GNU radio-companion)圖形化界面編程工具,將選用模塊拖曳到GRC終端,連接并運行程序后自動生成對應Python腳本文件,實現整個信號處理系統流程。

1.2 基于802.15.6協議的WBAN無線體域網

作為線傳感器網的一個分支,無線體域網(wireless body area network,WBAN)主要應用于遠程醫療診斷和監護[9,10],通過在人體體表或體內植入多個傳感節點,實時監控使用者的生理特征及周圍環境信息,再通過無線信道將數據發送給中心節點Hub,中心節點作為中央處理單元,負責無線體域網內部的通信控制及體域網與外部互聯網之間的數據通信。由于傳感節點資源有限,功耗管理成為WBAN發展的主要挑戰之一。

IEEE 802.15工作組于2012年3月發布了IEEE 802.15.6標準的正式版,該標準詳細規定了WBAN物理層(phy-sical layer,PHY)和媒體訪問控制(medium access control,MAC)層特性,提供無線體域網近距離(人體距離)、高速率、低功耗、高可靠無線通信組網的國際化標準[8]。WBAN的3種不同物理層包括窄帶(narrowband,NB)、超寬帶(ultra wideband,UWB)以及人體通信(human body communications,HBC)物理層,其中窄帶物理層是WBAN針對醫療電子領域優化的低功耗物理層協議,強調信噪比在11 dB下系統的誤包率需低于10%。窄帶物理層不易受到人體自身的影響,并且小的帶寬減少了多路徑傳輸引起的碼間干擾,更適用于醫療應用領域。

2 系統設計

2.1 通信系統流程

無線收發機整體框架如圖1所示,上半部分為發射機,下半部分為接收機,兩者通過天線通信。本文中,發射機將需要發送的數據按IEEE 802.15.6協議規定的PHY層和MAC層組包方式構成完整的協議數據幀,隨后采用π/2-DBPSK和π/8-D8PSK兩種調制方式將比特數據映射到星座圖中,用I,Q兩路信號表示星座點的橫縱坐標。經調制后生成的兩路信號過采樣后通過平方根升余弦濾波器(SRRC),抑制碼間串擾帶來的誤碼傳輸,提高頻帶利用率。以上功能在 GNU Radio 中以模塊化的形式完成后,通過以太網口將數據發送給USRP進行下一步操作。

圖1 無線收發機框架

經成形濾波后的兩路信號仍為基帶信號,需通過上變頻將基帶信號頻譜搬移到射頻段以便用天線輻射出去。通過UHD控制USRP母板對信號進行內插、數字上邊頻和數模轉換。內插常用半帶濾波器(HBF)和積分梳狀濾波器(CICF)對基帶信號插值,提高采樣頻率,匹配輸入基帶信號速率和載波數據速率。內插后的兩路信號分別與本地數控振蕩器(NCO)產生的數字余弦信號和正弦信號混頻到中頻,再經DAC后轉成模擬中頻信號,由射頻子板中的模擬混頻器將信號頻譜搬移到射頻頻段后經天線輻射完成信號發送。

接收機中,抽取及其之前工作與發射機呈鏡像關系,抽取后的信號經以太網口送入GNU Radio中。通常,在接收端會存在加性噪聲、多徑效應、頻率偏移、時鐘偏移等問題影響數據解調效果,其中頻率偏移是指發射端和接收端由于本地時鐘不同步導致信號頻率有偏差。另外,調制后信號會進行過采樣和脈沖成形操作,接收端需在過采樣點中尋找最適合的原始采樣點,盡可能降低碼間干擾影響。針對以上問題,本文采用GNU Radio中的鎖相環時鐘同步(polyphase clock sync)、CMA(constant modulus algorithm)均衡器和科斯塔斯環(costas loop)模塊。鎖相環時鐘同步模塊可以實現時鐘恢復和降采樣,內部包含的匹配濾波器用于修正碼間干擾影響。系統傳遞函數是成形濾波器和匹配濾波器的乘積,匹配濾波使用和成形濾波一致的平方根升余弦濾波器,可使匹配濾波器的輸出信號圖形中,在每個符號的最佳采樣點處,其它符號功率都為零。CMA均衡器是為消除電磁波沿不同路徑傳播導致的多徑干擾,通過改變特定頻率的信號增益使接收端信號變得均衡??扑顾弓h可為DBPSK和D8PSK實現相位和頻率同步。最后對同步后信號進行幀頭檢測和解映射,恢復數據。

2.2 802.15.6協議幀結構

本文選用402~405 MHz 醫用植入通信服務(medical implant communications service,MICS)頻段范圍的窄帶物理層結構,主要負責無線收發機的激活與失活、空閑信道評估(clear channel assessment,CCA)、數據發送與接收。傳輸時,將MAC層生成的物理層數據服務單元(PHY service data unit,PSDU)前加上物理層前導碼(physical layer convergence procedure preamble,PLCP Prea-mble)與物理層幀頭(physical layer convergence procedure preamble header,PLCP Header)組成物理層協議數據單元(physical protocol data unit,PPDU),窄帶物理層及媒體訪問控制層幀結構如圖2所示。

圖2 NB PHY層和MAC層幀結構

90 bits的PLCP前導碼位于PPDU最前端,協助接收機完成定時同步以及載波偏移恢復,其中前63 bits用于包檢測、粗定時同步和載波偏移恢復,后27 bits用于細定時同步。為防止鄰頻干擾,前63 bits數據在奇偶信道上使用兩種不同的前導序列。

第二部分是PLCP幀頭,其目的是傳遞有關PHY參數的必要信息,以便在接收端解碼PSDU,包括信息數據率、PSDU幀體長度(不包括MAC頭和FCS)、突發模式、擾碼種子、幀頭檢測序列(HCS)和BCH奇偶校驗位等信息。幀頭檢測序列(HCS)是由PLCP幀頭的前15 bits數據通過循環冗余校驗(cyclic redundancy check,CRC)編碼形成的4 bits序列,CRC-4的生成多項式為g(x)=1+x+x4。 為滿足醫療檢測技術對數據可靠性的要求,設計中集成了BCH(63,51,t=2) 的縮短碼BCH(31,19,t=2), PLCP幀頭的前19 bits通過此編碼后得到12 bits糾錯碼,最多能糾正2 bits數據位錯誤,采用BCH編碼可提高PLCP幀頭數據魯棒性,并減少數據重發次數。

最后一部分PSDU由MAC層生成,MAC層實現支持連接的基本功能,不進行帶有沖突避免的載波偵聽多路訪問(CSMA/CA)算法,而是開機后立即發送數據。PSDU包括7字節的MAC幀頭、可變長度的MAC幀體和2字節的幀檢測序列FCS,MAC幀頭包含幀控制字、接收端ID、發送端ID和體域網ID,FCS則由CRC-16編碼生成,接收時需刪除MAC幀頭并檢查FCS 是否正確。

PLCP幀頭和PSDU的調制參數見表1,本文PLCP幀頭采用π/2-DBPSK調制和BCH(31,19,t=2) 編碼方式;PSDU選用π/8-D8PSK調制,為簡化系統設計,PSDU未進行BCH編碼。

表1 PPDU調制參數

圖3為完整的NB PHY層收發機流程,該流程中包含PHY層調制參數的PHY幀頭經CRC-4和BCH 編碼后與PLCP前導碼組成完整的PLCP幀,通過π/2-DBPSK調制,與π/8-D8PSK調制后的PSDU幀合并,經成形濾波后送往射頻和天線部分;接收端數據經匹配濾波后經碼元同步和載波同步,將PLCP數據送往π/2-DBPSK解調,BCH解碼和CRC校驗,恢復PHY幀頭信息,PSDU根據PHY幀頭包含的解調參數和幀長度進行解調、解包。

圖3 NB PHY層收發機流程

2.3 調制與解調

相移鍵控及其衍生的差分相移鍵控是新一代數字通信系統常用的調制方式,而8PSK和D8PSK調制由于其較高的信息傳輸速率得到廣泛應用,這兩種調制方式用一個符號代表3位的比特數據,理論上信息速率可達BPSK和DBPSK調制方式下信息速率的3倍。8PSK的載波相位有8種取值,輸入數據每3 bits為一組滿映射到8種不同的載波相位,載波相位的不同取值如下

φ=2πn/8

(1)

其中,n∈{0,1,2,3,4,5,6,7}。 二進制序列與載波相位的映射關系由星座圖確定,采用格雷碼對圖中星座點依次編碼,格雷碼中相鄰相位之間只有一位數據不同,即使相位判斷成相鄰相位時也只會產生一位數據的誤判,降低了數據傳輸的誤碼率。8PSK調制將符號映射的絕對相位加到載波中傳輸,載波信號在發射端和接收端都需要以一個固定的基準相位作為參考相位,如果參考相位突然發生0到π或π到0的相位翻轉,都會導致接下來的一串數據在解調時出現0和1之間的翻轉,這種現象稱為“倒π”或“反向工作”。在通信過程中由于某種突發騷動導致分頻器狀態的翻轉或鎖相環路穩定狀態的翻轉,都會導致倒π現象的發生,并且這種現象往往是不易被察覺的。針對這一問題,實際應用中多采用多進制差分相移鍵控,解調時只考慮當前相位和前一相位的差值,而不依賴載波相位的固定參考值,D8PSK的表達式可以寫成

s(t)=sin(ωct+φk)

(2)

φk=φk-1+Δφk

(3)

其中,ωc表示載波頻率,Δφk表示相對相位,φk表示絕對相位。由碼元符號映射的相對相位值加上前一個碼元的絕對相位得到當前碼元的絕對相位,添加到調制載波中發送。D8PSK的相對相位星座如圖4所示。

圖4 D8PSK星座

對D8PSK的表達式式(2)展開可得

s(t)=cosφk·sinωct+sinφk·cosωct

(4)

令Ik=cosφk,Qk=sinφk, 分別稱為s(t)的同相分量和正交分量,D8PSK信號s(t)由兩路頻率為ωc的正交載波信號與同相分量、正交分量分別相乘后相加組成。

關于D8PSK的解調有相干解調法,差分解調法和鑒頻法。其中鑒頻法實現最簡單,不過因其需要檢測8種電平,對帶通濾波器要求較高,故不采用。差分解調又稱相位比較法,屬于非相干解調的一種,因其不需要提取同步載波,實現起來比相干解調容易。相干解調法需要在接收端恢復出與輸入端嚴格同頻同相的載波信號,正交相干解調在解調端恢復出兩路正交的相干載波信號,即cosωct和sinωct,與s(t)相乘后濾除高頻分量得到解調信號。正交相干解調較差分解調法具有更低的誤碼率,針對無線體域網中高傳輸速率的可靠性要求,本文采用正交相干解調法進行解調。具體解調過程如下

m(t)=s(t)·2sin(ωct)=2sin(ωct+φk)·sin(ωct)= cosφk-cos(2ωct+φk)

(5)

n(t)=s(t)·2cos(ωct)=2sin(ωct+φk)·cos(ωct)= sin(2ωct+φk)+sinφk

(6)

分別濾除m(t)和n(t)的高頻分量可得Ik=cosφk,Qk=sinφk, 此時得到的是絕對相位的正余弦值,再通過式(7)和式(8)

I′k=cos(Δφk)=cos(φk-φk-1)=cosφk·cosφk-1+ sinφk·sinφk-1=IkIk-1+QkQk-1

(7)

Q′k=sin(Δφk)=sin(φk-φk-1)=sinφk·cosφk-1- cosφk·sinφk-1=QkIk-1-IkQk-1

(8)

可得相對相位的正余弦值,根據映射關系將此正余弦值解映射成比特流數據即可得到解調后的數據。由于傳輸過程中存在干擾,此時在接收端接收到的相位點會擴散在原本星座點的周圍,可通過比較接收相位點與各星座點之間的距離判斷應解映射的符號數據。

π/2-DBPSK調制過程中,當輸入數據為0時相對相位Δφ的取值為π/2;當輸入數據為1時Δφ的取值為3π/2,再加上前一個碼元的絕對相位得到當前碼元的絕對相位,其余調制解調過程同上。解調時由式(8)和π/2-DBPSK的星座圖可知:Q′k>0時,解調數據為0;Q′k<0時,解調數據為1。

3 平臺測試與驗證

3.1 D8PSK調制與解調仿真

為驗證D8PSK調制解調流程,本文在GNU Radio中搭建純軟件平臺,通過設置模塊中的參數模擬實際信道傳輸中諸如信道衰弱、時鐘偏移等問題。圖中“Random Periodic Message Source”模塊用于生成隨機的字節流數據,字節流數據前添加用于幀同步的前導碼0xA7B8后通過“Unpack K Bits”模塊轉為比特流數據,隨后經串并轉換成3路數據,作為D8PSK調制的輸入,調制后的信號經成形濾波后發送給接收端?!癈hannel Model”信道模塊中可以設置噪聲電壓、頻率偏移和時鐘偏移,還可以仿真傳輸信道的多徑效應,模擬真實信道傳輸過程中信號遭受外界因素產生的影響。鎖相環時鐘同步模塊可以實現發送端和接收端的采樣時間同步,這里使用32個濾波器;CMA均衡器用于消除多徑效應,這里使用11個抽頭;科斯塔斯環用于恢復接收端的相位和頻率偏差,針對D8PSK調制階數設置成8。此時經符號定時同步和載波頻率同步后的數據可進行D8PSK解調,解調后的數據送往前導碼判決模塊“d8psk_packet_sink”中,若檢測到數據流中正確的前導碼則輸出隨后的數據流。Wireshark模塊是開源網絡實時數據抓包器,通過在輸入端和輸出端加入Wireshark模塊捕獲數據流信息進行比對,分析系統性能。D8PSK調制解調整體GRC流如圖5所示,Wireshark在第6幀的抓包結果如圖6所示,“depsk_in”界面的前5個字節為前導碼,后30字節為源數據,接收端“depsk_out”捕獲到和發送端同樣的數據,證明調制解調和同步時鐘恢復等模塊正常工作。

圖5 D8PSK調制解調流

圖6 輸入輸出端數據對比

3.2 基于 802.15.6 的收發系統驗證

完整的基于IEEE 802.15.6協議的收發系統驗證采用USRP N210母板、WBX-40射頻子板作為硬件平臺,裝有Ubuntu 18.04系統及GNU Radio 3.8.0.0軟件的PC作為軟件平臺,USRP由硬件驅動UHD控制。

軟件無線電系統的整體實物如圖7中所示,GRC流如圖8所示,其中“IEEE 802.15.6 PHY”模塊封裝了兩種調制解調方式及切換、PHY層的組包和解包、CRC和BCH碼的生成與校驗、前導碼的檢測與判決等具體子模塊。隨機數據源通過app in口流入MAC模塊進行MAC層組包,MAC頭中的幀控制字、發送端 ID、接收端ID和體域網ID參數如圖8中所示,MAC 組包好的數據進入PHY層加上PLCP后進行調制和成形濾波,送往USRP發送模塊“UHD:USRP Sink”,中心頻率設置為402 MHz~405 MHz。接收端將數據接收送入PHY層解調后進行PLCP頭的CRC-4和BCH校驗,若檢驗正確則將PSDU數據發送給MAC模塊,MAC層對數據進行CRC-16檢驗,若檢驗正確則將MAC幀體數據流入Wireshark,否則丟棄此幀。通過在信道中加入噪聲,用Wireshark捕捉輸入、輸出端數據分析系統性能。信噪比變化由信道注入的噪聲幅值控制,圖9展示了不同信噪比下系統誤包率,由圖可知信噪比在11 dB 時誤包率低于1%,系統具有可靠的準確率。

圖7 收發系統實物

圖8 802.15.6收發系統流

圖9 系統誤包率

4 結束語

針對WBAN收發機,目前還沒有非常成熟高效的基帶處理模塊,本文提出一種基于IEEE 802.15.6窄帶物理層結構的收發機系統設計,采用π/2-DBPSK和π/8-D8PSK兩種調制方式,并在軟件無線電平臺上實現完整的無線通信收發流程,采用CRC和BCH兩種編碼方式確保數據的可靠性傳輸。

后續工作中,將在該設計基礎上加入擴頻、交織、擾碼等模塊,以進一步提升系統魯棒性;深入研究WBAN中通信安全問題;在FPGA硬件平臺中進一步驗證NB PHY層基帶收發機功能,配合射頻電路構成完整通信系統,進一步研究優化系統功耗。

猜你喜歡
物理層接收端載波
水聲單載波擴頻均衡技術研究
基于K-ML-MPWFRFT的物理層安全傳輸技術
基于擾動觀察法的光通信接收端優化策略
基于多接收線圈的無線電能傳輸系統優化研究
歷元間載波相位差分的GPS/BDS精密單點測速算法
公路聯網電子不停車收費系統路側單元物理層自動測試軟件研發
手機無線充電收發設計
用于SAR與通信一體化系統的濾波器組多載波波形
低載波比下三電平NPC逆變器同步SVPWM算法
一種應用于5G基于LDPC碼的物理層包編碼
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合