當前位置:首頁 > 消費電子 > 消費電子
[導(dǎo)讀]開源軟件無線電(Gnuradio)或 開源軟件定義無線電 是一個對學(xué)習(xí),構(gòu)建和部署軟件定義無線電系統(tǒng)的免費軟件工具包。發(fā)起于2001年,Gnuradio成為 GNU 的正式項目之一。

開源軟件無線電(Gnuradio)或 開源軟件定義無線電 是一個對學(xué)習(xí),構(gòu)建和部署軟件定義無線電系統(tǒng)的免費軟件工具包。發(fā)起于2001年,Gnuradio成為 GNU 的正式項目之一。慈善家 John Gilmore 發(fā)起并捐助 $320,000.00 (US) 給 Eric Blossom用來構(gòu)建代碼和維護。

Gnuradio [1] 是一個無線電信號處理方案,它遵循 GNU 的 GPL 的條款分發(fā)。它的目的是給普通的軟件編制者提供探索電磁波的機會,并激發(fā)他們聰明的利用射頻電波的能力。正如所有軟件定義無線電系統(tǒng)的定義, 可重構(gòu)性是其最重要的功能。再也不需購買一大堆發(fā)射接收設(shè)備,只要一臺可以裝載信號處理軟件(這里:Gnuradio )通用的設(shè)備。它雖然只定義幾個有限的無線電功能,但是只要理解無線發(fā)射系統(tǒng)的機理(算法),你便可以任意的配置去接受它。Gnuradio 起源于美國的麻省理工學(xué)院的 SpectrumWare 項目小組開發(fā)的 Pspectra 代碼的分支。2004年被完全重寫。所以今天的 Gnuradio 已不包含原 Pspectra 任何代碼。

另外值得一提的是 Pspectra 已被用作創(chuàng)立商業(yè)化的 Vanu Software Radio.Gnuradio 開發(fā)了通用軟件無線電外設(shè) (USRP ),它是一個包含4個64 MS/s 的12位 ADC,4 個 128 MS/s 的 14 位的 DAC,以及其它支持線路包括高速的 USB 2.0 接口。該USRP能夠處理的信號頻率高達16 MHz寬。一些發(fā)射器和接收器的插件子板,可覆蓋0至5.9MHz 頻段。 它是Ettus研發(fā)的。

GNU Radio 是一個免費的開源軟件開發(fā)工具包,它提供信號處理模塊來實現(xiàn)軟件無線電。它可以與現(xiàn)成的低成本外部 RF 硬件一起使用來創(chuàng)建軟件定義的無線電,或者用于純仿真環(huán)境。它廣泛用于業(yè)余愛好者、學(xué)術(shù)和商業(yè)環(huán)境,以支持無線通信研究和現(xiàn)實世界的無線電系統(tǒng)。在Windows上安裝GNU Radio可以采用軟件安裝包直接安裝或采用conda安裝.目前軟件安裝包只支持3.7和3.8版本, 最新的3.9無法采用此安裝方式.使用conda安裝的詳細過程參見conda install guide.

本文使用conda進行安裝.安裝步驟如下:

首先,請確保你的電腦上安裝了anaconda.

為了提升包的下載速度,請切換國內(nèi)的anaconda鏡像源, 方法參見:Anaconda 鏡像使用幫助.

從開始菜單中找到Anaconda Powershell Prompt (anaconda3)并打開.

在powershell中運行如下命令, 添加conda-forge倉庫:

目前類似的sdr軟件非常多,最主要的幾個功能就是瀑布圖,頻率帶寬調(diào)節(jié),和一些解碼方式的選擇。limesdr在windows下,比較方便的類似軟件是HDSDR,直接下載解壓,都不需要安裝,并把limesdr對應(yīng)的ExtIO_LimeSDR_1.05.dll驅(qū)動文件拷貝到安裝目錄下,就可以使用啦。

此外,windows下也提供傻瓜式安裝包,安裝過程確定到底,沒啥可說的,而且就我的使用感覺來說,非常不穩(wěn)定,所以這里直接略去。想玩gnuradio,一個linux系統(tǒng)還是要裝的,無論是處于開發(fā)的方便,穩(wěn)定,還是以后結(jié)合嵌入式來說,都是必須的。

首先說一下幾點注意事項,按照官網(wǎng)的說法,limesdr的工具鏈目前完整支持了16.04,18.04,18.8和一些其他的比較知名的linux發(fā)行版,20.04的ubuntu發(fā)行不久,相關(guān)工具正在開發(fā)中。而16.04在20.04版本開始開發(fā)后停止支持了。

我個人建議使用vmware安裝ubuntu18.04版本,如果就是用的VMware,那么安裝過程中或安裝后,一定注意要把USB口改成usb3.0。無論windows下,還是linux下,limesdr都只支持usb3.0,只支持usb3.0,只支持usb3.0,重要的事說三遍。不是用usb3.0更好,而是只能用usb3.0,包括電腦接口,虛擬機設(shè)置,和使用的USB轉(zhuǎn)接線。否則,電腦是無法正常發(fā)現(xiàn)設(shè)備的。如果確實是用虛擬機的話,分配的資源不要太吝嗇,CPU內(nèi)核和內(nèi)存,尤其是前者不妨多給一點,SDR某些計算的時候還是比較耗費CPU的。

