首页 > 代码库 > 频谱、能谱、功率谱、倍频程谱、1/3 倍频程谱
频谱、能谱、功率谱、倍频程谱、1/3 倍频程谱
在做声学信号处理时经常会遇到下面几个概念:能谱、功率谱、倍频程谱、1/3 倍频程谱。这些概念有区别也有联系。大家谈论问题时经常将其中一些概念混用。最近有点时间,我将这几种术语做一个梳理,记录在这里。其中,准确的说明功率谱密度的概念需要用到一点平稳随机过程的知识,考虑到多数人对随机过程不太了解,我这里尽量只用最简单的傅立叶分析的基本概念来说明,这样虽然不太严谨,但是对于我们平常的应用来说也够用了。
时域信号可以表示为时间t的函数x(t)。如果这个信号满足绝对可积条件,即要求:
那么这个信号就有傅立叶变换:
其中X(f)称为信号的频率谱密度,简称频谱(spectrum)。|X(f)| 称为振幅谱(amplitude spectrum),argX(f) 称为相位谱(phase spectrum)。
信号的能量定义为:
对于能量无限的信号我们可以计算其平均功率:
对于能量无限但是平均功率有限的信号,我们称之为功率信号。由帕塞瓦尔(Parseval)等式可知有如下等式:
其中第一项我们通常称为信号的能量,因此 |X(f)|2 就被称为信号的能量谱密度,简称能谱(Energy spectrum)。
对于功率信号:
这时我们称:
为信号的功率谱密度(power spectral density, PSD),或者谱功率分布(spectral power distribution, SPD),简称功率谱(power spectrum)。功率谱密度的单位通常用每赫兹的瓦特数(W/Hz)表示。
信号的功率谱密度也信号自相关函数的傅里叶变换。只有当且仅当信号是广义的平稳过程的时候功率谱密度才存在。如果信号不是平稳过程,那么自相关函数一定是两个变量的函数,这样就不存在功率谱密度,但是可以使用类似的技术估计时变谱密度。我们看到求取功率谱密度时有个取极限的过程。实际计算时通常是取有限的一段时间。并对信号采样。设采集频率为 fs,采样时间间隔为Δ。那么离散信号x[n] 与连续信号 x(t) 的关系如下:
这时的平均功率为:
离散傅立叶变换表达式如下:
这里Xm对应的频率为:
由帕塞瓦尔(Parseval)等式可知有如下等式:
因此,功率谱密度的估计式如下:
这里计算功率谱密度时除以fs/N 是因为,每个Xm 实际上是fs/N 带宽内的功率。
倍频程功率谱
在音频分析领域,经常要分析音频信号的频谱,这时最常用的是倍频程功率谱和1/3倍频程功率谱。所谓倍频程功率谱,是将音频分为一个个的频段,然后分别计算每个频段内的功率谱。相邻频段的宽度为二比一的关系。1/3倍频程是将倍频程再细分为三段。下表给出了IEC推荐的频段划分方法。
Band number | Octave band center frequency | One-third octave band center frequency | Band limits Lower | Upper |
14 | 31.5 | 25 | 22 | 28 |
15 | 31.5 | 28 | 35 | |
16 | 40 | 35 | 44 | |
17 | 63 | 50 | 44 | 57 |
18 | 63 | 57 | 71 | |
19 | 80 | 71 | 88 | |
20 | 125 | 100 | 88 | 113 |
21 | 125 | 113 | 141 | |
22 | 160 | 141 | 176 | |
23 | 250 | 200 | 176 | 225 |
24 | 250 | 225 | 283 | |
25 | 315 | 283 | 353 | |
26 | 500 | 400 | 353 | 440 |
27 | 500 | 440 | 565 | |
28 | 630 | 565 | 707 | |
29 | 1000 | 800 | 707 | 880 |
30 | 1000 | 880 | 1130 | |
31 | 1250 | 1130 | 1414 | |
32 | 2000 | 1600 | 1414 | 1760 |
33 | 2000 | 1760 | 2250 | |
34 | 2500 | 2250 | 2825 | |
35 | 4000 | 3150 | 2825 | 3530 |
36 | 4000 | 3530 | 4400 | |
37 | 5000 | 4400 | 5650 | |
38 | 8000 | 6300 | 5650 | 7070 |
39 | 8000 | 7070 | 8800 | |
40 | 10000 | 8800 | 11300 | |
41 | 1600 | 12500 | 11300 | 14140 |
42 | 16000 | 14140 | 17600 | |
43 | 20000 | 17600 | 22500 |
由于每个频段的宽度是不同的,所以画出的倍频程频谱与普通的功率谱的图形有很大的差异。之所以有倍频程功率谱,是有其历史原因的。在数字信号处理技术普及以前,人们是通过设计一系列的滤波器并测量滤波器输出的功率来确定其频谱的。无法将频段分的很细,因此人们就按照倍频程来设计滤波器(按照倍频程来设计的滤波器的Q值是相同的,因此可以用同一类型,不同参数的滤波器组来实现)。
但是,利用DFT技术,是可以计算出倍频程功率谱的。方法很简单,只要将一个倍频程内的DFT 计算出的各个子频段的功率叠加就可以了。为了计算结果准确,至少要保证每个倍频程内有3到4条谱线。我们知道,频率越低的倍频程,带宽越窄,因此只要能保证最低的那个倍频程能满足这个条件,其他的倍频程肯定也能满足的。1/3倍频程的计算方式也类似。
不过,这样计算出的倍频程功率谱与用滤波器组获得的倍频程功率谱是有一些差别的。原因在于滤波器组的截止特性没有DFT的结果好。除此之外,信号在进入滤波器组之前还会先进一个预滤波器,也就是对信号做加权,通常有所谓的A加权、B加权和C加权。具体的,可以参考 IEC 60651 “Standard for Sound Level Meters”,上面写的很清楚。
频谱、能谱、功率谱、倍频程谱、1/3 倍频程谱