玩什么标题上已经说得够清楚了。
硬件方面,支持全频段接收的 DVB-T 电视棒即可,基本在淘宝上搜个「RTL SDR」就能找到一堆了。现在流行的有 RTL2832U + R820T 和 RTL2832U + E4000。查了查国外的资料,发现 R820T 的灵敏度貌似高一点,所以我选择了前者。
软件,Windows 上的软件好像比较丰富,然而这并…… OS X 上的选择不多,而且大部分都基于 「GNUradio」这个 SDR (Software-defined Radio) 模块,而这个模块又需要很多的依赖包,总之 —— 无尽的头痛。所以网上的方案基本都建议使用 MacPorts 去搞定。软件我们这里选择 GQRX,应该是最著名且最好用(稳定)的一个。
安装过程大同小异。没有 Xcode 先去 App Store 安装,完成后记得去启动一下,同意协议,要不然 MacPorts 会报错。然后安装 MacPorts,下载地址:https://www.macports.org/
安装过程中需要下载一些包,所以在这一步的时候通常会卡住很久。确保网络畅通,耐心等待即可。
完成后打开 Terminal,敲入
sudo port install gqrx
MacPorts 会自动寻找所有需要的依赖包,下载,编译,安装,大扫除等等…… 这是一个痛苦而漫长的过程(我用了整整半天,如果你有 Terminal 可用的代理,请使用)。完成后如无意外的话,你会看到:
—> Scanning binaries for linking errors
—> No broken files found.
然后在 Launchpad 看到亮晶晶的 GQRX 图标
打开后,先点一下左上角的开关,开始捕获。这时候你应该能看到下面的瀑布开始在流动了。
然后我们来说一下设置。首先去右边的 Input Controls 里把 「Hardware AGC」打开(重要),这个是硬件自动增益控制的开关,能让我们不那么高大上的设备收信能力提高一点。
然后,回到 FTT Settings,我一般把 Size 调到 8192 甚至更高,比较容易发现那些很窄的 AM 痕迹。Averaging 和 Pandapter 自己按感觉调一下就好。一个可以平滑频谱,另一个调整其高度。Zoom 的话,一会儿再说。侦察通信的时候,善用 Zoom 可以提高效率。
接着我们来看看上面的 Receiver Options。Filter Width 暂时不动,一会儿真正调的时候再手动选择。Shape 基本不用去改。Mode 这里我们可以选择信号类型,一般就是 WFM(我们普通听的电台),Narrow FM(窄带 FM,一般出租车司机们用的 Call 台,以及一些公司、保安用的对讲机),AM(短波,民用无线电,航空管制等)。AGC 选 Medium 或者 Fast 即可。Squelch 一会儿真正听的时候再调。
现在,在左上角的频率框内键入 88.500000(广州的朋友),Mode 选择 WFM,应该就能听到 Hit FM 了 ;-)
然后,(同样,广州的朋友)可以试试听一下本地的航空管制频道。不过在这之前,先来讲一下一个重要的部件 —— 天线(非常重要)。使用原配的那条小天线接收 Air Band 真的是力不从心,即便我已经把它用晾衣架叉到了室外。随后我翻出了家里那套安桥音响附送的圈形 AM 天线,用了某种黑暗技术把它跟电视棒天线强行结♂合后,效果好多了。但收到的频率还是很少,能听的只有广州白云近进 2400-6000m (126.20mhz),而且基本上只能听清塔台,而听不到机组的回话(后者的信号一般很弱,而且发送位置不定)。如果你真想舒服地听(或者决定入坑)。我强烈建议你去淘宝上买一个专门接收 Air Band (120-140mhz)的天线,也不贵。
首先输入 126.200000 (以白云近进为例),在右边把 Mode 调到 AM。 Zoom 调到最左,方便我们一次性看到比较宽的范围,最后顺手按一下下面的 C 让瀑布居中。可以看到,凡是有信号在传输的时候,对应位置上的频谱会出现一个波峰,而下面的瀑布上则会留下一段相应的红色痕迹。这时候 Zoom 调小的优势就立马呈现出来了,我们可以一次性地观察 125.376 ~ 127.433 这整个区域。为什么?因为,电视棒大多会有点失准,比如我这跟,本来是 126.20 的在我这却变成了 126.35 左右,观察到痕迹后再精确定位效率会比较高,直接输入频率未必就能命中。其次,ATC 的对话并不是想象中的那么繁忙,很多时候频道是净空的,这时候就要耐心等了,一次性观察大范围区域有助于提高发现率。
当信号出现后,首先把调频的那根杆子大致移到信号出现的区域上面,然后把 Zoom 调大进一步微调即可。
平时没信号的时候听着噪音很烦?在频道净空(没人说话)的时候去 Receiver Options 里面把 Squelch 调高直至听不到噪音为止,搞定。还可以拖拽调频棒子的两边去调整接收的频率宽度。调至与瀑布中的痕迹宽度相等即可。上方工具栏中第五个按钮可以创建书签,右下方的 Audio 面板可以录音。其余的各位自己慢慢探索吧。
这里是一小段白云进近的录音:
然后,我们来捣鼓应答机这块。
首先,要想知道为什么我们能通过接收应答机信号来确定附近飞机的位置(以及航班号、速度、高度、航向等等),就要先搞清楚什么是 次级雷达 以及 应答机 。我默认你们已经点了链接看完维基百科且都看懂了。简单来讲,就是现在的雷达已经不是像声呐那种「啊…… 啊…… 计算一下,噢!」的回声定位了,而是直接采用「你在哪儿?我在这儿!噢!」的数字系统了。飞机会持续不断地向外以脉冲的形式,广播自己的位置信息。至于飞机如何知道自己的当前位置,这又是 GPS 和 惯性制导 的事了。
开始。上一步安装 GQRX 的时候我们已经装了 GNUradio 以及它的依赖包了,所以这里无需再次去捣鼓 RTL-SDR 这个组件。但我们要用到它里面的一个叫 rtl_tcp 的东西。确保 RTL-SDR 已经被正确安装的方法是:在 Terminal 里面敲入 rtl_tcp 回车看看结果。
首先,如果你在运行 GQRX,请把它关掉。不仅仅是停止,要整个关掉,把端口空出来。然后在 https://github.com/antirez/dump1090 下载 dump1090 的源码,解压放在桌面好了,可以重命名一下方便在 Terminal 内操作。我把它重命名为了「dump1090」
然后在 Terminal 中找到这个目录,编译:
cd ~/Desktop/dump1090
make
如无意外会看到一个 Warning,忽略即可(大哥哥说,编译的时候, Warning 全部都可以不用管 XDDD)。然后:
~/Desktop/dump1090/dump1090
如无意外的话,你已经被各种信息刷屏了,如下图:
键入
~/Desktop/dump1090/dump1090 –help
可以看到这玩意的功能挺多的:
下面是我用的设置:
–enable-agc 自动增益,提高获取几率
–aggressive 激进模式,也是提高获取几率的东西,具体原理见文档吧
–interactive-ttl 120 把超时调到 120 秒,可以让没了信号的飞机在地图上留久一点
–interactive 让信息显示的方式更优雅,而不是鬼畜地刷屏
–net 启用浏览器界面,可以把飞机显示到 Google Maps 上
–net-http-port 9090 定义网页服务器端口为 9090
回车,确认防火墙提示后,就能看到 Terminal 里刷出一些信息了。打开浏览器输入 http://127.0.0.1:9090 则可以在 Google Maps 上直观地看到飞机的位置。点击飞机的图标可以查看详情,其中:Flight 是航班号,Track 是航向,Messages 是接收到的信号条数。最后的 Seen 是指「距离最后一次获取到这架飞机信号的时间」。我们刚才设置了 120s ,也就是如果一架飞机在 120 秒内再也没有信号出现,那么就把它从屏幕上移除。
Alright, 好像没啥了,have fun and play safe. 接收航空频道是没问题的,而发送(占用)是违法的,Don’t do anything stupid.
The post 用 50 块钱的电视棒去接收空管频道,甚至飞机的应答机 appeared first on Beryl.