|
一、目的
麦克风阵列排成阵列聚焦拾取空间的声音信号,使拾取的声音增强,达到远距离拾音的效果。麦克风阵列与单只麦克风相比提高了灵明度、指向性,与信号处理系统组合,通过适当的算法可实现对空间信号的动态拾取。
二、麦克风阵列电路设计
设计了麦克风阵列电路,以此进行声音拾取,再通过算法实现声音定位。本文设计的麦克风阵列使用多个咪头(MIC)组成麦克风阵列。单个咪头拾音原理图:
3D文件如下,因为没有咪头的3D图,本次设计用圆圈(Mx)代替:
本设计采用的是线性排列,如果要使拾音效果更好,可以排列成圆形阵列(正六边形排列),在此献上线性麦克风阵列PCB工程文件:
为了降低干扰,最好在电路中引入带通滤波器,滤波器频率控制按实际给出的来设定。
三、麦克风阵列的程序设计
利用STM32单片机ADC采集功能,采集咪头电压变化,利用一定算法锁定声源,实现定位。
adcx[0] = Get_Adc_Average(ADC_Channel_0,5) / 10;//
adcx[1] = Get_Adc_Average(ADC_Channel_1,5) / 10;//
adcx[2] = Get_Adc_Average(ADC_Channel_2,5) / 10;//
adcx[3] = Get_Adc_Average(ADC_Channel_3,5) / 10;//
adcx[4] = Get_Adc_Average(ADC_Channel_4,5) / 10;//
adcx[5] = Get_Adc_Average(ADC_Channel_6,5) / 10;//
adcx[6] = Get_Adc_Average(ADC_Channel_7,5) / 10;//
// adcx[7] = Get_Adc_Average(ADC_Channel_8,5) / 10;//
附上程序源码,环境KEIL5、C语言。