Welcome!
click me.

这次信标车比赛中需要用到互相关

互相关用来辨别波形相似度,其原理大概就是当两个波形没有偏移的时候。其输出值最大。

两个波形分别为两个麦克风接收到的声音信号

大概的算法实现就是a波形不动,另一个波形b进行-n到n的移动

并且用a和移动后的b进行对应值相乘。结果记为sum

然后获取一个sum最大时对应的n,记为maxpos。这个maxpos就可以看作两个信号偏移程度相关的量。

  int max=0,maxpos=0;
  int i=-50;
  for(;i<50;i++){
    int sum=0;
    for(int t=0;t<quenelen;t++){
      if(t+i<0||t+i>quenelen-1)continue;
      sum+=arr1[t]*arr2[t+i];
      
    }
    if(sum>max){
      max=sum;
      maxpos=i;
    }
  }
  printf("%d\r\n",maxpos);

标签: none

添加新评论

;