基于FPGA和麦克风阵列的高速高精度声源定位系统设计

原创 FPGA技术江湖 2025-01-25 08:50

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。“煮酒言欢”进入IC技术圈,这里有近50个IC技术公众号。


第一部分 设计概述 / Design Introduction

1.1 设计目的

频繁杂乱的鸣笛声,不但给周边居民的生活质量造成很大影响,而且增加了驾驶员的疲劳,影响行驶安全,并使乘客和行人在出行时倍感烦躁不安。在大多 数城市的道路上,时常出现禁止鸣笛的标志,然而并不是所有人都能自觉地遵守 规则,对鸣笛之人进行适当的处罚是确保这项规定能够顺利实施的必要举措。

我们决定利用麦克风阵列获取声音信号,使用 FPGA 技术计算声音的位置, 使用 OPENMV 实现图像的抓拍,最终实现对鸣笛车辆的准确定位。

1.2 应用领域

本作品实际应用前景广泛。

用于民用领域:在交通监控中,对违规鸣笛的车辆进行定位并拍照取证,提高监控效率;在音视频会议系统中,采集会议发言人的语音信号,并进行实时处 理来确定发言人的当前位置坐标;在安防系统中,利用声源定位系统来辅助传统 摄像头,从而调整监控方向,弥补了普通的运动识别在光线昏暗条件下的不足, 提升安防效果;等等。

用于军事领域:既可以有效的发现敌方目标所在的位置,又可以充分的隐藏 自身。

1.3 主要技术特点

(1)采用麦克风阵列来获取声音信号 相较于传统麦克风,麦克风阵列具有空间选择性,能明显抑制干扰;可以用 于获取多个声源或移动声源信号,也可以用在一些特殊场合,该系统对于远处和 近处的声源,均可以正常工作。

(2)利用 FFT 算法和 CORDIC 算法计算相位 前者是离散傅氏变换(DFT)的快速算法,是有限长序列傅里叶变换的有限 点离散采样,从而实现了频域离散化,使频域采样按照数字运算的方法进行。后者是一个“化繁为简”的算法,将许多复杂的运算转化为一种“仅需要移位和加 法”的迭代操作。

(3)用 verilog 语言编码并利用 FPGA 实现 本作品用 FPGA 作处理器处理声音信号,利用了 FPGA 硬件并行的优势,在 每个时钟周期内完成更多的处理任务,超越了数字信号处理器的运算能力。

1.4 关键性能指标

(1)完成对实验室等室内环境的静止的鸣笛声源定位,并用摄像头以及舵 机云台对鸣笛者进行抓拍,抓拍成功率超过 90%,并且每次抓拍得到的鸣笛者偏 离照片中心不超过 50%.

(2)完成对实验室等室内环境的缓慢移动的持续鸣笛声源定位,并用摄像 头以及舵机云台对鸣笛者进行跟拍,跟拍成功率超过 90%,并且在跟拍过程中摄 像头内不丢失鸣笛者图像。

(3)完成对实验室等室内环境的快速移动的持续鸣笛声源定位,并用摄像 头以及舵机云台对鸣笛者进行跟拍,跟拍成功率超过 80%,并且在跟拍过程中摄 像头出现鸣笛者的时间超过跟拍总时间的 80%.

(4)对上述指标(1)中的抓拍在鸣笛开始的 0.5 秒内完成抓拍

1.5 主要创新点

(1)所有过程完全采用数字化的信号处理方式,所有通信均为数字通信, 所有处理的信号都为数字信号,相比于易受各种干扰的模拟信号系统,数字信号 处理抗干扰能力更强,通过多路信号并行处理来实现。

(2)利用了 FPGA 硬件并行的优势,打破了顺序执行的模式,在每个时钟周 期内完成更多的处理任务,超越了数字信号处理器(DSP)的运算能力。通过使 用尽可能多的麦克风通道,来提高定位的精确度。

(3)FPGA 良好的运算性能允许建立实时性良好的定位系统,可以做到追踪 高速行驶的鸣笛汽车。

(4)本项目将定位的空间由原有的二维空间拓展为三维空间,提高了追踪 定位的灵活性和准确性。

第二部分 系统组成及功能说明 / System Construction & Function Description

2.1 整体介绍

system_diagram 本系统由声源定位系统和图像抓拍系统两部分组成,其中声源定位系统 由麦克风阵列模块、PDM 解码模块、相位计算模块组成,后两个模块通过 FPGA 板实现,图像抓拍系统通过 OPENMV 实现。

