公司动态

Acoular滤波器组与频率计权:1/3倍频程、A/C计权处理完整指南

📅 2026/8/22 14:08:56
Acoular滤波器组与频率计权:1/3倍频程、A/C计权处理完整指南
Acoular滤波器组与频率计权1/3倍频程、A/C计权处理完整指南【免费下载链接】acoularAcoustic testing and source mapping software项目地址: https://gitcode.com/gh_mirrors/ac/acoularAcoular 是一款开源的声学测试与声源定位软件除波束形成外它还提供完整的时域信号处理链。本指南带你快速掌握 Acoular 的滤波器组与频率计权功能包括 1/3 倍频程带通滤波FiltOctave、FiltFiltOctave、整组倍频程滤波器组OctaveFilterBank、A/C/Z 计权滤波FiltFreqWeight以及指数时间平均TimeExpAverage全部实现位于 acoular/tprocess.py 中。为什么倍频程滤波是声学分析的基础声呐与风洞试验中原始麦克风信号是连续的时间波形。要分析噪声通常需要按频带拆分把信号切分成倍频程Octave或 1/3 倍频程Third octave频带逐带分析声压级计权处理按人耳听觉特性施加 A 计权、C 计权IEC 61672 标准时间平均对声压平方做指数或算术平均得到稳定的声级数据。Acoular 把这三类操作做成可串链的类每个类的source指向上一级的输出按需惰性计算改参数后自动重算非常适合交互式分析。快速上手一行代码完成 1/3 倍频程滤波FiltOctaveacoular/tprocess.py 第 1477 行起实现了 IIR 倍频程/1/3 倍频程带通滤波器关键参数参数默认值说明band1000频带中心频率HzfractionOctave取Octave或Third octaveorder3IIR 滤波器阶数滤波器边缘频率按 ANSI 1.11 标准做了修正保证频带内的功率带宽准确而不仅仅是 -3 dB 带宽正确。一个典型用法import acoular as ac ts ac.TimeSamples(filethree_sources.h5) f1 ac.FiltOctave(sourcets, band4000, fractionThird octave)官方示例 examples/io_and_signal_processing_examples/example_filter.py 演示了如何对比多个相邻倍频程带滤波后的功率谱并与未滤波谱求和进行验证。需要零相位用 FiltFiltOctaveFiltOctave是因果滤波器会带来相位延迟。FiltFiltOctave第 1518 行起采用正向 反向两次滤波sosfiltfilt实现零相位滤波对双程滤波还做了额外带宽修正。注意它会一次性缓存全部样本内存占用较大因此只适合对时间信号离线处理。风洞桨叶时间域波束形成示例 examples/wind_tunnel_examples/example_airfoil_in_open_jet_time_domain_methods.py 就是用它锁定 4 kHz 的 1/3 倍频程频带再送入BeamformerTime/BeamformerCleant等时域方法成像cfreq 4000 ft ac.FiltFiltOctave(sourcecalib, bandcfreq) # 4 kHz 1/3 倍频程上图为 Acoular 在 8000 Hz、1/3 倍频程带宽下对三个声源的定位结果三个局部极大值即对应模拟声源位置。用 OctaveFilterBank 一次生成全部倍频程通道逐个建FiltOctave对象比较繁琐。OctaveFilterBank第 1719 行起是并行的滤波器组一次把所有频带的滤波结果按通道拼接输出参数默认值说明lband21最低频带索引21 → 125 Hzhband40最高频带索引40 → 8000 HzfractionOctave倍频程或 1/3 倍频程频带中心频率按 $10^{i/10}$ 生成1/3 倍频程模式时步长为 1倍频程模式步长为 3。输出通道数为num_bands × 输入通道数即每个频带、每个麦克风各占一列可无缝接给后续的PowerSpectra等类。A/C/Z 频率计权FiltFreqWeight 的用法FiltFreqWeight第 1615 行起按 IEC 61672 标准实现频率计权滤波器weightAA 计权模拟人耳对中低频的衰减用于 LAeq 等环境噪声评价weightCC 计权低频衰减较小常用于峰值/冲击声测量weightZZ 计权平直响应即不做计权。内部使用双线性变换把 s 域标准系数离散化为 SOS 形式采样率取自数据源因此对任意采样频率都能生成正确的数字滤波器。时间计权与指数平均TimeExpAverage 补充声级计除了频率计权还有时间计权。TimeExpAverage第 1589 行起按 IEC 61672-1 实现指数平均weightFFast时间常数 125 msweightSSlow时间常数 1 sweightIImpulse35 ms非标准扩展。把它接在FiltFreqWeight之后就得到一条与手持声级计等价的计权 时间平均链路。串链思路小结 Acoular 的时域处理链是乐高式组合常见组合方式倍频程分析TimeSamples → FiltFiltOctave → PowerSpectra / TimePower → Average全频带扫描TimeSamples → OctaveFilterBank → PowerSpectra所有频带一次算完声级评价TimeSamples → FiltFreqWeight(A/C) → TimeExpAverage(F/S) → TimePower波束形成预处理Calib → FiltFiltOctave(4 kHz, 1/3 oct) → BeamformerTime所有类的完整参数说明可参考 API 参考文档 docs/source/api_ref/index.rst更多示例见 examples/io_and_signal_processing_examples/ 目录。掌握以上四个类你就能在 Acoular 中完成从原始时域信号到倍频程声谱、A/C 计权声级的全部标准处理并进一步接入它的波束形成与声源定位功能。【免费下载链接】acoularAcoustic testing and source mapping software项目地址: https://gitcode.com/gh_mirrors/ac/acoular创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考