2022年全国大学生电子设计竞赛——声源定位跟踪系统(E题)

设计一种能够检测声音源的偏航角、俯仰角及距离来定位和指示声源的装置。水平方向上采用K210结合麦克风阵列采集不同方向麦克风的强度,从而计算偏航角和距离;从而控制舵机,将激光笔指到声源位置。

所需硬件

maixbit(k210芯片)、麦克风阵列、舵机、lcd显示屏

核心代码:

卡尔曼滤波:
def Kalman_Filter(value):  # 传angleglobal 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
获取麦克风阵列的坐标位置、声强、夹角等
def get_mic_dir():AngleX=0AngleY=0AngleR=0Angle=0AngleAddPi=0Angle_Z=0AngleR_Z=0mic_list=[]img = mic.get_map()imga=img# 获取声音源分布图像b = mic.get_dir(imga)   # 计算、获取声源方向for i in range(len(b)):if b[i]>=2:AngleX+= b[i]*math.sin(i*math.pi/6)AngleY+= b[i]*math.cos(i*math.pi/6)AngleX=round(AngleX,6) #计算坐标转换值AngleY=round(AngleY,6)if AngleY<0:AngleAddPi=180if AngleX<0 and AngleY > 0:AngleAddPi=360if AngleX!=0 or AngleY!=0: #参数修正if AngleY==0:Angle=90 if AngleX>0 else 270 #填补X轴角度else:Angle=AngleAddPi+round(math.degrees(math.atan(AngleX/AngleY)),4) #计算角度AngleR=round(math.sqrt(AngleY*AngleY+AngleX*AngleX),4) #计算强度AngleR_Z=int(AngleR)Angle_Z=int(Angle)mic_list.append(AngleX)mic_list.append(AngleY)mic_list.append(AngleR)mic_list.append(Angle)

完整代码和效果见:
https://m.tb.cn/h.UdDKJML?tk=stEl2zanG9O CZ0001
点击链接直接打开

基于K210的声源定位系统相关推荐

  1. 声源定位matlab模拟,毕业论文-基于MATLAB的声源定位系统.doc

    PAGE PAGE 1 毕 业 设 计(论 文) 基于MATLAB的声源定位系统 专业年级 07级应用物理学 学 号 姓 名 指导教师 评 阅 人 二○一一年六月 中国 南京 河 海 大 学 本科毕业 ...

  2. 麦克风声源定位原理_基于麦克风阵列声源定位系统最新版

    <基于麦克风阵列声源定位系统.doc>由会员分享,可免费在线阅读全文,更多与<基于麦克风阵列声源定位系统>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜 ...

  3. 基于双麦克风声源定位的视频跟踪

    基于双麦克风声源定位的视频跟踪 声源定位跟踪技术在当今社会有着越来越广泛的应用.在此使用两个高灵敏度麦克风作为传感器,配以音频信号处理芯片,接收音频信号并进行模数转换,使用FPGA器件作为核心控制器, ...

  4. 基于Java的地理位置定位系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/86783248 资源下载地址:https://download.csdn.net/downl ...

  5. 基于FastICA的声源分离实例(matlab代码)

    基于FastICA的声源分离实例 1 独立成分分析(ICA)的形象化理解 1.1 盲源分离(BlindSource Separation,BSS)的认识 1.2 独立成分分析(ICA)的基础概念 1. ...

  6. 基于K210的MNIST手写数字识别

    基于K210的MNIST手写数字识别 项目已开源链接: Github. 硬件平台 采用Maixduino开发板 在sipeed官方有售 软件平台 使用MaixPy环境进行单片机的编程 官方资源可在这里 ...

  7. 车牌定位系统matlab,基于Matlab的车牌定位系统的研究与设计论文

    基于Matlab的车牌定位系统的研究与设计论文 本 科 毕 业 设 计基于 Matlab的车牌定位系统的研究与设计摘 要随着我国城市急速发展,交通管理成了一个非常热门的话题,由于交通管理需求日益提高, ...

  8. 基于k210的水果分拣

    基于k210的水果分拣 yolov2tiny模型训练(采用darknet) 前言 darknet darknet安装 训练数据处理 cfg文件配置 weights文件获取 训练前准备 开始训练 dar ...

  9. 基站定位-基于基站的移动台定位系统

    基于基站的移动台定位系统 GSM手机定位方式通常可以分为基于网络方式和基于终端方式两种.从技术方面又可分为到达时间(TOA).增强测量时间差(E-OTD)和GPS辅助(A-GPS)三种方式.而这里介绍 ...

最新文章

  1. windows下 nginx安装 使用
  2. 数字原生,创新生长|企业如何打造数字创新的“飞天梦”?
  3. 中国大学MOOC 人工智能导论第七章测试
  4. 遇到指针别害怕!先把这篇笔记看一遍~
  5. 汇编语言:实现大小写字母转换
  6. 揭秘 IPython 的 5 种最佳调试方法
  7. SQOOP 基础及安装
  8. matlab igbt 关断,IGBT关断过程分析
  9. 使用ntsd命令强制性杀掉进程[微软未开公的密秘]
  10. java中的反射技术
  11. 推荐术语:CPM、CPC、CPA、CPI、CTR、CPV、CVR
  12. 分形理论在地理信息科学研究中的应用
  13. 如何在香港主机上尽可能多的建站
  14. 前端例程20211122:盐酸与氢氧化钠溶液中和pH计算工具
  15. 什么叫做形态学图像处理_形态学图像处理
  16. 【Flink实战系列】Flink 1.11.1 on yarn 集群搭建教程
  17. c++ break语句
  18. 蛋白质集合c语言算法,利用蛋白质序列的预测方法
  19. Spring Boot 3.0.0正式发布,Banner不再支持图片增强可观测性
  20. 【PHP】Maximum execution time of seconds exceeded

热门文章

  1. SPSS学习笔记之——OR值与RR值
  2. python使用matplotlib可视化、自定义设置X轴刻度标签字体的大小( setting axis ticks size in matplotlib x axis)
  3. 如何修改HBulider X注释字体的颜色
  4. excel 两组数据交点_数据分析入门:8种常用的数据分析方法
  5. 张小庆,在路上-开始(6)真心话还是大冒险
  6. iPhone手机史上最全的扫盲帖【越狱,解锁,激活,Cydia,基带,裸机】
  7. 二十五条励志金句,让你迅速提升自己的价值!
  8. 【Matlab】结构在傅里叶展开下的周期荷载响应——文末附源码
  9. 阿里内推五面:一面+二面+三面+交叉面+HR面,含答案赠送
  10. TCP/IP路由协议-BGPOSPF路由抖动问题