搜索
bottom↓
回复: 104

声音方位传感器

[复制链接]
头像被屏蔽

出0入0汤圆

发表于 2009-3-29 17:15:05 | 显示全部楼层 |阅读模式
作者:sjx  来源:磁动力论坛  http://www.cdle.net/bbs/dispbbs.asp?boardid=4&Id=4895&page=4

这是我自己设计的声音方位传感器效果比较满意,装在机器人上就可以判断你说话的位置了!用了4个LM386和一块2051。


图1 (原文件名:showimg-1.jpg)


电路图,LM386有4个同样的。



图2 电路图 (原文件名:showimg-2.JPG)


程序:

#include<at892051.h>

void main(void) { long int b;

while(1) { b=0; if(P3_0==1&&P3_1==1&&P3_2==1&&P3_3==1)P1 = 0xFF; if(P3_0==0&&P3_1==1&&P3_2==1&&P3_3==1) { for(;b<11110;) { b++; P1_0=0; if(b<1111) P1_1=0; else P1_1=1; } P1_0=1; } b=0; if(P3_0==1&&P3_1==0&&P3_2==1&&P3_3==1) { for(;b<11110;) { b++; P1_0=0; if(b<2222) P1_1=0; else P1_1=1; } P1_0=1; } b=0; if(P3_0==1&&P3_1==1&&P3_2==0&&P3_3==1) { for(;b<11110;) { b++; P1_0=0; if(b<3333) P1_1=0; else P1_1=1; } P1_0=1; } b=0; if(P3_0==1&&P3_1==1&&P3_2==1&&P3_3==0) { for(;b<11110;) { b++; P1_0=0; if(b<4444) P1_1=0; else P1_1=1; } P1_0=1; } } }

从程序可以看出为节省IO口采用脉宽输出。


输出信号:

声音确认P1_0___------------------------_____一秒

第一传感器有信号输出P1_1___----_______________0.1秒

第二传感器有信号输出P1_1___--------____________0.2秒

第三传感器有信号输出P1_1___------------__________0.3秒

第四传感器有信号输出P1_1___----------------________0.4秒

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。

如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》

出0入0汤圆

发表于 2009-4-7 13:11:56 | 显示全部楼层
学学

出0入0汤圆

发表于 2009-4-14 20:05:11 | 显示全部楼层
呵呵 挺好的 四个MIC就能实现声音定位了!

出0入0汤圆

发表于 2009-4-18 20:08:52 | 显示全部楼层
amok,你这个东西精度如何啊?

出0入0汤圆

发表于 2009-4-18 23:42:08 | 显示全部楼层
来点文字的解说吧,我等着

出0入0汤圆

发表于 2009-4-18 23:58:40 | 显示全部楼层
jh

出0入0汤圆

发表于 2009-4-25 08:04:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-4-25 22:49:28 | 显示全部楼层
有创意,就式不知道效果怎样

出0入0汤圆

发表于 2009-4-25 23:29:18 | 显示全部楼层
可以用在什么样的场合呢

出160入0汤圆

发表于 2009-4-25 23:35:09 | 显示全部楼层
上次看电视  好像说老美有个公司做仪器就是这个原理,用来定位狙击手的大概位置的

出0入0汤圆

发表于 2009-4-27 16:04:32 | 显示全部楼层
【9楼】 yyzz20022001
上次看电视  好像说老美有个公司做仪器就是这个原理,用来定位狙击手的大概位置的

太强了 狙击手失业了 呵呵

出0入0汤圆

发表于 2009-4-27 16:27:18 | 显示全部楼层
程序居然都不分行。。。

#include<at892051.h>

