0

みなさん、こんにちは!

私は Tx の各列とフィルター h の間で畳み込みを行っている matlab プログラムを作成しています (列ごとにフィルター列が必要です: フィルター h を使用した最初の列、フィルター h を使用した 2 番目の列、....そしてすぐ)

Tx = complex(randn(165,12), randn(165,12));
h=[0.1 -0.05  0.2  -0.5  0.3 0.02];
  • フィルター h を使用して Tx マトリックス全体をフィルター処理するにはどうすればよいですか?

私のMatlabコード:

Tx = complex(randn(165,12), randn(165,12));    
h=[0.1 -0.05  0.2  -0.5  0.3 0.02];
[r c]=size(Tx);

for i=1:c
   Rx=conv(h,Tx(:,i).');
end
  • 結果のRx行列全体を保存したいですか?
4

1 に答える 1

0

パラメータ 'same' を指定して conv2() を使用して元のサイズを維持するか、使用せずに完全な畳み込みを取得します。

例:

conv2(ones(5),[1,2.5,-0.7],'same')
conv2(ones(5),[1,2.5,-0.7]','same')

1 つ目はフィルターを使用して各行を畳み込み、2 つ目は各列を畳み込みます。

使用できます

 Rx =conv2(Tx,h','same');
于 2014-07-08T11:23:15.383 に答える