S^2: SDR技術原理深入解析

2021-02-11 S2微沙龍

作者簡介:魏興光,北京郵電大學智能計算與通信研究組(Intelligent Computing andCommunication Lab, IC2 Lab)研究生,主要研究方向為軟體無線電(Software Defined Radio, SDR)。作者授權S2微沙龍發表該文,所有打賞將返還給作者。

本文檔通俗地介紹SDR的技術原理:先簡單介紹SDR的概念,SDR系統的分類,基於GPP的SDR系統,接著詳細介紹SDR系統原理,最後再以SDR LTE系統為例進一步解析SDR系統的工作流程。

一、 軟體無線電(SDR)概念

軟體無線電,即Software Defined Radio,SDR。通俗來講,SDR就是基於通用的硬體平臺上用軟體來實現各種通信模塊。

概念中有兩個關鍵詞,「通用硬體平臺」和「軟體」。「通用硬體平臺」就是說我們能基於這個硬體平臺實現各種各樣的通信功能,而不是說一個硬體平臺只能實現一種通信功能。「軟體」來實現通信模塊是相對於傳統的無線電技術來講的,傳統的無線電通信模塊都是用硬體電路來設計,一個通信電路只能完成一種通信功能,開發周期長,開發成本高,而且一旦設計好後功能就無法改變。軟體化可以加快通信模塊的開發速度,降低開發成本,便於調試和維護。

我們可以用圖1來簡單看看軟體無線電基站與傳統的無線電基站的區別。圖片左邊的是傳統的大基站,圖片右邊的是基於軟體無線電的小型化基站。傳統的商用基站體積較大,需要設計很多專用的硬體電路;而SDR基站體積較小,大部分通信功能由軟體實現。


圖1: 商用基站與SDR基站

SDR技術被譽為通信領域的第三次革命。第一次革命是1G通信系統,由有線通信到無線通信的革命;第二次革命是2G通信系統,由模擬通信到數字通信的革命。SDR是未來通信系統的發展趨勢。

二、 SDR系統分類

比較通用的SDR系統分類是以SDR的硬體平臺來分類。SDR系統分為三類:基於FPGA的SDR系統,基於DSP的是SDR系統和基於GPP的SDR系統。

2.1  FPGA-BasedSDR系統基於FPGA平臺開發的SDR系統,實時處理能力強,但是開發難度大,開發成本也高。這裡強調一下在SDR系統中對實時處理能力要求很高,我們以LTE系統為例,LTE系統的子幀長1ms,也就是說我們的SDR系統必須在1ms內把這一子幀的數據全部處理完並發送出去,不能有任何時延。通信系統帶寬越大,吞吐率越高,對系統的實時性要求就越高。2.2 DSP-BasedSDR系統

基於DSP平臺開發的SDR系統,實時性比FPGA略差,而且同樣的開發難度大,開發成本也高。

2.3 GPP-BasedSDR系統

GPP即General Purpose Processor,通用處理器。我們可以簡單的把GPP理解為電腦,即我們使用的臺式機、筆記本等。基於GPP能高效地開發各種通信模塊、通信系統,因為我們可以很方便的基於各種高級程式語言、各種連結庫來實現各種通信功能,如編碼、調製等。而且,基於GPP的SDR系統開發相比其他兩種具有較低的開發門檻,較低的開發成本,開發周期也較短、便於調試等。GPP-Based SDR系統是目前最為通用的一種SDR系統實現形式。

GPP-based SDR系統通常包含兩部分,一部分是GPP,另一部分是外設。下一個章節我們將介紹SDR外設的種類。

三、SDR系統外設

如圖2所示,SDR基站/UE都各自包含一個GPP和一個外設。GPP即我們平常所用的臺式機或筆記本電腦。SDR的外設有很多種類,如USRP,bladeRF,HackRF,以及低端的RTLSDR等。下面我們分別介紹各種外設的相關信息。


圖2: SDR通信系統

3.1 USRP

