射电望远镜计划
之前看到了有人用SDR做了一个小的射电望远镜,我也想着做一个吧,计划如下:
- 用Arduino制作一个可以与电脑通信和控制的云台,用步进电机制作,有较高的控制精度,用作控制天线指向。
- 用Python读取SDR收到的信号再进行处理,SDR用的是某宝最便宜的那种电视棒。
- 制作天线。是最复杂的一步,现在还没有构思好。
安装 pyrtlsdr
利用python读取SDR数据,使用 pyrtlsdr 这个模块,根据README提示安装方法有:
pip install pyrtlsdr
- 下载源文件进行安装
第一次安装我用了pip安装,导入库的时候会报错:
Error loading librtlsdr. Make sure librtlsdr (and all of its dependencies) are in your path
我先用pip卸载了,再在Github上下载源码进行安装,还是出现同样的问题。
看了源码和谷歌之后,发现这个库需要依赖librtlsdr,但是下载了这个之后并且添加到系统路径之后还是不行。
最后我再次仔细看了README,发现可以通过把需要的“librtlsdr.dll”放到源码的文件夹里,再进行安装,这样就能安装成功了。
运行测试文件试试:
py test.py
Found Rafael Micro R820T tuner
Configuring SDR...
sample rate: 2.400000 MHz
center frequency 100.000000 MHz
gain: 8 dB
Reading samples...
signal mean: (-0.0008103015376066794-0.0007993211933205375j)
Testing callback...
in callback
signal mean: (-0.0008010565065864708-0.0008039287492335251j)
in callback
signal mean: (-0.0008095535577506808-0.0008072497797941828j)
Testing spectrum plotting...
Done
100.2Mhz为本地电台
成功运行!
为制作射电望远镜打下了基础!