源代码分析

mycheng 2003-07-30 10:45:01
typedef struct AR{
float * data;
int EN;
} ARR, *ARRAY;
ARRAY symfilter(ARRAY H, ARRAY x )
{

int flen, xlen, cpos;
int i, dd,j, STN, ENDN, sn, en;
float sum;

float *ex ;
ARRAY y;


flen=H->EN;
xlen=x->EN;
dd=(flen)/2+1;
ex=(float *)malloc( (xlen+2*dd)*sizeof(float) );
y=(ARRAY)malloc(sizeof(ARR));
y->data=(float *)malloc( xlen*sizeof(float) );



STN=dd;
ENDN=dd+xlen-1;

for(i=STN; i<=ENDN; i++)
*(ex+i)=*(x->data + i-STN);

for(i=1;i<dd;i++)
{
*(ex+STN-i)=*(ex+STN+i);
*(ex+ENDN+i)=*(ex+ENDN-i);
}


dd=(flen-1)/2;
for(i=0; i<xlen; i++)
{
cpos=STN+i;
sum=0;
sn=cpos-dd;
en=cpos+dd;
for(j=sn; j<=en; j++)
sum=sum+ (*(H->data + j-sn)) * (*(ex+j));

*(y->data+i)=sum;

}


y->EN=x->EN;

return(y);

}
谁能分析一下,以上的函数做了些什么工作?
...全文
61 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChChip 2003-07-30
  • 打赏
  • 举报
回复
函数里的9,10,11是分配内存的
for循环是对分配的内存赋值的
mycheng 2003-07-30
  • 打赏
  • 举报
回复
是不是两个信号的卷积?
forestassure 2003-07-30
  • 打赏
  • 举报
回复
sysFilter : sysmeric filter
I guess it is from signal process .
forestassure 2003-07-30
  • 打赏
  • 举报
回复
如果随便拿出一个经典的信号处理算法,你能解释清楚吗?
编码需要明白算法吧
mycheng 2003-07-30
  • 打赏
  • 举报
回复
老大,这个我也知道啊

4,449

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