USRP是Ettus公司的產品,目前主要有B系列,E系列,N系列和X系列等,基本上系列字母越靠後價格越貴。由於USRP型號太多,我們以B系列為例來介紹USRP。 B系列主打小型化,目前有USRP B200/B210、USRP mini系列等,其中mini系列更是只有一張名片大小。而且B系列都採用USB3.0接口與GPP通信,直接採用USB供電,使用非常便捷。USRP B系列的產品大部分單價都在7000-8000塊之間,但是如果加上稅錢、運費等,差不多就得10000塊了。USRP相關產品的介紹請連結官網https://www.ettus.com/product 

圖3:USRP設備

3.2 BladeRF

BladeRF主要有三種型號,BladeRF X40,BladeRF X115, BladeRF X115 Thermal。BladeRF X40 是低配版,就是我們手機裡面的青春版,大概約$420,即3000塊左右;BladeRF X115是高配版,FPGA比BladeRF X40好,價格約$650,即4500塊左右;而BladeRF X115 Thermal則是頂配版,可以耐受極端環境,價格約$1500,即10000塊左右。BladeRF的詳細信息請查閱官網  http://www.nuand.com/


圖4:BladeRF設備

3.3 HackRF

HackRF,顧名思義是黑客版的SDR外設,它主打性價比高,價格便宜。HackRF主要有兩種版本,HackRF blue和HackRF one,其中HackRF blue是低配版,HackRF是高配版。注意的是HackRF只能支持半雙工。HackRF詳細的信息請查閱官網    http://greatscottgadgets.com/hackrf/

                           

圖5:HackRF設備

在國外網站上找到一篇介紹上述SDR外設的區別的博客,http://www.taylorkillian.com/2013/08/sdr-showdown-hackrf-vs-bladerf-vs-usrp.html 。有空我給大家翻譯翻譯。現在先給大家預覽一下裡面的一個表格。


3.4 RTLSDR

如果說上述設備對學生黨來說都太貴了,畢竟動不動就好幾千塊錢,那麼不得不隆重介紹下入門級的SDR外設,RTLSDR。淘寶一搜RTLSDR就能出來一大堆,而且都只需要幾十塊錢,博主目前就買了一個,正在研究怎麼使用。便宜就意味著性能的低,RTLSDR本來是用來接收電視信號的,所以也稱為電視棒。RTLSDR只能接收信號,不能發射信號,而且只有2.8M/s的採樣速率,根據奈奎斯特採樣定律換算一下理論上最大支持的帶寬只有1.4M。但這仍然是一款非常適合用來入門的SDR外設。RTLSDR具體使用方法參見http://sdr.osmocom.org/trac/wiki/rtl-sdr和http://www.rtl-sdr.com/

圖6:RTLSDR設備

四、 SDR系統原理

下面正式開始講解SDR的系統原理。在上面的介紹中我們知道GPP-Based SDR系統一般都是包含一個GPP和一個外設。我們以一臺筆記本電腦連接一個USRP B200為例來給大家講解SDR系統內部的實現原理。

4.1 發射機

首先我們來看發射端的系統原理圖,即圖7。圖的左邊是一臺筆記本的示意圖,右邊的一個USRP B200的發射示意圖。

首先看筆記本結構最上面的SDR程序。這個程序就是我們用軟體來實現的通信模塊,在筆記本上我們可以用各種高級程式語言來編寫各種通信模塊,例如Turbo編碼模塊,OFDM模塊等。鑑於SDR系統對實時性要求較高,所以我們一般使用C或C++語言來編寫SDR程序。SDR程序裡面包含了通信系統完整的協議棧,如果我們寫的是LTE系統,則包含PHY、MAC、RLC、PDCP、RRC、NAS甚至MME等;而如果我們的是WiFi系統,則包含PHY、MAC、LLC等。SDR程序的主要功能是處理系統的基帶數據。

接下來UHD是USRP設備的驅動模塊,不同的外設使用的驅動也不一樣,因為我們是以USRPB200為例,所以驅動模塊是UHD。UHD驅動的安裝方式可以參見http://blog.csdn.net/jxwxg/article/details/53002311使用C或者C++調用UHD的庫函數可以參見http://blog.csdn.net/jxwxg/article/details/53142911。

接下來是系統的各種系統庫和系統調用的接口以及內核。強調一點,大部分SDR程序都是基於Linux來開發的,很少基於Windows開發。因為Linux系統開源,而且實時性較好。這一塊主要涉及作業系統方面的知識,我們不在這裡深入討論。

