
一台能把“天上的卫星”变成“屏幕上可读信号”的手持设备这大概是每个无线电爱好者都动过念头的东西。我这次做出来的是一台专门用来探测星链卫星的“三录仪”式扫描器它像科幻片里的三录仪一样单手可握在户外打开就能告诉我头顶有没有星链过境、信号出现在哪个频段、强度如何、大致来自哪个方位。往简单里说就是把一台SDR接收机、一个Ku波段LNB、一块电池和一块显示屏塞进3D打印外壳里往深里说背后涉及射频下变频、多普勒频移、信号特征识别和手持设备的功耗控制。这篇文章就从我最初的设计意图讲起把链路选型、组装过程、识别算法和实际测试踩过的坑完整梳理一遍给想做类似“便携卫星探测”项目的朋友一个可复现的参考。不需要你有多深的功底只要会基本焊接、会用SDR软件就能跟着这套思路做出一台自己的探测设备。1. 为什么做一台“星链专用三录仪”1.1 传统卫星探测方案的痛点以前想探测星链卫星大家通常走两条路。第一条路是轨道预报。用Gpredict或者Heavensat这类软件导入TLE轨道根数算出卫星在什么时候、从哪个方位过境然后提前赶到观测点架好设备等着。问题是星链这种巨型星座卫星数量多、过境窗口短经常是设备还没架好过境时间就已经过了。而且轨道预报只能告诉你“大概在哪个方向”给不了实时信号确认。第二条路是固定站SDR监听。把天线装在屋顶或者阳台接上SDR和电脑全天候盯瀑布图。这条路管线没毛病问题在于设备完全固定换场地就要重新拆装。我经常跑到郊外或山坡上去做无线电环境测量最缺的不是精度而是“随手拿起来就能用”的现场确认工具。很多时候我需要的不是一张完美的频谱图而是“现在头顶上有没有星链信号”这样一个干净利落的答案。1.2 我把需求定成三条做这台三录仪之前我先给自己列了三个硬性指标整机重量不超过700克单手能握能穿着外套塞进口袋或背包侧袋从开机到给出第一次探测结果不超过30秒不能像台式机那样等一两分钟驱动和软件加载不依赖串口和外部电脑设备自带屏幕显示当前频段、信号强度和大致方位。这三条看起来简单实际做起来会逼着你做大量取舍。比如屏幕太大电池就要加厚电池加厚重量就压不下来SDR性能太好功耗又上去了。整个项目里我花在平衡“探测能力”和“便携性”上的时间比花在电路连接上的时间多得多。1.3 “探测”和“解码”是两码事这里要先说清楚一个容易混淆的概念探测不是解码。星链卫星的下行信号是数字调制信号里面承载着完整的通信数据。要真正解码这些数据需要极高的信噪比、完善的同步算法以及大量的逆向工程工作那是另一个非常深的研究方向。我这台三录仪要做的只是在射频层面上回答三个问题有没有星链信号、信号强度多高、频率是否呈现出卫星运动引起的多普勒滑动。判断“有没有星链信号”依赖的是它的频率特征、突发节奏和多普勒规律而不是解调里面的数据。这样设计大大降低了硬件要求和软件复杂度也让整机能塞进一个手持壳子里。如果你以后想从“探测”升级到“解码”只需要把三录仪的射频前端保留后端换上台高性能电脑就行前面的部分完全不浪费。2. 射频链路设计从Ku波段到中频2.1 星链下行信号的频率特征星链卫星的用户下行链路大致落在Ku波段也就是10.7GHz到12.7GHz这一大段。这个频段的信号带宽比较宽往往表现出“窄带突发较宽载波”的组合形态。在频谱仪上你看到的不像广播电台那样一根纯正的细线而是一簇在某个频点附近不断闪动的能量块。很多朋友听到“10GHz以上”就直接知难而退觉得这得用多贵的设备。其实恰恰相反Ku波段是卫星电视行业的地盘全球有无数个电视接收前端在跑这个频段产业链非常成熟相关器件价格早就被打下来了。一台卫星电视用的Ku波段LNB几十块钱就能买到性能却足以对付星链信号的探测。2.2 为什么首选“Ku波段LNB SDR”扫描链路直接拿SDR去收10.7GHz是不现实的。我手头的SDR最高也就覆盖到2GHz左右就算有频谱仪动辄几万块的价格也不是个人项目能随便上的。所以必须用下变频的思路先让Ku波段LNB把10.7GHz到12.7GHz的信号整体搬移到1GHz左右的中频再由SDR采样分析。这个“搬移”靠的是LNB内部的本振LO和混频器属于卫星电视行业无比成熟的方案。举个例子一只本振频率为9.75GHz的通用型Ku波段LNB输入10.7GHz到11.7GHz的信号输出就是950MHz到1950MHz的中频。这个中频范围刚好落在常见SDR的接收区间内后面所有信号处理都变得轻松。链路结构如下Ku波段天线馈源 → LNB下变频 → 偏置T → SDR → 单板电脑/迷你主机 → 屏幕显示整条链路的成本大头不是LNB反而是SDR和屏幕。LNB可能只占十分之一的预算但它决定了整个系统的灵敏度和频率准确性这部分钱真不建议省。2.3 偏置供电与LNB本振选择新手做这个项目最容易摔的跟头就是供电。卫星电视LNB不是靠独立电源工作的它由卫星接收机通过同轴电缆提供直流电电压一般是13V或18V。这个“电压通过同轴叠加在射频信号上”的装置叫偏置T。LNB内部会通过隔直电容把直流和射频信号分开所以供电和信号传输可以用同一根同轴完成。我在设备里用了一块两串锂电7.4V再升压到18V经过偏置T注入同轴给LNB供电。这里的电压档位值得注意一部分LNB在13V和18V下工作状态不同有的会切换本振有的会切换极化方向。为了稳妥我直接选18V档把LNB固定在同一个工作状态。本振选择上如果你想让探测范围覆盖到12GHz以上最好选双本振或多本振的LNB用控制线切换高频段本振。如果条件有限单本振9.75GHz也够用因为星链的大量信号集中在10.7到11.7GHz这个区间正好落在950到1950MHz中频范围。2.4 SDR选型不是越贵越好SDR是整台三录仪的大脑入口选型时主要看三个参数频率范围、瞬时带宽、动态范围。频率范围要求很简单至少要能覆盖LNB输出的中频。如果LNB用9.75GHz本振输出是950到1950MHz那SDR最好支持到2GHz。我最后选择了SDRplay RSP1A它从1kHz一直覆盖到2GHz刚好完整吃下这段中频动态范围和噪声表现都够用。预算更紧的话用支持直采模式到1.7GHz的RTL-SDR V4也行只是高频段中频会损失一小部分很多时候并不影响实际探测。瞬时带宽决定了你一次性能看多宽的频谱。星链卫星过境时频率会随着多普勒效应滑动如果你能同时看到的频谱太窄就容易跟丢目标。我建议至少要有2MHz以上的实时带宽配合瀑布图使用才有足够时间观察到特征斜线。3. 从零开始组装硬件与软件3.1 机箱结构与内部布局整机外壳我用3D打印做了两版。第一版纯粹追求小体积把所有部件密排在一起结果SDR干扰严重屏幕上全是杂散信号。第二版痛定思痛把内部空间改成三个隔离仓射频仓放LNB和偏置T数字仓放单板电脑和SDR电源仓放电池和升降压模块。仓与仓之间用铝箔胶带做了简易屏蔽效果立竿见影底噪下降了差不多6dB。内部布局有一点经验值得说一下射频线缆一定要短而且不要贴着电源线走。SDR天线口到偏置T之间的连接我用了半钢性同轴线既是连接线又能定型还能顺便把射频路径固定在远离电源模块的位置。3D打印壳子的设计文件我改过好几轮。关键位置包括前面板开一个能让LNB馈源伸出去的口侧面板留出SDR的USB口和充电口顶部放一个按键和蜂鸣器。这个布局看着简单但能保证单手操作时另一只手不会挡住馈源。3.2 电源系统整机续航的核心三录仪的电源拓扑是这样的电池三节18650锂电串联标称11.1V容量大概2800mAhLNB供电从电池直接取电经DC-DC升压到18V再进偏置TSDR供电从电池降压到5V用单独的LDO稳压防止射频干扰串进去单板电脑供电同样5V但走独立支路避免SDR启动瞬间拉低电压导致重启。这个分工很重要。我第一次做的时候把所有模块都挂在同一个5V稳压器上一接LNBSDR屏幕就开始闪烁后来才发现是LNB供电瞬间电流过大把整个5V母线拉垮了。分开供电之后问题彻底消失。续航方面整机功耗大概在8到10瓦之间充满电可以连续工作三小时左右。如果只是间歇性外出探测撑一天完全没问题。3.3 软件栈搭建从系统到SDR控制我用的是一台预装Linux系统的单板电脑系统是Ubuntu Server版没有装桌面环境只跑一个精简的窗口管理器来承载SDR软件。软件栈分三层驱动层SDRplay的官方驱动和SoapySDR接口层负责让系统识别设备核心软件GQRX用来做频谱显示和瀑布图另外跑了一个自己写的Python脚本负责检测特征展示层设备自带的7英寸触摸屏显示GQRX的瀑布图界面以及检测脚本输出的报警提示。如果你用的不是SDRplay而是RTL-SDR那驱动更简单绝大多数Linux发行版都内置了驱动插上就能用。核心安装命令大致是sudo apt update sudo apt install gqrx-sdr soapysdr-module-sdrplayGQRX装好后需要手动把设备频率设置为LNB输出中频。比如目标卫星信号在11.2GHzLNB本振是9.75GHz那SDR就要调谐到1450MHz频谱上看到的信号就是真实频率减去本振频率后的结果。3.4 显示界面在野外必须“一眼看懂”传统SDR软件是为电脑桌面设计的字体小、按钮密在户外强光下根本看不清。我用的是7英寸触摸屏然后把GQRX的界面做了深度定制把频谱和瀑布图放大到全屏隐藏大部分菜单只保留调谐频率、增益和带宽三个关键参数。屏幕亮度和电池功耗是矛和盾。GPS定位和屏幕背光都是耗电大户我在软件里加了自动亮度控制白天强光下直接拉满夜晚或者阴天自动降到30%这么一改整机续航提升了不少。检测脚本的结果也不走复杂GUI直接在屏幕顶部用大号数字显示“检测到目标”和当前频点、信号强度。这种极简页面反而让户外判断速度快了很多。4. 识别算法让三录仪认出星链4.1 多普勒频移原理与计算卫星低轨运行速度非常快星链卫星大约7.5公里每秒。这么高的速度会导致接收频率发生明显偏移这就是多普勒频移。公式很简单Δf f_tx × v_r / c其中f_tx是卫星发射频率v_r是卫星相对接收机的径向速度c是光速。当卫星朝你飞来时接收频率偏高当卫星从你头顶飞过并远去时接收频率偏低。拿11.2GHz的发射频率举个例子如果卫星径向速度是2000米每秒那多普勒频移大约是Δf 11.2 × 10^9 × 2000 / 3 × 10^8 ≈ 74.6kHz这个频移量在SDR的实时频谱上非常明显。正因为有这段可以量化的频率滑动我们才能把“星链卫星”和地面固定信号清晰区分开。4.2 瀑布图上的“斜线”特征在GQRX的瀑布图上卫星信号会呈现出一条从高频向低频滑动的曲线。具体走向取决于卫星从哪个方向来、往哪个方向去。如果卫星从你前方过顶它会先以接近速度飞向你接收频率高于真实频率过顶那一刻径向速度为零频率回到标称值随后卫星远离接收频率渐渐低于标称值。整个过程在瀑布图上就是一条从高到低、中间略微弯曲的斜线。当然星链的信号不是连续载波它有很多突发成分所以瀑布图上看到的往往不是一根完整细线而是一串短促的“亮斑”但整体滑动趋势仍然能看出来。这串亮斑正是我的检测脚本要抓的核心特征。4.3 三层阈值判断避免误报地面微波链路、气象雷达、WiFi信号甚至一些汽车雷达都可能在相近频段产生干扰。为了避免误报我写了三层判断逻辑能量阈值信号峰值必须高于当前底噪至少6dB太弱的一律忽略形态特征在2秒到20秒的时间窗口内信号频率需要表现出连续滑动趋势而不是固定在一根直线上运动规律滑动方向必须符合卫星过境的物理规律也就是频率随时间单调变化且变化速率不能超过卫星多普勒的理论范围。只有三层判断全部满足设备才判定为“星链目标”触发屏幕提示和蜂鸣器。这个逻辑写起来不复杂但对减少野外误报帮助很大。4.4 屏幕提示逻辑让探测结果有反馈当检测脚本判定目标出现后屏幕上会切换到“侦察页面”显示四组信息当前探测到的中频频点、换算后的真实射频频率、估测的信号强度、以及近几秒的多普勒频移量。同时蜂鸣器会发出一短一长两下提示音方便不盯屏幕时也能知道。这个提示逻辑我调了很多版。最开始只要有信号就响结果户外风噪都能触发误报。后来把判断窗口拉长到5秒只有持续出现的滑动信号才触发声音提醒误报率大幅下降。5. 实测结果与踩坑记录5.1 第一次野外实测记录第一次正式测试我选了一个多云傍晚地点是远离市区的小山坡电磁环境干净。开机后我先让设备扫了30秒确认底噪水平正常。然后GQRX显示1450MHz附近时有个信号从频谱里冒出来峰值超过底噪约8dB。我盯着瀑布图看它的位置不是固定不动的而是缓缓向低频滑动。当时监控脚本显示频率在20秒内偏移了大约90kHz滑动曲线非常平滑方向也是单向的。这个特征明显符合低轨卫星过境的物理规律。我切到换算频率界面实际信号大概在11.2GHz左右持续了约15秒后消失。整个过程没有用任何轨道预报数据完全是“设备自己发现目标”的体验。第一次真正看到屏幕上出现那条斜线时说实话还挺兴奋。也正因为这次实测我确信这套便携探测思路是成立的。5.2 典型问题排查记录现象可能原因处理办法屏幕上完全看不到信号LNB没供电或偏置T没接对检查偏置T接线以及升压模块输出电压是否正常信号时有时无且不连续LNB本振漂移或接触不良用已知卫星电视信号校准紧固射频接头底噪异常高频谱全是杂波数字电路干扰射频段检查内部屏蔽隔仓缩短射频线缆长度识别脚本频繁误报检测阈值过低提高能量阈值延长滑动形态判断窗口屏幕闪烁或SDR反复断开电源供电不足将SDR和单板电脑分开供电并用LDO稳压户外温度低时灵敏度下降LNB工作温度范围问题提前开机预热15分钟或用保温材料包住LNB5.3 避坑心得这些错误我替你踩过了这条项目里我踩过最大的坑是在室内测试。星链的用户下行波束是朝地面打的理论上室内应该能收到但建筑墙体对10GHz以上信号的衰减非常大再加上窗框、金属门窗的反射室内的信号强度可能比室外低20dB以上。我最初在公寓里测了整整两天什么都没看到差点怀疑是设备问题。后来拿到楼顶一测信号密密麻麻才知道问题根本不在设备上。另一个坑是LNB温度漂移。LNB通电后会发热本振频率会随温度缓慢变化导致整个中频偏移。我第一次长时间测试时凌晨温度低信号显示频率比傍晚偏了差不多100kHz。解决方法是提前预热或者用卫星电视的已知信号做一次频率校准。还有一个小技巧给LNB套一个防水透气的保护罩避免露水直接落在馈源上。野外实测时馈源表面一旦结露信号强度会瞬间掉到噪声里看起来就像卫星消失了一样。6. 后续升级方向与个人建议6.1 这台三录仪还能怎么扩展整套系统做完之后升级空间其实很大。最直接的一步是加GPS模块。有了位置和精确时间配合TLE轨道数据设备就可以在探测到信号时自动预测出“这是哪颗卫星过境”并且估算它的轨道编号。这个升级能让三录仪从“探测存在”变成“识别身份”。再把视野放大一点可以在外壳上加一个微型光学相机用广角镜头拍下天空当射频通道检测到信号时自动在图像中标出方位角和高低角。这样你举起设备就能同时看到“屏幕上的天空位置”和“实测的卫星信号”体验非常接近科幻片里的三录仪了。如果你对信号分析更感兴趣还可以把后端的SDR替换为一台支持更高采样率的高性能设备结合开源软件做实时频谱记录记录每一次过境的完整数据长期积累下来还能分析不同时间段、不同区域的星链信号密度变化。6.2 我的最终体会做这个项目最深的感受是卫星探测并没有想象中那么高不可攀。过去新闻里看到的“监听卫星”好像非得有大型抛物面天线和高性能接收机才能玩但事实证明一套百元级LNB加一台几百元的SDR配合一个几百行的识别脚本就足以把星链卫星的过境信号变成屏幕上一条清晰可读的曲线。站在个人角度我更建议新手不要一上来就追求功能齐全。先把手持探测链路跑通确认能在户外看到信号再逐步加上识别、显示、报警这些功能。每一次功能叠加都会带来新的经验和新的坑那种“自己做出设备并亲眼看到卫星过境”的成就感比任何教程都更能推动你走完整个项目。如果你也想做一台属于自己的“卫星三录仪”现在就可以从一套LNB加SDR开始动手了。