conv(x,b)
は完全な畳み込みを実行します。結果の長さはlength(x)+ length(b)-1
です。 filter(b,[1],x)
は、x
と同じ長さの出力を提供します。フィルタの遅延線はフラッシュされません。
x
が行ベクトルであると仮定します。 x0 = [x zeros(1,length(b)-1)]
を作成します。現在、filter(b,[1],x0)
はconv(x,b)
と同じです。これは、追加の0が遅延線をフラッシュするために使用されるためです。
どちらがより合理的ですか?それはあなたが必要とするものに依存します!