博客

在声学与振动测试里,FFT 分析(Fast Fourier Transform,快速傅里叶变换)几乎是每位工程师都会打开的工具,做扬声器频响、耳机失真、NVH 诊断、结构共振排查、产线异常噪声定位…… 很多工程问题其实都在问同一件事:能量主要集中在哪些频率?是一个主频还是一堆谐波?噪声底高不高?有没有共振峰?FFT 是回答这些问题的最通用入口。 本文帮助你从工程视角理清三件事: 什么是FFT分析 FFT分析的工作原理 如何正确且高效地使用FFT 什么是 FFT? 在时间域里,一个信号就是一条随时间变化的波形——所有成分都“挤在一起”,看得见,却难以分辨里面到底有哪些频率。 FFT(Fast Fourier Transform,快速傅里叶变换)的作用,就是把时间信号分解成一系列不同频率的正弦波,在频率域里用“频率 + 幅值 + 相位”来描述原始信号。简单理解: 时间域:看到的是“这段时间里信号怎么跳来跳去” 频率域:看到的是“里面都有哪些频率成分、哪个最强、相互之间什么关系” 傅里叶最初(19 世纪初)提出的核心思想是:复杂的周期函数可以分解成一堆正弦/余弦的叠加。后来发展成连续时间的傅里叶变换,把信号映射到连续的频率轴。 计算机时代改变了一切:工程师拿到的是采样数据,而且只拿到有限长度 N 的一段。于是出现了 DFT(离散傅里叶变换):把 N 个采样点变成 N 个离散频点的复数值。 而FFT(快速傅里叶变换)并不是“另一种变换”。它是一类算法家族,用更快的方式计算完全相同的 DFT 结果,也就是 “用巧妙的分治和对称性复用”,把同一个 DFT 的计算从 O(N²) 降到 O(N log N);你得到的 X[k] 与直接算 DFT 完全相同,只是快得多。 FFT擅长什么?不擅长什么? FFT 很擅长: 找确定性的窄带成分:主频、谐波、开关频率、啸叫点、机械转速相关峰 看宽带分布:噪声底、谱倾斜(1/f)、带内功率(band power)、SNR 做系统特性分析:传递函数、共振/反共振、相干函数、延迟估计 做时间-频率分析的基石:STFT/声谱图 FFT 不擅长(或不能单靠它解决)的典型场景: 强非平稳信号的“瞬时频率”问题:必须用 STFT/小波/时频方法,而不是指望单次 FFT 区分两个极近的正弦:如果它们间隔小于你的分辨率(由 N 决定),再聪明也分不开 把短记录“变成长记录”:零填充只能让曲线更平滑(插值),不会凭空增加信息 想把 FFT 用好,先搞清这些概念 采样率:你能看到多高的频率 在做任何 FFT 之前,你首先做了采样:从连续时间信号 x(t) 变成离散序列 x[n] = x(n/fs)。采样率 fs 决定了你能观察到的最高无混叠频率:Nyquist 频率 = fs/2。 如果模拟信号里存在高于 fs/2 的成分,它不会“消失”,而是折叠到低频,形成混叠(aliasing)。混叠一旦发生,后面再怎么 FFT 都救不回来。工程上必须在 ADC 前(或重采样前)用抗混叠滤波器把高频压下去。 图1 混叠示意 — 900Hz的正弦波以fs=1kHz采样,会在离散频谱中“看起来像”100Hz DFT计算 给定 N 个采样点 x[0]..x[N-1],DFT 定义为: 逆变换(IDFT): 直觉理解:X[k] 可以看成 x[n] 与某个复指数 e^{j2πkn/N} 的相关程度;幅度告诉你“有多少”,相位告诉你“在时间上怎么对齐”。 画什么?幅度谱、幅值谱、功率谱、PSD 同样一段 FFT 输出 X[k],你可以画出很多“看起来像频谱”的东西。问题在于:它们不是同一个量,单位也不同。很多跨工具对比失败,本质是“你画的不是同一种谱”。 量的名称常用符号单位示例(若 x 是电压 V)最适合用来做什么幅度谱(Magnitude spectrum)|X[k]|V·sample(取决于归一化)找主频/谐波/尖峰位置幅值谱(Amplitude spectrum)A(f)V(做了正确 scaling 后)估计纯音幅值/校准幅度功率谱(Power spectrum)|X[k]|²V²·sample²(仍依赖 scaling)能量对比、谱形比较(需统一约定)功率谱密度 PSDSxx(f)V²/Hz噪声分析、带内功率/带级、跨 N 可比 关键结论:如果你要比较不同 N、不同窗、不同工具下的噪声水平,优先用 PSD(x²/Hz)。原始 |X| 或 |X|² 往往不可直接比。 通过一个具体的例子看看:同一段信号,时域和PSD长什么样 下图中的例子包含了两个不同频率的正弦波信号。时域看起来像“抖动的波形”,频域分析后可以清楚看到两个窄峰。 图2 OpenTest的FFT分析支持同时计算PSD和ASD 下载OpenTest免费版体验FFT分析 -> 窗函数与谱泄漏:让谱线更“干净” 理想情况下,FFT 假设截取的是一个完整周期并周期延拓的信号。但实际测试中采样窗口往往只截到非整数个周期,拼接时在边界产生不连续,就会导致能量“洒”到邻近频点上,这就是谱泄漏(spectral leakage)。 为减小泄漏,通常需要在做 FFT 前对时间信号乘以窗函数。窗函数会同时改变三件事: 主瓣宽度:主峰变宽,近邻频率更难分开 旁瓣高度:旁瓣越低,强峰旁边越容易看到弱峰(动态范围更好) 幅度/能量标定:窗会改变纯音幅度与噪声底,需要对应校正 从经验上来看常见的窗选择方向: Rectangular:只在你能保证相干采样(整周期)且追求最窄主瓣时使用 Hanning:最通用、最“少出错”的选择,适合 PSD/Welch、声学/振动一般分析 Hamming:与 Hanning 类似,通信等场景常用,旁瓣/主瓣权衡略不同 Blackman / Blackman-Harris:旁瓣更低,适合强峰旁边找弱峰,但主瓣更宽 图3 OpenTest中使用不同窗函数进行FFT分析 下载OpenTest免费版体验FFT分析 -> 平均方式:让频谱更稳定 对噪声或非平稳信号,单次 FFT 谱往往波动很大。通过多次平均可以得到更平滑、可重复的频谱。常见方式包括: 线性平均:多次 FFT 结果直接算平均值 指数平均:给最近的数据更高权重,适合实时监控 能量平均:基于能量加权,保证功率相关量的一致性 合理的平均设置能在“平滑掉随机波动”和“保留真实变化”之间找到平衡。 FFT 可以用在什么测试场景里? 音频与声学 音频/声学里 FFT 常见用途: 找啸叫点、谐波失真、设备噪声底(PSD) 做频响(传递函数)、房间模态/共振分析 做声谱图:语音/音乐/设备噪声的时变特征 注意:声学报告里常用 dB SPL、A 计权、1/3 倍频程等。FFT 只是基础工具,输出口径(参考值、加权、带宽)一定要写清楚。 振动与旋转机械 找转速相关峰(1X、2X…)、齿轮啮合频率、结构共振。 轴承故障常需要包络分析/解调:先带通滤波再做 FFT(频域诊断链条更长)。 如果转速在变,直接 FFT 会把峰“抹开”。此时更适合做阶次分析(order tracking)或同步重采样,让频率轴变成“阶次轴”。 电力电子与电能质量 工频谐波(50/60 Hz 及其倍频)、THD、纹波与开关频率尖峰。 EMI 预分析:看谱线、噪声底、带宽内能量(配合 RBW/平均)。 电力系统常见问题是“非相干采样”:记录长度不是整数个工频周期会造成泄漏,导致谐波测量偏差。工程上常用同步采样、整周期窗、或专门的谐波分析方法。 射频与通信(以基带视角) 看调制信号的功率谱/频谱掩模(spectral mask)。 OFDM 等多载波信号:频域幅度统计、邻道泄漏、EVM 相关分析。 通信里更强调“单位一致、带宽一致、平均方式一致”。FFT 本身容易做,但把它变成“可比的功率谱测量”要严格定义窗、RBW、检测器与平均。 成像与 2D 滤波 图像的 2D FFT 是空间频率分析:边缘=高频,平滑=低频。 常见操作包括:频域低通/高通、去周期噪声(在频域抑制某些尖峰)、卷积加速。 注意边界:2D FFT 默认周期延拓,图像边缘不连续会引入很强的频域伪影。常用 padding、镜像边界或 2D 窗来缓解。 让 FFT 成为“顺手的工程工具” 从原理上看,FFT 涉及的数学不算轻松;但落到工程应用,目标其实很简单: 让你更快、更清楚地看懂信号里“藏着什么”。 把 FFT 从“数学概念”变成“日常顺手的工程工具”,帮助声学与振动工程师在研发、验证和生产的各个阶段,更高效地完成测试与分析工作。 OpenTest中的FFT分析现开放免费试用,立即下载使用-> 或填写下方表单 ↓ 预约演示体验。 访问OpenTest 网站 www.opentest.com 了解更多功能与应用案例。
什么是倍频程分析?它解决了什么问题? 倍频程(Octave)分析是一类“按对数频率划分”的谱分析方法:把频率轴分成若干个带通频带(band),每个频带的上截止频率与下截止频率之比恒定(常数比例带宽,Constant Percentage Bandwidth, CPB)。在每个频带内,我们不关心更细的线谱结构,而关注该频带内的总能量/均方根(RMS)或功率。 它不是“看每个 Hz 发生了什么”,而是“看每一段相对带宽内的能量如何分布” 它天然适配人耳与很多工程系统:对频率的分辨能力常更接近“相对尺度”(例如 1 kHz 与 1.1 kHz 的差异),而非固定 1 Hz 的差异 它是许多标准规定的报告格式:房间声学参数、隔声评价、环境噪声、机器噪声、风噪/路噪等常用 1/3 倍频程 从“线性 Hz”到“对数频率”:为何 CPB 更像工程语言 用等宽频带(例如每 10 Hz 一个桶)统计能量,会导致:• 在低频:10 Hz 的桶可能过宽,掩盖细节• 在高频:10 Hz 的桶又过窄,统计方差大、对随机噪声不稳定而 CPB 的带宽随频率增长(Δf ∝ f),使得每个频带覆盖“相近的相对变化”,因此更稳定,也更符合很多标准化测试的可重复性要求。 直观看带宽如何随频率增长 图 1:同样的 1/3 倍频程频带,在“线性频率轴”上看,带宽会随频率增大 每条横线代表一个 1/3 倍频程频带 [f1, f2];短竖线表示中心频率 fm。在线性坐标下,频带在高频处看起来更“宽”。 图 2:同样的频带放到“对数频率轴”上看,会出现等间距的频带结构(常数百分比带宽) 把横轴改为对数刻度后,这些同样的频带在视觉上呈“等宽/等间距”,这正是常数百分比带宽(CPB)的本质。 这两张图解释了倍频程的核心:它不是“频带更宽/更窄”,而是“以对数尺度为等距单位”。 标准与术语:IEC/ANSI/ISO 体系到底规定了什么? 工程上说“做 1/3 倍频程”,真正的约束不只是频带边界,还包括:中心频率的定义(exact vs nominal)、倍频程比(base-10 vs base-2)、滤波器幅频容差(class)、以及输出量的口径(带内能量如何定义、时间平均怎么做、校准如何处理)。 IEC 61260-1:2014 的关键点:base-10 倍频程比、参考频率与中心频率公式 IEC 61260-1:2014 是倍频程/分数倍频程滤波器的核心规格标准之一。它明确采用 base-10 设计:倍频程比 G 定义为 G = 10^(3/10) ≈ 1.99526(非常接近 2,但不是严格 2)。参考频率 fr = 1000 Hz。标准给出 exact mid-band frequency(精确中心频率)的生成公式,并强调 band-edge frequencies 的几何均值等于中心频率。 [1] IEC 61260-1 (base-10) 关键公式(摘录并整理,见 [1]): 当 1/b 的分母 b 为奇数(例如 1,3,5,...)时: 当 b 为偶数(例如 2,4,6,...)时: 此外: 使用OpenTest的IEC 61260-1倍频程分析功能观察数据-> 为什么偶数 b 的公式会“半步错开”? 你可以把中心频率序列想成在 log(f) 轴上的“等间距刻度”。当 b 为奇数时(如 1、3),标准把参考频率 fr=1000 Hz 直接放在某个刻度点上,所以 1000 Hz 本身就是一个中心频率(x=0)。当 b 为偶数时(如 2、4),如果仍然让 1000 Hz 落在刻度点上,会导致频带边界(f1、f2)在一些场景下不够“对称/整齐”(特别是你希望某些报告频率刚好落在边界上)。因此标准选择把中心频率序列整体在 log 轴上平移半个间隔:中心频率落在“半格”位置,而 1000 Hz 会更接近成为两个相邻中心频率之间的几何中点(也就是某些频带边界更容易对齐)。从公式上看,这个“半格平移”就是 (2x+1)/(2b) 这种写法:它保证相邻中心频率的比值仍然是 G^(1/b),只是把整个序列相对参考频率做了 1/(2b) 的指数偏移。 工程上你不必死记偶数/奇数两套式子——更稳妥的做法是:1) 先用标准给出的中心频率公式生成 exact fm 序列;2) 再用 f1 = fm / G^(1/(2b))、f2 = fm * G^(1/(2b)) 得到边界;3) 最后把 fm 显示为常用 nominal(例如 1 kHz、1.25 kHz、1.6 kHz)。这样实现出来的频带一定在数学上自洽,也最不容易和标准“走偏”。 工程解释:• 公式决定了“中心频率序列”的对数等比性质;• 几何均值定义保证频带在对数轴上关于中心对称;• 选择 base-10 意味着序列与十进制优选数(ISO 3/ISO 266)更自然对齐。 [1][2] 频带边界、中心频率、带宽设计器 b:从定义到可计算 标准术语中常见 1/b 作为“带宽设计器(bandwidth designator)”:例如 1/1 为 1 倍频程,1/3 为 1/3 倍频程。 [1]一旦你选定 (G, b, fr),整套频带就被数学上锁定:每个频带的中心频率 fm 与边界 (f1,f2) 都是可计算的。 exact vs nominal:为什么同一个频带会出现两个“中心频率”? 在标准里,“精确中心频率(exact)”用于数学一致性与滤波器设计;“标称中心频率(nominal)”用于标注、报告与工程交流。 [1]ISO 266:1997 给出了声学测量的优选频率(preferred frequencies),以 1000 Hz 为参考,并基于 ISO 3 的 R10 优选数列。 [2]因此,1/3 倍频程的 exact 序列(严格等比)会被舍入成一串非常常见的标称值:20, 25, 31.5, 40, 50, 63, 80, 100, 125, 160, ... , 1k, 1.25k, 1.6k, 2k, 2.5k, 3.15k, ... , 20k。 工程上“31.5 Hz”“6.3 kHz”“12.5 kHz”等标称值来自 R10 系列的习惯写法,利于读写与表格化。 算法实现应优先用 exact 频率计算边界,再将结果标注为 nominal;这样最不容易出错。 base-10 vs base-2:为何标准不坚持严格 2:1? 许多人对 octave 的直觉是 2:1。IEC 61260-1 采用 base-10(G=10^(3/10))而不是 base-2(G=2)的主要原因:• 与十进制优选数列对齐(ISO 266 直接基于 R10 系列)。 [2]• 统一国际标准:IEC 61260-1:2014 只规定 base-10,并提示 base-2 设计在远离参考频率时符合标准的概率会降低。 [1]数学上:log10(2) ≈ 0.3010,1/3 octave 在对数十进制上接近 0.1 decade;而 base-10 定义直接令相邻 1/3 带比值为 10^(1/10),使得每个 decade 恰好 10 个 1/3 带,这是与 R10 的“漂亮对齐”。 “10 个 1/3 带 = 1 个 decade”:这件事为什么很重要? 当 1/3 倍频程按 base-10 定义时,相邻中心频率比值 r = 10^(1/10)。因此:• 每走 10 个 1/3 带,频率正好乘以 10(一个 decade);• 这与 ISO 266 的 R10 优选数列天然一致;• 这让很多工程表格、标称频率、图纸标注非常顺手。从标准化角度看,“易读、易写、易比对”是极其重要的工程价值:它减少沟通成本与误用概率。 图 3:Base-10 1/3 倍频程在一个 decade(10× 频率)内的 10 个等比步进示意 ANSI S1.11 / ANSI/ASA S1.11:容差等级(class)与瞬态提醒 ANSI S1.11 及其采用 IEC 61260-1 的版本同样描述了滤波器组/频谱分析仪所需的性能要求,并引入不同容差等级(例如一些版本包含 class 0/1/2)。 [3][4]一个非常工程化的提醒是:标准指出对于瞬态信号,不同实现的滤波器(即便都满足同一规范)可能给出不同结果。 [3]这意味着:当你把倍频程用于瞬态诊断时,必须关注“算法的时间响应”。 “class / mask / effective bandwidth”到底在管什么? 很多人以为“做了 1/3 倍频程”只要频带边界对了就行,但在标准化测量里更关键的是:不同设备/算法要得到可比结果。这就需要把滤波器/分析器的行为约束到一个“允许的范围”里——这就是 IEC/ANSI 里常说的 class(等级)和 mask(容差掩模)的意义。 可以把它拆成三层去理解:• 频率划分(frequency spacing):中心频率序列与边界如何定义(base-10、exact/nominal、f1/f2)。• 幅频响应容差(magnitude response mask):在通带附近允许多大起伏?离中心频率多远必须衰减到多小?(用于保证邻带隔离与一致性)• 能量口径一致性(effective bandwidth):面对宽带随机噪声时,‘通过滤波器后得到的均方值’必须在设备间可比。 为什么要强调 effective bandwidth?因为真实滤波器不是“理想砖墙”。对随机噪声而言,带内输出能量取决于 ∫|H(f)|^2 S(f)df,只要 |H(f)| 的尾巴、滚降、通带起伏不同,即便频带边界名义上相同,带级也会系统性偏差。标准通过对有效带宽/归一化有效带宽的约束,把这种偏差压到可接受的范围内。 [1][3][4] 另外,标准强调“瞬态信号可能导致不同合规实现输出不同”并不是矛盾,而是提醒你:• mask 主要约束的是稳态频域特性(幅频与带宽),而瞬态还与相位/群延迟、滤波器振铃、以及你选择的时间平均方式有关;• 所以当你做冲击、扫频、短事件诊断时,必须固定算法细节(滤波器结构、阶数、时间常数、平均窗口)并做基准比对。 [3] 数学基础:1/n 倍频程频带的定义、带宽、Q 值与带编号 CPB(常数百分比带宽)与“对数等距” CPB 的等价说法是:在对数频率轴上,每个频带的宽度相同。设归一化变量 u = log(f),那么频带边界对应 u 上的固定间隔。这在噪声与振动工程里很自然:许多谱型(例如 1/f 类谱)在对数尺度上更平滑,统计更稳定。 由几何均值推导边界公式(通用 1/b 形式) 标准给出中心频率是边界的几何均值 fm = sqrt(f1*f2)。 [1]对 1/b 倍频程,通常取边界比值 f2/f1 = G^(1/b)(G 为倍频程比)。于是: 对 base-10 1/3 倍频程:G=10^(3/10), b=3。相邻中心频率比值 r = G^(1/3) = 10^(1/10) ≈ 1.258925;边界倍数 k = 10^(1/20) ≈ 1.122018。 Q 值与分辨率:倍频程就是常数-Q 分析 Q = fm / (f2 - f1)。对 CPB:Δf = f2-f1 与 fm 成比例,因此 Q 仅由 b 与 G 决定。 设 => Q 与 fm 无关(常数-Q) 工程含义:• 在低频,频带窄 -> 频率分辨更细;• 在高频,频带宽 -> 能量统计更稳、对随机噪声更友好。 常见分数倍频程的相对带宽与 Q 值速查(base-10,fr=1000 Hz): 分数倍频程频带比值 f2/f1相对带宽 Δf/fmQ = fm/Δf1/11.9952620.7045921.4191/21.4125380.3471072.8811/31.2589250.2307684.3331/61.1220180.1151938.6811/121.0592540.05757317.369 解读:1/3 倍频程的 Q≈4.33,意味着每个频带的带宽大约是中心频率的 23%。分得更细(1/6、1/12)虽然分辨率更高,但对随机噪声的统计方差也会更大、所需平均时间更长。 图 4:常见分数倍频程的 Q 值(base-10 定义) 带编号(band number)与公式化索引 实现时经常需要一个整数索引(band number)来枚举频带。IEC 用整数 x 出现在中心频率公式里:fm = fr * G^(x/b)。 [1]因此你可以反求 x: 给定 fm(exact): 对 base-10: 这个索引在工程上很有用:• 你可以稳定地生成“覆盖某个频率范围”的整套频带;• 你可以确保频带边界连续(contiguous),且每一带严格对应标准定义。 “1/3 倍频程”的两种口径:base-2 与 base-10(别混用) 在一些文献中,“1/3 octave”可能指 base-2 的 2^(1/3);而在 IEC 61260-1:2014 的滤波器规范与很多现代声学测量语境中,更常用 base-10 的 10^(1/10)(也可理解为 1/10 decade)。实际项目里必须确认:你的仪器/软件采用的是哪一种定义。一个简单检查法:看相邻标称中心是否是 1.0k -> 1.25k -> 1.6k -> 2.0k 这种 R10 风格,若是,则大概率是 base-10。 倍频程带级的数学定义:从 PSD 积分到 dB 报告口径 连续频域:带内能量积分 倍频程带级本质是“功率谱密度在频带内积分”。以声压 p(t) 为例: 对振动(速度/加速度)完全类似,只是参考量与单位不同。关键点:dB 是对数,任何求和/平均必须先回到线性功率或均方域。 离散实现的两条路:滤波器输出 RMS vs FFT/PSD 装桶 滤波器法:y_b(t)=BandPass_b{x(t)},然后 p_rms^2(b)=mean(y_b^2)。 FFT/PSD 法:先估计 S_pp(f),再对 f∈[f1,f2] 做数值积分(bin 求和)。 两者对“长时间平稳信号”的平均结果可非常接近,但对瞬态、扫频、短事件往往不同。 先把“谱是什么”说清楚:幅度谱、功率谱、PSD(以及 dB/Hz) 离散信号做 FFT 后,最容易混淆的是“你手里那条谱到底是什么量”。用声压 p(t) 举例(单位 Pa):• 幅度谱 |X(f)|:仍然与‘幅度’同量纲(Pa),常用来观察纯音/谐波。• 功率谱 |X(f)|^2:量纲变成 Pa^2,直接对应均方(能量)。• 功率谱密度 PSD:量纲是 Pa^2/Hz,表示‘每 1 Hz 的均方’(噪声分析里最常用)。倍频程带级本质上是带内均方(Pa^2)或功率的积分/求和,所以无论你从哪条谱出发,最终都必须落回到 Pa^2 的能量域。 频率分辨率与单边谱:Δf、0..fs/2、以及“乘 2” FFT 的 bin 间隔是 Δf = fs/N。把 PSD 离散化后,带内积分通常近似为:均方(带) ≈ Σ_{k∈band} PSD[k] · Δf如果你使用的是‘单边谱’(只保留 0..fs/2),为了能量守恒,除 DC(0 Hz)与 Nyquist(fs/2,若存在)外,通常需要把其余频点的功率乘以 2(因为负频率那一半被折叠掉了)。很多实现对这一点处理不同,导致同一段数据在不同软件里差一个常数偏移;所以做对比时一定要先把“谱的定义”对齐。 窗函数校正:coherent gain(纯音)与 ENBW(噪声)是两件不同的事 加窗的目的,是降低频谱泄漏(尤其是非整数周期的纯音)。但窗会改变两类量:• 对纯音幅度:窗会把峰值‘压低’,需要用 coherent gain(CG)校正。常见定义:CG = sum(w)/N。• 对宽带噪声:窗会改变噪声底的统计平均,需要用等效噪声带宽 ENBW 校正。常见定义:ENBW = fs · sum(w^2)/(sum(w))^2。 [9]直觉上:CG 关心的是‘峰值高度’,ENBW 关心的是‘噪声底面积’。倍频程带级属于能量统计,更常受 ENBW 影响。 常见窗口速查(典型值,N 足够大时 ENBW 以“bin 宽度”为单位): 窗口Coherent Gain CGENBW(bins)Rectangular1.0001.000Hann0.5001.500Hamming0.5401.363Blackman0.4201.727 提示:如果你的目标是“噪声带级”,优先确认 ENBW/PSD 口径;如果你的目标是“纯音幅值落在哪个频带”,再去确认 CG 与频谱泄漏。 装桶时的“部分 bin”加权:边界不对齐时怎么做才不跳变 把 PSD 当成在每个 bin 宽度 Δf 内近似常数,那么任意频带 [f1,f2] 的积分可以写成: 其中 α_k∈[0,1] 是‘该 bin 与频带的重叠比例’: 这样做的好处是:当你稍微移动边界或改变 N 时,带级变化会更平滑、更符合连续积分的直觉。 图 5:FFT 装桶时的“部分 bin 加权”示意(频带边界与 FFT bin 不对齐) 两条路什么时候“理论等价”?用一个公式把它们统一起来 严格地说,滤波器法与 PSD 装桶法都在做同一件事:把信号的功率按频率分配并积分。统一写法是: • 若 H_b(f) 是理想砖墙(bandpass=1,bandstop=0),就退化成 ∫_{f1}^{f2} S_xx(f) df。• 若 H_b(f) 是真实标准滤波器,则积分里会自然包含滚降与通带起伏;这也是为什么标准要约束 |H_b(f)| 与有效带宽。 因此,两条实现想要数值上尽量一致,要么让 FFT 装桶近似同样的 |H_b(f)|(例如用 FFT synthesis 的权重),要么接受它们对‘边界/滚降’的不同处理并在报告中注明方法。 频带合成:从 1/3 倍频程合成 1 倍频程(以及总级) 在理想的频带划分与能量守恒条件下:• 3 个相邻的 1/3 倍频程可以合成 1 个 1 倍频程;• 所有频带能量(在覆盖范围内)求和可得到总能量。IEC 61260-1 也提到窄带分数倍频程输出可以组合近似更宽带的带级。 [1]合成规则永远是能量域求和: 若 L_i 为各带级(dB),对应线性能量 E_i: 合成带级: “有效带宽(effective bandwidth)”与为何标准要规定它 现实滤波器不是理想砖墙,通带起伏与边缘滚降会影响“随机噪声通过后得到的能量”。因此标准往往引入有效带宽概念:等效成一个理想滤波器,其通过噪声功率与真实滤波器相同。IEC 61260-1 还定义了归一化有效带宽,且在定义中出现对 1/f(按对数频率度量)的权重形式。 [1]工程意义:这保证不同实现的滤波器,在测量宽带噪声(尤其是粉红噪声类)时能得到可比的带级。 把“有效带宽”写成一行公式 以单位增益的带通滤波器 H(f) 为例,若输入是白噪声(PSD 为常数 S0),输出均方为: 因此可以把滤波器等效成一个‘理想矩形带通’,其带宽定义为: 这就是最常见的有效带宽(effective bandwidth / noise bandwidth)直觉:它衡量的是‘噪声能量能通过多少’而不是‘-3 dB 点在哪里’。 如果输入不是白噪声,而更接近粉红噪声(PSD ~ 1/f),那么不同频率的噪声贡献不再等权。标准在定义归一化有效带宽时引入相应权重,目的仍然是同一个:让不同实现对‘典型工程噪声’给出可比带级。 [1] 工程上最常见的坑:• 你用 FFT 装桶得到的带级,相当于默认了‘砖墙滤波器’(|H|^2=1/0),其 B_eff 就是 (f2-f1)。• 你用真实 IEC/ANSI 滤波器组得到的带级,相当于用一个有滚降的 |H|^2,因此 B_eff 往往略大于 (f2-f1),且不同 class 会不同。所以当你要把两者对齐时,最靠谱的方法是:要么用 FFT synthesis 去逼近真实 |H|^2,要么在 FFT 装桶里引入与标准一致的过渡带权重。 为什么标准与工程界偏爱 1/3 倍频程? 1/3 倍频程的“信息密度”刚好:比 1 倍频程细、比更细分数稳 把一个 octave 只用 1 个数描述(1 倍频程)往往过粗,会掩盖谱形;但把一个 octave 切得过细(如 1/12、1/24)又会:• 增加测量/估计方差(随机噪声下每带能量更不稳定);• 增加实现复杂度与计算/报告成本;• 在多数法规与评价体系中“信息过剩”。1/3 倍频程是经典折中:工程上足够细,统计上足够稳,生态上最普及。 心理声学因素:临界带在中频段接近 1/3 倍频程 不少心理声学资料指出,可听频段可划分为约 24 个临界带(critical bands),且在中频段临界带宽与 1/3 倍频程带宽相近。 [7][8]这使得 1/3 倍频程在很多“与听感相关”的工程问题中成为自然的中间尺度:• 环境噪声的频带贡献解释• 声品质(loudness 等)计算的输入谱(部分标准/方法使用 1/3 倍频程作为输入格式)注意:1/3 倍频程并不等同 Bark/ERB 等感知尺度,但它标准化程度更高、跨行业可比性更强。 标准与应用直接驱动:很多流程把 1/3 写死为输入/输出 当某些关键标准把 1/3 倍频程写进流程,产业链就会围绕它形成惯性。典型例子:• 建筑隔声的评级:ISO 717-1:2020 提到实验室测量单值量计算使用 1/3 倍频程。 [5]• 房间声学参数:混响时间等参数常按倍频程/1/3 倍频程报告(如 ISO 3382 系列)。 [6]一旦“报告格式”变成标准要求,仪器与软件就会优先支持这种格式,从而进一步巩固其地位。 base-10 的额外工程红利:R10 表格化 + 10/decade + 易读性 10 bands per decade:频率每乘以 10,正好跨 10 个 1/3 带(表格与坐标轴刻度非常规整)。 R10 优选数:1.00、1.25、1.60、2.00、2.50、3.15、4.00、5.00、6.30、8.00(乘以 10^n)几乎人人熟悉,工程沟通成本低。 对比 base-2:虽然更符合“octave=2”的直觉,但标称频率的十进制表达会更别扭,且跨标准/报告更容易引入歧义。 倍频程分析的实现方法,主要有FFT装桶和滤波器组法两种,继续阅读-> 倍频程分析指南:FFT装桶 vs 滤波器组法 OpenTest已集成两种倍频程分析方法,访问OpenTest 网站 www.opentest.com 下载免费版软件,更多功能与应用案例等待您的解锁。 参考文献 [1] IEC 61260-1:2014 PDF sample (iTeh): https://cdn.standards.iteh.ai/samples/13383/3c4ae3e762b540cc8111744cb8f0ae8e/IEC-61260-1-2014.pdf [2] ISO 266:1997, Acoustics - Preferred frequencies (ISO): https://www.iso.org/obp/ui/ [3] ANSI S1.11-2004 preview PDF (ASA/ANSI): https://webstore.ansi.org/preview-pages/ASA/preview_ANSI%2BS1.11-2004.pdf [4] ANSI/ASA S1.11-2014/Part 1 / IEC 61260-1:2014 preview: https://webstore.ansi.org/preview-pages/ASA/preview_ANSI%2BASA%2BS1.11-2014%2BPart%2B1%2BIEC%2B61260-1-2014%2B%28R2019%29.pdf [5] ISO 717-1:2020 abstract (mentions one-third-octave usage): https://www.iso.org/standard/77435.html [6] ISO 3382-2:2008 abstract (room acoustics parameters): https://www.iso.org/standard/36201.html [7] Ansys Help: Bark scale and critical bands (mentions midrange close to third octave): https://ansyshelp.ansys.com/public/Views/Secured/corp/v252/en/Sound_SAS_UG/Sound/UG_SAS/bark_scale_and_critical_bands_179506.html [8] Simon Fraser University Sonic Studio Handbook: Critical Band and Critical Bandwidth: https://www.sfu.ca/sonic-studio-webdav/cmns/Handbook5/handbook/Critical_Band.html [9] MathWorks: ENBW definition example: https://www.mathworks.com/help/signal/ref/enbw.html
概念详解阅读这篇-> 什么是倍频程分析?为什么标准都喜欢1/3倍频程 基于倍频程滤波器组的分析(True Octave / CPB Filter Bank) 并联滤波器 + 带内能量检测 + 时间平均 滤波器组法(常被称为 true octave analysis)是最“标准仪器化”的实现:1) 为每个中心频率设计带通滤波器 H_b(z)(或 H_b(s))2) 所有滤波器并联,对输入 x(t) 同时滤波得到 y_b(t)3) 对每个 y_b(t) 计算带内均方/功率并做时间平均,得到带级 L_b滤波器的幅频响应需要满足 IEC/ANSI 的容差掩模(mask),以保证不同仪器可比。 [1][3] IIR vs FIR:为什么工程上常用 IIR? IIR 的优势:• 对给定滚降与带外抑制,所需阶数通常远低于 FIR,计算量更低• 适合实时仪器与嵌入式实现• 可用级联二阶节(biquad)保证数值稳定FIR 的优势:• 可实现线性相位(对需要保留波形形状的应用有价值)• 设计与验证更直接但对“只要带级”的场景,相位通常不是主要指标,因此 IIR 是常见选择。 多速率(multirate)是 CPB 滤波器组的秘密武器 CPB 的低频带宽很窄,如果按原采样率直接实现,会浪费算力。常见做法是:• 将频带按 octave 分组• 对低频组先做低通 + 抽取(例如每降一个 octave 抽取 2 倍)• 在降低采样率后的信号上实现低频 1/3 带通这样可以显著降低滤波器阶数需求与运算量,同时保持标准定义的频带结构。 时间平均/时间加权:带级不是“瞬时值”,而是统计量 倍频程带级通常需要时间平均。常见三类:• 块平均(block RMS):每 T 秒输出一次• 指数平均(exponential averaging):等效一阶低通平滑能量• Leq(等效连续级):在能量域对整个测量时长积分在声级计语境中,IEC 61672-1 描述了 Fast/Slow 等时间加权概念(Fast 典型时间常数约 125 ms,Slow 约 1 s)。 [5][6]工程含义:同一个频带,如果你用不同时间常数,读数会不同;报告必须注明时间加权。 如何验证滤波器组“像标准那样工作”? 正弦扫频:检查每个频带在其通带内的响应与邻带隔离;也能观察瞬态/群延迟导致的滞后 粉红噪声/白噪声:检查带级是否与理论谱(1/f 或常数 PSD)一致;同时可估计带级方差与稳定时间 脉冲/阶跃:检查滤波器的时域振铃与时间响应(对瞬态应用尤其重要) 对照法:用已知“符合 IEC/ANSI 的参考实现/仪器”对同一信号比对带级 从“定义频带”到“做出合规数字滤波器”的完整流程 如果你需要自己实现一个“接近标准仪器”的 1/3 倍频程滤波器组,可以按下面的工程流程走(不依赖某个特定软件): 确定频带体系:选 base-10/base-2、选 1/b(通常 b=3),用 exact 公式生成全部中心频率 fm 与边界 f1/f2 确定性能目标:你要对标哪个标准版本/哪个 class?这会影响你允许的通带起伏、边缘滚降斜率、以及邻带隔离 选择滤波器结构:实时/嵌入式常用 IIR(biquad 级联);若对相位敏感或要离线零相位,可考虑 FIR 或前后向滤波 设计单个频带:以 f1/f2 为关键频率,设计带通;注意数字域频率映射可能需要预失真(例如双线性变换的 pre-warp)来让数字滤波器的边界落在你期望的位置 做全带覆盖与多速率:把频带按 octave 分组,低频组先低通+抽取;抽取前必须有足够的抗混叠滤波 验证:逐带检查幅频响应是否落在标准 mask 允许范围;用噪声验证有效带宽与带级偏差;用扫频/脉冲验证时间响应 定标与单位:确认输入单位(Pa、m/s^2 等)与参考量(20 µPa 等);确认 RMS/Leq 的时间平均与报告口径 时间响应:群延迟、振铃、时间平均三者如何共同决定“读数” 倍频程带级看起来是频域量,但在真实仪器里它是‘滤波 + 能量检测 + 平滑’的时域系统,所以会出现三个时间尺度:• 滤波器本身的群延迟:决定一个事件在该频带上“晚多久”出现• 滤波器的振铃/衰减时间:决定一个短脉冲会在该频带上拖尾多久• 你选的时间平均(Fast/Slow/Leq 或滑动 RMS):决定你输出的时间分辨率与抖动当你用倍频程去看瞬态(冲击、开关噪声、扫频起停),不同实现即便都满足同一幅频 mask,也可能给出不同的峰值与时间轨迹——这正是 ANSI 提醒的原因。 [3] 一个非常实用的经验:• 想看‘稳态频带贡献’:加长平均时间,让结果更稳定(更像法规测量)• 想看‘瞬态在哪个频带爆发’:缩短平均时间,但必须接受更大波动,并固定滤波器实现(尤其是阶数/相位特性) 实时实现常见坑 • 抽取链路忘记抗混叠:低频带级会被混叠污染,且很难肉眼看出来• biquad 系数数值问题:高 Q(细分数)在低频时系数可能很极端,需要用双精度或 SOS 结构避免不稳定• 直接对 dB 做平均:必须先在能量域平均,再转 dB• 频带重叠导致‘总能量不守恒’:真实标准滤波器并不要求功率互补,别用“各带加和=总级”去强行判错;应以标准口径与参考实现对齐为准 使用OpenTest进行基于倍频程滤波器组的分析 OpenTest支持基于倍频程滤波器组的分析:1) 连接设备,如SonoDAQ Pro2) 勾选通道并调整参数设置,如外接麦克风,需开启IEPE,并切换到声信号测量3) 在测量模式的倍频程分析板块中,选择IEC 61260-1算法,支持实时分析、线性平均、指数平均、最大保持4) 在参数配置完成后,点击测试按钮即可开始测试5) 支持一次录制同时分析1/1倍频程、1/3倍频程、1/6倍频程、1/12倍频程、1/24倍频程 图 1:使用OpenTest进行基于倍频程滤波器组的分析 使用OpenTest的IEC 61260-1倍频程分析功能观察数据-> FFT 频带积分与 FFT Synthesis(频域合成) FFT 频带积分的本质:把线谱变成 CPB 频带积分 FFT 法通常包含两步:1) 先做谱估计:单帧 FFT、Welch 平均、或 STFT(重叠短时 FFT)得到 |X[k]|^2 或 PSD[k];2) 对每个倍频程频带,求和/积分得到带功率 P_band。它在软件和离线处理中很常见:一次 FFT 可以得到全频段细粒度谱,随后“频带积分”为任意频带体系(1/1、1/3、1/12...)。 关键难点一:FFT 的尺度(scaling)和窗函数校正 做 FFT 之后,你拿到的 |X[k]| 是“与实现定义相关”的量:是否做了 1/N 归一化?是幅度谱还是功率谱?是否单边谱?更关键的是窗函数:窗会改变能量分布与噪声底。要在 PSD 口径下正确积分,需要考虑窗的等效噪声带宽(ENBW)。ENBW 的一个常见定义形式:ENBW = fs * sum(w^2) / (sum(w))^2。 [7]工程落地:如果你在噪声测量中忽略 ENBW,你的 PSD 与带级会出现系统性偏差,尤其是在宽带噪声下。 一个常用且不容易错的 PSD 归一化写法(用于频带积分积分) 以单帧 periodogram 为例(Welch 只是对多帧做平均),一种常见定义是: X[k] = FFT( w[n]·x[n] )U = (1/N) · Σ w[n]^2PSD_two_sided[k] = |X[k]|^2 / (fs · N · U) 然后再转为单边 PSD:除 DC/Nyquist 外乘以 2。这样做的好处是:• PSD 的单位是‘输入单位^2/Hz’(例如 Pa^2/Hz),• 对白噪声,其 PSD 平均值与理论常数一致(只差统计波动),• 对 PSD 做 Σ PSD·Δf 可以回到均方(RMS^2),便于与时域结果交叉验证。 两个最实用的“自检”方法:一眼看出你的 scaling 有没有错 自检 A(白噪声):生成一段已知方差 σ^2 的白噪声,理论上其总均方应接近 σ^2。你把 PSD 在 0..fs/2 积分(单边谱要包含乘 2 规则)应回到同一个 σ^2。自检 B(纯音):生成一个幅值 A 的正弦(注意 RMS= A/√2),其能量应几乎集中在一个或少数几个 bins(取决于是否整周期与窗函数)。把频域能量积分回去,应该接近 (A^2/2)。只要这两项对上了,你的 FFT scaling 大概率是正确的;之后再谈 ENBW、partial-bin、倍频程频带积分才有意义。 关键难点二:bin 与频带边界不对齐 -> 需要“部分 bin”加权 1/3 倍频程边界通常不会恰好落在 FFT 的 bin 频率上。若你简单地“包含或排除某个 bin”,会造成阶梯状误差。更严谨的做法是:对边界处的 bin 按其频率覆盖比例做部分面积加权(相当于把 PSD 在 bin 内视为常数并做截断积分)。这在低频尤其重要,因为低频带宽窄,落在边界的那几个 bin 占比更大。 “部分 bin”加权的最小实现(伪代码级别,可直接落地) 假设你有单边 PSD 数组 PSD[k],对应每个 bin 的中心频率 f_k = k·fs/N,bin 宽度 Δf=fs/N。对某个倍频程频带 [f1,f2]:1) 找到完全落入频带内部的 bins:这些 bins 的权重 α_k=1;2) 对落在边界附近的最多两个 bins,计算重叠比例 α_k∈(0,1);3) 带内均方 = Σ α_k · PSD[k] · Δf。注意:如果你用的是双边谱,f_k 的定义与边界处理会不同;但‘重叠比例’这一思想是通用的。 零填充(zero-padding)能解决边界不对齐吗? 零填充能让频谱曲线看起来更平滑(相当于在频域做插值),但它并不会真正提高频率分辨率:真实分辨率仍由原始窗长决定。因此,对倍频程频带积分而言:• 零填充可以让边界落在更细的频点上,从而减小‘截断误差’的视觉跳变;• 但如果 N 太小导致低频每带只有 1-2 个 bins,再怎么零填充也不会变成“可靠的低频带级”。根本解决方案仍然是:足够长的窗(更细 Δf)或采用多速率/滤波器组方法。 关键难点三:时间-频率折中(窗长决定低频精度与延迟) FFT 分辨率 Δf = fs/N。低频 1/3 带宽很窄:例如 20 Hz 这一带的带宽只有几 Hz。若希望每带至少 10 个 bins,则 Δf 需小于带宽/10,这会要求 N 很大,从而带来:• 更大的延迟(至少一个窗长);• 对非平稳信号的时间平滑(瞬态被“拉长”)。因此:FFT 频带积分在“稳态噪声的统计带级”上很优秀,但在“快速变化/瞬态的带级轨迹”上可能不如滤波器组直观。 低频难题的根源:1/3 倍频程是常数-Q,但 STFT 是常数-Δf 这是很多人第一次做低频 1/3 倍频程时会“踩坑”的根本原因:• 1/3 倍频程的带宽 Δf_band 与中心频率成正比(常数-Q);• STFT/FFT 的 bin 宽度 Δf_bin 是常数(常数-Δf)。因此在低频,你需要非常小的 Δf_bin 才能把窄频带切得足够细;在高频反而绰绰有余。 解决路线对比:长窗 STFT vs 多速率 STFT vs CQT/小波 常见三条路线:• 长窗 STFT:实现最简单,但延迟大、瞬态被拉长。• 多速率 STFT:低频先抽取再做 FFT,用较小采样率实现更细的低频 Δf;与 6.3 的多速率滤波器组思路一致。• 常数-Q 变换(CQT)/小波:天生就是对数频率分辨,更接近倍频程带;但若要严格对标 IEC/ANSI 的滤波器 mask,需要额外校准与验证。 [4]工程上:合规测量优先‘标准滤波器组’;科研/特征提取则可以考虑 CQT/小波等更灵活的方法。 FFT Synthesis:用频域权重构造“每带滤波” FFT synthesis(频域合成)可以把 FFT 法推向“滤波器组”的方向:• 为每个频带构造频域权重 W_b[k](可近似标准滤波器的幅频掩模,或用更平滑的过渡带);• 令 Y_b[k] = X[k] * W_b[k];• IFFT 得到 y_b[n],再计算带内 RMS/平均。特点:• 容易实现零相位(非因果)滤波;• 可用 overlap-add 做流式输出,但依然有块延迟;• 若要严格符合 IEC/ANSI 的掩模,需要精心设计 W_b 与验证。 FFT Synthesis 做成“流式倍频程仪器”的关键:OLA、双窗与幅度归一化 如果你希望 FFT synthesis 不只是离线块处理,而是像仪器一样连续输出,每一步都要把“块”拼回“流”:• 分帧:以 hop 为步长取帧并加分析窗 w_a[n];• 频域加权:Y_b[k]=X[k]·W_b[k];• IFFT 得到 y_b[n] 后,再乘合成窗 w_s[n] 并 overlap-add;• 选择 w_a 与 w_s 使得重叠相加满足近似恒等(COLA 条件),否则带内 RMS 会随帧对齐产生周期性起伏。这也是为什么很多实现会固定窗型与重叠率(例如 Hann + 50% 重叠)并在最后做幅度归一化。 如果目标是“对标标准滤波器”,W_b[k] 应该如何选? W_b[k] 的选择取决于你追求的‘像什么’:• 追求砖墙积分一致性:W_b[k] 直接取 0/1(硬边界),最接近频带积分。• 追求与 IEC/ANSI 滤波器一致:让 |W_b(f)| 逼近标准规定的幅频掩模,并关注有效带宽(相当于匹配 ∫|W_b|^2)。• 追求可重构/能量守恒:让各带权重满足近似功率互补 Σ|W_b(f)|^2≈1。三者通常不能同时完美满足,所以实现前先明确目标会省掉很多返工。 能量守恒的频域滤波器组:为什么要关心 Σ|W_b|^2? 如果你的目标是“每带能量可加、总能量守恒”,一个常见的设计原则是让频域权重满足(近似)功率互补:Σ_b |W_b(f)|^2 ≈ 1(在分析频段内)。这样对于宽带信号,按 Parseval 定理,各带能量之和接近总能量(忽略边缘与数值误差)。注意:IEC/ANSI 的真实滤波器掩模不一定满足严格互补,因此你需要明确你的目的:合规测量 vs 信号分解/重建。 Welch/平均策略:如何让 FFT 带级更稳? Welch 平均:分段、加窗、重叠、对功率谱平均,是噪声 PSD 估计的常用办法。 时间平均要在功率域做:平均 |X|^2 或 PSD,再转 dB。 对非平稳信号:考虑用 STFT 输出时间-频带矩阵(类似声级计的时间序列)。 报告时说明:窗类型、重叠率、平均次数、是否做了 ENBW/幅度校正。 使用OpenTest进行FFT频带积分分析 OpenTest支持基于FFT装桶的倍频程分析:1) 连接设备,如SonoDAQ Pro2) 勾选通道并调整参数设置,如外接麦克风,需开启IEPE,并切换到声信号测量3) 在测量模式的倍频程分析板块中,选择基于FFT分析的算法4) 支持一次录制同时分析1/1倍频程、1/3倍频程、1/6倍频程、1/12倍频程、1/24倍频程 图 2:使用OpenTest进行基于FFT装桶的倍频程分析 使用OpenTest的FFT装桶倍频程分析功能观察数据-> 倍频程滤波器法 vs FFT/FFT Synthesis:差异、等价条件与工程取舍 核心差异 维度滤波器组法(True Octave/CPB)FFT 装桶 / FFT Synthesis标准符合性更容易严格对标 IEC/ANSI 的幅频掩模;硬件仪器主流路线。 [1][3]若仅装桶,更像“频带积分”;要严格匹配掩模需额外设计权重或用标准化数字滤波器。实时性/延迟可因果实时;延迟由滤波器阶数与时间平均决定。块处理至少一个窗长延迟;低频为了分辨率往往需要更长窗。瞬态响应输出随时间连续变化,但受滤波器群延迟/振铃影响;不同合规实现可能不同。 [3]由 STFT 窗决定时间扩展;瞬态被窗平滑,且对窗类型/长度敏感。泄漏与校正带外抑制主要靠滤波器设计,泄漏可控。强依赖窗函数与 ENBW/幅度校正;边界 bin 不对齐需部分加权。 [7]可解释性对应“通过某个带通滤波器后的 RMS”,与声级计/分析仪一致,解释直观。对应“谱估计 + 装桶”,更接近统计谱分析;解释需结合窗长与平均方式。计算量多滤波器并行;多速率可降成本。一次 FFT 可复用所有频带;离线/批量处理效率高。相位与可重建性IIR 一般非线性相位(但对带级无碍)。频域权重可做零相位(非因果);若做带信号重建,需关注权重互补与边缘过渡。 什么时候两者会给出“几乎一样”的结果? 在以下条件同时满足时,滤波器法与 FFT 装桶法的平均带级通常非常接近: 信号近似平稳(stationary),且观测时间足够长; FFT 分辨率足够细:每个频带含足够多 bins(尤其最低频带); 窗函数的幅度/能量尺度、单边谱、ENBW 等做了正确校正; 频带边界处做了部分 bin 加权,而不是粗暴截断; 只比较统计意义上的平均带级,不比较瞬态随时间变化的轨迹。 为什么在瞬态/短时事件中差异会变大? 差异放大的根本原因是“时间尺度不一致”:• 滤波器组法:每个频带有自己的群延迟与振铃,但可以连续输出;• FFT/STFT:用固定窗长做局部谱估计,窗长既决定频率分辨率,也决定时间平滑与延迟。当事件持续时间与窗长/滤波器时域响应同一个量级时,结果会明显依赖具体实现。因此,做瞬态诊断时应尽量固定算法细节,并用基准信号做一致性验证。 误差预算(error budget):两种实现差异通常从哪里来?怎么快速定位? 当你发现“滤波器组 vs FFT 装桶”对不齐时,不要盲目调参数。建议按影响从大到小做排查(越靠前越常见): dB 平均/合成方式是否错误:是否在能量域平均与求和?(这是最常见的‘一票否决’问题) FFT scaling 是否一致:1/N 归一化、单边/双边、Δf、窗函数 U(sum(w^2))是否匹配? 窗函数校正是否匹配:噪声测量是否用 ENBW,纯音幅度是否考虑 coherent gain? 频带边界是否按 exact 计算:是否误用 nominal 频率去算 f1/f2? 边界 bin 是否做 partial-bin 加权:低频带宽窄时差异会被放大。 滤波器组是否多速率:抽取链路是否抗混叠充分?不同抽取方案会影响带外能量泄漏。 时间平均是否一致:块长、重叠、指数时间常数是否一致? 真正的‘标准差异’:若你在对标某个 class 的 mask,FFT 装桶(砖墙)与真实滤波器(滚降)本来就可能有系统差。 一个很有效的定位方法:先用白噪声把总均方、每带均方对齐(排除 scaling/ENBW/partial-bin 问题),再用扫频/纯音检查频带中心与邻带隔离(排除频带定义与滤波器实现问题)。 工程落地清单:如何把 1/3 倍频程做对、做稳、做可复现 选方法:合规测量优先滤波器组;离线统计可优先 FFT 装桶 若目标是法规/型式试验/仪器一致性:优先使用符合 IEC/ANSI 的倍频程滤波器组实现,并注明 class 与标准版本。 [1][3] 若目标是离线分析、大批量数据、希望灵活切换频带:FFT 装桶更高效,但必须把尺度校正与边界加权做严谨。 若目标是“得到每带时域信号”(例如后续做调制分析、包络等):可考虑 FFT synthesis 或 FIR/IIR 滤波器组。 FFT 装桶的参数选取:从最低频带推 N(示例) 假设 fs=48 kHz,最低关注 20 Hz 的 1/3 倍频程。其带宽约为:Δf ≈ f2-f1 ≈ 4.6 Hz(见附录表)。若你希望该频带至少有 M=10 个 bins,则需要 Δf_bin = fs/N <= 4.6/10 ≈ 0.46 Hz,即 N >= 48000/0.46 ≈ 104000 点。工程上通常选最近的 2^n:N=131072。这就是为什么“用 FFT 做低频 1/3 倍频程”常会带来很大窗长与延迟。 典型错误清单 把幅度谱 |X| 相加当成能量:必须用 |X|^2(或 PSD)在功率域求和。 直接平均 dB:所有平均/合成都应先回到线性功率/均方域,再转 dB。 忽略窗函数校正与 ENBW:宽带噪声下会出现系统偏差。 [7] 用 nominal 频率算边界:边界应基于 exact 计算,再用于标注为 nominal。 不说明时间平均方式:Fast/Slow/Leq 对结果影响很大。 [5][6] 推荐的验证流程 频带中心正弦测试:把纯音扫过频带,检查峰值落在正确频带,且邻带抑制符合预期。 白噪声/粉红噪声测试:检查各带平均值是否与理论谱形一致;评估统计方差与需要的平均时间。 跨实现对照:同一信号同时用(a)已知合规滤波器组实现(b)你的 FFT 装桶实现,对比带级差异并定位误差来源(尺度、窗、边界等)。 记录并冻结参数:窗类型、重叠、N、平均次数、频带定义(base-10/base-2)、时间加权等,作为报告的一部分。 报告与可复现信息清单:把这些写进报告,别人就能复算你的带级 倍频程结果最大的风险不是“算错一次”,而是“别人复现不出来”。下面给一份强烈推荐写进报告/测试记录的清单(尤其是你需要对标标准或跨团队交付时): 频带定义:base-10 还是 base-2?1/b 的 b 是多少?使用 exact 还是 nominal 作为计算依据?参考频率 fr 是多少? 实现方法:标准滤波器组(IIR/FIR、多速率与否)还是 FFT 装桶/FFT synthesis?软件版本/库版本。 采样与预处理:采样率 fs、是否做了去直流/去趋势、是否做了防混叠滤波、是否做了重采样。 时间平均:Leq/块 RMS/指数平均?时间常数/块长/重叠率/平均帧数?是否采用 Fast/Slow 等时间加权? FFT 细节(若使用):窗类型、N、hop、是否零填充、PSD 归一化公式、单边谱处理、ENBW/CG 校正、partial-bin 加权方式。 校准与单位:输入量纲(Pa、m/s、m/s^2)、参考量(20 µPa 等)、传感器校准因子与日期。 输出口径:每带是 RMS、峰值、还是带功率?dB 是 10log 还是 20log(对功率/幅度不要混用)?是否做了频带合成? 如果你只想记一句话:把“频带定义 + 时间平均 + FFT scaling/窗校正(若有)”写清楚,90% 的争议都会消失。 快速公式与数值例(可直接拿去写代码/报告) 10.1 base-10 1/3 倍频程的常用常数 G = 10^(3/10) ≈ 1.995262r = 10^(1/10) ≈ 1.258925 (相邻中心频率比值)k = 10^(1/20) ≈ 1.122018 (边界相对中心倍数)f1 = fm / kf2 = fm * k 10.2 1 kHz 频带边界示例 fm = 1000 Hzf1 = 1000 / 1.122018 ≈ 891.25 Hzf2 = 1000 * 1.122018 ≈ 1122.02 HzΔf ≈ 230.77 HzQ ≈ 4.33 OpenTest已集成两种倍频程分析方法,访问OpenTest 网站 www.opentest.com 下载免费版软件,更多功能与应用案例等待您的解锁。 参考文献 [1] IEC 61260-1:2014 PDF sample (iTeh): https://cdn.standards.iteh.ai/samples/13383/3c4ae3e762b540cc8111744cb8f0ae8e/IEC-61260-1-2014.pdf [3] ANSI S1.11-2004 preview PDF (ASA/ANSI): https://webstore.ansi.org/preview-pages/ASA/preview_ANSI%2BS1.11-2004.pdf [4] HEAD acoustics Application Note: FFT - 1/n-Octave Analysis - Wavelet (filter bank description): https://cdn.head-acoustics.com/fileadmin/data/global/Application-Notes/SVP/FFT-nthOctave-Wavelet_e.pdf [5] IEC 61672-1:2013 (IEC page): https://webstore.iec.ch/en/publication/5708 [6] NTi Audio Know-how: Fast/Slow time weighting (IEC 61672-1 context): https://www.nti-audio.com/en/support/know-how/fast-slow-impulse-time-weighting-what-do-they-mean [7] MathWorks: ENBW definition example: https://www.mathworks.com/help/signal/ref/enbw.html
在工业测试、科研与质量验证场景中,数据采集设备(DAQ/声卡/测量麦克风前端)是整套系统的“入口”。但随着技术和应用的细分,各种品牌、协议和形态的采集设备层出不穷: 有专为声学与振动设计的高精度采集设备 也有通用型的动态信号采集模块 以及常见的 USB 声卡、测量麦克风等 硬件并不缺,真正的难点是:如何在同一套软件里,把不同品牌、不同协议的设备统一接入、统一配置、统一管理。 OpenTest 围绕这一痛点,提供开放的多协议硬件接入架构,把采集从“设备孤岛”变成“统一平台”,实现跨品牌、多设备的数据采集与分析。 多协议硬件接入,减少设备“锁定” OpenTest 支持多种主流接入方式,可根据你的硬件类型与驱动环境选择合适协议(实际兼容范围以软件版本与设备驱动支持为准): openDAQ:面向开放式 DAQ 接入,可用于对接开放硬件(如 CRYSOUND SonoDAQ 等)并统一管理通道与采集参数 ASIO / WASAPI / MME / Core Audio:Windows 与 macOS 上主流音频接口,适配 RME、Echo、miniDSP等专业声卡与 USB 测量麦克风 其他私有协议:可按项目需求扩展 这意味着:你不必被某一种硬件或某一套软件“绑定”,现有设备也能更加平滑地纳入同一平台管理。 多硬件协同:一个工程管理多种采集任务 复杂测试常常需要“多源数据一起采”: 麦克风/加速度计等动态信号 转速、温度、压力、扭矩等工况量 监听/回放等辅助音频链路 借助OpenTest 多协议架构,你可以在同一工程内管理多个设备,对于 NVH、结构测试等场景,这种“跨设备协同”能显著减少:多软件录制→导出→手工对齐→再分析的重复劳动。 快速上手连接设备 连接数据采集设备与OpenTest 所在的PC(USB连接 / 网络连接,网络连接需要确保设备与PC处于同一网段) 在硬件设置栏,点击右上角“”图标,软件会自动搜索出已连接的设备 勾选要使用的设备,点击确认选择按钮,将设备加入到使用列表中 切换到通道设置列表,点击右上角“”图标,选择当前工程中需要使用到的通道(支持跨设备组合使用),点击确认按钮,将通道加入到工程中 勾选通道,软件自动开启实时分析,可以根据实际测试需求切换到不同的测量模块 预设配置 + 自由调整:既快上手,也便于标准化 为了让团队更快进入测试状态,OpenTest 支持“预设+调整”的配置方式: 把常用硬件参数、采集设置沉淀为模板 新工程可直接复用模板,减少从零配置 同时保留自由调整空间,适配不同工况与不同设备 对生产线/回归测试来说,模板化还能带来更重要的一点:测试口径统一、结果可对比、过程可追溯。 日志与监控:面向长时间运行的稳定性设计 长时间、多设备采集,最怕“跑着跑着掉线/过载/没录上”。OpenTest提供可观测能力: 设备与通道状态监控:及时发现掉线、过载、输入异常 关键操作与错误事件日志:便于定位问题与复盘优化流程 这对需要连续运行的生产线测试、耐久测试尤为重要,可以有效减少“测了一半才发现没录上”的情况。 典型应用场景 声学与振动研发:同一平台接入前端与声卡,快速完成采集、分析与报告输出 汽车 NVH/结构测试:噪声、振动与工况量协同采集,减少跨软件对齐工作 产线自动化测试:模板化配置 + 监控日志 + 报告输出,提升一致性与可追溯性 OpenTest 的目标不是“让你换掉所有硬件”,而是:把现有硬件统一起来用,让数据采集更高效、更可控、也更容易标准化。 欢迎访问 www.opentest.com 了解更多 OpenTest 功能与硬件方案,或联系 兆华电子CRYSOUND 团队获取演示与应用支持。
在欧盟《机械噪声指令》等法规要求下,从玩具、电动工具到 IT 设备,越来越多产品需要在铭牌或资料中声明声功率级,而不是只说“听起来不吵”。 在笔记本电脑这类典型办公设备上,空闲状态往往只有 30 dB(A) 左右,满载时可能接近 40 dB(A),这些数值就来自按 ISO 3744 等标准做的声功率测试。 声压 vs 声功率 声源辐射的是声功率,我们在麦克风上测到的是声压。声压会随着房间大小、混响、测点距离等条件变化,而声功率是声源自身的“噪声能量”,不随布置和环境改变,因此更适合作为产品噪声的评价指标。 简单说: 声功率是“原因”(源发出的能量,单位 W / dB); 声压是“结果”(听到的声压级,单位 Pa / dB)。 ISO 3744 要做的,就是在“近似自由声场 + 反射平面”的条件下,用一圈麦克风把声源包围起来,通过测得的面上声压级,按规定的修正和换算步骤,得到稳定、可比对的声功率级。 测试对象:一台日常使用的笔记本电脑 假设我们的被测对象是一台 17 英寸的办公笔记本,测试目标是:在不同工况下(空闲、办公负载、满载)测得其 A 计权声功率级,用于: 对比不同散热方案、风扇策略的噪声表现; 为产品说明书或合规认证提供标准化数据; 为声品质工程(例如风扇噪声“是否恼人”)提供基础数据。 测试环境采用半消声室,地面为反射平面,笔记本放置在反射平面上,周围布置若干测量点(可采用半球架或规则布点),整体方案符合 ISO 3744 对测量面和环境的要求。 测量系统:SonoDAQ Pro + OpenTest 声功率模块 硬件上,我们使用SonoDAQ Pro配合测量麦克风,按标准布置在笔记本周围。OpenTest 通过 openDAQ协议与SonoDAQ连接,在通道设置中完成通道选择与灵敏度、采样率等参数设置。 从标准到平台:为什么用 OpenTest 做声功率测试? OpenTest 是 兆华电子CRYSOUND 面向声学与振动测试打造的新一代平台,支持测量、分析、序列三种模式,可覆盖研发实验室和生产线重复测试场景。 在声功率方向,OpenTest 的解决方案基于声压法,完全符合 ISO 3744 工程法,同时覆盖 ISO 3745 精密法和 ISO 3746 简易法,可根据场地条件和精度要求灵活选择测试等级。平台内置声功率专用报告模板,可直接输出符合国际标准的测试报告,避免团队反复维护 Excel。 在硬件层面,OpenTest 通过 openDAQ、ASIO、WASAPI 以及 NI-DAQmx 等接口连接多品牌数据采集设备,对 CRYSOUND SonoDAQ、RME、NI 等硬件统一管理,从几路验证到多通道阵列都可以在一套软件里完成。 三步走:按 ISO 3744 跑通一套标准化声功率流程 第一步:参数配置与环境准备 在 OpenTest 中新建工程后: 在通道设置中勾选将要使用的麦克风通道,设置灵敏度、采样率、频率计权等参数。 切换到 测量 > 声功率,设置测量参数: 采用的测试方法、测量面相关参数; 点位布设; 测量时间; 其他与 ISO 3744 对应的参数。 这一步实质上是把标准条款“落地”为一个可复用的 OpenTest 场景模板。 第二步:先采背景噪声,再采设备运行 按照 ISO 3744,需要在相同测量面上分别测量“设备关闭”和“设备运行”状态下的声压级,以便进行背景修正。 在 OpenTest 中,这对应两次非常清晰的操作: 采集背景噪声点击功能栏中的“背景采集噪声”图标,系统按预设时长采集环境噪声。 在 简易法下,OpenTest 每秒刷新各通道LAeq; 在 工程法、精密法下,以每秒刷新 1/3 倍频程各频点的 LAeq。 采集设备运行时的噪声背景采集完成后,点击“测试”图标,OpenTest 将: 按预设时长采集笔记本运行时的噪声; 每秒刷新实时声压级; 自动保留本次测试的数据集,方便后续回放与对比。 第三步:从多次测量到一份标准化报告 完成多个工况(例如:空闲、典型办公、满载压力测试)后: 在数据集中勾选需要对比的记录,可叠加查看不同工况下的声功率差异; 在数据选择器右上角点击保存图标,可导出对应的波形文件和CSV数据表,供进一步处理或归档; 点击功能栏中的 Report,填写项目与设备信息,选择需要纳入报告的数据集,调整图表与表格后,一键导出 Excel 报告。 报告中将包含测量条件、测量面、频带或 A 计权声功率级、背景修正等关键信息,可直接用于内部评审或法规/客户提交,这与 Dewesoft 声功率方案导出标准化 Excel 报告的思路是一致的。 从一次笔记本测试,到一套可复用的声功率平台 按 ISO 3744 给一台笔记本做声功率测试,只是一个具体案例。更重要的是: 标准化的 OpenTest 场景可以被克隆到打印机、家电、电动工具等产品测试中; 多通道麦克风阵列与 SonoDAQ 等硬件可以在同一平台下复用; 测试流程与报告格式被软件“固化”,便于团队之间交接和长期审计 如果你正在搭建或升级声功率测试能力,可以考虑以 ISO 3744 为骨架,用 OpenTest 把环境、采集、分析和报告串成一条可重复的链路,让每一次声功率测试都清晰可追溯,也更容易从“单次试验”沉淀成“工程资产”。 欢迎访问 www.opentest.com 了解更多 OpenTest 功能与硬件方案,或联系 兆华电子CRYSOUND 团队获取演示与应用支持。
在声学与振动测试领域,工程团队往往要在多套软件和不同品牌数据采集设备之间来回切换,接口各异、流程割裂,新人往往需要花费大量时间熟悉工具,才能真正进入工程问题本身。OpenTest 由 兆华电子CRYSOUND 开发,是一款面向工程师、研究人员和制造企业的下一代声学与 NVH 测试平台,以「开放生态、AI 驱动、高度兼容」为核心设计原则,帮助用户在一套软件里完成从采集到报告的完整闭环。 OpenTest 支持 Measure、Analysis、Sequence 三种工作模式,覆盖实验室验证与生产线重复测试场景;核心功能包括实时分析、FFT 和 倍频程分析、扫频分析、声功率测试、声级计以及声品质分析等,并内置通用报告和符合国际标准的各类报告模板。 在硬件层面,OpenTest 通过 openDAQ、ASIO、WASAPI 等主流音频协议以及私有接口接入多品牌数据采集设备,可对 CRYSOUND SonoDAQ、RME、NI 等硬件统一管理;在软件层面,平台提供 Python、MATLAB、LabVIEW、C++ 等插件化开发能力,方便团队将自有算法和行业应用封装为插件,扩展到统一平台中。 从采集到报告:三步走快速跑通流程 1. 安装与基础连接——让信号先「进来」 从官方网站 www.opentest.com 下载最新的安装包,完成安装 将设备与PC进行连接,初次体验可以直接使用电脑自带声卡完成测试 在设置模块中扫描设备,选择需要加入使用的设备和通道,即可完成基础连接 2.使用实时分析完成基础测试——先看得见,再谈优化 在通道管理中勾选需要使用的输入/输出通道,设置灵敏度、采样率、增益等参数 系统将自动开启Monitor,可同时看到实时波形、FFT 频谱以及有效值、THD等关键指标 如有需要,可启用内置信号源输出激励信号,并使用录音功能进行长时间采集 3.在测量模块中完成深度分析与报告——从数据走向结论 切换到测量模块,可以使用FFT分析、倍频程分析、扫频分析、声功率测试、声级计、声品质等进阶功能,满足更深入的分析需求 通过数据集功能对历史记录进行回溯与叠加对比,观察不同样件、工况或调试方案下的差异 波形、数据可随时导出,使用报告功能可一键生成测试报告,实现从测试到交付的闭环 谁适合使用 OpenTest? 初入行的声学与振动测试工程师,希望用一套工具快速建立完整测试流程 需要管理多品牌硬件、希望统一到单一平台下的实验室和企业团队 在汽车 NVH、消费电子、工业诊断等领域追求高通道数、自动化和 AI 分析能力的项目团队 无论你处于测试体系搭建的哪个阶段,OpenTest 都可以从免费入门版本开始,帮助你以更低门槛拥抱开放生态和智能分析能力。欢迎访问 www.opentest.com 了解更多功能详情、硬件兼容列表及版本方案,并预约演示,与 兆华电子CRYSOUND 一起构建高效、开放、可持续演进的声学与振动测试平台。
OpenTest 的全新网站(opentest.com)正式亮相!这一次,我们把“产品能力—生态—价格—文档—更新”一站式串联,用更清晰的信息架构、更完整的功能说明和更直接的下载/试用入口,帮助工程师、研究者与企业快速上手、持续高效测量。 信息架构清晰,一键直达核心信息 顶栏直达 功能 / 硬件 / 插件 / 价格 / 关于 / 文档 / 更新 / 下载,核心信息触手可及。 更贴近工程师的产品能力 三大工作模式 测量模式:实时采集与分析,既支持“边采边算”,也支持“采后分析”,满足动态监测与灵活回放。 分析模式:聚焦离线深度分析,覆盖从数据清洗到计算的全流程。 序列模式:为重复/产线测试而生,打通“采集—分析—存储—报告”,强调批量执行与简化控制。 常用功能矩阵(节选) 实时监测、FFT分析、倍频程分析、扫频分析、声功率测试、导出、报告等,声学与振动信号分析功能一页尽览。 开放生态:硬件与插件,一应俱全 开放硬件接入:兼容 openDAQ、ASIO、WASAPI等主流协议,并可以私有协议接入更多 DAQ 设备。 三层插件体系:算法 / 主题 / 应用 三层插件化实现全链路可扩展;支持 Python / MATLAB / LabVIEW / C++ 等语言进行二次开发。 开源核心 + 商业化能力,按需选型 社区版:核心功能全开源。2 通道、算法插件、内置 Monitor/FFT/Octave/Basic Sweep/General Report,社区论坛支持。 专业版:至多 24 通道、算法+主题插件、增加 Advanced Sweep、Sound Power,邮件支持。 企业版:不限通道、算法+主题+应用插件、白标与定制能力、企业级支持与合规保障。 立即上手 首页提供 Windows 安装包的快速下载入口。 这次 OpenTest 官网升级,把“开放的生态 + 明确的能力边界 + 透明的价格与路线图”放在了同一个页面,让决策与落地都更顺滑。如果你正计划搭建或升级声学/NVH 测试平台,不妨从新版网站出发,选一档合适的方案,下载即用,搭配 CRYSOUND 的硬件体系,快速完成从采集、分析到报告的闭环。
Support Support
产品目录 产品目录 解决方案 解决方案 用户手册 用户手册 软件下载 软件下载 产品咨询 产品咨询 申请演示 申请演示 技术支持 技术支持 0571-88225128 0571-88225128
询价 0
询价

联系我们