LimeSDR性能参数介绍及如何用它实现通信过程
1.什么是SDR?
SDR (Software Defined Radio),軟件定義的無線電。
軟件定義無線電(SDR)是一種無線電通信系統,通過軟件來實現傳統無線電系統中用硬件實現的模塊(例如混頻器,濾波器,放大器,調制器/解調器,檢測器等)。簡單說來 就是以“軟”換“硬”,這樣可以通過修改軟件,靈活配置修改無線電系統。實際上,SDR包含了很多東西,很難用一句話來描述。技術在發展,限制仍被探索。靈活性是SDR追求的核心,靈活性從基帶數字處理逐漸延伸到射頻前端,比如靈活的硬件(如CPLD或者FPGA),靈活的射頻前端混合硬件(FPRF)。
2.LimeSDR構造圖。
主要技術參數:
和其他SDR性能參數對比:
IC1-FPRF LMS7002M transceiver 這個是可現場編程射頻門,是整個SDR中最重要的一個器件,承擔著信號的收發
IC6-Cypress USB3.0 controller 這個是賽普拉斯USB3.0的控制器
IC9-Temperture sensor 這個是一個溫度傳感器,與LimeSuite連接后可以讀取板子的實時溫度
IC31- Altera CYCLONE IV 這是一個FPGA,可以自己定義固件
LEDS1,LEDS2-4 ststus indication LEDs 這個是LED指示燈,當你使用GRC,Pothos,LimeSuite向LimeSDR發出指令時,這些燈就會閃爍。
J17、J18都是FPGA的引腳,一個使用GPIO,一個使用JTAG
射頻部分 :
上一幅圖的右三分之一部分,那個地方布滿了十個ipex轉SMA的連接頭,通過LMS7002M處理后的信號或者接收外部的信號都通過這個進行收發。LimeSDR有兩個接收/發送對,可用于從Rx到2×2 MIMO的任何東西。RF連接器總共有10個,但IC中只有2個Rx和2個Tx可用,為了在某些頻率范圍內提供性能改進,為低頻段和高頻段RX / TX提供了端口(10個中的8個)。此外,還有一個覆蓋最后兩個端口的寬帶RX通道。通過為特定頻率提供多個信道,保持靈活性和性能將是非常困難的并且包括(可能太遠)每個信道提供單個RX / TX端口。
TX1_1 / TX2_1 =寬帶
TX1_2 / TX2_2 =寬帶
RX1_1 / RX2_1 =低頻帶特定<1.5GHz
RX1_2 / RX2_2 =高頻帶特定> 1.5GHz
RX1_3 / RX2_3 =寬帶100kHz至3.8GHz
3.關于射頻收發器(RF收發器)
射頻收發器,射頻簡稱RF射頻就是射頻電流,它是一種高頻交流變化電磁波的簡稱。每秒變化小于1000次的交流電稱為低頻電流,大于10000次的稱為高頻電流,而射頻就是這樣一種高頻電流。有線電視系統就是采用射頻傳輸方式的。
在電子學理論中,電流流過導體,導體周圍會形成磁場;交變電流通過導體,導體周圍會形成交變的電磁場,稱為電磁波。
在電磁波頻率低于100kHz時,電磁波會被地表吸收,不能形成有效的傳輸,但電磁波頻率高于100kHz時,電磁波可以在空氣中傳播,并經大氣層外緣的電離層反射,形成遠距離傳輸能力,我們把具有遠距離傳輸能力的高頻電磁波稱為射頻,英文縮寫:RF
4.如何實現通信過程
(1)發射信號
首先看筆記本結構最上面的SDR程序。這個程序就是我們用軟件來實現的通信模塊,在筆記本上我們可以用各種高級編程語言來編寫各種通信模塊,例如Turbo編碼模塊,OFDM模塊等。鑒于SDR系統對實時性要求較高,所以我們一般使用C或C++語言來編寫SDR程序。SDR程序里面包含了通信系統完整的協議棧,如果我們寫的是LTE系統,則包含PHY、MAC、RLC、PDCP、RRC、NAS甚至MME等;而如果我們的是WiFi系統,則包含PHY、MAC、LLC等。SDR程序的主要功能是處理系統的基帶數據。
接下來是驅動模塊,不同的外設使用的驅動也不一樣,
接下來是系統的各種系統庫和系統調用的接口以及內核。強調一點,大部分SDR程序都是基于Linux來開發的,很少基于Windows開發。因為Linux系統開源,而且實時性較好。這一塊主要涉及操作系統方面的知識,我們不在這里深入討論。
接口是USB3.0。外設接口的選擇也很重要,接口的傳輸速率必須快,不能成為整個系統的瓶頸。現在大部分外設都是用USB3.0或者以太網網口作為外設接口。USB3.0的接口速度可以達到500MBps,基本能滿足大部分通信系統的需求。
接著筆記本電腦通過USB3.0把數據傳輸給LimeSDR。SDR最底下的兩個模塊是發送控制模塊和數字上變頻模塊(DUC)。這兩個模塊是用FPGA里面實現的,用FPGA實現的好處是處理速度快。發送控制模塊好理解就是用來控制整個USRP的發送行為,例如什么時候發送等。DUC模塊是為了把電腦產生的基帶數據上變頻到中頻。之后數字信號經過DAC之后轉化為模擬域的數據,數模轉化之后需要過一個低通濾波器使信號變的更加平滑。最后中頻的模擬域數據在于晶振產生的信號相乘把我們的中頻信號調制到制定的射頻頻點上。
最后射頻信號再經過功率放大器把信號發射出去。信號放大器里面也有很多知識可以學習。例如信號放大器分為A類,B類和C類等,具體每一類的特征本文就不具體解釋了。我們可以通過UHD提供的庫函數來修改發射信號的發射增益,即tx_gain。tx_gain這個參數對信號的影響還是挺大的,tx_gain設置的太小導致信號功率太小,而如果設置的過大可能會導致系統的低噪上升,也有可能會影響其他通信系統的正常工作。
(2)接收信號
可能有人會問為什么要經過兩次變頻。我們以SDR接收機給大家講解。右邊是USRP的接收示意圖,USRP接收示意圖與發射示意圖稍有不同。
首先接收部分的放大器變成了低噪放,顧名思義,低噪放就是低噪聲的放大器,本質上還是個放大器。因為接收的信號里面包含了信道的噪聲,接收機不能把噪聲放的過大。
信號經過低噪放后與晶振產生的信號相乘把信號下變頻到中頻,同樣地再經過一個低通濾波器把信號變得平滑。
之后中頻信號經過ADC把模擬域的信號轉到數據域。ADC是很重要的一個部件。ADC主要由兩個參數,采樣精度和采樣率。采樣精度表示采樣后的信號用多少bit來表示,例如LimeSDR的ADC精度為12 bits,即采樣后的每一個數據用12bits來表示。采樣率就是系統的采樣速率,LimeSDR的采樣速率為61.44MS/s。
同樣地信號經過ADC之后,數字信號被送入FPGA模塊處理。FPGA里面包含兩個模塊,數字下變頻和接收控制。接收控制用來控制整個系統的接收流程,例如什么時候開始接受等。數字下變頻即DDC,用于把信號從中頻下變頻到基帶。
總結
以上是生活随笔為你收集整理的LimeSDR性能参数介绍及如何用它实现通信过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FPGA实验——译码器原理及实现
- 下一篇: FPGA实验三——计数器的实现并用Sig