声源产生声音信号,传送给麦克风阵列,编码产生 PDM 波,再通过接收 PDM 波的缓冲区,送入高阶 fir 滤波器实现对 PDM 的解码,然后将结果传入 相位计算模块,即先通过 FFT 算法进行频谱分析,再利用 CORDIC 算法计算 相位得到声源的坐标,最后通过基于 OPENMV 的图像抓拍系统显示声源位置 并抓拍。

2.2 各模块介绍

2.2.1 麦克风阵列模块

我们用到的硅麦型号为 SPW0690LM4H-1,这是一种小型、高性能、低功耗, 底部端口硅数字麦克风与单位 PDM 输出。包括一个声传感器,一个低噪声输入缓冲器和 sigma-delta 调制器。

它具有的特性:低失真/高 AOP、高信噪比、低功耗模式下低电流消耗、平 坦的频率响应、高驱动能力、射频屏蔽、支持双多路通道、极稳定的性能、全指 向性等等。在采集声音方面,在很宽的频带内增益保持一致,高保真的采集语音 信号,灵敏度高,能够检测到环境中微弱的声音信号。它的全指向性可以拾取各 方向的声音,对来自四面八方的声音同样敏感,特别适合用在本项目中。

2.2.2 处理器

本作品使用 Ego1 开发板作为处理器,型号为 Xilinx Artix-7 系列的 XC7A35T-1CSG324C FPGA。

Xilinx 7系列的FPGA芯片内部集成了两个12bit位宽、采样率为1MSPS的ADC, 拥有多达 17 个外部模拟信号输入通道,为用户的设计提供了通用的、高精度的模拟输入接口。

2.2.3 PDM 解码模块——基于高阶 fir 低通滤波器

PDM 的解码采用高阶 fir 滤波器的算法。PDM 编码虽然只有 0 和 1 两种电平, 但 PDM 编码保留了原始的未编码数据的所有频率分量,同时增加了高频噪声成 分 FIR 滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特征的同时具有严格的线性相频特性,其单位抽样响应是有限长的,此系统稳定。根据自顶向下的层次化、模块化的设计思想,将整个滤波器的设计划分为多个模块, 利用硬件描述语言 Verilog 进行各个模块的功能设计,并用 Matlab 软件设计 98阶滤波器各抽头系数。

对 PDM 编码进行傅里叶变换,得到的频率响应如下图:

由于声音定位系统是为了得到人耳可分辨的声音,或得到清晰的骑车鸣笛声音,并且人耳可以分辨的声音频率为 20-20000Hz,而高于 20000Hz 的声音信号是我们不需要的,所以我们的低通滤波器的通带频率设置为 0-20000Hz,截止频率设置为 48000Hz,阻带频率设置为 100000Hz。PDM 信号经过该滤波器, 不仅可以实现 PDM 信号向 PCM 信号的解码,还顺带滤除了我们不需要的高频声音信号。

该 fir 滤波器的差分方程表达式为:

将原始信号进行编码,并经过 97 阶 fir 低通滤波器的信号与原始信号的对比图如图 9、10 所示,其中绿色的为解码后的信号,蓝色的为原始信号。

由图可知,设计的滤波器较好的将编码后的信号还原为原始信号,并且原始信号所包含的频率分量受到的影响较小。

用 VIVADO 软件编写 verilog 语言实现该 97 阶的数字滤波器,由于需要大量 的串行浮点运算,所以所消耗的时间较多,但通过硬件,可用并行运算进行处理。通过计算,我们设计的 97 阶滤波器需要 97 个乘法器和 98 个加法器,具体代码见附录。

2.2.4 相位计算模块

通过 FFT 算法进行频谱分析

FFT 是离散傅氏变换(DFT)的快速算法,是有限长序列傅里叶变换的有限点 离散采样,从而实现了频域离散化,使频域采样按照数字运算的方法进行。

使用 Xilinx Vivado 内置的 Fast FourierTransform IP core 进行快速傅里叶变换, 配置使用 Radix-2 架构,使用 8 通道,每个通道一帧包含 512 个数据点。输入的数据位宽为 16 位,输出则采用 Fixed Point、Unscale,同时为顺序输出,配置如图 12。

运用 CORDIC 算法计算相位

CORDIC 算法是一个“化繁为简”的算法,将许多复杂的运算转化为一种“仅 需要移位和加法”的迭代操作。

