コード置換に対応していない関数は、内部処理をコード置換に対応した関数で書き換えることで対応させることができる場合があります。 filtfiltやsgolayfiltなどのIIR/FIRフィルタベースの処理関数はソースコードをカスタマイズすることでコード置換に対応させることができます。
 
filtfiltのソースコードをIIRフィルタのSystem Object: dsp.BiquadFilterを使って書き換えた例を添付します。
この例では2次のIIRフィルタを使ってフィルタリングする例となっていますので、異なるフィルタを使用している場合は、一部の修正が必要になると思います。
function y = filtfiltSysO(x, sos, g)
%FILTFILT Zero-phase forward and reverse digital IIR filtering.
% filter, reverse data, filter again, and reverse data again
persistent Hd1 Hd2
if isempty(Hd1)
Hd1 = dsp.BiquadFilter('Structure','Direct form II transposed', ...
'SOSMatrix',sos,'ScaleValues',g);
Hd2 = dsp.BiquadFilter('Structure','Direct form II transposed', ...
'SOSMatrix',sos,'ScaleValues',g);
end
nfact = single(6);
y = [2*x(1)-x(nfact+1:-1:2); x; 2*x(end)-x(end-1:-1:end-nfact)];
% y = filter(b(:,ii),a(:,ii),y,zi(:,ii)*y(1));
y = step(Hd1, y);
y = y(end:-1:1);
% y = filter(b(:,ii),a(:,ii),y,zi(:,ii)*y(1));
y = step(Hd2, y);
% retain reversed central section of y
y = y(end-nfact:-1:nfact+1);
添付ファイルは
filtfiltSysO.m: filtfiltのコード置換に対応したSystem Objectバージョン
filtfilt_tb.m: 上記コードのテスト用ファイル
filtfiltSysO_script.m: Cコード生成用スクリプト。フィルタ係数は定数(coder.Constant)で与える必要がある点に注意。