GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析

在使用GNU Radio来做的一些接收程序中,最具代表性的一个就是频谱分析仪程序。这个程序可以用来验证你的设备是否可以正常工作。

需要具备的基础知识:

GNU Radio系列教程(二):初级篇之GNU Radio介绍

GNU Radio系列教程(三):初级篇之GNU Radio GRC流图

GNU Radio系列教程(四):初级篇之GNU Radio GRC采样率

目录

一、我需要做什么?

二、搭建一个频谱分析仪的简易流图程序

三、调节QT GUI Sink模块中的参数观察信号变化情况

四、不同设备的FM接收机实例

五、有用链接和联系方式


一、我需要做什么?

目前市面上有多种软件无线电开发板(或者也可以称为平台,更高大上一些),例如USRP系列、HackRF One、RTL-SDR、LimeSDR、BladeRF(目前最新版本2.0叫xA4和xA9,之前的第一代有x40)、PlutoSDR等等。这些软件无线电开发板价格不等,性能不等。具体可以参见下表。你需要做的就是根据你的需求,根据这里的硬件参数,来选择一款适合你的开发板。

  XTRX CS XTRX Pro USRP B2x0 bladeRF bladeRF Micro 2.0 LimeSDR LimeSDR Mini RTL-SDR R820T2 RTL-SDR E4000 ADALM-Pluto New Horizons Hack RF One
Tuning range 30 MHz - 3.7 GHz 30 MHz - 3.7 GHz 70 MHz - 6 GHz 300 MHz - 3.8 GHz 47 Mhz - 6 Ghz 30 MHz - 3.8 GHz 10 MHz - 3.5 GHz 22 MHz - 2.2 GHz 65 MHz - 2300 MHz, gap@1100 MHz 325 MHz - 3800 MHz 70 MHz - 6 GHz 1 MHz - 6000 MHz
Duplex Full MIMO Full MIMO Full MIMO Full SISO Full MIMO Full MIMO Full SISO RX only Rx only Full SISO Full MIMI SISO Half Duplex
ADC/DAC resolution 12-bit 12-bit 12-bit 12-bit 12-bit 12-bit 12-bit 8-bit 8-bit 12-bit 12-bit 8-bit
Max RF bandwidth 120 MHz 120 MHz 56 MHz 28 MHz 56 Mhz 61.44 MHz 30.72 MHz 3.2 Mhz   20 MHz *limited by USB 2.0 and software to ~4Mhz 56 MHz / CH  
Rx Noise Figure dB                   <3.5    
Channels 2 2 1 (2 for B210) 1 2 2 1 1 Rx only 1 Rx only 1 2 1 Half Duplex
Transmit power 0 to 10dBm 0 to 10dBm 10dBm+ 6dBm 8dBm 0 to 10dBm 0 to 10dBm none none 7 dBm 9.7 0 - 15 dBm freq dependent
RF chipset LMS7002M LMS7002M AD9364 or AD9361 LMS6002M AD9361 LMS7002M LMS7002M R820T2 E4000 AD9363 AD9361 MAX 2837/Max5864
FPGA Xilinx Artix7 35T Xilinx Artix7 50T Xilinx XC6SLX75 Altera 40KLE/115KLE Intel Cyclone V Altera 40KLE Altera MAX 10 none None Xilinx Zynq 7000 Zync-7020 XC2C64A-7VQ100C CPLD
FPGA Gates, DSP slices 33k, 90 DSP 52k, 120 DPS 75k, 132 DSP 40K, 58 DSP opt 115k 49-301k, 66-342DSP 40K, 58 DSP 16k, 45 mult 0, 0 0, 0 28k 85k 64 Macro cell
Industrial temperature range no yes no Optional Optional no no no no 10-40C    
Temperature sensors yes yes no no yes yes no no No      
Frequency stability ±0.5 w/o <±0.01 ppm w/GPS ±0.1 w/o <±0.01 ppm w/GPS ±2 ppm ±1 ppm ±2.5 ppm ±2.5 ppm ±2.5 ppm ±0.5-25 ppm options ±0.5-25 ppm options ± 25 ppm ± 15 ppm  
TCXO         VCTCXO   VCTCXO Optional Optional   VCTCXO 40MHZ (W/16bit DAC 0.2PPM max) opt. 0.5ppm TXCO
GPS synchronization on board on board Addon (+$636) no no no no no no No optional expansion No
Bus/interface PCIe, opt USB 3 adapter $85 PCIe, opt USB 3 adapter $85 USB 3 USB 3 USB 3 USB 3 USB 3 USB 2 USB 2 USB 2.0 OTG USB 2.0+ETH USB 2.0 HS
CPU/Bus Interface         Cypress FX3 CY3014   RTL2832U RTL2832U Dual A9,667MHz,   LPC4320
Raw bus bandwidth 10 Gbit/s 10 Gbit/s 5 Gbit/s 5 Gbit/s 5 Gbit/sec 5 Gbit/s 5 Gbit/s 480 Mbit/s 480 Mbit/s 480 Mbits/s 480 MBit/s 1000 MB/s (ETH) 480 MBit/s
Dimensions 30 × 51 mm 30 × 51 mm 97 x 155 mm 87 x 131 mm 63 x 102 mm 100 x 60 mm 69 x 31.4 mm 40 x 60 mm typical 40 x 60 mm typical 117 x 79 mm 75mm*102mm  
Extra features GPIO, GPS, SIM card GPIO, GPS, SIM card GPIO GPIO   GPIO GPIO SMA optional SMA optional   optional LCD, GPS GPIO, RTC, opt case LCD
Clock Sync Yes Yes Yes Yes Yes, In/Out, Ref Yes, In/Out Yes, In No No   connector In/Out
Time stamp Sync Yes Yes Yes Yes Yes No No No No      
Bias T No No No Yes Optional No No Optional Optional     No
ANT/CLK Connectors         2Rx/2Tx + 3CLK U.FL 6 Rx/4Tx+2CLK U.FL 2 SMA, 1 U.FL Clk Chip optional SMA Chip optional SMA SMA x 2 4 SMA (1 SMA opt GPS) 1 ANT + 2 CLK SMA
Price - typical US$ $260 $490 $686 - $1,119 2 CH clones ~$715 $415 $480-$720 $299 $139 $10 - $40 $10 - $40 $249 $642+$220 expansion $300 official, down to ~$90 PCBA clones

