bitdust / usrp-ExtIO

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

usrp-ExtIO

由于spench.net开发的ExtIO (http://wiki.spench.net/wiki/ExtIO_USRP)n年不更新,win10 64位环境上运行经常出问题,性能一般,索性重写了一个。主要目标是能够让sdr# v1361(最后一个完美支持ExtIO的sdr#版本)能流畅工作。win10系统测试稳定。

为了能最大程度压榨uhd性能,分离了读写线程,usb传输和sdr#处理线程分离,而且对usb传输线程设置了比较高的系统优先级。

由于手头只有b210,仅对b210做了测试工作,稳定工作带宽比spench.net的版本至少提高2倍,即原来8M不会遇到overflow,现在可以16M不出现overflow。应该是达到了usrp uhd可以提供的最高性能。

打包了完整sdr#绿色版本,plugins比较全,usrp硬件驱动和fpga images分离,即系统安装了其他版本uhd时都可正常工作,只需要取消安装uhd时的UHD PATH环境变量设置就可以了。

本测试版本主要特性: 0. 去掉了大量依赖库,从libusb-0.1库改为libusb-1.0库,win10系统稳定;

  1. 使用win10 x64 + vs2017编译省城;
  2. boost版本使用了1.69;
  3. uhd使用了最新版的3.14.0版本;
  4. 由于sdr#主要发布32位版本,很多plugins只提供了32位版本,所以缺省提供32位的包;
  5. hdsdr可以使用,但是遇到声音断续问题,尤其是WFM大带宽模式时,看瀑布流正常,这里没有搞明白,如果那位朋友知道这里该怎么处理,请指教;
  6. 64位dll也提供了,sdrshaper x64版本可以使用,请按需自取;
  7. sdr#、uhd疑似有内存泄漏(没有认真定位),不过不是很离谱,跑一天会增加几百M内存;
  8. 32位SDR#系统跑50M以上带宽容易遇到运行内存问题,建议需要50M+带宽的同学使用64位版本;
  9. 非win10系统没有仔细做测试,可能会遇到缺dll问题,请使用depends等工具自行查找补齐;
  10. OTW_format为输出精度选择,sc8可以获得比较大的带宽(sc16两倍),可参考 http://files.ettus.com/manual/structuhd_1_1stream__args__t.html

关键提示: #usb3.0接口性能很关键,usb3.1接口性能要比usb3.0好很多 #买一条好点的的usb 3.0线,尽量短一些 #由于本人十分懒,不要介意土鳖的UI和可设置参数,迟点会共享相关代码,大家可以自行修改~

=============================================
=====感谢BA3RJ,要不是他没事就催我,这个版本也不会问世~ =====
=============================================

About


Languages

Language:C++ 94.2%Language:C 5.8%