Using 'single' arrays with the "filter" command

We have to minimize our application's memory footprint and execution time, so I'm trying to move from "double" data arrays to "single" data arrays. The problem is that the "filter" command appears to return "double" filter states. Is there a way to use "single" data with the filter or even the "conv" command?

1 个评论

if your inputs are single, so should the output be.

请先登录,再进行评论。

回答(2 个)

Make sure all your inputs to filter are singles.
Here's an example for a simple moving average:
x = rand(100,1,'single');
a = ones(1,10,'single')/single(10);
b = single(1);
xf = filter(a,b,x);
class(x)

1 个评论

I have done that, but the second output, the final filter state, is still double.

请先登录,再进行评论。

Jan
Jan 2012-11-20
编辑:Jan 2012-11-20
See: FEX: FilterM, which accepts singles also.
Do you mean the 2nd output of filter with "double filter states"?

1 个评论

Yes, I mean the 2nd output of filter. I will check out the FilterM command.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

标签

提问:

2012-11-19

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by