對 GNU Radio 進行 Octave 分析
Octave 是 GNU Radio 的最流行的分析工具,鑒於此 GNU Radio 軟件包也包含它自身的一組腳本( scripts )用於讀取和語法分析輸出。
安裝- Installing
可以從源碼( source)來安裝 Octave,或者在 Ubuntu 內使用如下命令:
以便 GNU Radio 的 Octave 腳本能夠被直接使用,必須在 Octave 的路徑變量中添加 GNU Radio 的路徑。 這通過操作 Octave 的配置文件 ~/.octaverc 很容易被做到。查看清楚 GNU Radio 的路徑 /home/username/gnuradio/。然後把如下內容添加到 ~/.octaverc:
數據的語法分析 - Parsing Data
從語法上分析 GNU Radio 的數據輸出,最便捷的方法便是使用 GNU Radio 提供的腳本。如上安裝指導所示,確保把 GNU Radio 的腳本的路徑已經添加到 Octave 的路徑中。這便可幫助讀取那些被使用
gr.file_sink (大小、文件名) 頃倒到磁盤的數據。
下麵的方法函數是基於參數 size 的用在 gr.file_sink() 內的,它把文件名作為第一個參數、第二個參數是可選項,它表示了從文件中要讀取的數量。
- read_complex_binary(): gr.sizeof_gr_complex
- read_float_binary(): gr.sizeof_float
- read_int_binary(): gr.sizeof_int
- read_short_binary(): gr.sizeof_short
- read_char_binary(): gr.sizeof_char
比如:在 Python 腳本中,使用
gr.file_sink(gr.sizeof_gr_complex, "capture.dat")
獲取了 64 位的複合數據如下:
從 USRP 直接能獲取的數據是以 32 位複合數據形式存儲的,而不是 64 位複合型 (gr.sizeof_gr_complex)。為了能讀取此數據,首先,使用 read_short_binary() 然後將其分離進入 - a two dimensional vector 如下:
c=split_vect(d,2);
圖形繪製 - Plotting
使用 Octave 來繪製數據,最簡便的方法是使用
gnuplot。可以從源碼(source)來安裝或者在
Ubuntu 上鍵入如下命令:
在時間軸上的 I 和 Q,可如下分別地繪製各個元素:
如下可生成一個 I/Q 曲線(x 表示 I ,y 表示 Q):
最後更新:2017-04-03 12:54:00