文档
卷积矩阵
a = convmtx(h,n)
例子
一种= convmtx(H,,,,n)返回卷积矩阵,一种,使得一种和n- 元素向量,X,是卷积H和X。
一种= convmtx(H,,,,n)
一种
H
n
X
全部收缩
计算卷积使用转换当信号是向量时,通常比使用更有效convmtx。对于多通道信号,convmtx可能会更有效。
转换
convmtx
计算两个随机向量的卷积,一种和b,使用两者转换和convmtx。这些信号每个都有1000个样本。比较两个函数所花费的时间。通过重复计算30次并平均来消除随机波动。
b
NT = 30;Na = 1000;NB = 1000;tcnv = 0;tmtx = 0;为了kj = 1:nt a = randn(na,1);b = randn(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
t1col =1×20.0130 0.0268
t1rat = tcnv \ tmtx
t1rat = 2.0651
转换大约有两个数量级的效率更高。
重复该案的练习一种是具有1000个通道的多通道信号。优化转换通过预言的表现。
nchan = 1000;tcnv = 0;tmtx = 0;n =零(na+nb-1,nchan);为了kj = 1:nt a = randn(na,nchan);b = randn(nb,1);抽动为了k = 1:nchan n(:,k)= cons(a(a(:,k),b);结尾tcnv = tcnv+toc;tic c = convmtx(b,na);d = c*a;tmtx = tmtx+toc;结尾tmcol = [tcnv tmtx]/nt
tmcol =1×20.2224 0.0795
tmrat = tcnv/tmtx
TMRAT = 2.7961
convmtx大约是三倍转换。
输入向量,指定为行或列。
数据类型:单身的|双倍的
单身的
双倍的
向量的长度卷积,指定为正整数。
如果H是长度的列矢量m,,,,一种是(M+N-1)-经过-n,以及一种和一个列向量,X,长度n是卷积H和X。
m
(M+N-1)
如果H是长度的行矢量m,,,,一种是n-经过-(M+N-1),以及行矢量的产物,X,长度n和一种是卷积H和X。
输入的卷积矩阵H和矢量X,返回为矩阵。
convmtx使用该功能toeplitz生成卷积矩阵。
toeplitz
convmtx通过零填充处理边缘条件。
转换|conv2|转话|corrmtx|dftmtx
conv2
转话
corrmtx
dftmtx
该示例的修改版本存在于您的系统上。您想打开此版本吗?
您单击了与此MATLAB命令相对应的链接:
通过在MATLAB命令窗口中输入该命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站以获取可用的翻译内容,并查看本地事件和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英语)以获得最佳场地性能。其他Mathworks乡村网站未针对您所在的访问进行优化。
联系您当地的办公室
立即进行审判