1. 硬件准备与软件环境搭建
如果你对无线电感兴趣,想亲手“抓住”空中飘荡的FM广播信号,把它变成耳边流淌的音乐,那么HackRF One绝对是你的绝佳伙伴。它不像那些动辄上万的专用设备,更像是一个“瑞士军刀”式的无线电实验平台,价格相对亲民,功能却异常强大。简单来说,HackRF One是一个软件定义无线电外设,它能通过USB连接到你的电脑,然后在电脑软件的控制下,变成你想要的任何无线电设备——比如今天我们要做的FM收音机。
我刚开始接触时,觉得这玩意儿肯定很复杂,但实际用下来发现,只要你跟着步骤走,从零搭建一个能听能调的FM收音机,一个下午就能搞定。整个过程就像搭积木,硬件是基础,软件是工具,而你的想法就是图纸。
首先,你得准备好硬件。 核心就是HackRF One设备本身,一根USB连接线,还有一根天线。天线很重要,FM广播频率在88MHz到108MHz之间,所以你需要一根能覆盖这个频段的天线。我试过用原配的鞭状天线,也试过自己绕制的简易天线,在信号强的城市地区,收听本地电台都没问题。如果你在室内信号弱,可以考虑把天线放到窗边,或者换一根增益高一些的专用FM天线,效果会立竿见影。记得把天线拧紧在HackRF One的ANT接口上,别小看这个物理连接,接触不良会导致什么都收不到。
接下来是软件环境。 我们的大脑是GNU Radio,这是一个开源的、图形化的信号处理开发环境。你可以把它想象成一个可视化的编程工具,但编的不是普通的程序,而是处理无线电信号的“流水线”。我们通过拖拽不同的功能模块(比如信号源、滤波器、解调器),然后把它们像水管一样连接起来,就构成了一条处理信号的流水线。HackRF One负责从空中“打水”(接收射频信号),GNU Radio则负责对“水”进行过滤、净化、转换,最终变成我们能喝的“纯净水”(音频信号)。
我推荐在Ubuntu Linux系统上搭建这个环境,兼容性最好,安装也最省心。如果你用的是Windows或macOS,虽然也能通过虚拟机或复杂配置实现,但路上坑会比较多。在Ubuntu上,打开终端,几条命令就能搞定基础环境。首先更新软件包列表,然后安装GNU Radio及其常用组件:
sudo apt update
sudo apt install gnuradio gnuradio-dev gr-osmosdr hackrf
这里重点说一下 gr-osmosdr 和 hackrf 这两个包。gr-osmosdr 是GNU Radio里一个非常重要的源模块集合,它就像一个万能驱动,能让GNU Radio识别并控制包括HackRF One在内的多种SDR硬件。而 hackrf 包则包含了HackRF One本身的命令行工具和固件,确保硬件能被系统正确识别。安装完成后,你可以通过命令行输入 gnuradio-companion 来启动GNU Radio Companion(GRC)图形化界面,我们的所有“搭积木”工作都将在这里进行。
第一次启动可能会有点慢,界面看起来模块很多有点眼花,别担心,我们一步步来。一个常见的坑是,默认安装的GNU Radio可能不包含所有需要的模块,特别是第三方模块。如果你在左边的模块列表里找不到 OsmoSDR 或 osmocom Source,那就需要单独安装它。安装命令很简单:
sudo apt install gr-osmosdr
安装后重启GRC,你应该就能在左侧模块列表的“Sources”类别下找到 Osmocom Source 了。这个模块就是我们连接HackRF One和GNU Radio的桥梁。至此,硬件连接妥当,软件准备就绪,我们的“收音机工厂”就可以开工了。
2. 构建基础信号接收流水线
环境准备好后,我们打开GNU Radio Companion(GRC),会看到一个空白的流程图工作区。我们的目标是从无到有,搭建一条信号处

5984

被折叠的 条评论
为什么被折叠?



