19

LTI システムの出力を計算しようとしています。仕事に適していると思われる2つの異なるMatlab関数に出くわしました:filterconv. 両者の違いは何ですか?

4

4 に答える 4

17

filterFIRおよびIIRシステムを処理でき、conv2つの入力を受け取り、それらの畳み込みを返します。したがってconv(h,x)filter(h,1,x)同じ結果が得られます。フィルタの1は、フィルタの再帰係数がちょうどであることを示します[1]。ただし、IIRフィルターを使用している場合は、を使用できませんconvfilterフィルタの状態を返すこともできるため、フィルタの過渡状態を発生させることなく、後続の呼び出しで使用できます。

詳細については、convおよびfilterのドキュメントを参照してください。

于 2011-12-06T17:02:02.327 に答える
12

conv(x,b)完全な畳み込みを実行します。結果の長さは ですlength(x)+ length(b)-1filter(b,[1],x)と同じ長さの出力が得られますx。フィルターの遅延ラインをフラッシュしません。

xは行ベクトルであると仮定します。作るx0 = [x zeros(1,length(b)-1)]; 今filter(b,[1],x0)は と同じconv(x,b)です。これは、追加の 0 が遅延ラインをフラッシュするために使用されるためです。

どちらがより合理的ですか?それはあなたが必要とするものに依存します!

于 2012-03-28T13:51:34.177 に答える