打印
[N32G45x]

一阶互补滤波

[复制链接]
602|51
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sdlls|  楼主 | 2025-5-29 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void DEVICE_INFO::TX_updata()

{


//使用一阶互补滤波算法

static u16 bre_i=0;

static u16 bre_ii=0;

static u16 bre_v=0;

static u16 bre_vv=0;


u16 adci,adcv;

unsigned char r_buff[33];

//TX电流

adci=Get_Adc_Average(ADC_CH11,10); //此处有10次平均滤波

adci=(adci*3300)/4096;


//TX_electricity=adci;

//电压

adcv=Get_Adc_Average(ADC_CH10,10);

adcv=(adcv*3300)/4096;


//TX_voltage=adcv;


//说明一下 0.92和0.08是权值 ,0.000001是处理周期,我这里处理比较快,单位是s


TX_electricity=0.92*(TX_electricity-bre_i*0.000001)+0.08*bre_ii;

TX_voltage=0.92*(TX_voltage-bre_v*0.000001)+0.08*bre_vv;


bre_ii=bre_i; //保存上次值

bre_i=adci; //保存本次值


bre_vv=bre_v;

bre_v=adcv; //保存本次值


}


使用特权

评论回复
沙发
suncat0504| | 2025-5-29 21:52 | 只看该作者
一阶互补滤波是用在什么场合的?

使用特权

评论回复
板凳
1988020566| | 2025-6-4 08:44 | 只看该作者
合理设置滤波器的初始状态,以避免启动时的瞬态效应。

使用特权

评论回复
地板
geraldbetty| | 2025-6-4 10:39 | 只看该作者
若数据范围大,可采用定点运算或多次移位截断。

使用特权

评论回复
5
rosemoore| | 2025-6-4 11:36 | 只看该作者
在嵌入式系统中,代码的执行效率非常重要。可以通过优化代码结构、减少不必要的计算来提高滤波器的实时性。

使用特权

评论回复
6
updownq| | 2025-6-4 12:45 | 只看该作者
偏差累积、抖动过大或响应滞后。              

使用特权

评论回复
7
wilhelmina2| | 2025-6-4 14:14 | 只看该作者
采样率过低会导致滤波性能下降,需根据应用场景选择合适速率。

使用特权

评论回复
8
janewood| | 2025-6-4 16:01 | 只看该作者
在整数运算中,检查溢出和下溢情况,确保数值稳定性。

使用特权

评论回复
9
pmp| | 2025-6-5 11:01 | 只看该作者
传感器噪声抑制​​:如加速度计、陀螺仪的高频噪声。
​​信号平滑​​:去除随机抖动,保留有效信号趋势。

使用特权

评论回复
10
sanfuzi| | 2025-6-5 12:47 | 只看该作者
τ 较大:滤波更平滑,动态响应慢,适合稳态场景。
τ 较小:动态响应快,但可能引入高频噪声,适合快速运动场景。

使用特权

评论回复
11
abotomson| | 2025-6-5 14:31 | 只看该作者
采样频率应足够高,以捕捉快速变化的信号。较高的采样频率可以提高滤波器的响应速度,但也会增加计算负担。

使用特权

评论回复
12
backlugin| | 2025-6-5 16:34 | 只看该作者
长时间迭代可能因浮点精度误差累积导致漂移

使用特权

评论回复
13
sdlls|  楼主 | 2025-6-5 18:47 | 只看该作者
互补滤波是将加速度计和陀螺仪的数据进行融合,以获得更准确的角度。加速度计在静止时较为准确,而陀螺仪在动态时较为准确。

使用特权

评论回复
14
uptown| | 2025-6-5 20:48 | 只看该作者
优化算法以提高计算效率,确保滤波器能够在实时系统中快速响应。

使用特权

评论回复
15
macpherson| | 2025-6-5 22:49 | 只看该作者
需紧密结合传感器特性、采样周期及应用场景。

使用特权

评论回复
16
gygp| | 2025-6-6 08:54 | 只看该作者
在进行互补滤波之前,需要对传感器数据进行预处理,包括量程转换、零偏校正等。
零偏校正可以通过在系统启动时采集一段时间的静止数据,计算平均值作为零偏值,并在后续数据处理中减去该值。

使用特权

评论回复
17
uptown| | 2025-6-6 10:48 | 只看该作者
滤波输入为最新数据,避免因数据延迟导致滤波失效。

使用特权

评论回复
18
zerorobert| | 2025-6-6 12:42 | 只看该作者
实现基础滤波代码,加入边界保护。

使用特权

评论回复
19
eefas| | 2025-6-6 14:28 | 只看该作者
虽然一阶互补滤波算法相对简单,但在资源受限的嵌入式系统中,仍需注意其实时性能。优化代码结构,减少不必要的计算开销,确保算法能够在规定时间内完成执行。

使用特权

评论回复
20
latera| | 2025-6-7 10:57 | 只看该作者
一阶滤波,只能简单滤掉高频

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

5107

帖子

1

粉丝