小白该如何自学软件定义无线电(SDR)?

小白该如何自学软件定义无线电(SDR)?
[1] – Separate daughterboards are required to receive/transmit. The WBX transceiver is included in this kit
[2] – Half this if 16 bit samples are used
[3] – 56 MHz for single half duplex channel, 30.72 MHz per channel full duplex
[4] – There is a CPLD on the board, but no FPGA
[5] – Ettus confirmed that the HDL + Code + Schematics will be released for the B210/B200
[6] – Estimated retail price, cheaper though Kickstarter

射频性能
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”。对于更老的USRP B100来说,它可以用不同的子板来覆盖不同的频段。WBX子板可以覆盖50MHz~2.2GHz。新的CBX子板可以覆盖到6GHz。不过这种单独购买子板的方案的缺点是,成本会比HackRF和bladeRF高。BladeRF可以支持300MHz到3.8GHz,它使用的芯片是LMS6002D。这款芯片提供了绝大部分射频功能,包含所有的混频器,ADC,DAC和其他一些功能。这款芯片与AD9361是类似的。不过,它最高只能支持3.8GHz。这意味着,不可能用bladeRF来实现5GHz频段的802.11n。现在,bladeRF有计划要发布一块扩展板卡,允许载频降低到10MHz,不过这个计划仍然在进行当中,还没有做出来。

双工性能
值得注意的是,HackRF不同于其他两款硬件,它不支持全双工。这意味着要切换收和发的话,必须每次给控制器发送命令。微控制器处理切换可能要花费微秒级的时间。如果要算上信 到达计算机的时间,切换时间会更长。bladeRF和USRP B210/200都可以支持全双工。USRP B100也支持全双工。有一些比较老的子板在B100上使用的时候,不支持全双工。但大部分的子板都可以支持。根据github上的文档,B200有一个全双工通道。而B210有两个接收机和两个发射机,目的是为了支持2×2 MIMO。两个接收机可以调到同一个频点,发射机同样(可以与接收频点不同)。这样做可以利用无线信道的空间分集,传输更高速率的数据。MIMO技术已经在4G LTE和802.11n系统中实现了。需要注意的是,如果同时进行接收和发送。发射机可能会对接收机产生一些噪声,因为毕竟发射机距离接收机很近。

与主机的通信
对SDR而言,与主机的通信方式是非常重要的,因为它决定了信 的带宽和可靠性。USRP B100和HackRF都使用USB2.0接口。这决定了最高的数据传输速率是35MB/s。然而,由于我们常常会在多个USB接口上插入其他设备,他们是共享带宽的,因此实际的数据速率比这更低。USRP B210/200和bladeRF使用USB3.0接口。它可以支持400MB/s的传输速率。这对于大部分SDR应用来说,带宽已经足够了。与USB2.0类似,多个USB接口会共享带宽。有个潜在的问题是,USB3.0可能会被干扰。Intel警告说,2.4GHz频段的信 可能会对USB3.0造成干扰,建议采取一些屏蔽措施。一个简单的办法是,你可以给板卡包一张锡箔。bladeRF和B210/200的开发者都做了一些测试,并认为这不算什么大问题。bladeRF的射频模块外面是包有外壳的。B210/200也很容易添加铜外壳。另外B210/200的电路板上还有大面积的“铺地”,这也能起到很好的屏蔽作用。经过我的测试,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,信 处理主要依赖于板上的微控制器。逻辑单元的数量决定了FPGA的处理能力,显然越大越好。FPGA的长处是并行处理,短处是主频一般比微控制器低。如果开发者不是很擅长HDL语言的话,处理效率可能会比较低。在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的这个微控制器能够不连接计算机,就直接变身为一个频谱分析仪。FX3微控制器运行在200MHz主频,有一个ARM926EJ-S内核。这个芯片有GPIF,一旦开启,可以使ARM内核处于IDLE状态。它有512KB的SRAM,没有ROM。这款芯片有几种启动方式,包括USB启动方式,firmware常常用这种方式加载。bladeRF有4MB的SPI Flash,它含有微控制器和FPGA的代码,可以在脱机的情况下支持板卡的运行。B210只有32KB的EEPROM,用于存储一些基础配置程序,没有Flash。因为没有Flash,所以B210/200想要脱机运行的话,是非常困难的。nuand的开发者们希望能够在bladeRF上脱机运行OpenBTS和OpenLTE。已经有在B210上运行LTE系统的例子了,但是是在连接计算机(Core i7处理器)的情况下。能否在FX3上运行LTE系统,很值得怀疑。

开发者 区
软件无线电是个很大的概念,已经存在了十多年。一个硬件平台的使用者论坛或者 区是非常重要的。这些人可以相互提供技术支持,分享新创意。他们推动着创新的车轮持续前进。因此,对于一个生产SDR平台的公司,开发者 区是非常重要的,而且应给予大力支持。最简单的一个方法就是,开放源码,开放硬件。下面说说这三家公司都是怎么做的。

硬件
在硬件的开放性方面,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。USRP B210/B200,可以支持很宽的频段,也支持高速的接口带宽。它们有大容量的FPGA和快速的USB3接口。不过AD9361这款芯片的开放性略差。B210/B200是三款硬件中价格最贵的。但它们的很多指标已经与Ettus的另一款高端的N210板卡可以媲美。而且,B210还是唯一一款直接支持2×2 MIMO的板卡。我相信B210/B200将是最近市场上,性能最强的SDR平台,而且将得到Ettus公司的大力支持。我建议那些需要高带宽、宽频段,而且不需要脱机使用的应用,考虑这款硬件平台。最后,我希望人们能够用这三款非常优秀的软件无线电平台,开发出更多新颖的应用。我用了几个星期的时间搜集整理这三款平台的信息,有一些没能收入文中,如果您有任何问题,请在评论中提出。感谢您的阅读,并且欢迎您再回来看看我将要发表的关于B210的测试结果(Alin:到2013年11月27日为止,这个测试结果还未发表)。

Alin评论:
有两款硬件都是USB3.0接口的,说明USB3.0将成为SDR平台的主流接口。这与我们两年前的看法也是一致的。USB3的优点是USB接口数量多,而且很普及,速度也够快。但缺点是传输距离可能不够远,所以我个人认为10G或者更高速率的以太 接口也将是另一种主流的接口。另外我发现这三款硬件的电路板都印成了黑底白字,比原来绿色的酷多了。看来硬件工程师们也开始注意“柜子背面的板子也要漂亮”了。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月15日
下一篇 2020年1月15日

相关推荐