对于需要2022电赛题目的同学点击这个链接:https://pan.baidu.com/s/1zyC8MbgenAAQ_ZVmvFyZvg
提取码:g6kd

对于这个2022电赛E题声源定位的音频点击这个链接:https://pan.baidu.com/s/1fNRSU9LOXzB-ES2JFoFizg
提取码:lmy7

这个音频是一个扫频信号,是一个单通道采样率为10k的信号,频率范围是500-2000 hz,对于使用的主控芯片是stm32F407VET6,具有168MHZ的主频,512K的FLASH,192K的SRAM,当然假如开启了DMA的模式,然后有不修改相关配置,那么你的SRAM就是128K,只有原来的2/3.

从这个图我们可以看到有64K的独立SRAM,他是不能被DMA访问的,当然一份STM32数据手册有1751页,没有几年经验是看不完的,只有不断接触到新的项目,才会不断接触这些小小的细节。

对于音频的处理,当然是越大越好,但考虑到STM32的性能以及博主的能力有限,没有压榨完全STM32的性能,采用了2048点的FFT,目前对于STM32自带的库只能运行4096的FFT,当然对于这个点数可能已经在压榨STM32的边缘,所以官方给的库也只能处理这么大,不过STM32自带的一个库感觉运算出的结果与MATLAB的结果相差无几,对于MATLAB我感觉还是有点点小小的狗,因为他通常会自己保留三位有效数字,自己四舍五入,STM32出来的结果都比MATLAB精确,博主使用计算机计算了一下,确实是这样的。然而STM32自己输出的结果总是有0.0000001的误差,可能本身是从零开始计数,导致总是少那么一点点。当然以上只是博主的猜测。对于STM32的库运行有硬件加持,速度会比自己写的要快,就算没有开启硬件加速,也会比自己的快,当然他的硬件加速可能不太好,就算开开了,也不知道是真的开了没有,而且感觉我好像不知道你有没有开启硬件加速功能。

对于假如感觉FFT的点数太小的话,建议使用自己写的FFT算法,有时使用STM32的自带算法踩堆栈,出来的结果有问题,花了博主好多时间去一个个去排查结果。

然后对于音频的采样可以借鉴博主以前的文章,有许多ADC和DMA的文章以及代码,已经经过博主的不断实践,当然可能会有小小的失误。

对于这个可能还有IIC屏幕的驱动,DHT11的驱动,二维舵机的驱动,后面博主会一一补齐的。

对于这个ADC的采样使用了三个ADC同步采样,使用定时器同步触发,进行10K的采样。

当然为什么不使用更高的采样速度,这样会导致音频数据的丢失,因为音频的采样率就是10K,然后一个周期就是2048个点,所以使用10K的采样率。

对于整体流程:将两组数据进行归一化,然后FFT,一组共轭,然后点乘,同理反转;然后两组数据进行IFFT,然后取其中(根据自己的情况)数据,进行相减,寻找最大值以及位置。

对于现在的情况还没有加滤波处理,会有噪声的干扰,预计后面会加一个均值滤波。

对于两点的采样距离不要超过半个波长,对于波长的计算,声速除以频率就能得到波长。

这里采用了三个MAX9814模块进行实验,当然后期会自己搭建硬件,这里只是进行算法的验证。

