主要内容

convmtx公司

说明

例子

A.=MTX(H,N)返回卷积矩阵,A.,这样A.和一个N-元素向量,,是H.

示例

全部折叠

计算卷积卷积和多项式相乘当信号是矢量时,通常比使用convmtx公司. 对于多通道信号,convmtx公司可能效率更高。

计算两个随机向量的卷积,A.B,同时使用卷积和多项式相乘convmtx公司. 每个信号有1000个样本。比较两个函数所花费的时间。通过重复计算30次并取平均值来消除随机波动。

Nt=30;Na=1000;Nb=1000;tcnv=0;tmtx=0;对于kj=1:Nt a=randn(Na,1);b=随机数(Nb,1);tic n=conv(a,b);tcnv=tcnv+toc;tic c=convmtx(b,Na);d=c*a;tmtx=tmtx+toc;结束t1col=[tcnv tmtx]/Nt
T1列=1×20.0006 0.0164
t1rat=tcnv\tmtx
T1=29.6496

卷积和多项式相乘效率提高了两个数量级。

对下列情况重复练习:A.是具有1000个通道的多通道信号。优化卷积和多项式相乘的性能。

Nchan=1000;tcnv=0;tmtx=0;n=零(Na+Nb-1,Nchan);对于kj=1:Nt a=randn(Na,Nchan);b=随机数(Nb,1);抽搐对于k=1:n(:,k)=conv(a(:,k),b);结束tcnv=tcnv+toc;tic c=convmtx(b,Na);d=c*a;tmtx=tmtx+toc;结束tmcol=[tcnv tmtx]/Nt
tmcol公司=1×20.2212 0.0629
tmrat=tcnv/tmtx
tmrat=3.5192

convmtx公司效率大约是卷积和多项式相乘.

输入参数

全部折叠

输入向量,指定为行或列。

数据类型:单一的|双重的

要卷积的向量的长度,指定为正整数。

  • 如果H是长度的列向量M,A.(m+n-1)-由-N,以及A.一个列向量,,长度NH.

  • 如果H是长度的行向量M,A.N-由-(m+n-1),和行向量的乘积,,长度N具有A.H.

输出参数

全部折叠

输入卷积矩阵H向量呢,作为矩阵返回。

算法

  • convmtx公司使用函数托普利茨矩阵生成卷积矩阵。

  • convmtx公司通过零填充处理边条件。

扩展功能

C/C++代码生成
使用Matlab®编码器生成C和C++代码™.

R2006a之前引入