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 CSXTRX ProUSRP B2x0bladeRFbladeRF Micro 2.0LimeSDRLimeSDR MiniRTL-SDR R820T2RTL-SDR E4000ADALM-PlutoNew HorizonsHack RF One
Tuning range30 MHz - 3.7 GHz30 MHz - 3.7 GHz70 MHz - 6 GHz300 MHz - 3.8 GHz47 Mhz - 6 Ghz30 MHz - 3.8 GHz10 MHz - 3.5 GHz22 MHz - 2.2 GHz65 MHz - 2300 MHz, gap@1100 MHz325 MHz - 3800 MHz70 MHz - 6 GHz1 MHz - 6000 MHz
DuplexFull MIMOFull MIMOFull MIMOFull SISOFull MIMOFull MIMOFull SISORX onlyRx onlyFull SISOFull MIMISISO Half Duplex
ADC/DAC resolution12-bit12-bit12-bit12-bit12-bit12-bit12-bit8-bit8-bit12-bit12-bit8-bit
Max RF bandwidth120 MHz120 MHz56 MHz28 MHz56 Mhz61.44 MHz30.72 MHz3.2 Mhz20 MHz *limited by USB 2.0 and software to ~4Mhz56 MHz / CH
Rx Noise Figure dB<3.5
Channels221 (2 for B210)12211 Rx only1 Rx only121 Half Duplex
Transmit power0 to 10dBm0 to 10dBm10dBm+6dBm8dBm0 to 10dBm0 to 10dBmnonenone7 dBm9.70 - 15 dBm freq dependent
RF chipsetLMS7002MLMS7002MAD9364 or AD9361LMS6002MAD9361LMS7002MLMS7002MR820T2E4000AD9363AD9361MAX 2837/Max5864
FPGAXilinx Artix7 35TXilinx Artix7 50TXilinx XC6SLX75Altera 40KLE/115KLEIntel Cyclone VAltera 40KLEAltera MAX 10noneNoneXilinx Zynq 7000Zync-7020XC2C64A-7VQ100C CPLD
FPGA Gates, DSP slices33k, 90 DSP52k, 120 DPS75k, 132 DSP40K, 58 DSP opt 115k49-301k, 66-342DSP40K, 58 DSP16k, 45 mult0, 00, 028k85k64 Macro cell
Industrial temperature rangenoyesnoOptionalOptionalnononono10-40C
Temperature sensorsyesyesnonoyesyesnonoNo
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
TCXOVCTCXOVCTCXOOptionalOptionalVCTCXO 40MHZ (W/16bit DAC 0.2PPM max)opt. 0.5ppm TXCO
GPS synchronizationon boardon boardAddon (+$636)nonononononoNooptional expansionNo
Bus/interfacePCIe, opt USB 3 adapter $85PCIe, opt USB 3 adapter $85USB 3USB 3USB 3USB 3USB 3USB 2USB 2USB 2.0 OTGUSB 2.0+ETHUSB 2.0 HS
CPU/Bus InterfaceCypress FX3CY3014RTL2832URTL2832UDual A9,667MHz,LPC4320
Raw bus bandwidth10 Gbit/s10 Gbit/s5 Gbit/s5 Gbit/s5 Gbit/sec5 Gbit/s5 Gbit/s480 Mbit/s480 Mbit/s480 Mbits/s480 MBit/s 1000 MB/s (ETH)480 MBit/s
Dimensions30 × 51 mm30 × 51 mm97 x 155 mm87 x 131 mm63 x 102 mm100 x 60 mm69 x 31.4 mm40 x 60 mm typical40 x 60 mm typical117 x 79 mm75mm*102mm
Extra featuresGPIO, GPS, SIM cardGPIO, GPS, SIM cardGPIOGPIOGPIOGPIOSMA optionalSMA optionaloptional LCD, GPSGPIO, RTC, opt case LCD
Clock SyncYesYesYesYesYes, In/Out, RefYes, In/OutYes, InNoNoconnectorIn/Out
Time stamp SyncYesYesYesYesYesNoNoNoNo
Bias TNoNoNoYesOptionalNoNoOptionalOptionalNo
ANT/CLK Connectors2Rx/2Tx + 3CLK U.FL6 Rx/4Tx+2CLK U.FL2 SMA, 1 U.FL ClkChip optional SMAChip optional SMASMA x 24 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程序。具体的安装方法可以参见,

Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on Linux - Ettus Knowledge Base

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

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

我们需要把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”时,

勾选“Display RF Frequency”时,

记住一点,从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 GRC的时候,经常会碰到下图中的“工作空间”栏这里,连续出现U、O、 aU或者aO的情况。

输 出 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模块。

五、有用链接

Guided Tutorial Hardware Considerations - GNU Radio

  • 10
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
GNU Radio系列教程是一系列关于GNU Radio软件的教学材料。这些教程提供了有关如何使用GNU Radio进行信号处理和通信系统开发的详细指导。 其中,是关于GNU Radio Companion (GRC)的引导教程GRCGNU Radio的图形化开发环境,它允许用户通过拖放模块来创建信号处理流程图。 是关于PSK解调的引导教程。PSK是相位偏移键控的一种调制方式,该教程详细介绍了如何使用GNU Radio进行PSK解调的过程。 是关于多相时钟同步的教程。在数字通信系统中,时钟同步对于正确解调和还原信号至关重要。该教程介绍了如何使用GNU Radio进行多相时钟同步。 通过学习这些教程,您将能够掌握GNU Radio的基本概念和功能,并且能够使用它进行信号处理和通信系统开发。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [GNU Radio系列教程(三):初级GNU Radio GRC流图](https://blog.csdn.net/OpenSourceSDR/article/details/108295236)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [GNU Radio系列教程(七):初级GNU Radio GRC PSK调制解调](https://blog.csdn.net/OpenSourceSDR/article/details/108531628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值