基于Zynq 和蜜蜂进化遗传算法的声源实时定向系统

2024-01-05 12:05陆智辉兰昀弢郑郁正刘凯唐国璇
电子设计工程 2024年1期
关键词:谱峰处理单元麦克风

陆智辉,兰昀弢,郑郁正,刘凯,唐国璇

(成都信息工程大学通信工程学院,四川成都 610225)

现如今,声源定向技术在会议展览、医疗诊断等诸多行业发挥着巨大的作用。由于声源定向技术本身具有精度和速度难以兼顾的难点,所以声源定向技术的后续发展除了要关注定向技术本身的精准度以外,还需对定向系统的实时性能提出更高的要求。

MEMS(Micro Electro Mechanical System)麦克风具有良好的抗噪性能以及对温度、湿度、振动等环境因素不敏感的优点,能够更高效地采集声源数据[1-2]。Zynq 平台的可编程逻辑(Programmable Logic,PL)具备并行处理数据的优势,能够确保声源数据被高速地接收并存储,且不易丢失。Zynq 平台的可编程系统(Programmable System,PS)则可以借助TCP 通信速率高的优势完成数据的实时传输。

声源定向系统在利用MUSIC 算法[3]进行空间谱测向时存在谱峰搜索时间过长、实时性能偏低的缺陷,所以该系统引入蜜蜂进化遗传算法(BEGA)对MUSIC 算法进行改进,在软件层面提升系统的实时性能。

1 硬件平台的设计与实现

系统的硬件平台负责声源数据的采集与传输。数据采集由MEMS 麦克风均匀圆阵和Zynq 共同完成。前者作为数据采集前端,后者则进行数据接收与存储。数据传输由PS 通过TCP 完成。

1.1 声源数据采集

1.1.1 MEMS麦克风均匀圆阵

系统采用深圳矽速科技有限公司推出的“Sipeed_R6+1”麦克风阵列作为数据采集前端。该阵列在半径为40 mm 的圆周上均匀地分布6 个麦克风,相邻麦克风之间的角度差为60°。麦克风型号为MSM261S4030H0。根据I2S 总线协议[4-5],将麦克风分为三组,每组共用一根时钟线(SCK)和数据线(DATA),麦克风分别记作左通道(LEFT)和右通道(RIGHT),其电路原理图如图1 所示。

图1 每组麦克风的工作电路

Zynq 的JA4 端口向麦克风圆阵输入WS 信号,JA5 端口输入SCK 信号,圆阵则通过JA1,JA2,JA3 端口向Zynq 输出3 组数据。I2S 总线协议的工作时序为:当WS 为低电平的前32 个SCK 周期,将LEFT 采集的声源数据以32 位二进制补码格式加载至DATA,当信号线WS 为高电平的后32 个SCK 周期,将RIGHT 采集的声源数据以同样格式加载至DATA,即一组麦克风在一个WS 周期可采集2 路数据,三组共6 路数据。

1.1.2 Zynq平台

该系统使用的Zynq 平台[6-7]是Xilinx 公司推出的ZedBoard 开发板[8]。该开发板搭载的是XC7Z020-CLG484 芯片。其中PL 代表FPGA,PS 代表ARM。

在该系统中,首先利用I2S 协议、状态机以及AXI-Stream FIFO-IP 核的Valid-Ready 握手机 制[9]编写Verilog 代码,构建数据采集模块。该模块的主要功能:设计32 位的二进制流水号作为数据帧的帧头,再将6 路数据依次从数据线上提取至数据帧中,保证每个数据帧共包含7×32 bits 的数据,并能够准确无误地传递至FIFO-IP 核中。

PL 和PS 协同工作完成数据接收与存储功能,工作流程如图2所示。DMA-IP核和FIFO-IP核在PL中实现,PS 则负责控制S_AXI_HP 接口和M_AXI_GP接口。数据帧按照流水号的顺序传递至FIFO-IP 核中暂存,该IP 核为数据的实时传递提供了一个动态的缓存空间。当PS 通过M_AXI_GP 向PL 发送启动命令后,DMA-IP 核遵循先进先出的原则,依次从FIFO-IP 核中读取数据。S_AXI_HP 负责将数据高速传输至DDR 进行储存。

图2 数据接收与存储流程

1.2 声源数据传输

数据传输流程如图3 所示。PS 作为TCP 客户端发送数据,数据处理单元作为TCP 服务端接收数据[10]。每完成一次TCP 传输,通过M_AXI_GP 向PL发送一次启动命令。由此形成“存储-发送-再存储”的循环机制,确保数据能实时传输且不易丢失。并设计有串口检测功能对TCP 状态和数据传输状态进行实时监测,若出现网络连接异常或数据传输错误等状况,ARM 会发送相应信息至串口进行错误提示。