然后就可以開始換進安裝之旅啦。目前網(wǎng)上其他limesdr的各種linux環(huán)境搭建方法,包括代理商提供的,大都過時,或者有問題,也有因為墻的原因,很難安裝成功,即便勉強能跑通,也容易出一些奇奇怪怪的問題,又或者會安裝上一堆沒用的其他軟件,再就是gunradio安裝的是3.7版本的。當然gnuradio似乎也已經(jīng)出到了3.9版本,但是limesdr的插件暫時還沒跟上,后續(xù)出來了,按照我同樣的思路,也應(yīng)該很容易修改。

我的安裝思路很簡單,全部編譯安裝。

0,安裝limesdr提供的linux驅(qū)動和測試軟件——LimeSuite.

1,安裝gnuradio 3.8版本。

2,安裝gnuradio 3.8版的limesdr插件——grlime 3.8版。

這個目前還沒有出到3.9版本,所以這是限制我們暫時還不能用gnuradio3.9版本的唯一原因。

如果你還沒有一個比較清楚地認識,請讀Eric Blossom的Exploring GNU Radio,這是一個對于軟件無線電的一個簡短介紹。Eric是整個gnuradio工程的創(chuàng)建人。請確保你對ADC怎么工作以及為什么需要射頻前端有一定的理解,回顧一下在信號與系統(tǒng)課程中學(xué)習(xí)的抽樣定理,然后閱讀一下這兩篇文章:“The Universal Software Radio Peripheral”和“What Goes in the FPGA”。這篇文章提供了兩個例子:撥號輸出和FM接收機。你應(yīng)該做到至少理解其中的一個。不能理解FM接收機?不用擔心,看第二篇文章,Eric Blossom的 Listen to FM Radio in Software, Step by Step。并非要把每行代碼都讀懂,但你需要清楚信號是怎么從空氣中傳到聲卡的。

尋找任何與gnuradio相關(guān)問題的答案都應(yīng)該從 GNU Radio Wiki開始, Gnuradio協(xié)會在提供援助方面也表現(xiàn)的相當慷慨,它通過mailing list提供幫助。However, before posting a question that is stumping you, do an exhaustive search of the list's archive to make sure that it has not already been addressed. 然而,在你發(fā)表困擾你的問題之前,最好先仔細在郵件列表里搜索一番,確保你的問題沒有被處理過,閱讀一下發(fā)送郵件的參考以確保提供有用的信息,這對于別人解答你的問題也會有幫助。Gnuradio是軟件定義無線電的支柱,射頻前端是另外的東西。典型的,Ettus Research的USRP正是出于此目的。

§ Ettus Research - USRP的制造商。在這里您可以訂購USRP及配件。

§ USRP - Frequently Asked Questions - 概述USRP和常見問題列表。

你不必擁有USRP(或任何射頻前端)使用GNU Radio,但實際的實驗需要一個前端。

2、為gnuradio編寫程序

要充分利用gnuradio,你應(yīng)該會自己編寫代碼。在“Exploring GNU Radio'”中,你知道里gnuradio的軟件結(jié)構(gòu)包含兩層:所有的信號處理模塊是用C++編寫的,python用來創(chuàng)建網(wǎng)絡(luò)或流圖并且負責把信號處理模塊粘到一起。在這種方案中,python相當于一種較高層的語言。Gnuradio已經(jīng)提供了許多有用的經(jīng)常使用的模塊,所以很多情況下,你不需要用到C++。使用python在應(yīng)用層開發(fā)是高效的,接下來的教程python在gnuradio應(yīng)用中的使用。然而,要完成更復(fù)雜的任務(wù)你必須要使用C++來建立自己的模塊,這種情況下,Eric Blossom的How to write a block 正是你所需要的,在后續(xù)的教程中我們會將這些內(nèi)容。

你可能想要知道gnuradio中實現(xiàn)了哪些模塊,不幸的是,不幸的是,GNUradio很多地方還沒有很好的文檔記錄,但你仍然使用Doxygen生成有兩個非常有用的資源。安裝gnuradio-core和usrp模塊之后,您可以找到兩個html包位于

/usr/local/share/doc/gnuradio-core-x.xcvs/html/index.html

/usr/local/share/doc/usrp-x.xcvs/html/index.html

我已經(jīng)在我的瀏覽器中添加了書簽。雖然他們不夠清晰,他們可以提供你很多信息。GNUradio Doxygen生成的文檔也可以在線here。如果你還沒有機會使用Python,請學(xué)習(xí)Python在線教程。

聲明:該篇文章為本站原創(chuàng),未經(jīng)授權(quán)不予轉(zhuǎn)載,侵權(quán)必究。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