void main(void) {
long int b;

while(1)
{
  b=0;
  if(P3_0==1&&P3_1==1&&P3_2==1&&P3_3==1)P1 = 0xFF;
  if(P3_0==0&&P3_1==1&&P3_2==1&&P3_3==1)
    {
     for(;b<11110;)
       {
          b++;
          P1_0=0;
          if(b<1111) P1_1=0;
          else P1_1=1;
       }
    P1_0=1;
    }
b=0;
if(P3_0==1&&P3_1==0&&P3_2==1&&P3_3==1)
   {   
    for(;b<11110;)
        {
         b++;
         P1_0=0;
         if(b<2222) P1_1=0;
         else P1_1=1;
         }
    P1_0=1;
  }
b=0;
if(P3_0==1&&P3_1==1&&P3_2==0&&P3_3==1)
  {
   for(;b<11110;)
      {
       b++;
       P1_0=0;
       if(b<3333) P1_1=0;
       else P1_1=1;
       }
  P1_0=1;
}
b=0;
if(P3_0==1&&P3_1==1&&P3_2==1&&P3_3==0)
     {
      for(;b<11110;)
        {
         b++;
         P1_0=0;
         if(b<4444) P1_1=0;
         else P1_1=1;
         }
  P1_0=1;
  }
}
}


这样好多了

出0入0汤圆

发表于 2009-5-1 22:54:18 | 显示全部楼层
楼上我喜欢!!

出0入0汤圆

发表于 2009-5-1 23:47:07 | 显示全部楼层
思路不错

出0入0汤圆

发表于 2009-5-3 09:47:27 | 显示全部楼层
好玩

出0入0汤圆

发表于 2009-5-9 13:13:24 | 显示全部楼层
传感器是话筒吗?

出0入0汤圆

发表于 2009-5-14 22:01:17 | 显示全部楼层
为什么我照原理图在多功能板上焊了元件,效果不好呢?(我用的是386D功率放大片,在输出端输出电压在2.45V左右,只有对极柱体麦克风吹气,电压才变为3点几伏,当时怀疑是极柱体麦克风灵敏度不高的原因,不知是不是这原因导致的问题,测极柱体麦克风的电阻变化时的确变化不大)

出0入0汤圆

发表于 2009-5-18 09:04:42 | 显示全部楼层
哪里能下载啊,图片也不完整呀

出0入0汤圆

发表于 2009-5-18 09:52:40 | 显示全部楼层
现在一些视频会议系统已经采用类似的声音定位方案,谁讲话,镜头就对准谁,前两周才测试过一下,挺准的。

出0入0汤圆

发表于 2009-5-18 09:57:23 | 显示全部楼层
楼上的
这个叫语音激励
视频会议上的不太一样,是每个发言的人都有一个专用的麦,所以好做
如果是靠掉麦拾音就麻烦点

出0入0汤圆

发表于 2009-5-18 22:35:25 | 显示全部楼层
改天叫我同事弄个来看看

出0入0汤圆

发表于 2009-5-18 23:26:53 | 显示全部楼层
是什么原理?我怎么觉得是不可能的事。单凭这个程序就能实现定位?太神了吧!

出0入0汤圆

发表于 2009-5-19 12:24:35 | 显示全部楼层
不知道这个应用前景怎么样
如果好的话,有更好的解决方案
采用一致性好的话筒,通过检测相位的方式,应该可以达到很高的检测精度
不过原理和现在的是完全不一样

出0入0汤圆

发表于 2009-5-19 13:01:23 | 显示全部楼层
楼上,这几个话筒排那么近相位差太小了吧。。。。

出0入0汤圆

发表于 2009-5-19 21:59:23 | 显示全部楼层
原来的图上,不是根据相位来检测的
如果要比较好的精度,要根据音量和相位两个因素来检测.
距离太近肯定不行,但也不需要太大啊
有人头那么大,应该也够了吧

出0入618汤圆

发表于 2009-5-20 02:11:40 | 显示全部楼层
10cm足够了,现在很多手提电脑都用双mic做定向收音和消回音,两个mic距离大概就是10cm,效果不错。
不过这个程序这么短,粗看结构并没有相位分析这些复杂的运算吧,最多只能判断mic所指的4个方位而已,没什么实用价值。

出0入0汤圆

发表于 2009-5-22 11:50:05 | 显示全部楼层
国产反狙击手声探测仪 已经有人做了 说是精度1000M
传不上来

http://slide.mil.news.sina.com.cn/slide_8_228_59.html
自己看

上传失败,可能是文件格式不对(仅支持jpg、gif、rar、zip、pdf、word-doc、excel-xls、txt、htm、html、mht 格式 ) 详细出错说明请参考以下的英文:
java.lang.IllegalArgumentException: This path does not exist (1135).按此返回

出0入0汤圆

