[STM32G4] STM32G4 滑窗滤波

[复制链接]
1032|13
 楼主| probedog 发表于 2023-9-12 15:23 | 显示全部楼层 |阅读模式
定时器定时采样,中断函数处理滑窗的时间超过了定时器的时间。

1 for(i=0;i<512-1;i++){ADC1_SLID1[0][i]=ADC1_SLID1[0][i+1];} ADC1_SLID1[0][512-1]=ADC1_DMA[0]-2047.f;

2 memmove(ADC1_SLID1[0],ADC1_SLID1[0]+1,(512-1)*sizeof(float)); ADC1_SLID1[0][512-1]=ADC1_DMA[0]-2047.f;

这2个的运行时间差别不大。请问:DSP库中有类似的函数么?可以缩短时间。地址大部分是重叠的。

评论

xch
大多数情况下可以忽略影响  发表于 2023-9-12 19:47
xch
DMA操作不影响MCU继续运算。可以并发。  发表于 2023-9-12 19:46
xch
用DMA操作快。  发表于 2023-9-12 19:37
sjnh 发表于 2023-9-12 16:00 | 显示全部楼层
数组存储不挨个移动,用一个整数做下标,从0存到511然后再存0这样循环,每次“累加值”先减去下标指向的数值,再将新采集的数存入这个位置,“累加值”加上新存入的数,然后下标增加到下一个位置;
这样只做2次加减  + 下标的操作
AloneKaven 发表于 2023-9-12 22:31 | 显示全部楼层
这个滤波效果怎么样啊
Stahan 发表于 2023-9-13 23:18 | 显示全部楼层
可以用DMA啊
tpgf 发表于 2023-10-12 16:31 | 显示全部楼层
滑窗滤波的算法也是有很多种的
paotangsan 发表于 2023-10-12 16:47 | 显示全部楼层
具体使用哪种算法进行滤波 取决于信号的性质
wakayi 发表于 2023-10-12 17:04 | 显示全部楼层
这两种方式哪一种的计算量小一点呢
xiaoqizi 发表于 2023-10-12 18:33 | 显示全部楼层
这个需要看楼主想要达到什么样的效果了
wowu 发表于 2023-10-12 19:07 | 显示全部楼层
是不是可以做一个类似于链表的数据类型更加方便操作
renzheshengui 发表于 2023-10-12 19:41 | 显示全部楼层
这么大的跨度 滤波得到的数据就没有起伏了啊
Mowergy 发表于 2023-10-17 13:52 | 显示全部楼层
算法进行滤波 取决于信号的性质
您需要登录后才可以回帖 登录 | 注册

本版积分规则

496

主题

3401

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部