USRP B200與GPP的接口是USB3.0。外設接口的選擇也很重要,接口的傳輸速率必須快,不能成為整個系統的瓶頸。USRP早期的產品的都是用的USB2.0接口,因為當時通信系統的吞吐量較小,所以不會限制使用。現在大部分外設都是用USB3.0或者乙太網網口作為外設接口。USB3.0的接口速度可以達到500MBps,基本能滿足大部分通信系統的需求。

   接著筆記本電腦通過USB3.0把數據傳輸給USRP B200。USRP最底下的兩個模塊是發送控制模塊和數字上變頻模塊(DUC)。這兩個模塊是用FPGA裡面實現的,用FPGA實現的好處是處理速度快。發送控制模塊好理解就是用來控制整個USRP的發送行為,例如什麼時候發送等。DUC模塊是為了把電腦產生的基帶數據上變頻到中頻。之後數位訊號經過USRP的DAC之後轉化為模擬域的數據,數模轉化之後需要過一個低通濾波器使信號變的更加平滑。最後中頻模擬域數據在與晶振產生的信號相乘把我們的中頻信號調製到制定的射頻頻點上。

最後射頻信號再經過功率放大器把信號發射出去。信號放大器裡面也有很多知識可以學習。例如信號放大器分為A類,B類和C類等,具體每一類的特徵本文就不具體解釋了。我們可以通過UHD提供的庫函數來修改發射信號的發射增益,即tx_gain。tx_gain這個參數對信號的影響還是挺大的,tx_gain設置的太小導致信號功率太小,而如果設置的過大可能會導致系統的低噪上升,也有可能會影響其他通信系統的正常工作。                           

圖7:SDR發射機原理圖

4.2 接收機

可能有人會問為什麼要經過兩次變頻。我們以SDR接收機給大家講解。如圖8所示是SDR接收機的原理圖。同樣的,左邊是筆記本的示意圖,與發射機的一樣;右邊是USRP的接收示意圖,USRP接收示意圖與發射示意圖稍有不同。

首先接收部分的放大器變成了低噪放,顧名思義,低噪放就是低噪聲的放大器,本質上還是個放大器。因為接收的信號裡面包含了信道的噪聲,接收機不能把噪聲放的過大。

信號經過低噪放後與USRP晶振產生的信號相乘把信號下變頻到中頻,同樣地再經過一個低通濾波器把信號變得平滑。

之後中頻信號經過ADC把模擬域的信號轉到數據域。ADC是USRP裡面很重要的一個部件。ADC主要由兩個參數,採樣精度和採樣率。採樣精度表示採樣後的信號用多少bit來表示,例如USRP B200的ADC精度為12 bits,即採樣後的每一個數據用12bits來表示。採樣率就是系統的採樣速率,USRP B200的採樣速率為61.44MS/s。這也就是為什麼大部分SDRLTE系統都採用USRP B系列作為外設的原因,61.44MS/s的採樣率剛好是LTE系統最大採樣速率30.72M的兩倍。

同樣的信號經過ADC之後,數位訊號被送入FPGA模塊處理。FPGA裡面包含兩個模塊,數字下變頻和接收控制。接收控制用來控制整個USRP系統的接收流程,例如什麼時候開始接受等。數字下變頻即DDC,用於把信號從中頻下變頻到基帶。


圖8:SDR接收機原理圖

為什麼要經過兩次下變頻呢?如圖9所示,第一次變頻是在模擬域通過晶振產生的信號與射頻信號相乘把信號下變頻到中頻,這一次變頻主要是為了後面做AD採樣。我們知道採樣需要滿足奈奎斯特採樣定律,採樣的頻率必須大於信號的最高頻率的2倍,而射頻信號的載波頻率已經能都達到2.6GHz,甚至5GHz,根本無法做出載波頻率兩倍的採樣速率的ADC。所以系統先把信號下變頻到中頻,然後再利用ADC對信號進行模數轉化。因為USRP ADC的採樣率為61.44MS/s,所以我們可以推出USRP對應的中頻頻率應該低於30.72MHz。

接著中頻的數位訊號被DDC下變頻到基帶。有人可能會問為什麼不直接把信號一次變頻到基帶呢,這樣的接收機叫做零中頻接收機。如果載波頻率高了,零中頻的接收機設計會非常複雜,所以零中頻接收機一般用於載波頻率較低的系統裡面。


