1. 硬件准备:选对板子,避开第一个坑
如果你和我一样,对软件无线电(SDR)感兴趣,想自己动手搭建一个GPS信号模拟环境,那HackRF ONE绝对是个绕不开的“神器”。我第一次接触SDR是从一个几十块钱的RTL-SDR电视棒开始的,它能收收音机、看看频谱,已经让我觉得非常神奇了。但当我发现HackRF ONE不仅能接收,还能发射信号,甚至能模拟GPS卫星信号时,我知道,这才是能真正玩起来的东西。
HackRF ONE本质上是一个开源的硬件平台,频率覆盖范围从1MHz到6GHz,这个范围几乎囊括了我们日常能接触到的大部分无线信号。它最大的魅力在于“软件定义”,意味着你不需要为了不同的无线电协议去更换硬件,只需要在电脑上改变软件和配置,就能让它变成不同的“电台”。我们这次的目标,就是让它变成一台“GPS卫星信号模拟器”。
在购买板子时,我踩过一些坑,这里分享给你。市面上主要有两种形态:一种是单独的HackRF ONE开发板,另一种是带Portapack扩展套件的版本。我强烈建议,如果你的主要目的是在电脑上学习和开发,那么单板就足够了。Portapack是一个集成了屏幕、按键和电池的扩展板,能让HackRF脱离电脑独立运行一些预设功能(比如我们后面会用到的GPS模拟),非常酷。但如果你是新手,我建议先搞定电脑端的操作,因为所有复杂的配置和调试都在电脑上完成,Portapack更像是一个“播放器”。我当时贪图方便,一起买了带Portapack的套装,结果前期在电脑端配置时,Portapack反而增加了切换模式的复杂度。
关于价格,单板全新的价格大概在千元左右,二手平台能找到一些价格更低的。这里有个小提示:尽量选择信誉好的卖家,并确认板子的时钟源。早期的HackRF和一些廉价仿制品可能使用普通的晶振(XO),其频率稳定度较差,这对于需要极高时间精度的GPS信号模拟来说是致命的,会导致生成的信号手机或导航设备根本无法锁定。务必确认你的板子使用的是温补晶振(TCXO),精度至少在0.5ppm或更高。我后来排查定位失败问题时,拆开板子确认了TCXO型号,并用万用表检查了时钟路径上的跳线电阻是否正确连接,这才排除了硬件问题。
拿到板子后,第一步是安装驱动。无论你在Windows还是Linux下使用,都需要先通过Zadig(Windows)或hackrf工具(Linux)安装正确的USB驱动。在Windows下,用Zadig选择“HackRF One”设备,安装WinUSB驱动即可。这个过程很简单,但却是后续所有操作的基础,驱动没装好,电脑根本认不出你的板子。
2. 软件环境搭建:虚拟机还是双系统?这是个问题
HackRF和GPS信号生成软件(如gps-sdr-sim)的主战场是Linux环境,特别是Ubuntu。对于Windows用户,你有两个选择:在Windows上直接安装GNU Radio(较复杂且可能遇到兼容性问题),或者使用虚拟机。我个人的经验是,对于新手,在Windows上使用虚拟机安装Ubuntu是最稳妥、最省心的方案。
我最初尝试了在Windows上直接安装GNU Radio的预编译包,虽然能打开图形化界面,但在连接HackRF时总是遇到各种奇怪的驱动和库链接问题,折腾了好几天都没能让HackRF正常发射信号。果断放弃,转向虚拟机。
这里就有第一个大坑:虚拟机软件版本。我一开始用的是老旧的VMware Workstation 12,创建虚拟机很顺利,但安装Ubuntu 18.04时总是在最后阶段卡死。换了VMware Workstation
397




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