二、搭建一个频谱分析仪的简易流图程序

在以下的例子中,我们使用了USRP B系列设备(B200/B210/B200mini/B205mini等,支持的频段为70MHz-6GHz,最大采样率为56MHz),因此流图程序中使用了UHD:USRP Source模块来接收无线信号。为了正常使用UHD模块,你需要确保你电脑中正确安装了UHD程序。具体的安装方法可以参见,

https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux

按照下图,搭建流图程序这里用的是GRCv3.8)。

GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析_第1张图片

其中UHD:USRP Source模块中的参数设置如下:

GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析_第2张图片GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析_第3张图片

我们需要把UHD:USRP Source模块中的“RF Options”栏中的“Ch0 AGC”(即自动增益控制)设置为“Disable”,这是因为,我们平时接收信号时,环境中在指定的频段上是无有用信号的,如果我们开启了AGC自动增益控制选项的话,则会导致设备自动调节增益,我们无法辨识是否有信号存在。只有当你明确知道在某个指定频段上,确实有信号时,你才需要通过开始AGC自动增益控制功能来提高接收信号的质量。

三、调节QT GUI Sink模块中的参数观察信号变化情况

设置“QT GUI Sink”模块中的以下参数:

(1)Center Frequency (Hz): 可以通过界面中的“Frequency”滑动按钮来调节接收频率值。

(2)Bandwidth (Hz): samp_rate,采样率,可以通过界面中的“Sample Rate”滑动按钮来调节采样值。

(3)Show RF Freq: Yes,

在信号波形显示界面中,你可以调节信号接收频率和采样率的数值。如果你勾选了“Display RF Frequency”的话,则在“Frequency Display”和“Waterfall Display”选项卡中,会显示实际的信号接收频率。具体对比如下几个图形。

未勾选“Display RF Frequency”时,

GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析_第4张图片

GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析_第5张图片

勾选“Display RF Frequency”时,

GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析_第6张图片

GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析_第7张图片

记住一点,从USRP设备传输给电脑的IQ数据已经是基带信号了,也就是中心频率是0Hz,因为这个信号是在通过设备下变频处理之前已经进行了AD转换的基带信号。该示例中使用的GRC是v3.8版本,相对于v3.7版本来说,有一定的更新。其中,“QT GUI Sink”模块的“Freq”与“UHD:USRP Source”模块的“command”相连,这样之后,你可以通过在“Frequency Display”和“Waterfall Display”选项卡的信号显示区域中,通过双击某个频率来调节USRP的实际接收频率,就类似于你在Gqrx软件或者SDRsharp软件中,你通过鼠标来调节设备的实际接收频率一样。并且,在你双击某个频率之前,你的鼠标放在某个频率处,界面上就会显示出来当前的频率值。

你可以通过调节采样率来调整接收信号界面的频谱宽度,也就是红框中的频率范围。例如当前采样率是3.84MHz,那么这个红框中的频率范围就是3.84MHz。这个红框中的频率范围是与采样率相等的。

GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析_第8张图片

在使用GNU Radio GRC的时候,经常会碰到下图中的“工作空间”栏这里,连续出现U、O、 aU或者aO的情况。

GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析_第9张图片

输 出 O U u a 的意义当运行 gnu radio 程序时,会有时看见 O U u a 字符出现在屏幕上。这一般当数据从 USRP 到 PC 机数据输到硬件的时候PC数据速率跟不上。

输 出 "O" "U" "u" "a" 的意义

当运行 gnu radio 程序时,会有时看见 "O" "U" "u" "a" 字符出现在屏幕上。这一般当数据从 USRP 到 PC 机数据传输停止或什么事情发生时会出现。

(1)"u" = USRP

(2)"a" = audio (声卡)

(3)"O" = overrun (PC 无法同步地接受来自 USRP 或 声卡的数据 - PC not keeping up with received data from usrp or audio card)

(4)"U" = underrun(PC 无法快速的提供数据 - PC not providing data quickly enough)

(5)aUaU == audio underrun (PC 无法快速地给“漏”- 声卡提供数据 - not enough samples ready to send to sound                           card sink)

(6)uUuU == USRP underrun (PC 无法快速地给“漏”- USRP提供数据 - not enough sample ready to send to USRP                          sink)

(7)uOuO == USRP overrun (USRP 采样掉链源于它没有及时准备到位 - USRP samples dropped because they weren't read in time)

四、不同设备的FM接收机实例

USRP FM Receiver

PlutoSDR FM Receiver

FunCubePro+ FM Receiver

RTL-SDR FM Receiver

对于声音相关的处理,可以参见Audio_Sink模块。

五、有用链接和联系方式

https://wiki.gnuradio.org/index.php/Guided_Tutorial_Hardware_Considerations

淘宝店铺、QQ技术交流群、CSDN联系方式如下:

微信公众号二维码:

GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析_第10张图片

 

你可能感兴趣的:(GNU,Radio)