圖9 :下變頻原理示意圖

數位訊號經過USB3.0接口傳輸到筆記本電腦上後,電腦再把數據傳輸給SDR程序處理。物理層處理完後再把數據交給上層。這樣SDR接收機的信號接收過程便完成了。

SDR發射機/接收機裡面的每一個模塊都對應一大片知識,知識的海洋是無窮的,這裡的介紹只能起一個拋磚引玉的作用。如果大家想深入學習的話,還得要多查閱資料。

五、 SDR LTE系統

上一章節從SDR發射機和接收機的角度分別介紹SDR系統的原理。下面我們以SDR LTE系統為例給大家介紹一個SDR系統的例子,有助於大家理解實際項目的中SDR通信系統。

目前國際上已經有好幾個開源的SDR LTE系統,如OpenAirInterface, srsLTE, OpenLTE等, 詳情可以查看 http://blog.csdn.net/jxwxg/article/details/53026659。開源的SDR LTE系統非常適合用來學習SDR和LTE的原理和知識。

下面以圖10來介紹SDR LTE系統的工作流程。

首先LTE的上層有數據需要物理層發送,比如我們要發送一個經典的字符串」Hello World」,上層把數據編碼成Bit流自後交給物理層。上層可能採用的ASCII編碼,把Hello World編碼成對應的Bit流。即物理層收到的是一連串的100110等。

Bit流傳到物理層後開始進行編碼,LTE採用的是1/3 碼率的Turbo編碼,再經過加擾,加擾可以理解為將Bit流隨機化,避免出現一大串連續的0或者1。此外,在發送端用小區專用擾碼序列進行加擾,接收端再進行解擾,只有本小區內的UE才能根據本小區的ID形成的小區專用擾碼序列對接收到得本小區內的信息進行解擾,這樣可以在一定程度上減小臨小區間的幹擾。

接著Bit流經過調製模塊後被調製成複數。LTE裡面採用的是QPSK,16QAM和64QAM等調製方式,出來的數據形式如 0.707+0.707j。然後對複數序列進行資源映射,把複數映射到LTE的時頻資源上,最後再對這些信號進行OFDM把信號轉換到時域。此時,SDR程序的工作便完成了,生成了LTE系統的基帶數據。

緊接著,GPP把基帶數據通過USB3.0接口把數據傳輸給USRP,由USRP經過上一章講述的流程把基帶信號上變頻到射頻並發送出去。

                           
圖10:SDR LTE系統原理

LTE接收機的過程基本與發射機相反。USRP把接收到的射頻信號下變頻到基帶後通過USB3.0接口傳輸給SDR程序。SDR程序把接收到的一連串複數先做OFDM解調,接著信道估計/均衡。此時的數據仍然是複數形式的。經過軟解調之後數據變成Bit流,最後再進行解擾,解碼恢復出 「Hello World」 的ASCII碼,傳輸給UE的上層後,UE識別出有人給它發送了一串信息,即「Hello World」。

至此,通信的過程完成。


六、 參考文獻

我的博士師兄帶我飛的論文:

X. Xiong, W. Xiang, K. Zheng, H. Shen and X. Wei, "An open source SDR-based NOMA system for 5Gnetworks," in IEEE Wireless Communications, vol. 22, no. 6, pp. 24-32,December 2015.

請長按識別二維碼關注我們!

點擊閱讀原文查看更多精彩內容!


S2微沙龍面向讀者徵稿啦!

主題是信息生活類即可

根據文章閱讀量、質量我們會給予稿費,並且文章的打賞全額返還

投稿郵箱:s2wesalon@sina.com

