我将在我的代码中使用 MATLAB 生成的滤波器系数,该代码将在微控制器上运行。可怜的微控制器在浮点运算方面非常糟糕。那我该怎么办?我应该直接将所有浮点值截断到最接近的 int 吗?我应该做 ceil 吗?还是地板?是否有任何功能可以自动为我进行这种转换?
更新 我所有的过滤器系数都像:0.465、0.76、0.23 等,所以如果我使用 ciel,那么所有的都将变为零。我现在该怎么办?
实际滤波器系数为:
> -0.00385638
> 0.004944457
> 0.01505063
> 0.018768283
> 0.009635631
> -0.01192891
> -0.035809426
> -0.045043857
> -0.023993426
> 0.032106934
> 0.111777547
> 0.18997355
> 0.238374966
> 0.238374966
> 0.18997355
> 0.111777547
> 0.032106934
> -0.023993426
> -0.045043857
> -0.035809426
> -0.01192891
> 0.009635631
> 0.018768283
> 0.01505063
> 0.004944457
> -0.00385638