SDR 工作台

离线 · 单文件 · 零依赖
设备
操控台
频谱回放
扫描汇总
ADS-B 解码
IQ / FFT
FM 解调
录音回放
天线计算
验收记录

设备状态

连接未检测 设备— 调谐器—

选台与录音

录完会自动载入「录音回放」页,可以直接看波形、做离线转写。

两条路

这里:点一下录一段 → 回到工作台分析。
完整操控台:实时频谱、边听边调、ADS-B 解码。
打开 8848 操控台 →

直连设备(WebUSB)

不经过任何服务器:浏览器直接读 USB。 需 Chrome / Edge,Windows 还要先用 Zadig 把驱动换成 WinUSB(一次性)。
— MHz
扫频会让设备逐点调谐,约 1–3 秒
未连接
未连接
设备接口走同源代理 /dev/api/*; 直接用 file:// 打开本页时不可用(浏览器禁止跨源), 需从 http://127.0.0.1:8000/sdr_studio.html 进入。
未连接 操控台直接跑在 WebUSB 上,不需要本机服务
完整操控台,整页已内嵌。现在它直接跑在 WebUSB 上—— 先在「设备」页连上 SDR,这页的频谱 / 收听 / 收藏就都能用,不需要本机服务。
已知限制:它的「录音」和「ADS-B」两个接口暂时没接到 WebUSB,点了会提示不支持; 那两项请用「设备」页(录 5 秒 / ADS-B 1090)。

频谱

瀑布(0 帧)

读数

频率— 功率— 峰值— 底噪— 跨度— bin 数—

视图

峰值(自动检测)

—
把 rtl_power 的 .csv 拖到这里
或点此选择文件
内置样例来自本机实测(144–148 MHz,8 个扫频时刻),不联网。
边界:实时采集需要本地驱动(RTL-SDR 的 WinUSB + rtl_power),浏览器拿不到 USB 设备。 本页覆盖采集之后的全部环节——可视化、解码、定位、计算、验收,全部在本文件内完成。

频段占用总览(0 份扫频)

横轴为频率(MHz),每条是一份 rtl_power 采集;条内小柱是该段的占用轮廓(每桶取最大值), 亮度按「峰值 − 底噪」归一。

明细

时刻帧×频段 MHz点数 峰值 MHz/dB底噪余量

原始 hex 帧(每行一条,可粘贴或拖入 .txt)

#DFICAO呼号TC 高度地速航迹CRC说明

轨迹(局部 CPR,参考点定解)

位置帧0 轨迹点0 路径— 全局解— 自检 Δ—
为什么帧数 ≠ 报文数
解析后显示

频谱(对原始 IQ 做 FFT)

瀑布(0 帧)

参数

峰值频偏—
峰值—
拖入 .cu8 / .iq / .raw
(uint8 交织 I/Q)
或点此选择
内置:本机实录 96.9 MHz 的 16384 个复样点。

解调后波形

解调后频谱(自检看主峰)

拖入 .cu8,或先点右侧「合成示例」

链路

cu8 → 去均值归一 → 相位差分解调 atan2 → 滑动平均抽值 → 去加重(50 µs) → 归一 → 播放
dB
拖入 .cu8 / .iq
(uint8 交织 I/Q)
时长— 峰值— RMS— 解调耗时—

波形

拖入 .wav 或选择文件

频谱(选中窗)

时长— 采样率— 峰值— RMS—
拖入 .wav
或点此选择

语音转文字 · 未加载字幕

播放录音时会按时间高亮当前句。可导入 .srt / .json 字幕,或点「实时转写」用麦克风边听边出字。
浏览器内离线实时识别需要几十 MB 模型;实时用麦克风(Chrome + 联网),离线用导入字幕。

单项计算

λ = C/f(不乘 VF);quarter / half_leg / five_eighth 乘 VF; min_height = λ/4、opt_height = λ/2 不乘 VF。C = 299792458。

与规范 §9 样点表逐格比对(24 格)

频率λquarterhalf_leg five_eighthmin_hopt_h结论

本轮验收

判据39
失败0
跳过0
票面用时05:40:59
票面横幅与磁盘逐位一致(票自带 ui_server / ui/index.html / docs 三个 sha)。

冻结清单(6/6)

文件sha256 前 16字节行

这轮的关键数字

2.4 MHz 成帧59 / 59 1.2 MHz 成帧1 / 58 1.2 MHz 缺数据30.8% 1.2 MHz 丢弃57 圈 16 格杆长111/77/64/19 画布 PNG 一致性16/16 逐字节

已知缺口

① surface 真机坐标未验(数据源缺)
② NaN 根因未定论
③ 620 宽 #adsbHint 仅余 2.14 px
④ adsb 产物无时间列,下游需适配

39 条判据(脚本自述)

#判据
标题抽自 scripts/selftest.py 各判据的 docstring;无 docstring 的回退到函数名。