文件帮助中心
模型-N循环卷积
C = CCONV(A,B)
c = cconv(a,b,n)
例
C= cconv(一种那B.)追加向量一种和B.。
C= cconv(一种那B.)
C
一种
B.
C= cconv(一种那B.那N)循环旋转向量一种和B.。N是得到的矢量的长度。你也可以使用CConv.计算两个序列的圆形交叉相关。
C= cconv(一种那B.那N)
N
CConv.
全部收缩
生成两个不同长度的信号。比较他们的循环卷积及其线性卷积。使用默认值N。
a = [1 2 -1 1];B = [1 1 2 1 2 2 11];c = cconv(a,b);%循环卷积Cref = Conv(A,B);%线性卷积DIF = NOM(C-CREF)
DIF = 9.7422E-16
由此产生的规范几乎为零,这表明两种卷轴产生相同的机器精度结果。
生成两个向量并计算其模态-4循环卷积。
a = [2 1 2 1];b = [1 2 3 4];C = CCONV(A,B,4)
C =1×4.14 16 14 16
生成两个复杂的序列。采用CConv.计算它们的循环交叉相关。翻转和缀合第二操作数以符合交叉相关的定义。指定输出矢量长度为7。
a = [1 2 2 1] + 1i;B = [1 3 4 1] -2 * 1i;C = CCONV(A,Cong(Pliplr(B)),7);
将结果与使用的互相关的结果进行比较XCorr.。
XCorr.
Cref = Xcorr(A,B);DIF = NOM(C-CREF)
差异= 3.3565e-15
生成两个信号:五个样本三角形波形和具有响应的一阶FIR滤波器 H ( Z. ) = 1 - Z. - 1 。
x1 = conv([1 1 1],[1 1 1])
x1 =1×51 2 3 2 1
X2 = [-1 1]
x2 =1×2-1 1
使用默认输出长度计算其循环卷积。结果相当于两个信号的线性卷积。
ccnv = cconv(x1,x2)
ccnv =1×6.-1.0000 -1.0000 -1.0000 1.0000 1.0000 1.0000 1.0000
lcnv = conv(x1,x2)
lcnv =1×6.-1 -1 -1 1 1 1
模2循环卷积相当于将线性卷积分成两个元件阵列并求解阵列。
CCN2 = CCONV(X1,X2,2)
ccn2 =1×2-1 1
nl = numel(lcnv);mod2 = sum(重塑(lcnv,2,nl / 2)'))
mod2 =1×2-1 1
计算模数-3循环卷积,并将其与混叠线性卷积进行比较。
ccn3 = cconv(x1,x2,3)
CCN3 =1×3.0 0 0.
mod3 = sum(重塑(lcnv,3,nl / 3)')
mod3 =1×3.0 0 0.
如果输出长度小于卷积长度并且不会完全划分,请在添加之前用零填充卷积。
c = 5;Z =零(C * CEIL(NL / C),1);z(1:nl)= lcnv;ccnc = cconv(x1,x2,c)
CCNC =1×50.0000 -1.0000 -1.0000 1.0000 1.0000
modc = sum(重塑(z,c,numel(z)/ c)')
modc =.1×50 -1 -1 1 1
如果输出长度等于或大于卷积长度,请填充卷积并不添加。
d = 13;z =零(d * ceil(nl / d),1);z(1:nl)= lcnv;ccnd = cconv(x1,x2,d)
ccnd =1×13.-1.0000 -1.0000 -1.0000 1.0000 1.0000 1.0000 1.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000
modd = z'
modd =.1×13.-1 -1 -1 1 1 1 0 0 0 0 0 0 0
此示例使用:
以下示例需要并行计算工具箱™软件。参考GPU通金宝app过发布支持(并行计算工具箱)看看支持的GPU。金宝app
创建由Addive White Gaussian噪声中的1 kHz正弦波组成的两个信号。采样率为10 kHz
FS = 1E4;t = 0:1 / FS:10-(1 / FS);X = COS(2 * PI * 1E3 * T)+ RANDN(尺寸(t));Y = SIN(2 * PI * 1E3 * T)+ RANDN(尺寸(t));
放X和y在GPU上使用GPUArray.。使用GPU获得循环卷积。
X
y
GPUArray.
x = gpuarray(x);Y = GPUARRAY(Y);循环= CCONV(x,y,长度(x)+长度(y)-1);
将结果与X和Y的线性卷积进行比较。
linc = conv(x,y);常态(LINC-CIRC,2)
ans = 1.4047e-08
返回循环卷积,circ,Matlab®工作区使用收集。
circ
收集
循环=聚集(CIRC);
输入数组,指定为向量或GPUArray.对象。看到在GPU上运行matlab函数(并行计算工具箱)有关详情GPUArray.对象。使用CConv.借GPUArray.对象需要并行计算工具箱™软件。参考GPU通金宝app过发布支持(并行计算工具箱)看看支持的GPU。金宝app
例:SIN(2 * PI *(0:9)/ 10)+ RANDN([1 10])/ 10指定作为行向量的嘈杂正弦曲线。
SIN(2 * PI *(0:9)/ 10)+ RANDN([1 10])/ 10
例:GPUARRAY(SIN(2 * PI *(0:9)/ 10)+ RANDN([1 10])/ 10)指定嘈杂的正弦管作为一个GPUArray.目的。
GPUARRAY(SIN(2 * PI *(0:9)/ 10)+ RANDN([1 10])/ 10)
数据类型:单|双复数支持:金宝app是
单
双
卷积长度,指定为正整数。如果您未指定N,那么卷积有长度长度(a)+长度(b)-1。
长度(a)+长度(b)-1
输入向量的循环卷积,作为载体返回GPUArray.。
对于长序列,圆形卷积可以比线性卷积更快。
[1] Orfanidis,Sophocles J.信号处理简介。Englewood Cliffs,NJ:Prentice-Hall,1996,PP。524-529。
此功能完全支持GPU阵列。金宝app有关更多信息,请参阅在GPU上运行matlab函数(并行计算工具箱)。
conv|XCorr.
conv
系统上存在此示例的修改版本。你想打开这个版本吗?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室