电赛E题声源定位跟踪系统制作全过程

这篇具有很好参考价值的文章主要介绍了电赛E题声源定位跟踪系统制作全过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

声源定位


复刻一下电赛的声源定位

前言

2023年的电子设计竞赛快要开始了,同时我也已经大三下了正在准备找工作,重新做一下2022年的电赛题目声源定位吧,也为电赛和找工作做点准备。

一、题目

设计制作一个声源定位跟踪系统,能够实时显示及指示声源的位置,当声源移动时能够用激光笔动态跟踪声源。声源检测系统测量区域分布俯视如图所示。
电赛E题声源定位跟踪系统制作全过程

二、设计步骤

1.设计思路

以 k210 单片机为控制核心,由电源模块,音频发生模块,音频接收模块,二维电动云台,激光笔等模块构成。系统通过声源发出一定周期性的音频信号,由 6+1 个 MEMSMic 组成阵列对可移动声源的检测,通过麦克风端接收到的音 频信号,运算后输出电压信号传输到控制端的单片机,单片机使用 PID 算法经串口输出控制信号对电动云台舵机实行控制,使其转向声源方向,以实现对声源的定位追踪过程。

2.声源追踪定位的分析

对声源位置的追踪确过程,本系统采用时间差值法采用麦克风作为声波接收头,音频信号通过空气介质以 340m/s 的速度传播,到达五处麦克风的时间不同,从而不同麦克风接收到音频信号的时间差作为变量,可以推算出可移动声源的具体位置。由于每一个麦克风在接收音频信号的机械特性不一样,对于同一种音频信号的响应时间不用。经过测试,我们发现不同频率的声音在麦克风接受时有不同的效果,通过选用固定频率的声音作为声源信号,可以避免了一般的声音信号的干扰。同时有利于后期滤波程序的编写,软件硬件相结合,更好的克服了在接收音频信号时间差的不确定性。

3.舵机转角的确定

舵机转角,既声源与信号检测装置的连线与中心线 A 的夹角 γ,系统通过声源发出一定周期性的音频信号,由 6+1 个 MEMSMic 组成阵列对可移动声源的检测,通过麦克风端接收到的音频信号,运算后输出电压信号传输到控制端的单片机,单片机通过对各麦克风信号大小的分析,使用 PID 算法经串口输出控制信号
对电动云台舵机实行控制,使其转向声源方向,同时记录此时舵机的所处角度,
与舵机中值进行对比,从而确定舵机转角 γ。示意图如下
(−angle + 90) / 180 ∗ 10 + 2.5
电赛E题声源定位跟踪系统制作全过程

4.声源距离的计算

声源距离既声源 A 与声源定位检测装置 B 两点间直线距离 γ 通过测量同一
音频信号到达麦克风接收器的时间不同,从而三个接收器接收到音频信号的时
间差作为变量,可以推算出可移动声源的具体方向,从而实现了移动声源的精
确定位。公式如下:
电赛E题声源定位跟踪系统制作全过程

三、代码编写

声源的代码比较简单,这个难点在于怎么处理杂波,一个是求均值,另一个就是卡尔曼了文章来源地址https://www.toymoban.com/news/detail-456090.html

1.求均值


##########################求均值##############################
def get_arv(times):
    i=0
    j=0
    angle=[]
    maxAng=-999999
    minAng=999999
    sumAng=0
    while True:
        i=i+1
        Angle=get_mic_dir()
        if(Angle != -1):
            angle.append(Angle)
            j=j+1
            if(j>=times):
                break;
        if(i>2*times+20):
            break;
    if j>2:
        for ang in angle:
            sumAng=sumAng+float(ang)
            if( ang > maxAng):
                maxAng=ang
            if( ang < minAng):
                minAng=ang
        return (sumAng-minAng-maxAng)/(j-2)
    else:
        return -1
##########################求均值##############################

2.卡尔曼滤波


##########################卡尔曼##############################
KF_lastP=1000   #上次的协方差
KF_nowP=0      #本次的协方差
KF_x_hat=0     #卡尔曼滤波的计算值,即为后验最优值
KF_Kg=6000        #卡尔曼增益系数
KF_Q=5         #过程噪声
KF_R=0.01      #测量噪声
def Kalman_Filter(value):
    global KF_lastP        #上次的协方差
    global KF_nowP         #本次的协方差
    global KF_x_hat        #卡尔曼滤波的计算值,即为后验最优值
    global KF_Kg           #卡尔曼增益系数
    global KF_Q            #过程噪声
    global KF_R            #测量噪声
    output=0        #output为卡尔曼滤波计算值
    x_t=KF_x_hat    #当前先验预测值 = 上一次最优值
    KF_nowP=KF_lastP+KF_Q       #本次的协方差矩阵
    KF_Kg=KF_nowP/(KF_nowP+KF_R)#卡尔曼增益系数计算
    output=x_t+KF_Kg*(value-x_t)#当前最优值
    KF_x_hat=output     #更新最优值
    KF_lastP=(1-KF_Kg)*KF_nowP#更新协方差矩阵
    return output
