ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Acoular虚拟声源仿真教程:用点源、偶极子与球谐源生成麦克风阵列数据的完整指南

Acoular虚拟声源仿真教程:用点源、偶极子与球谐源生成麦克风阵列数据的完整指南 Acoular虚拟声源仿真教程用点源、偶极子与球谐源生成麦克风阵列数据的完整指南【免费下载链接】acoularAcoustic testing and source mapping software项目地址: https://gitcode.com/gh_mirrors/ac/acoularAcoular 是一款开源的 Python 声学测试与声源定位声源映射软件。本教程介绍如何利用 Acoular 的虚拟声源仿真功能通过点源PointSource、偶极子PointSourceDipole和球谐源SphericalHarmonicSource三种虚拟声源快速生成逼真的麦克风阵列多通道数据——无需真实声源与硬件设备即可在计算机上合成出可供波束形成、声源定位算法验证的多声道信号。上图是 Acoular 内置的array64麦克风阵列几何构型64 只麦克风分布在小平面阵上其定义文件为 array_64.xml。为什么需要虚拟声源仿真 在做声源定位Acoustic Source Mapping研究或教学时你常常需要一套已知真实答案的麦克风阵列数据验证算法先用虚拟声源生成数据再用波束形成等方法反演检验定位是否准确零成本实验不必搭建风洞、不用买麦克风阵一个 Python 脚本就能产出与实测相同格式的 HDF5 数据可控性强声源位置、声压级、信号类型白噪声/正弦波、运动轨迹全部可编程设定。Acoular 的所有仿真类都集中在 acoular/sources.py 模块中基于 Traits 面向对象设计配置清晰、易于组合。一、认识 Acoular 的声源仿真正家族sources模块提供了层次分明的虚拟声源类覆盖从固定到运动、从单极到复杂辐射模式的多种场景类名作用典型用途PointSource固定点源单极子基础定位算法验证PointSourceDipole偶极子两个反相单极子叠加模拟气动噪声主导的偶极声源SphericalHarmonicSource球谐源模拟方向性辐射如旋转机械LineSource线声源模拟边缘噪声、线状声源MovingPointSource沿轨迹运动的点源模拟旋转、飞行中的声源UncorrelatedNoiseSource空间不相关噪声模拟环境背景噪声场SourceMixer声源混音器将多个声源信号叠加所有声源类的输入都由三部分构成一个信号发生器signal、一个麦克风几何mics、一个传播环境env提供声速、流动等信息。二、三种核心虚拟声源详解1. 点源 PointSource一切仿真的起点 点源是最简单的辐射模型声波从空间某一点向四周均匀辐射按 1/距离 衰减到达各麦克风。其核心参数包括signal任意信号发生器对象loc声源坐标 (x, y, z)mics麦克风几何对象决定输出通道数env传播环境负责计算声传播距离可计入流动对传播的影响。Acoular 内部以 16 倍过采样插值精确处理各通道的传播时延保证相干信息不失真。2. 偶极子 PointSourceDipole模拟气动噪声的关键 真实的气动声源如旋转叶片、边界层噪声往往呈现偶极子辐射特性——轴向强、横向弱。Acoular 通过两个紧邻、反相的单极子叠加来实现偶极子见 acoular/sources.py 中result方法的实现direction向量同时定义偶极子的指向和两个单极子的间距间距 最短波长 × 向量模长 × 1e-5建议模长取 1.0 或更小代码中对两个单极子的信号做减运算并乘以rm/dist缩放系数精确还原偶极辐射的压力场特性。3. 球谐源 SphericalHarmonicSource方向性辐射的高级工具 球谐源利用球面波函数描述具有方向性的声辐射适合模拟旋转机械、风扇叶片通过频率等复杂辐射模式lOrder球谐阶数决定辐射图形的复杂度alpha球谐模态系数数组direction球谐展开的定向轴。其内部在频域完成球谐模式叠加后再变换回时域物理上严格且灵活。三、快速上手三分钟生成三声源仿真数据 ⚡Acoular 提供了经典的三声源入门示例 example_three_sources.py完整流程如下定义麦克风阵列从内置 XML 文件加载array64几何创建三个白噪声信号发生器分别设置不同seed与rms声压级 1.0 / 0.7 / 0.5 Pa创建三个点源位置分别设为 (-0.1, -0.1, 0.3)、(0.15, 0, 0.3)、(0, 0.1, 0.3)混音并保存用Mixer叠加后通过WriteH5保存为three_sources.h5采样率 51200 Hz时长 1 秒。生成后可以直接用波束形成反演下图中三个亮点的位置与设定位置几乎完全吻合——这就是一次成功的闭环验证四、让仿真更真实信号、运动与噪声 多样信号acoular/signals.py 提供了WNoiseGenerator白噪声、PNoiseGenerator粉噪声、SineGenerator正弦波等发生器可按需指定采样率、长度、RMS 值与随机种子运动声源定义Trajectory轨迹后MovingPointSource/MovingPointSourceDipole可让声源沿任意曲线运动。官方示例 example_rotating_point_source.py 演示了圆形旋转声源的仿真并对比了固定焦点与移动焦点波束形成的效果背景噪声UncorrelatedNoiseSource可为整个空间添加不相关噪声场考察算法抗噪能力流动环境通过 acoular/environments.py 中的UniformFlowEnvironment、OpenJet等环境类可让声传播计入均匀流、开式射流等对流效应进一步提升仿真真实性。五、总结与下一步需求推荐类模块位置最简定位验证PointSourceacoular/sources.py气动偶极噪声PointSourceDipoleacoular/sources.py方向性辐射SphericalHarmonicSourceacoular/sources.py旋转/飞行声源MovingPointSourceexamples/moving_sources_examples/多源叠加SourceMixer/Mixeracoular/sources.py掌握虚拟声源仿真后你可以继续用PowerSpectraBeamformerBase等频域类或FiltFiltOctaveBeamformerTimeSq等时域类分析仿真数据体验完整的仿真 → 采集 → 定位工作流。更多入门案例可参考 examples/introductory_examples/ 目录下的完整脚本。【免费下载链接】acoularAcoustic testing and source mapping software项目地址: https://gitcode.com/gh_mirrors/ac/acoular创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表