假设在 xy 坐标系中有一个点 P1(x1,y1),将 P1 点绕原点旋转θ角后得到 点 P2(x2,y2)。

于是可以得到 P1 和 P2 的关系:

2.2.5 图像抓拍系统

在本作品中,使用分辨率为 640*480 的以数字图像传感器为核心的摄像头, 并使用具有角度不断变化并可以保持的舵机,构成图像抓拍系统。

OPENMV 通过接收 FPGA 串口发送的声源位置信息,从而控制舵机转向声源 的方向,使得我们使用的摄像头可以准确的对准声源,并下达指令给上位机(PC) 进行拍照或录像。照片将存储在上位机的内存中。

第三部分 完成情况及性能参数 / Final Design & Performance Parameters

(1)完成了在实验室对静止的鸣笛声源进行定位,并用摄像头以及舵机云 台对鸣笛者进行抓拍,抓拍成功率超过 95%,并且每次抓拍得到的鸣笛者偏离照 片中心不超过 30%,抓拍延时在 0.5 秒以内。照片效果如下图所示。

(2)完成对实验室的快速移动的持续鸣笛声源的定位,并用摄像头以及舵 机云台对鸣笛者进行实时跟拍,跟拍成功率超过 80%,并且在跟拍过程中摄像头 出现鸣笛者的时间超过跟拍总时间的 95%,跟拍效果如下图所示。

(3)上位机屏幕能够实时显示摄像头的情况,并且储存了抓拍到的鸣笛者 照片,以及持续鸣笛跟拍的视频。

第四部分 总结 / Conclusions

4.1 可扩展之处

(1)我们使用的 4 路数字麦克风阵列 PCB 板预留了额外的 28 个空焊的麦克 风接口,可以扩展至 32 路。从而可以尽可能地减小数字麦克风接收的误码率, 并且再次提高定位的精度。

(2)我们用来控制舵机云台的 OPENMV 拥有自带的摄像头,并且具有图像 识别等功能,将来可以使用 OPENMV 进行图像处理并配合声源定位系统进行综 合跟拍以及抓拍,从而提高跟拍的成功率以及抓拍的准确度。

(3)我们使用了高性能的上位机对跟拍和抓拍的图像进行实时显示,并保 存到上位机中。上位机将来可以对保存下来的照片进行二次分析,对抓拍到的车 辆进行车牌识别,并将违章记录上传到云端,并利用大数据进行监管,对一些违 章次数较多的车辆进行处罚。

(4)本项目使用到的 FPGA 芯片型号仅仅为 XILINX 的 A 系列入门级的 XC7A35T,如果更换为板载资源更多的型号,将会进一步提高声源定位运算的速 度。

END

福利】:QQ交流群173560979,进群备注名字+学校/企业。
淘宝店铺:https://shop588964188.taobao.com
论坛网址:www.sxznfpga.com
叁芯智能FPGA课程

往期精选 

 
 

【免费】FPGA工程师人才招聘平台

FPGA人才招聘,企业HR,看过来!

系统设计精选 | 基于FPGA的实时图像边缘检测系统设计(附代码)

基于原语的千兆以太网RGMII接口设计

时序分析理论和timequest使用_中文电子版

求职面试 | FPGA或IC面试题最新汇总篇

FPGA时序分析及约束专题课,Quartus、ISE、Vivado全涉及

FPGA图像处理专题课,Quartus、ISE、Vivado全涉及

资料汇总|FPGA软件安装包、书籍、源码、技术文档…(2024.11.14更新)

FPGA工程师就业班,02月10号开班,新增高速接口、光纤通信等内容!

FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

加群主微信,备注姓名+学校/公司+专业/岗位进群


FPGA技术江湖QQ交流群

备注姓名+学校/公司+专业/岗位进群

