极客是如何听电台的
「Geek生活指南」系列是以记录极客生活为主题
达到向大众推广极客文化,普及技术知识的目的
难度指数:**
SDR是什么?
SDR为英文Software-Defined Radio
的简写,直译为“软件定义无线电”.基本的SDR系统可以由装备有声卡或其他模数转换器的个人计算机组成.大量的信号处理被交给通用处理器,而不是在专用硬件(电子电路)中完成.它可以仅仅基于所使用的软件来接收和发送广泛不同的无线电协议.
如何用sdr设备听广播
一般的sdr设备是比较昂贵的,但是基于Realtek RTL2832U的电视棒是可以用作简易的SDR的.像下面这个,不到50元.
rtl_fm
是我们将用的工具, 它是rtl-sdr
项目中的一个工具. 可以用个人电脑来接受fm的信号.同时可以很有效的在基于ARM的开发板上运行,例如树莓派.所以,可以用一个200元的计算机和50块的电视棒来搭建一个简易SDR设备.而对计算能力更强的Mac或Windows来说,更是不在话下.
这篇指南,我将用Sox
的play
命令来播放电台.Sox
可以在Linux,OSX,Windows平台运行良好.Sox会自动处理数据,使声卡畅快运行,同时调整输出声音,保持声音清晰.
指南最后会附上如何在Mac上安装rtl_fm和sox这两个工具
在开始之前,先确定你的电视棒正常运行.rtl_test
是用来测试硬件状态的,会返回一些硬件信息,确保没有错误返回.
这里提示一点,rtl_fm和sox必须使用同一频率的数据,这是最容易出错的地方.[其实所有过程的很简单]
这是系统搭建完的样子:
FM97.4
FM974
是北京音乐广播的频率,输入到rtl_fm
的-f
参数下,在命令行中输入一下命令即可听到974音乐广播:
rtl_fm -M wbfm -f 97.4M | play -r 32k -t raw -e s -b 16 -c 1 -V1 -
结尾
这是SDR指南的第一个,其实电视棒可接受的频率范围已经很广了,可以做很多有意思的事,后续会提供更多关于SDR的指南.
相关代码和链接
·END·
觉得本文有帮助?请分享给更多人