调试传感器,在这里找到滤波算法,用Unity做了一个演示
原帖子在这里:
谁能帮我看一段150行C语言滤波算法,红包酬谢 (amobbs.com 阿莫电子论坛)
当然了,算法内容我没有看,直接看了12楼说的话自己写了一个,写了两个版本:C#和C++(C)fszhang/MV_Filter (github.com)
数值变化检测以当前值的10%波动为阈值。
Unity做的显示在这里:
Unity制作加权滑动平均算法演示_哔哩哔哩_bilibili
void DataAVG(byte dataIndex, byte *AVG_Times, uint32_t dataTab[], uint32_t *dataIn, uint32_t *dataLast)
{
byte i, dataPosition;
uint32_t Sum;
uint32_t PID_Data, PID_DataCurrent, Margin;
dataTab = PID_DataCurrent = *dataIn;
for (i = 0, Sum = 0; i < *AVG_Times; i++)
{
if (dataIndex >= i)
dataPosition = (byte)(dataIndex - i);
else
dataPosition = (byte)(AVG_DataTabCount + dataIndex - i);
Sum += dataTab;
}
PID_Data = Sum / (*AVG_Times);
Margin = PID_Data / 10;
if (((PID_DataCurrent > (PID_Data + Margin)) && (*dataLast > (PID_Data + Margin))) ||
(((PID_DataCurrent + Margin) < PID_Data) && ((*dataLast + Margin) < PID_Data)))
{
*AVG_Times = 2;
}
else
{
if (*AVG_Times < AVG_DataTabCount)
AVG_Times++;
}
*dataIn = PID_Data;
*dataLast = PID_DataCurrent;
}private void DataAVG(byte dataIndex, ref byte AVG_Times, ref UInt32[] dataTab, ref UInt32 dataIn, ref UInt32 dataLast)
{
byte i, dataPosition;
UInt32 Sum;
UInt32 PID_Data, PID_DataCurrent, Margin;
dataTab = PID_DataCurrent = dataIn;
for (i = 0, Sum = 0; i < AVG_Times; i++)
{
if (dataIndex >= i)
dataPosition = (byte)(dataIndex - i);
else
dataPosition = (byte)(AVG_DataTabCount + dataIndex - i);
Sum += dataTab;
}
PID_Data = Sum / (AVG_Times);
Margin = PID_Data / 10;
if (((PID_DataCurrent > (PID_Data + Margin)) && (dataLast > (PID_Data + Margin))) ||
(((PID_DataCurrent + Margin) < PID_Data) && ((dataLast + Margin) < PID_Data)))
{
AVG_Times = 2;
}
else
{
if (AVG_Times < AVG_DataTabCount)
AVG_Times++;
}
dataIn = PID_Data;
dataLast = PID_DataCurrent;
}
算法不错,界面也不错 工程师030 发表于 2021-12-12 23:43
算法不错,界面也不错
unity3d做的界面? justdomyself 发表于 2021-12-13 09:21
unity3d做的界面?
看楼主描述应该是,我也不太懂 justdomyself 发表于 2021-12-13 09:21
unity3d做的界面?
开发游戏都有UI开发,用这个系统来做上位机,除了体积大点,其他的都非常漂亮 fszhang 发表于 2021-12-13 09:45
开发游戏都有UI开发,用这个系统来做上位机,除了体积大点,其他的都非常漂亮 ...
有没有好点的教程,推荐下 fszhang 发表于 2021-12-13 09:45
开发游戏都有UI开发,用这个系统来做上位机,除了体积大点,其他的都非常漂亮 ...
老哥以前是画板的,还用过你的库,搞游戏去了? justdomyself 发表于 2021-12-13 16:23
有没有好点的教程,推荐下
教程没有去找专业的,我是关注了几个Unity开发的,偶尔会讲UI开发,剩下都是自己自学的 chenchaoting 发表于 2021-12-14 08:45
老哥以前是画板的,还用过你的库,搞游戏去了?
我还是做硬件的,有时也会写上位机,最近一两年刚接触Unity, 现在VS和Unity都在用 关注一下,多谢分享!
页:
[1]