2.1提出算法和设置公式↑
在教程的这一部分,应用程序将基于互相关算法来跟踪从电路板的两个麦克风获得的两个信号的移动。
该算法基本上可以根据其公式实现:∑((x(i)-mx)*(y(i)-my)/√(∑(x(i)-mx)?*√(∑(y(i )-我的)?*
信息
相关性描述了两个或多个信号之间存在的关系。信号之间的相关性表示给定信号与另一个信号相似的程度。
在我们的例子中,变量:
y(i)代表LeftFilter。
r是相关因子,它是要计算的角度
2.2添加代码部分↑
要计算相关公式,请保留教程前面的部分,并在主文件中添加以下声明:
#include 《数学.h》 诠释 k , j ; 双 系数= 0 ; 双 右= 0 ; 双 mleft = 0 ; 双 右= 0 ; 双 sleft = 0 ; 双 sxy , denom ; 整数 n = 2048 ; int 最大延迟= 1024 ;
现在,是时候设置计算r因子的代码了,因此要编写代码来应用前面提到的公式,请在While循环 中添加以下代码:
for ( k = 0 ; k 《 n ; k ++ ) { mright += RightRecBuff [ k ]; mleft += LeftRecBuff [ k ]; } mright /= n ; mleft /= n ; /* 计算分母 */
for ( k = 0 ; k 《 n ; k ++ ) { sright += ( RightRecBuff[ k ] - mright ) * ( RightRecBuff [ k ] - mright ); sleft += ( LeftRecBuff [ k ] - mleft ) * ( LeftRecBuff [ k ] - mleft ); } denom = sqrt ( sright * sleft ); /* 计算相关序列 */
for ( delay =- maxdelay ; delay 《最大延迟;延迟++ ) { sxy = 0 ;
for ( k = 0 ; k 《 n ; k ++ ) { j = k + delay ;
while ( j 《 0 ) { j += n ; j %= n ; sxy += ( RightRecBuff [ k ] - mright ) * (LeftRecBuff [ j ] - mleft ); } 系数 = sxy / denom ; /* r 是“延迟”时的相关系数 */ } }
-
麦克风
+关注
关注
15文章
668浏览量
55900 -
STM32
+关注
关注
2295文章
11035浏览量
366004
发布评论请先 登录
STM32F769I-DISCO在代码中为什么无法控制引脚状态?
STM32F769I-DISCO开发板CoreMark跑分与固件恢复
基于ARM Cortex-M7内核的STM32F769NI MCU发现套件STM32F769I-DISCO
评测:STM32F769I-DISCO接入机智云,实现IoT开发远程控制等功能
STM32F769I-DISCO评测&机智云物联网云服务体验
STM32F769I-DISCO开发套件
STM32F769I-DISCO外部连接器(“JP1”)的最大电流消耗和功率输入是多少?
如何使用“USB HS”连接器用手机电池为STM32F769I-DISCO供电?
如何使用带有FatFS和USB大容量存储的STM32F769I-DISCO板呢
STM32F769I-DISCO断电后无法连接目标的原因?
基于STM32F769I-DISCO微控制器的参考设计

你会不会使用STM32CubeMX建立STM32F769I-DISCO的工程?

评论