发表于 2009-5-22 11:53:45 | 显示全部楼层
我们这有个博导 做这个----狙击手定位

出0入0汤圆

发表于 2009-5-22 12:15:29 | 显示全部楼层
应该搞个声波摄像机。。。。貌似和红外摄像机组合使用就是远距发动机故障监视器了。。。

出0入0汤圆

发表于 2009-5-22 20:23:52 | 显示全部楼层
如果多种枪械 同时开枪 估计就是问题了 怎么分狙击枪

出0入0汤圆

发表于 2009-6-2 13:53:11 | 显示全部楼层
amok,你好牛呀

出0入0汤圆

发表于 2009-6-11 16:57:45 | 显示全部楼层
用在机器人身上也不错啥,叫一声,“给我过来”,机器人就屁D屁D的跑过来了,多有意思

出0入0汤圆

发表于 2009-6-11 17:21:24 | 显示全部楼层
不错。

出0入0汤圆

发表于 2009-6-11 17:54:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-6-13 23:16:25 | 显示全部楼层
长见识了。。。。

出0入0汤圆

发表于 2009-7-15 11:11:13 | 显示全部楼层
有没有原理?不是好明白

出0入0汤圆

发表于 2009-7-15 12:56:09 | 显示全部楼层
有人做出来了!自己太懒了,还处在想想的阶段。

出0入0汤圆

发表于 2009-7-15 13:29:49 | 显示全部楼层
interesting gadget.

出0入0汤圆

发表于 2009-7-27 17:06:56 | 显示全部楼层
厉害!

出0入0汤圆

发表于 2009-7-27 20:28:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-7-27 20:46:40 | 显示全部楼层
好。我也想过做一个,不过觉得精度是个问题。误差最大有45°吧。

出0入0汤圆

发表于 2009-7-29 18:15:41 | 显示全部楼层
lm386  我把它做成话筒了,倒没有想过还可以这样

出0入0汤圆

发表于 2009-7-31 00:18:10 | 显示全部楼层
这个厉害!!!!

出0入0汤圆

发表于 2009-8-5 11:12:06 | 显示全部楼层
有想法才能出创意。

出0入0汤圆

发表于 2009-8-8 15:30:21 | 显示全部楼层
那天我动手做个试试。

出0入0汤圆

发表于 2009-8-10 18:18:51 | 显示全部楼层
喜欢11楼的……
呵呵

出0入0汤圆

发表于 2009-8-12 11:06:45 | 显示全部楼层
美国陆军战车上装备有类似的东东,如果有人向战车开枪
它能根据分置传感器上检测的声音时间差,迅速计算开枪者方位,然后调整火力还击

出0入0汤圆

发表于 2009-8-12 11:48:56 | 显示全部楼层
【19楼】 yin66
楼上的
这个叫语音激励
视频会议上的不太一样,是每个发言的人都有一个专用的麦,所以好做
如果是靠掉麦拾音就麻烦点  
======================
我5月份测试是这个机:

(原文件名:vsx8800.GIF)
http://www.polycomchina.cn/polycomvsx8800.htm
注意看中间那个有四个话筒的摄像头,就是用来定位的,实测效果十分好,不但定方位,还定焦距,基本上人在画面1/3大小。

出0入0汤圆

发表于 2009-8-13 14:14:16 | 显示全部楼层
不错

出0入0汤圆

发表于 2009-8-13 14:38:02 | 显示全部楼层
有时间试试

出85入4汤圆

发表于 2009-8-13 16:39:16 | 显示全部楼层
能用来控制激光枪打蚊子吗?昨天晚上半夜被蚊子咬的睡不着,心理想怎样造一个自动打蚊子的高射炮,没想到今天就看到一种定位方案了,呵呵

我是这样想的,在房间的8个墙角安装高灵敏度的mic,捕捉蚊子在空间中的立体坐标,然后控制激光枪打蚊子,问题是蚊子的声音很小大房间能感应的到它的声音吗?又或同时有几只蚊子在嗡嗡叫,那如何定位其中一只蚊子呢?呵呵,搞来搞去成了火控系统了。

出0入0汤圆

发表于 2009-8-21 09:41:47 | 显示全部楼层
楼上谁还敢进你房间?不小心放个屁,招来一顿激光乱烧

