基于K210的声源定位系统
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的声源定位系统相关推荐
- 声源定位matlab模拟,毕业论文-基于MATLAB的声源定位系统.doc
PAGE PAGE 1 毕 业 设 计(论 文) 基于MATLAB的声源定位系统 专业年级 07级应用物理学 学 号 姓 名 指导教师 评 阅 人 二○一一年六月 中国 南京 河 海 大 学 本科毕业 ...
- 麦克风声源定位原理_基于麦克风阵列声源定位系统最新版
<基于麦克风阵列声源定位系统.doc>由会员分享,可免费在线阅读全文,更多与<基于麦克风阵列声源定位系统>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜 ...
- 基于双麦克风声源定位的视频跟踪
基于双麦克风声源定位的视频跟踪 声源定位跟踪技术在当今社会有着越来越广泛的应用.在此使用两个高灵敏度麦克风作为传感器,配以音频信号处理芯片,接收音频信号并进行模数转换,使用FPGA器件作为核心控制器, ...
- 基于Java的地理位置定位系统
资源下载地址:https://download.csdn.net/download/sheziqiong/86783248 资源下载地址:https://download.csdn.net/downl ...
- 基于FastICA的声源分离实例(matlab代码)
基于FastICA的声源分离实例 1 独立成分分析(ICA)的形象化理解 1.1 盲源分离(BlindSource Separation,BSS)的认识 1.2 独立成分分析(ICA)的基础概念 1. ...
- 基于K210的MNIST手写数字识别
基于K210的MNIST手写数字识别 项目已开源链接: Github. 硬件平台 采用Maixduino开发板 在sipeed官方有售 软件平台 使用MaixPy环境进行单片机的编程 官方资源可在这里 ...
- 车牌定位系统matlab,基于Matlab的车牌定位系统的研究与设计论文
基于Matlab的车牌定位系统的研究与设计论文 本 科 毕 业 设 计基于 Matlab的车牌定位系统的研究与设计摘 要随着我国城市急速发展,交通管理成了一个非常热门的话题,由于交通管理需求日益提高, ...
- 基于k210的水果分拣
基于k210的水果分拣 yolov2tiny模型训练(采用darknet) 前言 darknet darknet安装 训练数据处理 cfg文件配置 weights文件获取 训练前准备 开始训练 dar ...
- 基站定位-基于基站的移动台定位系统
基于基站的移动台定位系统 GSM手机定位方式通常可以分为基于网络方式和基于终端方式两种.从技术方面又可分为到达时间(TOA).增强测量时间差(E-OTD)和GPS辅助(A-GPS)三种方式.而这里介绍 ...
最新文章
- windows下 nginx安装 使用
- 数字原生,创新生长|企业如何打造数字创新的“飞天梦”?
- 中国大学MOOC 人工智能导论第七章测试
- 遇到指针别害怕!先把这篇笔记看一遍~
- 汇编语言:实现大小写字母转换
- 揭秘 IPython 的 5 种最佳调试方法
- SQOOP 基础及安装
- matlab igbt 关断,IGBT关断过程分析
- 使用ntsd命令强制性杀掉进程[微软未开公的密秘]
- java中的反射技术
- 推荐术语:CPM、CPC、CPA、CPI、CTR、CPV、CVR
- 分形理论在地理信息科学研究中的应用
- 如何在香港主机上尽可能多的建站
- 前端例程20211122:盐酸与氢氧化钠溶液中和pH计算工具
- 什么叫做形态学图像处理_形态学图像处理
- 【Flink实战系列】Flink 1.11.1 on yarn 集群搭建教程
- c++ break语句
- 蛋白质集合c语言算法,利用蛋白质序列的预测方法
- Spring Boot 3.0.0正式发布,Banner不再支持图片增强可观测性
- 【PHP】Maximum execution time of seconds exceeded
热门文章
- SPSS学习笔记之——OR值与RR值
- python使用matplotlib可视化、自定义设置X轴刻度标签字体的大小( setting axis ticks size in matplotlib x axis)
- 如何修改HBulider X注释字体的颜色
- excel 两组数据交点_数据分析入门:8种常用的数据分析方法
- 张小庆,在路上-开始(6)真心话还是大冒险
- iPhone手机史上最全的扫盲帖【越狱,解锁,激活,Cydia,基带,裸机】
- 二十五条励志金句,让你迅速提升自己的价值!
- 【Matlab】结构在傅里叶展开下的周期荷载响应——文末附源码
- 阿里内推五面:一面+二面+三面+交叉面+HR面,含答案赠送
- TCP/IP路由协议-BGPOSPF路由抖动问题