1. 卷积(convolution)

输出 y(n) 是作为在 x(k)h(nk)(反转和移位)重叠之下的样本和求出的。

考虑下面两个序列:

  • x(n)=[3,11,7,0,1,4,2]3n3
  • h(n)=[2,3,0,5,2,1],1n4

求卷积 y(n)=x(n)h(n)

matlab 实现:

如果是任意无限长序列,不可以直接用 matlab 来计算卷积,matlab 内部实现了一个函数 conv 来计算两个有限长序列之间的卷积。conv 函数规定这两个序列都在 n=0 开始并利用:

>> y = conv(x, h);
y = 
6    31    47     6   -51    -5    41    18   -22    -3     8     2

然而,conv 函数不提供也不接受任何定时信息,必须要求 y(n) 的一个起始点和一个结束点。已知有限长序列 x(n)h(n),很容易做如下定义:

{x(n);nxbnnxe};{h(n);nhbnnhe}

function [y, ny] = conv_t(x, nx, y, ny)
ny = xb(1)+hb(1):xe(1)+he(1);
y = conv(x, h);

版权声明:本文为mtcnn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/mtcnn/p/9422823.html