三款SDR平台对比:HackRF,bladeRF和USRP
这篇文章是Taylor Killian今年8月发表在自己的博客上的。他对比了三款平价的SDR平台,认为这三款产品将是未来一年中最受欢迎的SDR平台。我觉得这篇文章很有参考价值,简单翻译一份转过来。
原文在这里:
http://www.taylorkillian.com/2013/08/sdr-showdown-hackrf-vs-bladerf-vs-usrp.html
翻起来才发现,太长了。觉得这么长就没必要翻译了,不符合快速阅读的习惯,深度阅读的人显然应该直接看原文。但是既然开了个头,就翻完吧。
以下是原文翻译:
今年或者明年看起来是SDR的黄金年代。将有三款新的SDR平台面世,用户可以有很多选择。这篇文章将比较这三款SDR平台:Great Scott Gadgets生产的HackRF, nuand生产的bladeRF, 和Ettus生产的USRP (B200/210)。
HackRF是Michael Ossmann开发的,他还开发过Ubertooth,这是第一款也是唯一款低价的蓝牙嗅探器(Bluetooth sniffer)。HackRF已经开发了好几个月了。Michael已经免费发放了500块HackRF的Beta版本给世界各地的黑客们。现在他正在开发正式版,并且正在众筹网站Kickstarter上销售。这将是市场上最便宜的一款SDR平台,而且它可以工作在很宽的频率范围。
bladeRF也是在Kickstarter上成功建立的项目,而且产品都已经交付给用户了。bladeRF可以支持很宽的载频范围,带有一个大容量的FPGA,还有高速的USB3接口。开发者在时钟模块上花了不少钱,提供了VCTCXO,可以把精度校准到50 ppb。所有的模块都设计成同步的,因此没有ClockTamer。这款硬件现在可以在nuand网站上购买。
Specs
x40
|
x115
|
B100 Starter
|
B200
|
B210
|
||
Radio Spectrum
|
30 MHz – 6 GHz
|
300 MHz – 3.8 GHz
|
50 MHz –
2.2 GHz [1]
|
50MHz –
6 GHz
|
||
Bandwidth
|
20 MHz
|
28 MHz
|
16 MHz [2]
|
61.44 MHz [3]
|
||
Duplex
|
Half
|
Full
|
Full
|
Full
|
2x2 MIMO
|
|
Sample Size (ADC/DAC)
|
8 bit
|
12 bit
|
12 bit /
14 bit
|
12 bit
|
||
Sample Rate (ADC/DAC)
|
20 Msps
|
40 Msps
|
64 Msps /
128 Msps
|
61.44 Msps
|
||
Interface (Speed)
|
USB 2 HS
(480 megabit)
|
USB 3 (5 gigabit)
|
USB 2 HS
(480 megabit)
|
USB 3
(5 gigabit)
|
||
FPGA Logic Elements
|
[4]
|
|||||
Microcontroller
|
||||||
Open Source
|
Host Code [5]
|
|||||
Availability
|
January 2014
|
Now
|
Now
|
Now
|
||
Cost
|
$300 [6]
|
射频性能
HackRF和USRP B210的射频范围很宽。HackRF比B200/210还低20MHz,最高载频都可以达到6GHz。B210/200主要基于AD9361芯片。这块芯片其实是工作在70MHz~6GHz的,因此看起来B210/200稍微超出了一点使用范围,降低到50MHz。HackRF则采用了另一种方案,它使用了多个不同的射频芯片来支持宽频段。如果你看看它的原理图,就会发现它混合了几块芯片,每块芯片负责一段频谱,至少有6个频段切换开关。希望这么多的器件没有给系统引入太多噪声。
另外,HackRF捆绑了一个上变频器“Ham It Up”,如果通过Kickstarter把两个东西打包购买的话,只要添$35就可以了。这个板卡可以使HackRF的载频降低到300KHz。也可以单独购买这个“Ham It Up”,大约$43。我觉得USRP B210/200和WBX也可以使用这个“Ham It Up”。
BladeRF可以支持300MHz到3.8GHz,它使用的芯片是LMS6002D。这款芯片提供了绝大部分射频功能,包含所有的混频器,ADC,DAC和其他一些功能。这款芯片与AD9361是类似的。不过,它最高只能支持3.8GHz。这意味着,不可能用bladeRF来实现5GHz频段的802.11n。现在,bladeRF有计划要发布一块扩展板卡,允许载频降低到10MHz,不过这个计划仍然在进行当中,还没有做出来。
值得注意的是,HackRF不同于其他两款硬件,它不支持全双工。这意味着要切换收和发的话,必须每次给控制器发送命令。微控制器处理切换可能要花费微秒级的时间。如果要算上信号到达计算机的时间,切换时间会更长。
bladeRF和USRP B210/200都可以支持全双工。USRP B100也支持全双工。有一些比较老的子板在B100上使用的时候,不支持全双工。但大部分的子板都可以支持。
需要注意的是,如果同时进行接收和发送。发射机可能会对接收机产生一些噪声,因为毕竟发射机距离接收机很近。
与主机的通信
对SDR而言,与主机的通信方式是非常重要的,因为它决定了信号的带宽和可靠性。
USRP B100和HackRF都使用USB2.0接口。这决定了最高的数据传输速率是35MB/s。然而,由于我们常常会在多个USB接口上插入其他设备,他们是共享带宽的,因此实际的数据速率比这更低。
USRP B210/200和bladeRF使用USB3.0接口。它可以支持400MB/s的传输速率。这对于大部分SDR应用来说,带宽已经足够了。与USB2.0类似,多个USB接口会共享带宽。
经过我的测试,USRP B210与我的ASMedia控制器连接还是有问题的。它只能工作在USB2。实际上在我收到B210之前,Ettus的工程师就提醒过我,ASMedia USB3芯片不完全符合USB3标准。最后,我买了一个PCIe USB3接口卡,它用的是VL805芯片,价格大约$20,现在我可以正常工作在USB3模式了。鉴于bladeRF也用的是FX3芯片,所以我想它可能也跟ASMedia不匹配。
ADC/DAC
ADC和DAC的量化精度非常重要,增加一个bit就可以使精度加倍。因此,使用14-bit DAC的USRP B100比使用8-bit DAC的HackRF精度要好64倍。虽然说,一个便宜的8-bit精度的RTL-SDR就可以接收NOAA的气象卫星图像,但是更高的精度显然更有用。当然更好的天线和增益设置也会大有帮助。
另一个指标是ADC和DAC的转换速度。更高的采样率需要更大的处理带宽。许多老的通信系统可以使用非常低速的ADC或DAC,但比较新的通信系统,例如WiFi a/b/g,需要至少20MSps的ADC/DAC。在这三款硬件中,只有USRP B210/B200能够处理40MHz的802.11n信号。不过,即使USRP能够处理,计算机是否能够处理如此高速的数据,仍然是个巨大的挑战。实际上,即使仅仅想把这样高速的数据储存下来,都是一件麻烦事。
把所有的基带数据传到计算机,这是所有SDR硬件最主要的瓶颈,因为数据量实在太大。对使用USB2.0的USRP B100和HackRF来说,这一瓶颈非常明显。而其他使用USB3.0的硬件,这一瓶颈就相对宽松一点。虽然bladeRF也使用USB3.0接口,但它不能达到与USRP B210/B200一样的采样带宽。因为bladeRF使用了LMS6002D中的带通滤波器。在bladeRF的论坛中,有讨论如何关闭这一滤波器,这样就可以使用外部的滤波器,从而增加采样带宽。关于USRP B210/B200,它的滤波器可以允许带宽高达56MHz的信号通过。
FPGA
如何使用这些基带信号呢?要么传到计算机上处理,要么在板卡上处理。bladeRF和USRP B210/200都有比较强大的FPGA,还有FX3微控制器。B210使用Spartan 6 LX150 FPGA,它有150k逻辑单元;B200使用LX75 FPGA,有75k的逻辑单元。bladeRF使用Cyclone 4 FPGA,x40有40k逻辑单元,x115有115k逻辑单元。USRP B100用的是比较小的FPGA,有25k逻辑单元。而HackRF使用的是CPLD,信号处理主要依赖于板上的微控制器。
在USRP的FAQ网页上有FPGA的使用情况说明,说明了FPGA还剩多少资源可以使用。对B100而言,留给用户开发的空间非常小,而B210/B200则有比较大的剩余空间可供用户使用。关于bladeRF,据说x40 FPGA当前已使用了大约15%,因此剩余空间也非常充足。FPGA除了作为ADC/DAC与FX3之间的桥梁之外,还可以完成例如数字滤波器之类的信号处理任务。USRP中就包含了数字变频,抽值和插值模块等等。我没有看bladeRF的功能,可能跟USRP差不多。
有一个差别需要注意的是,Ettus使用的是Xilinx的芯片,而nuand使用的是Altera的芯片,因此稍有不同。相比Altera,Xilinx的FPGA中有更多的DSP模块,包括预加法器,乘法器和累加器;而Altera FPGA在DSP模块部分只有乘法器。这意味着,加法需要用逻辑阵列来实现,所以同样的功能,Altera FPGA需要更多的逻辑单元。而且,Altera的RAM比Xilinx少。不过对于bladeRF,芯片上的RAM可能也够用了。还有一点需要注意的是,B210的LX150不支持免费的Xilinx ISE,而LX75和Altera的FPGA是可以使用免费的开发软件的。
最后强调一下FPGA的价格。x40 Cyclone IV价格大约100美元,x115 Cyclone IV大约315美元。这都是Digi-Key上的报价,可能不是厂家的成本价。不过这个芯片选型,至少说明了nuand不是一块高质高端的硬件。
微控制器
除了较老的USRP B100,其他几款板卡都有非常强大的微控制器。B100用的是FX2来提供USB2.0连接,只有16KB的RAM。bladeRF和B210/200都用的是FX3,提供USB3.0连接。HackRF用的是一个双核LPC43XX芯片,处理USB2.0接口,以及控制射频芯片。
HackRF的微控制器运行在204MHz的主频,NXP制造,有一个ARM M4内核和一个M0协处理器。含有64KB的ROM和264KB的SRAM。这颗芯片负责很多工作:发送和接收USB链路上的数据,控制板卡上所有的射频芯片。还有计划要往里面添加抽值和插值模块。之所以选择微控制器而不是FPGA来处理,是因为希望用户能够使用C语言来更快的修改代码,而不是使用HDL语言。如果连上一个PortaPack,HackRF的这个微控制器能够不连接计算机,就直接变身为一个频谱分析仪。
开发者社区
软件无线电是个很大的概念,已经存在了十多年。一个硬件平台的使用者论坛或者社区是非常重要的。这些人可以相互提供技术支持,分享新创意。他们推动着创新的车轮持续前进。因此,对于一个生产SDR平台的公司,开发者社区是非常重要的,而且应给予大力支持。最简单的一个方法就是,开放源码,开放硬件。下面说说这三家公司都是怎么做的。
源代码
对SDR硬件而言,软件是非常重要的。幸运的是,这三款硬件都支持GNU Radio,它包含大量的免费且开源的代码。它还有非常好的图形界面,适合快速开发和测试。HackRF和bladeRF在GNU Radio中的驱动,放在gr-osmosdr项目中,与RTL-SDR dongle的驱动包一样。bladeRF的驱动是前几个星期添加进去的(Alin:作者的写作时间是2013年8月),因此如果你要用的话,请及时更新代码。HackRF的驱动已经发布有一段时间了。而对于USRP,gr-uhd原本就是GNU Radio的一部分,需要安装UHD驱动库,UHD驱动可以从Ettus官网得到。
这三款硬件板卡,所有的代码,HDL文件和电路原理图都可以免费获得,除了USRP B210/B200的还没有发布。HackRF更为开放,它甚至公布了所有的KiCad制板文件,包括原始格式的电路原理图(不是PDF)和PCB布线图。USRP B100和bladeRF的电路原理图是PDF格式的。我希望B210/200也能尽快开放原理图。HackRF的开放程度,使得其他人可以继续改进HackRF的设计,而且也是开发者社区的读者们非常好的学习材料。我想其他人可以很容易重用其中的一些设计。
USRP有一个独特的好处是,它的应用类代码非常丰富。因为USRP已经有很长的历史了,从2006年以来,已经有很多人使用过USRP。有很多的学术论文使用了USRP和GNU Radio进行实验。也涌现出很多新颖的应用和代码。UHD,是所有USRP板卡通用的接口,经过这么多年的优化改进,已经非常稳定成熟。一个GNU Radio应用,只要硬件满足要求,就很容易在各种USRP板卡上使用。也就是说,USRP对GNU Radio的支持是最好的。Ettus还发布了一个免费的Linux镜像,它包含了GNU Radio以及其他一些工具软件,可以以最快的速度搭建出一个GNU Radio的开发环境。虽然这个镜像目前只有UHD,但是把gr-osmosdr添加进去也应该很容易。
HackRF比USRP的历史要短得多,才刚开始开发一套代码(Alin:开发环境驱动什么的),不过进展很快。它应该能与GNU Radio兼容,正在测试当中。HackRF的优势在于,它有很多黑客型粉丝。已经有至少500块免费的HackRF交付使用,到本文写作的时间为止,又有1100块HackRF已经在Kickstarter上被预定了。这些用户可以为软件开发做出很大的贡献。相比USRP在学术界影响力,HackRF在黑客界有更大的影响力。当然,这两个人群有一部分重合的地方。但我认为黑客们更有能力写出更多更优秀的代码。
nuand团队是最近才发布的bladeRF的GNU Radio驱动。我估计大约有400个用户从Kickstarter上得到了bladeRF板卡。另外,还有相当一部分用户直接从nuand的网站订购了bladeRF。所有这些用户都能够为bladeRF的代码开发做出贡献。因为bladeRF跟USRP B210一样,使用了FX3,大容量的FPGA和单芯片的射频收发芯片,我估计两款硬件的驱动代码中,有相当一部分可以共享。虽然Xilinx和Altera之间的差别,给代码重用带来了一点麻烦,但是我想只要黑客们做出足够的努力,bladeRF就可以与UHD接口兼容,于是可以兼容USRP已有的大量的应用程序。
硬件
在硬件的开放性方面,HackRF是做得最好的。而USRP呢,B210/B200使用的AD9361芯片可能是一个开放性的障碍。因为Analog Devices网站上只提供了1页的datasheet。因此除了Ettus公司以外,其他人很难获得更详细的信息,除非你也跟AD公司签过NDA。不过Ettus公司的人承诺说,他们会开放相关的驱动的源代码。除了AD9361芯片以外,B210/B200上的其他芯片都有比较详细的资料。关于bladeRF,LMS6002D芯片有长达15页的datasheet,而且还有45页的编程和校准指南,这些对于其他开发者来说都是现成的。
最后的点评
HackRF,是一款覆盖频率最宽,而且价格最低廉的SDR板卡。它几乎所有的信息都是开源的,甚至包括KiCad文件。缺点是它没有FPGA,使用的低速的USB2接口,ADC/DAC的精度比较低。总的来说,HackRF非常适合那些对开放性要求很高的黑客,和那些那些对价格敏感的用户。
bladeRF,它的亮点在于大容量的FPGA和高速的USB3接口。它能够支持比较宽的频段,但是不如另外两者。它的ADC/DAC精度也还不错。我建议那些想脱机运行程序,并且射频频点不需要太高的人们,考虑选择这款硬件,
USRP B100,这是一款比较老的板卡了,不能支持高带宽的应用。它通过替换子板来改变射频频段,最高可以支持到6GHz。它支持UHD接口。B100的价格跟B200是一样的,但能力却比B200差很多。所以我建议,只有当你有一些很特殊的应用,或者你要使用自己开发的子板时,才考虑B100。
最后,我希望人们能够用这三款非常优秀的软件无线电平台,开发出更多新颖的应用。我用了几个星期的时间搜集整理这三款平台的信息,有一些没能收入文中,如果您有任何问题,请在评论中提出。感谢您的阅读,并且欢迎您再回来看看我将要发表的关于B210的测试结果(Alin:到2013年11月27日为止,这个测试结果还未发表)。
Alin评论:
有两款硬件都是USB3.0接口的,说明USB3.0将成为SDR平台的主流接口。这与我们两年前的看法也是一致的。USB3的优点是USB接口数量多,而且很普及,速度也够快。但缺点是传输距离可能不够远,所以我个人认为10G或者更高速率的以太网接口也将是另一种主流的接口。
另外我发现这三款硬件的电路板都印成了黑底白字,比原来绿色的酷多了。看来硬件工程师们也开始注意“柜子背面的板子也要漂亮”了。
三款SDR平台对比:HackRF,bladeRF和USRP的更多相关文章
- [转载]三款SDR平台对比:HackRF,bladeRF和USRP
这篇文章是 Taylor Killian 13年8月发表在自己的博客上的.他对比了三款平价的SDR平台,认为这三款产品将是未来一年中最受欢迎的SDR平台.我觉得这篇文章很有参考价值,简单翻译一份转过来 ...
- [追加评论]三款SDR平台对比:HackRF,bladeRF和USRP
这三个月,有幸把3种板子都用到了.说说使用体会. 我用过其中的HackRF,bladeRF x115,USRP B210.我并没有仔细的测量各种板子的射频指标什么的,只是做各种实验的时候用到它们. ...
- 两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)
本篇文章主要介绍了"两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)",主要涉及到两款JSON类库Jackson与JSON-lib的性能对比(新增第三款 ...
- 【纯净软件】三款照片EXIF信息删除软件 Clear Exif、JPEG & PNG Stripper、Easy Exif Delete 非专业横向对比
商业软件:需支付费用后方可使用. 共享软件:需支付费用,但可以先免费试用(有使用期限.功能限制). 免费软件:无需支付费用,无使用期限,无功能限制. 纯净软件:无广告.无联网行为的免费软件. 自由软件 ...
- 【图像编辑】三款图像编辑软件Photoshop、AffinityPhoto、Gimp非专业简单横向对比
人的感知分为:视觉.听觉.嗅觉.味觉.触觉.视觉即是对光的强弱.颜色.鲜艳程度的感知.视觉在纸质上通过图像来表达,在计算机数字领域则通过图像(位图)和图形(矢量图)来表达,本文提及的三款软件均为图像( ...
- .Net 三款工作流引擎比较:WWF、netBPM 和 ccflow
下面将对目前比较主流的三款工作流进行介绍和比较,然后通过三款流程引擎分别设计一个较典型的流程来给大家分别演示这三款创建流程的过程.这三款工作流程引擎分别是 Windows Workflow Found ...
- 华夏互联与逐浪CMS旗下三款软件获著作权登记
北京时间2014年7月24日消息: 上海逐一软件科技公司长下三款软件通过中国知识产权局登记,当中包含全新的CMS2 x2.0主产品.移动门户管理系统.云台管理系统. 除主产品CMS2 x2.0( ...
- Ninject是一款.Net平台下的开源依赖注入框架
Ninject是一款.Net平台下的开源依赖注入框架.按照官方说法,它快如闪电.超级轻量,且充分利用了.Net的最新语法,使用Lambda表达式代替Xml文件完成类型绑定.Ninject结构精巧,功能 ...
- 关于Linode、Digitalocean、Vultr三款美国VPS服务商的用户体验
曾几何时,虽然我们在海外VPS服务商中也可以看到各种大大小小的商家,但是真正能让Linode这样高富帅有竞争力的还真不多,这不当初在Linode商家512MB内存方案卖20美元一个月的时候,还是有很多 ...
随机推荐
- vs操作快捷键
注释: 先CTRL+K,然后CTRL+C取消注释: 先CTRL+K,然后CTRL+U 解析命名空间:shift+alt+f10 或Ctrl + . 调试快捷键 F6: ...
- 每天一个linux命令(37):free 命令
free命令可以显示Linux系统中空闲的.已用的物理内存及swap内存,及被内核使用的buffer.在Linux系统监控的工具中,free命令是最经常使用的命令之一. 1.命令格式: free [参 ...
- OneZero第一次会议(非正式)
会议时间:2016年3月20日 15:50~16:50 会议成员:冉华(http://www.cnblogs.com/ranh941/) 张敏(http://www.cnblogs.com/zhang ...
- oracle 简述
1.数据库有很多的管理工具,Sqlplus是最好的管理工具. 2.sql语句是学习中最难的部分,如何编写出高效的sql 语句是我们的目标 3.oracle的日常最终要的工作就是备份,永远是备份,有数据 ...
- WCF学习(二)对控件简单了解以及4个文本控件的简介
WPF基础控件 系统默认提供的基础控件: 文本控件介绍与用法 Label控件 label控件:一般用户描述性文字显示. 在Label控件使用时,一般给予用户提示.用法上没有什么很特殊的,label控件 ...
- SourceTree&Git部分名词解释
SourceTree&Git部分名词解释 克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库 提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓 ...
- BZOJ-3211花神游历各国 并查集+树状数组
一开始想写线段树区间开方,简单暴力下,但觉得变成复杂度稍高,懒惰了,编了个复杂度简单的 3211: 花神游历各国 Time Limit: 5 Sec Memory Limit: 128 MB Subm ...
- hdu 3068 最长回文子串 TLE
后缀数组+RMQ是O(nlogn)的,会TLE..... 标准解法好像是马拉车,O(n).... #include "algorithm" #include "cstdi ...
- Ext comboBox的remote和local的区别
remote模式下不能使用模糊查询的功能 而local模式下可以实现模糊查询的功能 如果非要实现模糊查询的功能,最好就是提前把数据查询出来,缓存到本地,然后再用local模式 且,改个属性,改成可编辑 ...
- java的static块执行时机
一.误区:简单认为JAVA静态代码块在类被加载时就会自动执行.证错如下: class MyClass1 { static {//静态块 System.out.println("static ...