114、飞控中的数字信号处理基础
飞控中的数字信号处理基础一次炸机引发的思考去年调试一架四轴,悬停时电机偶尔出现“打嗝”现象——转速突然抖动一下,机身跟着晃。示波器抓PWM波形,发现控制信号上叠加了高频毛刺。当时第一反应是电调响应问题,换了三个品牌无果。最后用逻辑分析仪看IMU数据流,才发现加速度计输出在某个频率点出现了周期性尖峰。这不是硬件故障,是数字信号处理没做好——采样噪声混叠进了控制环路。那次之后我花了整整一周重写滤波器部分。飞控里数字信号处理不是选修课,是保命技能。采样定理:为什么你的IMU数据总在“说谎”飞控里最常见的坑:IMU输出频率是1kHz,你以400Hz跑控制循环,觉得够快了。但加速度计内部可能以3.2kHz采样,然后降采样到1kHz输出。如果你不关心这个降采样过程,混叠噪声就会悄悄溜进来。奈奎斯特定理说采样频率必须大于信号最高频率的两倍。但实际工程中,我习惯留3-5倍余量。比如电机振动基频通常在200-400Hz,加上谐波可能到1kHz以上。IMU采样率至少设到2kHz,控制循环跑500Hz以上。有个血泪教训:某次用SPI读取MPU9250,配置了内部低通滤波器但截止频率设得太高(256Hz),电机振动的高频分量通过混叠变成了几十赫兹的假信号,飞控以为姿态在晃动,拼命修正,结果越修越晃。后来把低通截止降到42Hz,问题消失。代码里这样写(别踩坑):// 配置MP