convolveok.c

来自「程序为达盛实验箱所带」· C语言 代码 · 共 45 行

C
45
字号
#include "typedef.h"
#include "Convolve.h"


void Convolveok(
     double *Input,			//	原始输入数据
     double *Impulse,			//	冲击响应
     double *Output,			//	卷积输出结果
     Word16 length 			//  卷积序列长度
)

{
	int i,k,p;
	double r;

	p=0;
	for (k=0; k<=length-1; k++)
	{		
		Output[k]=0;
		r=0;
		for (i=0; i<=p; i++)
		{
			r=Input[k-i]*Impulse[i];
			Output[k] = Output[k]+r;
		}
			p=p+1;
			if (p>length-1) p=length-1;
			else p=p;
	 }
	
	p=length-2;
	for (k=length; k<=length+length-1; k++)
	{
	 	Output[k]=0;
		r=0;
	   	for (i=0; i<=p; i++)
		 {
		 	r = Input[length-1-i]*Impulse[length-1-p+i];
		 	Output[k] = Output[k]+r;
		 }
	    p=p-1;
	}
	return ;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?