GNU Radio(開源軟件無線電)是一個對學習,構建和部署軟件定義無線電系統(tǒng)的免費軟件工具包。發(fā)起于2001年,Gnuradio1 現(xiàn)在成為 GNU 的正式項目之一。慈善家 John Gilmore 發(fā)起并捐助 $320,000.00 (US) 給 Eric Blossom 用來構建代碼和維護。GNU Radio遵循 GNU 的 GPL的條款分發(fā),它的目的是給普通的軟件編制者提供探索電磁波的機會,并激發(fā)他們聰明的利用射頻電波的能力。
GNU Radio 提供信號運行和處理模塊,用它可以在易制作的低成本的射頻(RF)硬件和通用微處理器上實現(xiàn)軟件定義無線電。這套套件廣泛用于業(yè)余愛好者,學術機構和商業(yè)機構用來研究和構建無線通信系統(tǒng)。
GNU Radio應用主要是用 Python 編程語言來編寫的。但是其核心信號處理模塊是C++在帶浮點運算的微處理器上構建的。因此,開發(fā)者能夠簡單快速的構建一個實時、高容量的無線通信系統(tǒng)。
正如所有軟件定義無線電系統(tǒng)的定義, 可重構性是其最重要的功能。再也不需購買一大堆發(fā)射接收設備,只要一臺可以裝載信號處理軟件(這里:GNU Radio)通用的設備。目前它雖然只定義幾個有限的無線電功能,但是只要理解無線發(fā)射系統(tǒng)的機理(算法),你便可以任意的配置去接受它。
GNU Radio起源于美國的麻省理工學院的 SpectrumWare 項目小組開發(fā)的 Pspectra 代碼的分支。2004年被完全重寫。所以今天的 GNU Radio 已不包含原 Pspectra 任何代碼。另外值得一提的是 Pspectra 已被用作創(chuàng)立商業(yè)化的 Vanu Software Radio.
GNU Radio開發(fā)了通用軟件無線電外設(USRP和USRP2),它是一個包含4個64 MS/s 的12位 ADC,4 個 128 MS/s 的 14 位的 DAC,以及其它支持線路包括高速的 USB 2.0 接口。該USRP能夠處理的信號頻率高達16 MHz寬。一些發(fā)射器和接收器的插件子板,可覆蓋0至5.9MHz 頻段。 它是Ettus公司研發(fā)的。