- 博客(161)
- 资源 (2)
- 收藏
- 关注
原创 从零实践 LPC 语音编码:一段 WAV 如何变成 18 字节一帧,又能被听回来
这是一篇"动手型"文章。所有结论都来自对一段真实hello.wav的实际编码、解码与听感验证,配套脚本均可复现。读完你会对"线性预测编码(LPC)到底是什么、残差为什么是灵魂、CEL中为什么比朴素 LPC 自然"有确切的体感,而不是停留在公式。
2026-10-11 22:04:02
258
原创 手写一个 LPC 语音 Codec:从一帧真实音频看编码到解码的全过程
本文不堆公式,而是取一段真实录音里的 9 个采样,一步一步把 LPC 语音编码器的每一个中间结果都算出来,再原样解回去。你会发现:LPC 本身是一个无损的可逆变换,真正产生"压缩"和"失真"的,是最后那一步对残差做 4 bit 粗量化。全文数据前后完全一致,可直接复算。
2026-10-07 21:46:53
219
原创 水平速度指令的偏航坐标变换:从欧拉角到机身速度参考
在飞行器/移动平台控制中,制导(Guidance)给出的水平速度指令通常是相对地面(北/东)的;而内环控制器是按机身轴(前/侧)工作的。因此需要一步坐标变换:利用平台当前航向角ψ,把地面坐标系下的水平速度指令"翻译"成机身坐标系下的速度参考V_Obar,供后续内环跟踪。世界里的物理速度并未改变,改变的只是描述它的坐标系。输入:航向角ψ(绕垂直轴的偏航角)、地面系水平速度指令u_cmdv_cmd输出:机身系水平速度参考Vy_body]功能:把地面坐标系下的水平速度指令用航向角ψ变换到机身坐标系,得到。
2026-09-18 20:51:27
112
原创 AI 能造出更接近香农极限的译码器吗?
AI 能做出更接近香农极限的译码器,但空间只有约 0.5 dB —— 剩下的 0.17 dB 是有限码长的数学下限,谁也拿不走。在主战场(AWGN + 中长码)上,AI 目前还没打赢经典译码器,面前有五座大山:组合爆炸、SNR 过拟合、长码泛化、缺乏保证、算力功耗。真正的机会在别处:短码块、非高斯/未知信道、整条接收链的联合优化 —— 以及最务实的:用 AI 离线设计更好的码,终端一行代码都不用改。而最关键的一点是:译码器在接收端,不需要标准化。
2026-09-05 22:08:32
211
原创 从比特到电波:一篇讲透 5G 信道编码的长文
容量 = 这条信道在"几乎不出错"的前提下,每秒最多能塞进去多少比特。就像公路限速。超过限速不是"开得慢",是必然出车祸。香农在 1948 年画了一条线,说"线下面肯定有路",然后全人类找了 60 年。Arıkan 在 2008 年找到了一条 —— 不是设计更复杂的码,而是让信道自己分化成两极,只在好的那半边放数据。而支撑这一切的,是一个叫 LLR 的实数:它不只说"这一位是 0 还是 1",还说"我有多大把握"。接收机里所有的智能,都建立在这份额外的信息上。
2026-09-04 21:46:50
232
原创 旋翼滞后补偿中拉普拉斯变换的输入输出分析
针对多旋翼飞行控制中旋翼(电机—螺旋桨)响应滞后侵蚀速率回路相位裕度的问题,阐明超前补偿器的设计机理,并厘清拉普拉斯变换在该环节中输入输出的双重含义。
2026-08-28 22:27:46
253
1
原创 无人机垂直通道卡尔曼滤波器:从状态空间模型到六传感器融合的数值实例
本文以某无人机飞控(FCS)惯性导航状态估计器中的为对象,系统阐述其卡尔曼滤波(EKF)的数学原理与具体实现。文章从连续时间运动方程出发,经前向欧拉离散化得到系统矩阵A与输入矩阵B;随后给出预测(Predict)与修正(Correct)两步的完整方程,并以一组 6 路传感器(GNSS 速度/高度、声呐、气压计、VIO 速度/位置)的真实结构为例,代入具体数值逐步计算出新息、新息协方差、卡尔曼增益与修正后的状态与协方差,最后讨论了信任权重、偏置可观测性与协方差收缩等工程要点。
2026-08-23 19:40:17
354
1
原创 802.11 前导码与 STF 深度解析(含检测算法与 5G 对比
一份面向软件无线电 / GNU Radio 实操的学习笔记。所有示例尽量给出具体数字,便于复现与发布。配套代码以(OFDM WiFi 解码 OOT 模块)与 HackRF 抓包为背景。
2026-08-18 22:17:11
295
原创 从一张 9×9 小图到一个光流公式:用具体数据吃透“梯度 → 角点 → 光流
光流吃的是梯度;梯度靠 Sobel(中心差分 + 竖直平滑)算;光流挑角点(两方向梯度都强)来跟踪;公式是"亮度恒定"假设的泰勒展开结果;它欠定,靠 LK 的"局部运动一致"或 HS 的"流场平滑"补全。而那个贯穿全篇的孤立亮点正是光流最坏的输入——峰值Ix=0解不出,稠密法直接归零。真实图像满是多方向梯度的纹理,光流才真正 work。
2026-08-16 19:42:11
206
原创 用 HackRF + GNU Radio 制作 FM 发射机:从 WAV 到 103 MHz 空中信号
本文记录如何用一块 HackRF One/Pro 配合 GNU Radio,把一个普通 WAV 音频文件调制成标准 FM 广播信号并发射到空中(默认 103 MHz),用普通收音机即可接收。文章给出完整可运行的流图fm_tx.grc,并重点讲清三件事:(1) FM 调制与卡森带宽准则,为什么quad_rate必须是audio_rate的整数倍;的内部插值(×5)与预加重(tau=75 µs(3)SoapySDR 下 HackRF 在 1 MHz 采样率发射会触发 TIMEOUT bug。
2026-08-15 19:50:48
333
原创 用 HackRF + GNU Radio 抓取并解析 5 GHz Wi‑Fi 帧:从理论到 pcap 落地
本文记录如何用一块廉价的 SDR 收发器(HackRF One/Pro)配合 GNU Radio 与开源 OOT 模块,在不依赖商用网卡的前提下,被动嗅探 5 GHz Wi‑Fi 帧,并将解码结果落地为 Wireshark 可直接打开的 radiotap pcap 文件。文章覆盖三块内容:(1) 为什么 2.4 GHz 抓不到 Beacon 帧(802.11b DSSS/CCK 不被该模块支持),而必须转到 5 GHz;
2026-08-14 23:34:04
287
原创 从电磁波到比特:用具体数字读懂 FM 与 WiFi 的 IQ 解调
软件定义无线电(SDR)最常见的困惑是:明明天线收到了信号,为什么还要额外的"解码器"才能听懂?FM 发射端如何把音频变成电磁波(调制);接收端如何把 IQ 样本变回声波(解调、PCM);WiFi 的 beacon 为何能被"听"出来,以及它和 FM 的本质异同;一个 IQ 点(0.8, 0.2)在 BPSK 与 16-QAM 下为何解出完全不同的比特;5G 为何是同一套思想的翻版;HackRF 是"哑"的,它只产 IQ,从不解析协议。
2026-08-13 21:20:07
217
原创 用 GNU Radio + HackRF 从零造一个 FM 收音机:原理与源码解析
天线 → HackRF(下变频+采样) → 降采样 → FM解调 → 声卡└────────→ 频谱显示(旁路)块作用关键参数variable全局采样率(freq)调频滑块88–108 MHz,步长 0.1,单位 MHz信号源(HackRF)降采样FM 解调audio_sink声卡输出48 000 Hz频谱/瀑布显示调频(Frequency Modulation):发射端让载波的瞬时频率随音频信号变化。频率高一点表示声音正半周,低一点表示负半周。把瞬时频率还原成音频。
2026-08-12 22:18:12
241
原创 相机标定实践:从生成棋盘格到拿到真实内参
关键词:相机标定、内参矩阵 K、畸变系数、棋盘格、重投影误差本文手把手带你完成一次可用的相机标定:没有实体棋盘格也能用脚本现生成一个,然后用 OpenCV 标准流程标定,最后读懂K和畸变系数、并把它接到你的视觉任务里。所有脚本与命令均在本机(Python 3.10 + OpenCV 4.5.4)验证通过。
2026-08-09 22:06:05
214
原创 用 AprilTag 做视觉定位:从生成标签到解算位姿(实践指南)
做标志物(fiducial marker)检测时,最常见的两个选择是ArUco和AprilTagArUco:OpenCV 自带cv2.aruco模块,开箱即用,但它是 OpenCV 自己的码表(DICT_4X4_50 等),图案体系独立。AprilTag:由 APRIL Robotics Lab(密歇根大学 Edwin Olson 组)发布,码字公开固定,任何兼容 AprilTag 的检测器全球都能识别同一张图,在机器人/无人机圈事实标准。重要坑。
2026-08-09 20:39:27
381
原创 飞控里的“当前高度“是怎么融合出来的
关键词:飞控 / 状态估计 / 卡尔曼滤波 / 气压计 / GNSS / 气压高度公式做飞控或看飞行日志时,我们经常关注一个量:飞机"当前高度"。但这个数字并不是某个传感器直接读出来的,而是多个传感器出来的。本文以我们项目里的(状态估计器)为例,拆开看看这个高度到底是怎么算出来的。
2026-08-02 21:24:22
185
原创 ROS2 双目摄像头采集节点实战指南
真实双目支持: 同时采集两个独立摄像头的图像模拟模式: 单摄像头模拟双目(用于算法测试)V4L2 后端: 绕过 GStreamer 兼容性问题自动参数调优: 通过 v4l2-ctl 自动设置曝光/增益/亮度CLAHE 增强: 自适应对比度增强,改善低质量图像标准话题发布: 兼容等下游处理多摄像头兼容性: 通过 V4L2 后端绕过 GStreamer 问题图像质量问题: 使用 v4l2-ctl 参数调优 + CLAHE 增强标准化输出。
2026-08-02 15:15:49
229
原创 记录matlab状态机demo
手写 .m 状态机 → Stateflow 建 .slx 图 → slbuild 生成 C → main.c 驱动 → 编译运行路线工具适合手写.mMATLAB逻辑简单、想直接读代码.m从脚本直接出 C,轻量.slx图形化、复杂状态、要产品级代码可以继续玩的把state输出加回.slx,让main.c直接打印 0/1用 Embedded Coder(ert.tlc)生成产品级代码,对比 GRT 的差异扩展状态机:加"投币后超时自动回锁"、加子状态/并行状态。
2026-07-31 22:57:56
272
原创 记录ssh远程查看对端的摄像头显示
可以先用xeyes先验证下x11 forward是否通。mobalXterm勾选X11-Forwarding。ssh 连接远端ubuntu22.04笔记本。实测cheese只会在对端打开。
2026-07-12 15:19:50
211
原创 记录ubuntu22.04安装ROS2环境
确保系统支持UTF-8编码,并开启universe软件源。bashS 2软件源这一步是向系统添加ROS 2官方软件仓库的地址和密钥,让apt能找到安装包。
2026-07-12 14:43:27
266
原创 记录vscode连接matlab启动环境搭建
cd 到C:\Program Files\MATLAB\R2021b\extern\engines\python。安装python3.9版本对应matlab2021a。vscode 安装插件。
2026-07-11 20:17:22
369
原创 记录simulink无人机开源代码
│ FMT Base INS 算法框架 ││ ││ │ 传感器预处理层 │ ││ │ │校准 │ │校准 │ │解析 │ │换算 │ │倾角补偿 │ │Flow │ │ │ ││ │ 融合估计层 │ ││ │ │ ││ │ │ (AHRS - 姿态解算) │ │ (CF - 位置/速度估计) │ │ ││ │ │ Correct 阶段: │ │ ┌─ Horizontal_Filter │ │ │。
2026-07-11 11:58:11
201
原创 记录simulink与无人机的模型
**Gyro_Bias_Correction** | 710 | `att_B_correction` + IMU_Data | `bias_g_B_correction` | **陀螺零偏估计**:利用校正后的姿态和原始陀螺数据,在线估计陀螺零偏漂移,并进行 Saturation 限幅保护 || **Sum2** | 965 | `att_B_correction` + `bias_g` | 补偿后角速度 | 将校正后的偏置与当前零偏估计相加得到最终角速度补偿量 |
2026-07-11 11:57:24
256
原创 记录无人机的compass
这里计算heading 需要把飞机扶正再计算。:从DCM提取横滚和俯仰(知道飞机歪了多少):用横滚/俯仰把歪的磁场向量"扶正"到水平面。//// drain_ 累积多次后排空。:从磁力计读取当前机体坐标系下的磁场向量。可以从地面站看下用的哪些compass。:用水平面内的磁场方向算出航向角。:加上磁偏角,得到地理航向。////先累积多次样本。
2026-07-05 21:45:54
61
原创 mavlink_V1
"""多字节CRC累加, 等价于C: crc_accumulate_buffer(&crcAccum, buf, len)""""""计算CRC, 等价于C: crc_calculate(buf, len), init=0xFFFF""""""单字节CRC累加, 等价于C: crc_accumulate(data, &crcAccum)""""""打包 MAVLink 1.0 COMMAND_LONG 消息""""""打包 MAVLink 1.0 消息帧""""""MAVLink 1.0 消息解析器"""
2026-06-30 19:48:00
213
原创 记录无人机RBG灯的意思
是一个宏,用于生成一个32位整数。这个整数被划分成10个“帧”,每一帧占用3个位(bit),用来编码一个颜色值。YELLOW就是一个预定义的颜色常量,它被定义为的组合(因为黄色就是由红和绿混合而成的)。
2026-06-29 22:51:16
225
原创 记录无人机油门行程校准
如果要直接进去校准 可以修改配置ESC_CALIBRATION,0 改为1。开机检测油门是否大于阈值 950 【归一化范围-1000 到 1000】重新上电后因为配置已经更新为1。
2026-06-28 23:02:31
211
Channel-Polarization-A-Method-for-Constructing-Capacity-Achievin
2023-05-27
MySpaceApk
2017-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