相關焦點

  • SDR技術原理深入解析
    RTLSDR只能接收信號,不能發射信號,而且只有2.8M/s的採樣速率,根據奈奎斯特採樣定律換算一下理論上最大支持的帶寬只有1.4M。但這仍然是一款非常適合用來入門的SDR外設。RTLSDR具體使用方法參見http://sdr.osmocom.org/trac/wiki/rtl-sdr和http://www.rtl-sdr.com/。
  • 觸摸技術的深入剖析及觸控螢幕原理說明
    觸摸技術的深入剖析及觸控螢幕原理說明 工程師姚遠香 發表於 2018-08-04 08:54:00
  • CubicSDR 0.2.0 發布,跨平臺音頻應用
    CubicSDR 0.2.0 發布了,CubicSDR 是跨平臺的開源音頻應用,允許你操作無線電頻譜和解調你可能發現的任意信號。
  • sdr和hdr區別-太平洋IT百科手機版
    HDR技術的應用,可以提升圖像的細節和動態範圍,使得畫面更真實、更有層次,從而有效提升人們的觀影感受,那麼sdr和hdr區別是什麼呢?下面就跟隨小編一起來看看吧。,頻帶、空中接口協議和功能可通過軟體下載和更新來升級,而不用完全更換硬體;  高動態範圍圖像(High-Dynamic Range,簡稱HDR),相比普通的圖像,可以提供更多的動態範圍和圖像細節,根據不同的曝光時間的LDR(Low-Dynamic Range)圖像,利用每個曝光時間相對應最佳細節的LDR圖像來合成最終HDR圖像,能夠更好的反映出真實環境中的視覺效果;  2、
  • 通過源碼解析,深入Java 線程池原理
    從池化技術到底層實現,一篇文章帶你貫通線程池技術。1、池化技術簡介在系統開發過程中,我們經常會用到池化技術來減少系統消耗,提升系統性能。2、 如何配置線程池大小配置一般需要根據任務的類型來配置線程池大小:如果是CPU密集型任務,就需要儘量壓榨CPU,參考值可以設為 NCPU+1如果是IO密集型任務,參考值可以設置為2*NCPU
  • Doc2vec原理解析及代碼實踐
    2. Doc2vec原理Doc2vec方法是一種無監督算法,能從變長的文本(例如:句子、段落或文檔)中學習得到固定長度的特徵表示。2.1 Distributed Memory Model of Paragraph Vectors訓練句向量的方法和詞向量的方法非常類似。
  • 技術解析:渦輪風扇提高散熱原理分析
    技術解析:渦輪風扇提高散熱原理分析 2007年11月30日 04:09作者:白樺編輯:白樺文章出處:泡泡網原創 ■ 採用雙渦輪引擎、90度流道設計的NANOOK系列兩款筆記型電腦散熱器原理解析:     COOLINGPAD 2.0T和WALKPAD 2.0T是NANOOK系列下的兩款筆記型電腦散熱器,是採用雙渦輪引擎、90度流道設計的經典產品。
  • 分子生物學實驗技術原理解析
    通俗地說,就是通過微加工技術 ,將數以萬計、乃至百萬計的特定序列的DNA片段(基因探針),有規律地排列固定於2cm2 的矽片、玻片等支持物上,構成的一個二維DNA探針陣列,被稱為基因晶片。基因晶片主要用於基因檢測工作 。基因晶片的測序原理是雜交測序方法,即通過與一組已知序列的核酸探針雜交進行核酸序列測定的方法,在一塊基片表面固定了序列已知的八核苷酸的探針。
  • 深入解析變壓器工作原理
    一、變壓器的製作原理:在發電機中,不管是線圈運動通過磁場或磁場運動通過固定線圈,均能在線圈中感應電勢,此兩種情況,磁通的值均不變,但與線圈相交鏈的磁通數量卻有變動,這是互感應的原理。五、低頻變壓器的技術參數  對不同類型的變壓器都有相應的技術要求,可用相應的技術參數表示。如電源變壓器的主要技術參數有:額定功率、額定電壓和電壓比、額定頻率、工作溫度等級、溫升、電壓調整率、絕緣性能和防潮性能。對於一般低頻變壓器的主要技術參數是:變壓比、頻率特性、非線性失真、磁屏蔽和靜電屏蔽、效率等。
  • 多視圖幾何三維重建技術背後的原理解析與實踐
    那麼基於多視圖幾何的三維重建技術,到底是怎麼工作的呢?它的底層原理又是怎樣的呢?它又是如何應用的呢?5月7日晚8點,智東西公開課「CV研究合輯」第5講直播開講,由Aibee 科技高級算法工程師孫舶寒為大家深度講解《基於多視圖幾何的三維重建》。
  • 深入了解庫裡式投籃的原理,可以升華我們的投籃技術
    在我們在籃球場上拿起籃球朝向籃筐去投籃的時候,你有沒有想過為什麼籃球會掉進籃筐,這個問題是每個想要學習投籃的人都必須明白的,但是卻是被絕大多數人所忽略的,這個問題的答案就是一切投籃的原理,也是庫裡式投籃的原理,那就是:主動意識(這個詞學習自池邊的樹籃球教程)。
  • 81 質譜原理和ESI-MS結構解析
    81 質譜原理和ESI-MS結構解析
  • 三軸陀螺儀基本技術原理解析
    三軸陀螺儀基本技術原理解析 佚名 發表於 2016-10-25 11:17:45   在一定的初始條件和一定的外在力矩作用下,陀螺會在不停自轉的同時,還繞著另一個固定的轉軸不停地旋轉
  • 微波爐原理解析
    完全是免費訂閱,請放心關注。註:本文轉載自網絡,不代表本平臺立場,僅供讀者參考,著作權屬歸原創者所有。我們分享此文出於傳播更多資訊之目的。如有侵權,請在後臺留言聯繫我們進行刪除,謝謝!  微波爐是一種常用的電器,不論是在家裡或者是辦公室,甚至是餐廳導出都可以看到它的身影,這主要是因為其效率高、加熱快、佔地小等特點,說起微波爐,大家首先想到就是微波爐能夠很快的加熱食物,而加熱也是目前人們使用微波爐烹調食物時使用的最多的功能之一。那麼,你知道微波爐原理是什麼嗎?
  • 螺旋鑽機工作原理是什麼?鑽機原理解析
    螺旋鑽機也可以叫做鑽土機,我們在使用鑽土機的時候想要知道鑽土機工作原理是什麼?其實鑽土機原理很簡單哦,下面小編就為大家帶來了鑽土機原理解析,一起來看看吧!鑽土機工作原理是什麼?液壓鑽坑機鑽土機原理解析: ANT螺旋鑽機根據最新國際標準製造,使用進口藥優質EN系列齒輪鋼材和最新的加工技術製作。
  • 計算攝影 | 攝像機成像原理及參數解析
    本期主要對數字成像系統進行概述總結,行文主要分為:數字成像系統組成、攝像頭關鍵部位概述、ISP概述、關於攝像頭相關的技術指標概述以及總結。現在網際網路資源比較豐富,本文只提出每個部分的關鍵知識點,讀者如果有興趣可以進一步深入檢索進行學習。對於人眼來說我們觀察到一個物體很容易。
  • 瀏覽器加載解析渲染網頁原理
    深度優先原則解析構建DOM樹和CSS樹:深度優先原則就是對每一個結構順著第一個內部節點一直往內部解析,直到結構盡頭,然後再回退到上一個節點,再對第二個節點執行深入優先原則的解析構建。下圖是上面示例請求到的HTML資源的解析流程圖:按照示例HTML解析流程圖,根據編號順序按照1-->1.1-->1.2-->1.3-->1.4-->2-->2.1-->2.1.1-->2.1.1.1-->2.1.2-->2.1.2.
  • PySpark 原理解析
    本文主要從源碼實現層面解析 PySpark 的實現原理,包括以下幾個方面:PySpark 的多進程架構;Python 端調用 Java、Scala 接口;Python Driver 端 RDD、SQL 接口;Executor 端進程間通信和序列化;Pandas UDF;總結;1、PySpark
  • 2017年10月自考馬克思主義基本原理概論真題答案及解析
    2、【答案】C【解析】唯物辯證法和形上學是兩種根本對立的發展觀,是關於世界如何存在的兩種根本不同的觀點。3、【答案】B【解析】唯物辯證法和形上學是兩種根本對立的發展觀,是關於世界如何存在的兩種根本不同的觀點。
  • 習題解析之弛豫時間(2)
    靜磁場的強度越高,T1時間越短D.先發生T1馳豫,再發生T2馳豫 E.靜磁場的不均勻會影響T2弛豫 在各種成像方式中,磁共振成像的基本原理是比較難理解的。單純的片段學習是不行的,必須系統學習,從最基本的物理學原理入手,再學脈衝序列,最後學血管成像技術、特殊成像技術。