打印

讨论下软件一阶差分的问题

[复制链接]
1567|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vivilzb1985|  楼主 | 2012-9-25 13:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这两天的编程涉及到这个一阶差分二阶差分的问题,
Dn =Xn -  Xn-1   一阶差分
DDn =Dn  - Dn-1  二阶差分
用这两种算法来处理一组的数据,处理完比较了下的, 还是没看出一阶差分处理后的图像跟不处理的图像有啥变化的,就只看到最大幅值的被削减了,大侠们有啥高见的帮我解下惑的啊,谢谢!另附上我整的一阶二阶差分的代码:
/*
   if(a1 ==0xffff)                        //一阶差分
     a1=adc_temp;
   else if(a2 ==0xffff)
     a2 =adc_temp;   
   if((a1==0xffff)||(a2==0xffff))
   {;}
   else
   {
     if(a1>a2)
     {      
       a00 =a1 -a2;
       a00 =768-a00;
     }
     else
     {
       a00 =a2 -a1;
       a00 =768+a00;
     }     
     a1 =a2;
     a2 =0xffff;
     adc_flag =0x01;
   }
      */                    
   if(a1 ==0xffff)                        //二阶差分
     a1=adc_temp;
   else if(a2 ==0xffff)
     a2 =adc_temp;   
   if((a1==0xffff)||(a2==0xffff))
   {;}
   else
   {
   
    if(a ==0xffff)
    {
     if(a1>a2)
     {      
       a =a1 -a2;
       a =768-a;
     }
     else
     {
       a =a2 -a1;
       a =768+a;
     }     
     a1 =a2;
     a2 =0xffff;
    }     
    else if(a0 ==0xffff)
    {
      if(a1>a2)
     {      
       a0 =a1 -a2;
       a0 =768-a0;
     }
     else
     {
       a0 =a2 -a1;
       a0 =768+a0;
     }     
     a1 =a2;
     a2 =0xffff;      
    }
   
    if((a ==0xffff)||(a0 ==0xffff))
    {;}
    else
    {
      if(a>a0)
      {
         a00 =a -a0;
         a00 =768 -a00;
      }
      else
      {
        a00=a0-a;
        a00 =a00+768;
      }
        
      adc_flag =0x01;
      a =a0;
      a0 =0xffff;
    }
    }

a00为最终处理好的结果的,a/a0为一阶差分处理后的结果,a1/a2为一阶差分处理前由adc_temp装载的原始数据

相关帖子

沙发
wjzx111056| | 2012-9-25 19:55 | 只看该作者
LZ,你先不管软件怎么实现,你的得先从数学的角度先理解一阶差分的原理:一阶差分就是离散函数中连续相邻两项之差;定义X(k),则Y(k)=X(k+1)-X(k)就是此函数的一阶差分 ,同理,Y(k)的一阶差分Z(k)=Y(k+1)-Y(k)=X(k+2)-2*X(k+1)+X(k)为此函数的二阶差分。然后再考虑从软件的角度把这个原理表达出来就很简单了,自己好好理理它 的原理吧。

使用特权

评论回复
板凳
shenmu2012| | 2012-9-26 09:28 | 只看该作者
楼上讲解的还是蛮不错的,我也跟着学习的,楼主的示例代码的那个+768为何缘故呢

使用特权

评论回复
地板
sgh2| | 2012-9-27 16:24 | 只看该作者
学习,学习

使用特权

评论回复
5
kunhuangon| | 2012-9-27 16:51 | 只看该作者
2L 说的不错 学习了

使用特权

评论回复
6
vivilzb1985|  楼主 | 2012-11-6 12:55 | 只看该作者
这个结贴算了啊,各位还可继续啊,谢谢

使用特权

评论回复
7
vivilzb1985|  楼主 | 2012-11-6 12:58 | 只看该作者
回复3楼的,那个+768是为了把最后得到的图形整体的上移的,不然得到额数据都在0V线附近,很难显示的

使用特权

评论回复
8
huanghongxing| | 2012-11-6 14:42 | 只看该作者
2楼从离散数学角度不二阶差分说的挺清楚的。

使用特权

评论回复
9
hawksabre| | 2012-11-6 17:36 | 只看该作者
谢谢楼主共享   一阶差分问题还没有涉及过   先学习一下   谢谢楼主的共享   谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:后来乍到,前辈们多多包涵了啊。。

88

主题

4276

帖子

6

粉丝