##########################卡尔曼##############################

到了这里,关于电赛E题声源定位跟踪系统制作全过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32蓝牙小车制作全过程---刚入门的小白也能会

    首先我本人也是学stm32满打满算也才半个学期的小白,经过半学期的学习总感觉理论啥的虚了点,所以就打算搞辆蓝牙小车来练练手,这就有了现在的这篇文章,来分享一下制作小车时的一些问题和经验希望能帮助到更多的小白(。・ω・。),有说错的地方希望大家能指正哈。

    2023年04月08日
    浏览(42)
  • 香橙派/树莓派 电脑linux 电赛备赛指南-opencv全过程最简安装,ssh,vnc,USB摄像头驱动和配置环境避坑,手把手教学。opencv视觉入门(一)

    老早就想写博客了把之前的项目都记录下来,但是一直碍于每次做完项目都挺累的,于是就偷懒没写,不过每次做完都有总结,现在已经大三了,觉得应该把自己之前学习过程中遇到的经验或者坑写出来,后面会陆陆续续的发出来,今天先来讲一下有关这份博客的前提背景吧

    2024年04月08日
    浏览(49)
  • .net core 项目部署linux系统全过程

      使用Xshell远程连接阿里云服务器 - 程序员大本营 使用Xshell远程连接阿里云服务器,程序员大本营,技术文章内容聚合第一站。 https://www.pianshen.com/article/2750375233/      配置完之后 绑定密钥对。   保存密钥文件到桌面。   家庭/学校免费 - NetSarang Website https://www.xshell.com/z

    2024年02月05日
    浏览(40)
  • Nvidia Jetson Nano Developer KIT配置全过程(二):Ubuntu系统安装

    将烧录好的存储卡插入开发板中,连接好各类数据线和电源线,开机启动。 第1步,选择接受协议。 第2步,选择语言,这里选择中文简体。 第3步,选择键盘布局。 第4步,配置无线网络。后续的配置过程中很多地方会涉及到从互联网上下载组件包,所以建议配置网络。当然

    2024年02月15日
    浏览(44)
  • 企事业单位通用版招采系统(SRM),招采全过程闭环流程

    前言 采购供应商管理的难点:沟通耗费精力,业务协同难,管控混乱。优质的供应商,是直接能够影响采购成本和企业采购战略落地的,而供应商管理的终极路径是建立企业自己的供应商私域流量池。 一、供应商管理 1.供应商准入:支持多种供应商入驻方式,公开申请,他

    2023年04月13日
    浏览(75)
  • 【基于Ubuntu20.04的Autoware.universe安装过程】方案二:双系统 | 详细记录 | 全过程图文 by.Akaxi

    目录 一、Autoware.universe背景 Part-1:安装双系统教程 二、查看Windows引导方式 三、制作安装盘 四、设置电脑配置 1.关闭bitlocker 2.压缩硬盘分区 3.关闭Secure Boot 4.关闭intel RST 5.BIOS设置U盘引导 五、安装Ubuntu20.04 1.ventoy引导 2.安装配置 3.安装类型 4.完成安装 Part-2:在Ubuntu20.04上安装

    2024年04月11日
    浏览(57)
  • 【已解决】win10系统 Docker 提示Docker Engine stopped解决全过程记录

    【已解决】win10系统 Docker 提示Docker Engine stopped解决全过程记录  找到 【Docker Desktop Service】,然后,启动他; 你也可以直接设置为“自动” 找到服务,右键》属性》启动类型:自动》点击“确定” 在底部菜单找到搜索,输入:服务 如果底部没有“搜索”,右键底部》搜索》

    2024年04月26日
    浏览(40)
  • Nvidia Jetson Nano Developer KIT配置全过程(一):jetson镜像系统烧录

    关于Jetson Nano开发板的规格参数等指标信息,可以登录Nvidia官方网站查看,也可以打开下面的连接查看。 重点提醒:JetsonNano处理器架构是aarch64架构,所以在jetson nano上安装软件时请选择arrch64版本的,否则会导致无法预料的严重后果。 arm64和aarch64之间的区别:arm64已经与aarc

    2024年02月10日
    浏览(44)
  • 手术麻醉信息系统源码 php + mysql + vue2,覆盖患者就诊全过程,体征数据自动采集绘制

    手术麻醉信息系统源码 php + mysql + vue2  B/S网页版 麻醉信息系统是HIS产品的中的一个组成部分,主要应用于医院的麻醉科,属于电子病历类产品。医院麻醉监护的功能覆盖整个手术与麻醉的全过程,包括手术申请与排班、审批、安排、术前、术中和术后。 技术架构:mysq

    2024年02月03日
    浏览(54)
  • 电子招标采购系统源码之从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。

    统一供应商门户 便捷动态、呈现丰富 供应商门户具备内外协同的能力,为外部供应商集中推送展示与其相关的所有采购业务信息(历史合作、考察整改,绩效评价等),支持供应商信息的自助维护,实时风险自动提示。 统一采购方门户 分级分权、场景推送 采购门户中,针

    2024年02月08日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包