ADALM Pluto-SDR 初步试用

近期,有学生向我推荐 ADALM Pluto-SDR软件无线电入门套件,经过零星了解与动手实验,感觉确实不错!网购价格就1000大洋出头,性价比很高,特记录如下。

1 PlutoSDR 简介

ADALM Pluto SDR 是一款基于AD9363的软件定义无线电产品。尽管官网上说主要是为了大学生“主动学习”而开发的实验产品(非生产环境),但实际能力上却远非如此。

1.1 Pluto SDR 基本性能

ADALM-Pluto
下图是官网的性能表。需要注意的事情提前说明:
(1)据本人根据多个论坛的帖子测试,AD9363实际上与AD9364兼容很好,经过简单修改配置,即可支持70MHz-6GHz的频段,这样就覆盖到了调频电台啦。修改方法,Putty连接串口,在串口打印的界面输入以下设定:

#fw_setenv attr_name compatible
#fw_setenv attr_val "ad9364"
#pluto_reboot reset

重启后,就立马开挂了!详细设置见《灵活构建复杂的RF场景——ADI ADALM-PLUTO SDR主动学习模块评测拆解

2)官方声称的61.44Msps采样率是瞬时采样率。USB2.0接口最大理论速率也就50-60MBps,实际一般也就30MBps。实测Windows下,如果同时使用USB无线网卡、无线键鼠等外设,IQ基带样点双工超过2.5Msps就不连续了,单工也较难超过10MSps,再往上,变成断续的突发啦。所谓61.44Msps采样率,只能以突发的形式短促的“来一发”,没有太大的实用价值。

PS,61.44的瞬时采样率,也只能在上述开挂后才能应用。
主要性能
综上,对于大学阶段学习和一般的窄带应用,基带IQ复信号2.5M的采样率,意味着2.5MHz的覆盖带宽(比实信号的奈奎斯特恰好多一倍),加上70M-6G的频段,还是够用的。

1.2 安装中注意的问题

PlutoSDR的安装很简单。
无论在Windows还是Linux下,开箱后,插入USB口,都会识别为1个U盘。此时,U盘内有一个info.html文件,打开后,就会有驱动的下载链接、版本更新提示等等。
info
在Windows、Linux下,该平台都表现出高度的一致性。不过经过测试,不建议在虚拟机环境下使用。测试的方法是下文中的调频广播转发声音连贯性。

系统配置最大稳定连续双工吞吐速率
windows 72.5Msps
windows 102.5Msps
Linux AMD642.5Msps
Oracle Virtual Box 虚拟机(win10+win7)<2Msps,双工受限

此外,如果在使用Pluto,建议不要使用USB的网卡、USB的摄像头。这些东西会争夺USB的带宽。使用性能较好的计算机,应该还能够更快一点,不过限于USB2.0的带宽,提升不会太大。笔者的廉价上网本在开启USB摄像头后,FM电台声音断续。

2 为taskBus添加Pluto SDR支持

Pluto SDR支持Matlab、GNU-Radio等高阶的开发环境,但我们本次采用自己的“兔巴士”实验平台taskBus来进行首次实验。根据Pluto SDR的官方要求,若完全控制该设备,软件层面要通过C接口libiio来操作它。
关于taskBus的原理,参考我的博文

Pluto SDR在接入主机后,会生成一张网卡,速率为492kbps,ip 192.168.2.1, 可通过 ip:192.168.2.1来访问。虽然USB也可以访问,但笔者发现在不同机器上,USB的地址字都不同,这一点没有网卡方便。

2.1 libiio介绍

libiio是用于操作SDR的库,其主要结构如下:
libiio
粗略的使用了这个库,初步感觉(不一定对,随着认识深入可能变化)作为一个SDR的库而言,实时性编程的门槛比较高。尤其是想构造类似TDMA的教学应用,可能要费不少劲。要同步收发的时标,可能需要修改FPGA的逻辑。在Pluto的服务端,也就是片上SoC上使用local方式访问,速率应该可以非常快。但其提供的SoC性能不是很好。

2.2 构造信号源和宿

由于taskBus是直接基于stdin、stdout交换数据的,我们通过官方的例子代码
ad9361-iiostream.c
稍加改造,即形成了用于接收信号的源(Source)发射信号的宿(Sink)

我们利用这两个模块,可以直接把某个调频电台搬移到新的频率,从而利用调频电台声音的连贯性,来测试当前环境USB2.0的最大吞吐速率。

FM Carry
(1)可以逐步提高采样率,直到收音机接收到的节目断续为止,以得到当前系统支持的最大双工收发速率(2.5Msps)。
(2)可以使用文件宿(sink_filebin)保存节目,以测试单工的最大采样率(不大于10Msps,一般小于5Msps)。
再次强调,这里的采样率都是IQ复信号采样率,直接等效为带宽了,比实信号的奈奎斯特限大了一倍。

2.3 使用简单的调频模块播放音乐

我们简单的构造调频信号,通过声卡播放音乐或者语音。调频信号即是把声音的瞬时幅度变成瞬时频率偏差(或者积分后的相位)。由于Pluto SDR输入的是基带IQ路复信号,所以连载波激励都省了,直接对声卡得到的瞬时幅度重采样、取cos、sin即可弄出声音来。为了简单,上采样采用了线性插值,48000声卡采样率下,破音较多;在192K声卡采样率下,音质还可以。实际的采样率变换,必须按部就班使用信号处理方法

FM

暴力简单调频的IQ激励taskBus模块参考这里。上述例子中,使用Pluto发射声音,并接收自己的信号作为监视之用。

2.4 传输距离

经过播放测试,在使用FM天线时、无遮挡的情况下,设置衰减为0,FM模拟信号最大传输距离约200米。若某宝购买功放,估计可达上千米。但是考虑到无线电管理的相关法律,建议大家不要上功放。下图是距离测试中使用的调频频段天线。
实际测试使用的天下

后记

与USRP等高端平台不同,Pluto-SDR是一种低成本的全双工SDR平台。与HackRF相比,双工有优势;与Blade、USRP相比,价格有优势。当然,一分价钱一分货,全双工状态下,只能稳定支持2.5Msps的采样率是一大遗憾(USRP等都换了USB3了),但作为一个入门级别的SDR学习机来说,1000大洋的性价比还是很高的。

  • 7
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丁劲犇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值