2. 声音接收放大器电路设计
接收部分是用拾音器接收声音信号。由于拾音器接收到的信号在不经过放大时信号很小,不易检测,故后级利用单管放大将接收的信号进行处理,电路中通过RC可以把集电极电流的变化转换成电压的变化送到输出端。
3. 测量、数据处理电路设计
6
根据要求只有当接收到的信号为500Hz时,我们才能保证接收到的信号是由声源发出的。而拾音器接收到的声音信号是任意频率的,故此处要进行滤波处理。滤波采用的是带通滤波器,通过电容电阻的匹配,最终滤波器的中心频率为500Hz,带宽为50Hz。拾音器接收到的信号经过带通滤波器后,能够将生源发出的信号滤出,正符合本题要求。
滤波后的信号为正弦波,但该信号不便于用单片机进行处理,故在后级加
入了一级LM393比较器。其基本功能是对两个输入电压进行比较,并根据比较结果输出高电平或低电平。并由此来判断输入信号的大小和极性。从滤波器中输出的信号的幅值为1V以上,故将比较器的比较端给的比较电压设定为500mV左右,这样当输出的信号是频率为500Hz的方波,幅值为3.3V,能够用单片机进行检测,效果比较满意。
7
4. 程序设计及其流程图
4.1程序设计思想:
设坐标纸为图中的矩形ABCD。声源在点O,拾音器分别位于矩形四角A、B、C、D。声源到A点的距离为Da,到B点的距离为Db,到C点的距离为Dc,到D点的距离为Dd。分别经过时间Ta,Tb,Tc,Td后,拾音器A、B、C、D接收到信号,然后可以计算出三个时间差值t1,t2,t3,声音传播速度为v。通过下列算法后可计算出声源O的坐标值(x,y):
4.1.1定位算法一:
8
(1)
(2)
(3)
(4)
单片机检测到的为四个时间点算出三个时间差,上面四个式子可用时间差表示出
解出:
;
; (5)
; (6)
; (7)
; (8)
;
;
;
;
9
;
上式总共两个未知数四个等式,可以根据任意三个式子解出一组解,总共会有两组解。由于测出的结果会有误差,所以将所得的两组解进行平均值求解,则结果误差会减小,准确度会进一步提高。该算法程序比较简短,适合用单片机处理。
4.1.2定位算法二:
(1)
(2)
f1(x,y)==0 (3)
f2(x,y)=
=0 (4)
然后对(3)(4)分别对x,y求一介微分: f1x(x,y)=
;
;
f2x(x,y)=;
f2y(x,y)=;
然后将f1(x,y),f2(x,y)进行泰勒级数展开,则可得出递推公式:Xk+1=Xk+
;
10
f1y(x,y)=