Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 矩阵与向量的卷积_Algorithm_Matlab_Signal Processing_Telecommunication - Fatal编程技术网

Algorithm 矩阵与向量的卷积

Algorithm 矩阵与向量的卷积,algorithm,matlab,signal-processing,telecommunication,Algorithm,Matlab,Signal Processing,Telecommunication,大家好 我正在编写一个matlab程序,其中我正在对Tx的每一列和滤波器h进行卷积,我希望逐列进行滤波:第一列使用滤波器h,第二列使用滤波器h,。。。。等等 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.

大家好

我正在编写一个matlab程序,其中我正在对Tx的每一列和滤波器h进行卷积,我希望逐列进行滤波:第一列使用滤波器h,第二列使用滤波器h,。。。。等等

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矩阵?
使用带有参数“same”的conv2来保持原始大小,或不使用参数“same”来获得完整的卷积

例如:

conv2(ones(5),[1,2.5,-0.7],'same')
conv2(ones(5),[1,2.5,-0.7]','same')
第一个使用过滤器对每行进行卷积,第二个使用过滤器对每列进行卷积

你可以用

 Rx =conv2(Tx,h','same');

你看过conv2吗?@Dan:谢谢你,你能举一个conv2的例子吗?她是怎么工作的?她和conv2工作得一模一样。。。例如,尝试conv2h',Tx。只需阅读文档,然后进行操作。通常,您将矩阵作为第一个参数,将过滤器作为第二个参数。如果使用“相同”和内部matlab优化,这一点很重要。此外,转置小滤波器要比转置大矩阵快得多;这是否意味着我要分别过滤Tx的每一列,最后保存整个矩阵Rx?是的。但是转置小滤波器比转置大矩阵更快。此外,如果不使用“相同”,则Rx将大于Tx