我想使用filtfilt命令与matlab编码器,但我遇到了麻烦。Matlab编码器和filtfilt()
如果我以正常的方式运行程序一切运行良好,但是当我尝试构建c代码时,会显示以下错误消息:“数据的长度必须超过过滤器顺序的3倍”。我在某处读到这可能是因为filtfilt函数需要知道整个信号(随着时间的推移),这可能与matlab编码器不兼容。然而,这似乎是不正确的,MATLAB名单filtfilt作为代码生成支持的功能 - http://www.mathworks.se/help/toolbox/signal/ug/br7exek-1.html
我的电话是:
y_filt = filtfilt(B,A,Y);
我只是调用之前变量具有以下属性:
名字大小..........字节......类
一个...... 1x9 ........... 72 ........... double
b ...... 1x9 ........... 72 ... ........ double
y ...... 1499400x1 11995200 double
有没有人有关于如何解决这个问题的建议?
这似乎你已经证明了它不是'filtfilt'功能,可以提供更多的代码或多个错误的描述? – macduff 2012-02-25 23:46:47
好吧,我很难理解它还能做什么。为了得到(b,a)黄油在[b,a] =黄油(8,0.045,高)之前执行。 – 2012-02-26 17:25:25