图3 数据传输流程

2 软件设计与实现

数据处理单元为该系统基于PC 机搭建的Matlab 软件平 台[11],PC 机 配置了8 核3.2 GHz 的CPU和16 GB 运行内存。

2.1 基于均匀圆阵的MUSIC算法

结合“Sipeed_R6+1”麦克风阵列的结构,绘制真实的远场窄带声源信号入射至麦克风均匀圆阵的三维模型,如图4 所示[12-13]。由图可知,入射方向角包括方位角θ∈[0°,360°]和俯仰角β∈[0°,90°];第m个麦克风的坐标为声源入射方向向量为(cosθsinβ,sinθsinβ,cosβ)。

图4 声源入射麦克风均匀圆阵的三维模型

由于信号到达第m个麦克风与到达原点的时间存在延迟,所以可通过时延计算信号到达两点的相位差。根据第m个麦克风的坐标与声源的入射方向向量可推得信号到达第m个麦克风与到达原点的时延为:

式中,c为信号的入射速度,即声速340 m/s,M为麦克风总数,该系统中值为6。相位差为:

式中,λ为信号波长。均匀圆阵的导向矢量为:

式中,a(φM)=e-jφm。观测信号向量为:

式中,xM(k) 为第M个麦克风的第k次快拍接收信号。X(k)在快拍数为k时的协方差矩阵为:

对协方差矩阵进行特征值分解:

再根据特征值的分布情况,将酉矩阵U按照列向量分为两部分:

信号子空间S由信号特征值对应的特征向量构成,噪声子空间G由噪声特征值对应的特征向量构成。根据酉矩阵性质和子空间的构造方法,可知两空间正交。推得导向矢量所构成的矩阵A同噪声子空间的关系:

式(8)说明了导向矢量与噪声子空间正交:

由于在实际应用中,一般求得的噪声子空间无法与导向矢量完全正交,所以通过构建空间谱估计函数以遍历的方式进行谱峰搜索,再求得谱峰所对应的入射方向角,这便是MUSIC 算法的基本原理[14-15]。空间谱估计函数如式(10)所示:

2.2 算法改进

相较于基本的遗传算法,BEGA 从两方面进行了优化:一是引入“随机雄蜂”提高算法的勘探能力,避免陷入局部最优解,二是通过“蜂王竞争”保留最优个体,提升获取全局最优解的速度。所以利用BEGA 的种群迭代方式对MUSIC 算法进行改进,可以有效提升谱峰搜索的速度。算法改进后,构建空间谱估计函数的流程如图5 所示。数据预处理阶段,解码可获取6 路带符号的十进制数据;为排除噪声干扰,需检测6 路数据的频谱是否均在某一固定频率f出现谱峰;截取窄带频谱时,设定截取中心频率为fc,截取带宽小于0.1×fc[16];通过傅里叶逆变换获得6 路窄带实信号。窄带实信号通过Hilbert 变换变为解析复信号,噪声子空间则基于MUSIC 算法获取,最后结合导向矢量构建空间谱估计函数。

图5 构建空间谱估计函数流程

算法模块中基因种群设置如图6 所示。种群个体数为N,个体基因由22 位二进制编码构成,方位角基因为12 位,俯仰角基因为10 位。

图6 基因种群设置

BEGA 利用种群迭代方式对空间谱估计函数进行快速谱峰搜索的具体流程如下:

1)建立的基因种群为A(t),t为种群进化代数,初始值为0,个体数为N,交叉概率为Pc,变异概率为Pm,雄蜂引入参数为γ;

2)计算A(t)中所有个体关于空间谱估计函数的适应度,再以适应度大小对个体排序,并记最优个体为Queen_1;

3)若t达到最大进化代数,则输出Queen_1,求得入射方向角,否则执行步骤4);

4)为保证适应度越大的个体存活的概率越高,利用“轮盘赌”方式从A(t)中选出Nγ/2 个个体,再随机产生N(1-γ)/2 个新个体;

5)将步骤4)中N/2 个体与Queen_1 进行交叉运算,得到个体数为N的新种群B(t);

6)B(t)进行变异运算,得到C(t);

7)计算C(t)的个体适应度,并排序,记最优个体为Queen_2。若Queen_2 的适应度大于Queen_1,则C(t)替换A(t),Queen_2 替换Queen_1;否则,Queen_2替换A(t)中适应度最小的个体,构成新的A(t);

8)更新t:t=t+1,并返回步骤1)。

3 实际测试与性能分析

3.1 硬件平台性能测试

为验证硬件平台的性能,利用麦克风圆阵在空旷室内对频率为1 kHz 的固定声源进行采集,采样频率为64 kHz,采样时间控制在18 s 左右。以采集数据的帧数为横坐标,流水号为纵坐标,绘制如图7 流水号与数据帧数相关图。

