继续研究TI的例程,在求PFC交流电压有效值的时候突然看见了一段代码,感觉比较犀利
#define EMAVG_MACRO(in, out, multiplier) out = ((in - out)*multiplier) + out;
有点像自己一直用的低通滤波器,这次终于找到了数学原理。
用这个方法求交流有效值的优势在于,仅需要多存一个历史变量,而不需要开辟很多数组。同时,求出的有效值不受电网频率的影响。
对于其在DSP的应用,[6]中的139-140页有较详细的描述:
滤波器设计参考代码
贴一个最近写的滤波器设计代码,未验证
f=1e3; // 截止频率1kHz
Ts=1e-5; // 10kHz的采样率
tao=1/(2*pi*f);
K2=tao/(tao+Ts);
K3=Ts/(tao+Ts);
y=K3*x+K2*y;
参考文献
- Digital Library
- 指数移动平均值(exponential moving average)常用于平滑曲线
- EMA (指数移动平均值)
- Tensorflow滑动平均模型tf.train.ExponentialMovingAverage解析
- Tensorflow中ExponentialMovingAverage的原理及用法
- 安装ControlSUITE后在目录C:\ti\controlSUITE\libs\app_libs\solar\v1.2可以找到C28x Solar Library的帮助文档