线性卷积的c语言的代码

线性卷积的c语言的代码
线性卷积的c语言的代码

线性卷积的c语言的代码

#include

#include

int max(int x,int y)

{int z;

if(x>y)z=x;

else z=y;

return(z);

}

int min(int x,int y)

{int z;

if(x

else z=y;

return(z);

}

int conv(int *u,int *v, int m, int n)

{

int k = m+n-1;

int i, j;

int w[10]={0};

for(i=0; i

{

for(j=max(0,i+1-n); j<=min(i,m-1); j++)

{

w[i] += u[j]*v[i-j];

}

printf("w[%d]=%d\n\n",i,w[i]);

}

return 0;

}

int main()

{

int i=0;

int u[4]={1,1,1,1};

int v[4]={1,1,1,1};

int m=sizeof(u)/sizeof(*u);

int n=sizeof(v)/sizeof(*v);

conv(u,v,m,n);

return 0;

}

注释:序列u 与v 的卷积,m与n分别为其长度

相关主题
相关文档
最新文档