2022电赛声源定位(基础篇)相关推荐

  1. 2022年电赛 声源定位跟踪系统(E题)

    本人之前锻炼低频小信号的题目,但是在2022年电赛的题目中没有符合练习的题目,只能选择声源定位跟踪系统,并且该题器件由于没有准备,所以在比赛期间对于我们来说非常的困难,该博文为记录我们所做和体验. 第 ...

  2. 2022电赛C题:小车跟踪(方案1+核心代码)

    目录 前言 一.题目 二.方案1 1.材料清单 2.说明 三.核心代码 四.工程获取 前言 针对2022年电赛C题小车跟踪,本团队一共是做了两种方案:       第一种主要以摄像头(openmv)为 ...

  3. 2022电赛F题思路

    2022电赛到现在为止已经出了结果.这是我第一次参加电赛,以前也没有相关的比赛经历,在这四天三夜的时间里能够和队友完成这样一项完整的作品,对我们来说都具有很大的意义.虽然最后还是有一些细节上的问题,不 ...

  4. 谷粒商城电商项目 分布式基础篇

    更多视频,JAVA收徒 QQ:987115885谷粒商城电商项目分布式基础篇01.简介-项目介绍.avi02.简介-项目整体效果展示.avi03.简介-分布式基础概念.avi04.简介-项目微服务架构 ...

  5. MSP430F5529LP 2022电赛学习准备及相关例程

    写在前面: 写下这篇东西的目的首先是希望自己以后忘记MSP430如何使用的时候,能够在看到这篇记录之后能够迅速想起.其次,也希望能够为其他同学或者有需要的人提供一点帮助,话不多说,下面开始正文. 目录 ...

  6. 2022 电赛陕西省赛

    一:题目: 声源定位跟踪系统(E题) 设计制作一个声源定位跟踪系统,能够实时显示及指示声源的位置,当声源移动时能够用激光笔动态跟踪声源. 设计并制作声音发生装置--"声源",装置最 ...

  7. 2022电赛小车跟随行驶系统(C题)复盘

    此次的电赛感觉结束的挺突然的,在找到方向准备细化地进行调试的时候却是没有足够时间来完成代码上的完善.想着此次遗憾,写一篇博客来记录一下自己的经历吧,总结总结此次的电赛时光. 电赛题目 首先便是题目的选 ...

  8. 2022电赛省一-小车跟随行驶系统(C题)

    ⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大二学生. ⏩前段时间参加了电赛的校赛.七校联赛和省赛,校赛和七校联赛都获得了三等奖,省赛上也是获得了一等奖的好成绩

  9. 电赛知识补充——电机篇

    在准备电赛的时候,我通常会发现手边有很多格式各样的电机,问了很多人都没能和我说明白这些个电机是什么,有什么特性,怎么驱动,所以我打算学习一下电机的分类. 本文主要记录了在电赛中所需要的电机相关知识,包 ...

最新文章

  1. Nacos源码NacosServiceRegistry
  2. java.lang.ClassNotFoundException: lombok.Data
  3. 内网无纸化会议/智慧教室实时同屏RTSP组播技术方案思考
  4. MySQL每秒57万的写入,快还是慢?
  5. [过年菜谱之]千张春笋蒸酱鸭
  6. AcWing1083. Windy数(数位DP)题解
  7. 磁性材料 可实现能量无接触转化
  8. sma文件服务器,Linux下的文件共享全攻略系列之一:Samba服务器简介与快速配置指南...
  9. 技术动态 | 不确定性知识图谱的表示和推理
  10. 线性渐变 `-webkit-linear-gradient`
  11. 一文教你如何挑选深度学习GPU
  12. Hazelcast IMDG参考中文版手册-第五章-集群设置
  13. (附源码)ssm高校学生档案信息管理系统 毕业设计 010936
  14. 【AP】Robust multi-period portfolio selection(3)
  15. jtag、在线仿真器
  16. 石康,你别再让我越来越厌恶了,行不行
  17. Python基础_Day_01_作业
  18. 关于OC语言基础的总结
  19. react-router v6
  20. 小猪佩奇python_小猪佩奇社会人专用服务器,有意思的python小程序,附python代码...

热门文章

  1. SV学习(4)——数据作用域和类型转换 $cast()
  2. jquey javascript 绑定点击事件(click事件无反应,因js获取不到当前的点击项)
  3. ROS学习(18)机器人SLAM功能包——cartographer的安装与测试
  4. SpringCloud Netfilx全家桶+ Alibaba(nacos、sentinel、seata) 快速配置,快速启动
  5. K-means聚类分析与python实现
  6. python 利用for 循环简便生成list
  7. js统计英语单词的个数
  8. 唯晶科技宣布PSVR游戏《揭秘计划》将开源给合作伙伴
  9. Adobe Reader 文档无法签名_Linux下的6款最好用的PDF文档阅览工具
  10. 虚拟商品帐号交易平台源码_支持个人二维码收款