技术论坛

请问大家一个卷取求滤波转速的问题

作者 主题
侠士

经验值: 1677
发帖数: 377
精华帖: 2
主题:【求助】请问大家一个卷取求滤波转速的问题


只看楼主 楼主 2021-01-10 11:10:03

以下是一个卷取平均转速的滤波算法,通常我做的是去除最小和最大值取平均值来计算滤波值,为什么下面会用给定转速和滤波值的差值累计然后再除以32来计算滤波转速呢?谢谢!

   #dif_n := ABS(#NRef)-#AVE_N;//转速滤波,SUM_N=SUM_N+DIF_N-AVE_N,AVE_N=SUM_N/32,32为采样次数
   #dif_t := #TRef-#AVE_T0;//力矩滤波,SUM_T0=SUM_T0+DIF_T-AVE_T0,AVE_T0=SUM_T0/32,32为采样次数
IF ABS(#dif_n) >= 100.0  THEN // 如果速度输入值有大改动,立即跟随这一改动。
   #SUM_N := ABS(#NRef)*32.0;
   #dif_n := 0.0;
END_IF;

IF ABS(#dif_t) >= 100.0 THEN // 如果力矩输入值有大改动,立即跟随这一改动。
   #SUM_T0 :=#TRef*32.0;
   #dif_t :=0.0;
END_IF;

   //计算总和并输出转速\力矩平均值。
#SUM_N:=#dif_n+#SUM_N;//
#AVE_N:=#SUM_N/32.0;//#AVE_N=(ABS(#NRef0)+ABS(#NRef1)+ABS(#NRef31)-#AVE_N0-#AVE_N1-#AVE_N31)/32
    #SUM_T0:=#dif_t+#SUM_T0;
   #AVE_T0:=#SUM_T0/32.0;
   #COUNT := #COUNT + 1;
   IF #COUNT<32 THEN
       RETURN;
END_IF;
#COUNT:=0;//计数复位



我爱工控!尤爱西门子!
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1667737&b_id=66&s_id=0&num=4

至圣

经验值: 13020
发帖数: 1815
精华帖: 22
回复:请问大家一个卷取求滤波转速的问题


只看楼主 1楼 2021-01-10 20:15:47

      看的好像就是缓存上次的滑动滤波吧。采样定在那个次数和系统响应和滤波效果相关。这种应用测速测距以及张力硬件传感器的分辨率越高越好。

      有些模拟量的应用是可以先将最原始整数或双整数反馈数据先放大N倍(比如0-27648放大32倍到0-884736),给定值也相应放大N倍然后将差值再送给反馈计算块运算的。在某些应用中可以提高一点相对精度。至于相对精度的置信度(yming版主有提到)有多高可以引入第三方传感器来测量对比,N的选取根据现场工况调整。


 
以下网友喜欢您的帖子:

  
版主

经验值: 76199
发帖数: 19143
精华帖: 378
回复:请问大家一个卷取求滤波转速的问题


只看楼主 2楼 2021-01-10 21:53:50

有点问题,这个只能测量静态的值,而快速变化过程的值的测量是有问题的


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
侠士

经验值: 1677
发帖数: 377
精华帖: 2
回复:请问大家一个卷取求滤波转速的问题


只看楼主 楼主 3楼 2021-01-11 07:53:32

谢谢各位大神,但是为什么是对差值进行累加而不是实时值呢?就是这个我理解,谢谢!


我爱工控!尤爱西门子!
以下网友喜欢您的帖子:

  
至圣

经验值: 13020
发帖数: 1815
精华帖: 22
回复:请问大家一个卷取求滤波转速的问题


只看楼主 4楼 2021-01-11 20:03:11

楼主最好结合实际应用工况说下以下变量的含义

dif_n 

NRef

AVE_N

SUM_N

DIF_N

求当前反馈与滑动窗(32)平均值的差值(类似微分看变化趋势)是为了判断限幅,及时跟踪吧。

后面求实际值时还是加回去了的。



 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
请问大家一个卷取求滤波转速的问题
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。