前几天搞了一下用labview编写FM接收机,但是采用的是模拟NI-USRP的方式,非常不方便,很多limeSDR的控制都控制不了,,还死慢的,于是在想用labview应该还有更简单的方法。
(代码以上传至:https://github.com/eleday/LimeSDR_LabVIEW_Driver)
当然是直接在labview上直接调用LimeSDR的驱动DLL,其实所有其他的SDR软件也都是这样,这个labview也是能做的。
安装完PothosSDR之后,这玩意会自动帮你装好下面几个东东,(除了这个,正常的USB驱动还是要装的)
- LimeSuite
- GQRX SDR
装完后,就可以得到想要调用的DLL:::::C:\Program Files\PothosSDR\bin\LimeSuite.dll,
多说两句,关于如何认识LimeSuite.dll里面的函数,头文件有非常详细的函数说明,
头文件在这里,C:\Program Files\PothosSDR\include\lime\LimeSuite.h
labview用不到,当然如果你想成批导入到labview还是要用到的,试过,成批导入很困难,无奈只能自己一个函数一个函数进行导入。
再说两句,limeSuite的源代码里面有一个docs和src\examples的文件夹,里面有范例,和说明文档,又详细介绍了API的调用,
所有东西都准备好后,就可以开始labVIEW调用了,函数很多,比较耗时,这里举一个例子。
把一些常用的函数都生成了VI,再建成一个库,
VI写完后,就可以测试了,但是要完成FM的解调,还是有点问题,很多设置还是没有完全搞明白。IQ数据流可以正常接收,频谱也正常,但是就是听不到广播的音乐,郁闷了一整天。滤波,解调,解码,没有搞好,通信原理还是不太过关啊。这里要注意IQ数据是分开传送的,先是I,后是Q.
最后实在没办法了,借用了GQRX SDR的设置,就是说现在GQRX SDR上把所有的东西设置好,包括FM的广播频率,IQ采样率,滤波带宽等等,关掉GQRX SDR之后再用labview进行IQ数据流的读取,而且labview仅仅做这个事情,不做任何其他事情,当然打开limeSDR设备等这些必备的操作还是要的,但是LMS_Init这个函数VI是不能调用,一旦调用就会把刚才在GQRX SDR的设置清除掉。
在这个神操作之后,优美的音乐广播就从labview传过来了!!