鱼C论坛

 找回密码
 立即注册
查看: 2766|回复: 5

高斯函数具体怎么使用

[复制链接]
发表于 2017-12-25 20:37:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我购买的一个RTU里面有这个给客户二次开发的高斯函数,但是我是菜鸟不太明白怎么使用,请教大神给我指点,谢谢。
#if 1//(GAOSI_FILTER > 0)

/* 高斯滤波器 */
#define FILTER_MAXNUM   1000
uint16 filter_num;
uint8 filter_start = 0;
double filter_old;
double filter_buf[FILTER_MAXNUM];
/* 高斯滤波器,提供给客户二次开发 */
extern double gaosi_filter(double *pfb, uint32 num);

double filter_gaosi(double src)
{
    if (filter_start == 0)
    {
        filter_start = 1;
        filter_old = src;
        filter_num = 0;
    }
   
    filter_num++;
    if (filter_num < read_reg_n(40299) &&
        filter_num < FILTER_MAXNUM)
    {
        filter_buf[filter_num] = src;
    }
    else
    {
        filter_num = 0;
        filter_old = gaosi_filter(filter_buf, read_reg_n(40299));
    }
   
    return filter_old;
}

#endif

我在编写的C里面这样写的,但是不能用,请指教。
if (gen_zong==1)
           {                               
                    liuliang22=filter_gaosi(liu_liang1);

                        she_ding22=gen_zongbi*(liuliang22/100.0 );

                        she_ding2= she_ding22;

           }
这个liu_ling1运行之后有数据变化,但是经过函数之后的liulinag22一直为零,并且那个gen_zong已经设置为1了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-12-25 21:11:15 | 显示全部楼层
我的想法是用第二个控制的数据跟踪第一个瞬时变化的流量,因为两个都是用PID调节,所以变化太快没法使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-1 08:23:32 | 显示全部楼层
怎么没有大神指教啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-1 12:59:36 From FishC Mobile | 显示全部楼层
你好,我不是很懂这装置,但是我对这些蛮感兴趣的,,你的liu_liang1经过函数filter_gaosi你说只输出零,那么从函数中看,只会是gaosi_filter出问题,但是那是人家的产品核心不应该有毛病,所以我认为是你调试机器过程中有什么偏差,比如read_reg_n的读数来源点,还有其他的需要外部设置的数值有问题,,,,

一般信号处理函数就是在于信号和处理方式,这个处理方式就是客户自己弄得,问题只会在这两个之间,这两个的值传给信号函数再处理返回一个函数指针继续处理,,,但是你的装置内置函数没有返回函数指针而是直接输出值,所以出问题就只会在信号来源和处理过程,再确认流量1的值真的有吗对吗,还有就是流量2是在流量1处理完就是零还是在跟某些地方又改动了,,,。。


不好意思,我也不了解但是很想知道答案,所以就这么思考的,如果你解答了,,给我讲一讲哟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-2 08:31:13 | 显示全部楼层
谢谢,我还没有解决呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-2 08:40:32 | 显示全部楼层
我使用这个函数的想法是:因为这个liu_liang1是一个现场实时变化的浮点数,我要跟踪这个变化的量来PID调节需要跟踪的量,因为第一个是变化的,再去不加处理跟踪会变化大,来回调节不好处理。哪位大神有这方面的经验或者方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 04:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表