出0入0汤圆

发表于 2009-8-30 07:37:12 | 显示全部楼层
哈哈

出0入0汤圆

发表于 2009-9-2 10:18:55 | 显示全部楼层
GOOD

出0入0汤圆

发表于 2009-9-4 10:12:05 | 显示全部楼层
50楼的想法妙,哈哈

出0入0汤圆

发表于 2009-9-28 20:25:11 | 显示全部楼层
为什么国赛时我没发现

出0入0汤圆

发表于 2009-9-29 11:23:10 | 显示全部楼层
mark
国赛发现全国做的就都一样了

出0入0汤圆

发表于 2009-10-11 20:40:37 | 显示全部楼层
国赛上控制小车用的就是这个思想,不同位置的麦克风根据时间差,计算出声源的位置。

出0入0汤圆

发表于 2009-10-11 21:49:49 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-10-14 00:21:57 | 显示全部楼层
mark,很好,可以用在我的小车上~

出0入0汤圆

发表于 2009-10-19 08:59:01 | 显示全部楼层
【47楼】 Cocal
http://www.polycomchina.cn/polycomvsx8800.htm
注意看中间那个有四个话筒的摄像头,就是用来定位的,实测效果十分好,不但定方位,还定焦距,基本上人在画面1/3大小。

======================================================================================

请问一下,能用四个话筒来定方位,并计算出,声音与定位器本身的距离吗?

出0入0汤圆

发表于 2009-12-19 00:19:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-19 14:23:04 | 显示全部楼层
忘了在哪见到过一个概念性军用品 利用炮弹激起的声波确定弹道 相当强悍

出0入0汤圆

发表于 2010-1-5 15:43:56 | 显示全部楼层
mark~准备试试看效果

出0入0汤圆

发表于 2010-1-5 16:15:56 | 显示全部楼层
用接收声音的时间差来判别吗?  
如果是:  要长期轮询扫描4个端口! 这样的话做小车好像不太适合!(cpu占用率太高)

        采用 中断的话还可以吧, 像M16 有3个外中断 + 输入捕获中断  凑成4个输入。

计算公式精确的话 可以确定到 8或16个方向吗?(可能还要取决于 4个MIC的位置间距吧!)

--------------------
或者采用 模拟量输入; 但取ADC值的时间较长, 不知道取4个ADC值的时间,对声音衰减的时间如何计算补偿。

出0入0汤圆

发表于 2010-1-5 18:04:21 | 显示全部楼层
这个东西我们好多年前做过,也是给机器人用的。

出0入0汤圆

发表于 2010-1-5 22:34:30 | 显示全部楼层
理论上用两个咪就可以判断方位和距离,关键是怎么设计,选材也是要注意的吧(空想家)

出0入0汤圆

发表于 2010-1-5 22:48:55 | 显示全部楼层
并非空想,这个需要找单向性好的mic才可以保证精度。

出0入0汤圆

发表于 2010-3-18 15:47:34 | 显示全部楼层
jilu

出0入0汤圆

发表于 2010-3-23 20:50:40 | 显示全部楼层
这技术做好了拦截导_弹就容易了

出0入0汤圆

发表于 2010-4-8 21:02:52 | 显示全部楼层
这个原理是什么呢?不明白呢

出0入0汤圆

发表于 2010-4-8 23:30:48 | 显示全部楼层
看看

出0入0汤圆

发表于 2010-4-9 05:58:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-9 13:31:17 | 显示全部楼层
回复【50楼】zzy9903 9903
能用来控制激光枪打蚊子吗?昨天晚上半夜被蚊子咬的睡不着,心理想怎样造一个自动打蚊子的高射炮,没想到今天就看到一种定位方案了,呵呵
我是这样想的,在房间的8个墙角安装高灵敏度的mic,捕捉蚊子在空间中的立体坐标,然后控制激光枪打蚊子,问题是蚊子的声音很小大房间能感应的到它的声音吗?又或同时有几只蚊子在嗡嗡叫,那如何定位其中一只蚊子呢?呵呵,搞来搞去成了火控系统了。
-----------------------------------------------------------------------

你看下这个,微软前高管搞的,专门用激光打蚊子的。据说正常情况下,每秒能击落50到100只蚊子。估计整个设备的售价约在50美元左右。很有前途哦
http://www.tudou.com/programs/view/K-RzNCilqdg/

