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);
posted on 2016-11-11 20:36  未雨愁眸  阅读(912)  评论(0编辑  收藏  举报