图7 流水号与数据帧相关图

图像为一条直线,斜率为1,横纵坐标的最大值均为1 154 250,并且:

说明在大约18 s 内共采集到1 154 250 个数据帧,符合采样率的设定,同时证明了硬件平台具有不掉帧、延迟低的优良性能。

从Data_Buffer 中随机提取1 000 帧连续数据,即提取每个麦克风的数据量为32×1 000 bits,经解码和归一化后,绘制6 个麦克风所对应的6 路时域波形和正频率部分频谱,如图8 所示。

图8 6路数据的时域波形和正频率部分频谱

由图8(a)可知,以64 kHz 的采样频率采集1 000帧数据需耗时15.625 ms,且6 路数据波形之间存在时延;由图8(b)可知,6 路数据的频谱谱峰均出现在1 kHz 附近。上述两点正符合后续算法处理的要求,说明硬件平台的搭建是成功有效的。

3.2 数据处理单元性能测试

虽然MUSIC 算法使用遍历方式进行谱峰搜索相对耗时,但遍历结果精确度相对较高,所以为了验证数据处理单元的定向精准度,在对比实验中近似认为遍历结果所对应入射方向即为声源方向。首先对来自某一方向的固定声源进行数据采集,并存储10组数据,每组数据量为12 800 帧,系统再分别使用遍历方式和种群迭代方式对每组数据进行谱峰搜索对比实验,将遍历结果记为(θMUSIC,βMUSIC),种群迭代结果记为(θBEGA,βBEGA),得到条件如式(12)所示:

如满足式(12),则认为数据处理单元定向成功,否则记为失败。每组实验结果记录如表1所示。具体参数设置:声源频率固定为1 kHz,采样率为64 kHz,快拍数为12 800,种群个体数为50,变异概率为0.003,交叉概率为0.7,雄蜂引入参数为0.2,最大进化代数为100,角度值精确到0.1°。

由表1 可知,在式(12)的误差标准下,数据处理单元定向成功率可以达到100%,说明将种群迭代方式应用于谱峰搜索的改进方案仍保留了MUSIC 算法定向精准度高的优点,并证明数据处理单元具备精准的定向性能。

使用种群迭代方式对第一组数据进行实验时,种群最优适应度在迭代50 次后完成收敛,收敛过程如图9 所示。

图9 适应度收敛过程

使用遍历方式对声源的第一组数据进行实验时,绘制的空间谱三维图如图10 所示。

图10 空间谱三维图

对比两图可知,适应度在逼近空间谱峰值的过程中逐步完成收敛。因此,为验证数据处理单元的定向速度,记录适应度完成收敛时的代数以及系统分别使用种群迭代方式和遍历方式完成每次实验所消耗的时间,其结果见表2。

表2 两种方式的实验耗时与收敛代数统计表

由表2 可知,使用种群迭代方式的实验耗时在0.16 s 左右,远低于使用遍历方式,说明BEGA 大幅提升了MUSIC 算法搜索谱峰的速度;而以64 kHz 采样率采集同等数据量的一组数据需耗时0.2 s,证明系统具备实时处理的能力;适应度完成收敛的最大代数为53,且通过计算可得收敛代数的均值为28.9,说明最大进化代数仍可在100 的基础上适当缩减,进而再次缩短定向时间。

4 结论

针对声源定向系统利用MUSIC 算法测向时存在精准度高,但实时性偏低的问题,基于Zynq 和BEGA,设计了一款兼顾定向精度与速度的声源实时定向系统。系统的硬件平台利用MEMS 麦克风均匀圆阵和Zynq 进行声源数据的采集和传输。作为软件平台的数据处理单元则引入BEGA 对MUSIC 算法进行改进,摒弃遍历方式,提升MUSIC 算法搜索谱峰的速度。实验结果表明,硬件平台具有不掉帧、延迟低的优良特性,同时数据处理单元利用BEGA 大幅缩短了谱峰搜索的时间,并在0.5°的误差标准下使定向成功率达到100%。

猜你喜欢
谱峰处理单元麦克风
连续波体制引信多谱峰特性目标检测方法
不同生物链组合对黄河下游地区引黄水库富营养化及藻类控制
城市污水处理厂设备能耗及影响因素分析研究
长填龄渗滤液MBR+NF组合工艺各处理单元的DOM化学多样性
X射线光电子能谱复杂谱图的非线性最小二乘法分析案例
基于无基底扣除的数据趋势累积谱峰检测算法
一种高可用负载均衡网络数据采集处理的方法及系统
岩性密度测井仪工作原理与典型故障分析
Binaural Rendering based on Linear Differential Microphone Array and Ambisonic Reproduction
基于数字麦克风的WIFI语音发射机