出0入0汤圆

发表于 2010-4-14 18:11:15 | 显示全部楼层
09年电子设计大赛有这个题@@@@@@@@@

出0入0汤圆

发表于 2010-4-18 14:53:38 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-18 16:57:39 | 显示全部楼层
看看

出0入0汤圆

发表于 2010-4-20 12:28:40 | 显示全部楼层
MARK~

出0入0汤圆

发表于 2010-4-30 12:17:35 | 显示全部楼层
你好。。。我对你的东西很赶兴趣。。想自己也对照着做下。。。但是我是小菜鸟。。能把你的 资料发我份,让我玩玩嘛。。谢谢哈、。。。。跪求啊。。。

出0入0汤圆

发表于 2010-5-20 09:41:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-21 16:03:05 | 显示全部楼层
不错 不错  受教了

出0入0汤圆

发表于 2010-5-21 16:13:02 | 显示全部楼层
回复【11楼】wear778899 小心咬人
程序居然都不分行。。。
#include&lt;at892051.h&gt;  
void main(void) {  
long int b;  
while(1)  
{  
  b=0;  
  if(p3_0==1&amp;&amp;p3_1==1&amp;&amp;p3_2==1&amp;&amp;p3_3==1)p1 = 0xff;  
  if(p3_0==0&amp;&amp;p3_1==1&amp;&amp;p3_2==1&amp;&amp;p3_3==1)  
    {  
     for(;b&lt;11110;)
       {  
          b++;  
          p1_0=0;  
          if(b&lt;1111) p1_1=0;  
          else p1_1=1;
       }  
    p1_......
-----------------------------------------------------------------------

这个代码有什么用?  看不出来啊, 高手解惑解惑

出0入0汤圆

发表于 2010-5-23 00:56:19 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-5-23 02:09:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-26 22:06:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-27 08:55:18 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-6-2 16:55:43 | 显示全部楼层
回复【47楼】Cocal
-----------------------------------------------------------------------

这个用的不是声音定位的吧!!会议系统我半年前安装过几批,用的是预置位!先手动调到位置,分别设几个位置,参数写入主机,话筒也是数字话筒,每支话筒有个ID号也是在预置位里有设的,当这支话筒打开时摄像机自动调是用这个位的参数实现定位的,

出0入0汤圆

发表于 2010-6-2 22:12:12 | 显示全部楼层
我估计最多是哪边声音大就指向哪边

出0入0汤圆

发表于 2010-6-20 00:50:35 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-10 22:55:52 | 显示全部楼层
支持一下

出0入0汤圆

发表于 2010-7-15 00:25:37 | 显示全部楼层
回复【楼主位】armok 阿莫
-----------------------------------------------------------------------

如果你这个机器人附近有墙,你能够很少识别人的声音?墙能反射声音的!而且,有些形状的墙还能聚合声音!~

出0入0汤圆

发表于 2010-8-26 19:07:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-26 19:24:13 | 显示全部楼层
阿莫很有预见性啊,这不是09电赛的题嘛

出0入0汤圆

发表于 2010-8-27 00:36:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-2 20:34:57 | 显示全部楼层
此物在军事上早有应用,我国也早已研制出这种装备并且装备部队:反直升机地雷。

出0入0汤圆

发表于 2010-9-2 21:49:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-2 22:57:47 | 显示全部楼层
转:磁动力论坛-作者:sjx 的回复:
--------------------------------------------------------------------------------------------------
原理很简单啊:
循环扫描4个音频放大器--〉得到X个音频放大器的触发--〉进入延时和信号发送
延时的目的是捕捉声波的瞬时触发,因为声波是放射性的!如果不延时当声波到达别的传感器就会产生误判
--------------------------------------------------------------------------------------------------
应该是根据声音到达4个传感器的时间差判断的。

出0入0汤圆

发表于 2010-9-17 23:58:38 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-26 13:48:18 | 显示全部楼层
mark

出20入0汤圆

发表于 2010-12-31 11:11:31 | 显示全部楼层
大学毕业设计做过一个声源指向性测量系统,看到这个帖子,觉得好亲切啊^_^
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-28 20:36

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表