FPGA技术江湖 任何技术的学习就好比一个江湖,对于每一位侠客都需要不断的历练,从初入江湖的小白到归隐山林的隐世高人,需要不断的自我感悟自己修炼,让我们一起仗剑闯FPGA乃至更大的江湖。
评论
  • 项目展示①正面、反面②左侧、右侧项目源码:https://mbb.eet-china.com/download/316656.html前言为什么想到要做这个小玩意呢,作为一个死宅,懒得看手机,但又想要抬头就能看见时间和天气信息,于是就做个这么个小东西,放在示波器上面正好(示波器外壳有个小槽,刚好可以卡住)功能主要有,获取国家气象局的天气信息,还有实时的温湿度,主控采用ESP32,所以后续还可以开放更多奇奇怪怪的功能,比如油价信息、股票信息之类的,反正能联网可操作性就大多了原理图、PCB、面板设计
    小恶魔owo 2025-01-25 22:09 120浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 192浏览
  • 书接上回:【2022年终总结】阳光总在风雨后,启航2023-面包板社区  https://mbb.eet-china.com/blog/468701-438244.html 总结2019,松山湖有个欧洲小镇-面包板社区  https://mbb.eet-china.com/blog/468701-413397.html        2025年该是总结下2024年的喜怒哀乐,有个好的开始,才能更好的面对2025年即将
    liweicheng 2025-01-24 23:18 101浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 267浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 201浏览
  • 随着AI大模型训练和推理对计算能力的需求呈指数级增长,AI数据中心的网络带宽需求大幅提升,推动了高速光模块的发展。光模块作为数据中心和高性能计算系统中的关键器件,主要用于提供高速和大容量的数据传输服务。 光模块提升带宽的方法有两种:1)提高每个通道的比特速率,如直接提升波特率,或者保持波特率不变,使用复杂的调制解调方式(如PAM4);2)增加通道数,如提升并行光纤数量,或采用波分复用(CWDM、LWDM)。按照传输模式,光模块可分为并行和波分两种类型,其中并行方案主要应用在中短距传输场景中成本
    hycsystembella 2025-01-25 17:24 50浏览
  • 前篇文章中『服务器散热效能不佳有解吗?』提到气冷式的服务器其散热效能对于系统稳定度是非常重要的关键因素,同时也说明了百佳泰对于散热效能能提供的协助与服务。本篇将为您延伸说明我们如何进行评估,同时也会举例在测试过程中发现的问题及改善后的数据。AI服务器的散热架构三大重点:GPU导风罩:尝试不同的GPU导风罩架构,用以集中服务器进风量,加强对GPU的降温效果。GPU托盘:改动GPU托盘架构,验证出风面积大小对GPU散热的影想程度。CPU导风罩:尝试封闭CPU导风罩间隙,集中风流,验证CPU降温效果。
    百佳泰测试实验室 2025-01-24 16:58 53浏览
  • 故障现象 一辆2007款日产天籁车,搭载VQ23发动机(气缸编号如图1所示,点火顺序为1-2-3-4-5-6),累计行驶里程约为21万km。车主反映,该车起步加速时偶尔抖动,且行驶中加速无力。 图1 VQ23发动机的气缸编号 故障诊断接车后试车,发动机怠速运转平稳,但只要换挡起步,稍微踩下一点加速踏板,就能感觉到车身明显抖动。用故障检测仪检测,发动机控制模块(ECM)无故障代码存储,且无失火数据流。用虹科Pico汽车示波器测量气缸1点火信号(COP点火信号)和曲轴位置传感器信
    虹科Pico汽车示波器 2025-01-23 10:46 136浏览
  • 不让汽车专美于前,近年来哈雷(Harley-Davidson)和本田(Honda)等大型重型机车大厂的旗下车款皆已陆续配备车载娱乐系统与语音助理,在路上也有越来越多的普通机车车主开始使用安全帽麦克风,在骑车时透过蓝牙连线执行语音搜寻地点导航、音乐播放控制或免持拨打接听电话等各种「机车语音助理」功能。客户背景与面临的挑战以本次分享的客户个案为例,该客户是一个跨国车用语音软件供货商,过往是与车厂合作开发前装车机为主,且有着多年的「汽车语音助理」产品经验。由于客户这次是首度跨足「机车语音助理」产品,因
    百佳泰测试实验室 2025-01-24 17:00 58浏览
  • 飞凌嵌入式基于瑞芯微RK3562系列处理器打造的FET3562J-C全国产核心板,是一款专为工业自动化及消费类电子设备设计的产品,凭借其强大的功能和灵活性,自上市以来得到了各行业客户的广泛关注。本文将详细介绍如何启动并测试RK3562J处理器的MCU,通过实际操作步骤,帮助各位工程师朋友更好地了解这款芯片。1、RK3562J处理器概述RK3562J处理器采用了4*Cortex-A53@1.8GHz+Cortex-M0@200MHz架构。其中,4个Cortex-A53核心作为主要核心,负责处理复杂
    飞凌嵌入式 2025-01-24 11:21 155浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