频谱、能谱、功率谱、倍频程谱、1/3 倍频程谱
在做声学信号处理时经常会遇到下面几个概念:能谱、功率谱、倍频程谱、1/3 倍频程谱。这些概念有区别也有联系。大家谈论问题时经常将其中一些概念混用。最近有点时间,我将这几种术语做一个梳理,记录在这里。其中,准确的说明功率谱密度的概念需要用到一点平稳随机过程的知识,考虑到多数人对随机过程不太了解,我这里尽量只用最简单的傅立叶分析的基本概念来说明,这样虽然不太严谨,但是对于我们平常的应用来说也够用了。
时域信号可以表示为时间t的函数x(t)。如果这个信号满足绝对可积条件,即要求:
那么这个信号就有傅立叶变换:
![](/assets/blank.gif)
其中X(f)称为信号的频率谱密度,简称频谱(spectrum)。|X(f)| 称为振幅谱(amplitude spectrum),argX(f) 称为相位谱(phase spectrum)。
信号的能量定义为:
![](/assets/blank.gif)
对于能量无限的信号我们可以计算其平均功率:
![](/assets/blank.gif)
对于能量无限但是平均功率有限的信号,我们称之为功率信号。由帕塞瓦尔(Parseval)等式可知有如下等式:
其中第一项我们通常称为信号的能量,因此 |X(f)|2 就被称为信号的能量谱密度,简称能谱(Energy spectrum)。
对于功率信号:
![](/assets/blank.gif)
这时我们称:
为信号的功率谱密度(power spectral density, PSD),或者谱功率分布(spectral power distribution, SPD),简称功率谱(power spectrum)。功率谱密度的单位通常用每赫兹的瓦特数(W/Hz)表示。
信号的功率谱密度也信号自相关函数的傅里叶变换。只有当且仅当信号是广义的平稳过程的时候功率谱密度才存在。如果信号不是平稳过程,那么自相关函数一定是两个变量的函数,这样就不存在功率谱密度,但是可以使用类似的技术估计时变谱密度。我们看到求取功率谱密度时有个取极限的过程。实际计算时通常是取有限的一段时间。并对信号采样。设采集频率为 fs,采样时间间隔为Δ。那么离散信号x[n] 与连续信号 x(t) 的关系如下:
![](/assets/blank.gif)
这时的平均功率为:
![](/assets/blank.gif)
离散傅立叶变换表达式如下:
![](/assets/blank.gif)
这里Xm对应的频率为:
![](/assets/blank.gif)
由帕塞瓦尔(Parseval)等式可知有如下等式:
![](/assets/blank.gif)
因此,功率谱密度的估计式如下:
![](/assets/blank.gif)
这里计算功率谱密度时除以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 倍频程谱相关推荐
- 频谱、功率谱、倒频谱
一.频谱: 时间作为参照来观察动态世界的方法我们称其为时域分析,如果另一种方法来观察世界的话,你会发现世界是永恒不变的,这个 静止的世界叫做频域(讲的很好!) 最直接的是求它的傅里叶变换 可参考: [ ...
- 2倍频程、1倍频程、1/3倍频程介绍
什么是倍频程?有何用? 倍频程,又称倍波程,指在滤波特性曲线上,频率或波长之比为2或1/2的两个频率或波长之间的间隔.常用于音响设备的音频信号分析. 声音信号的频率范围为20Hz~20kHz.分析音频 ...
- 1/3倍频程与1/1倍频程作用(十四)
在噪声的测量中,采用1/3倍频程频谱分析能更加详细的反映出噪声源的频谱特性,便于较全面的了解声源产生机理和提出最佳的降噪对策.而1/1倍频程测量结果简单实用,在吸声.隔声.消声等基本噪声控制元件的性能 ...
- 频域特征提取的Python实现(频谱、功率谱、倒频谱)
频域特征提取的Python实现(频谱.功率谱.倒频谱) 本文只对 频域特征值提取的MATLAB代码实现(频谱.功率谱.倒频谱) 做代码翻译,用python重写一遍,以加强对这些特征的理解 1. 频谱 ...
- Matlab中频谱、功率谱、功率谱密度的关系以及如何求信号的功率
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Matlab中频谱.功率谱.功率谱密度的关系 一.频谱.功率谱.功率谱密度 二.MATLAB中求信号的功率 Matlab中频 ...
- 如何优雅地进行频谱分析—— 一行代码实现绘制MATLAB频谱、功率谱图
之前的文章里讲了关于信号频谱.能量谱的相关理论和MATLAB编程实现方法: Mr.看海:信号频域分析方法的理解(频谱.能量谱.功率谱.倒频谱.小波分析) Mr.看海:频域特征值提取的MATLAB代码实 ...
- 信号采样基本概念 —— 2. 频谱与功率谱
文章目录 经常我们会在很多地方或者文件中看见 频率谱 和 功率谱 这两个名词,今天在这篇文章里,我们就来解释这两个经常听到的名词. 频率谱/频率图 频率谱是指将信号的频率成分分离出来后的图像,它可以用 ...
- 使用matlab读取图像并通过matlab自带的fft2,fftshift,ifftshift,ifft2等函数获取该图像的傅里叶频谱图,幅度图,相位谱图,幅度图,相位谱图,幅度谱重建图以及相位谱重建
%% 读取图像.预处理 Picture1 = imread('Cameraman.tif');tryPicture1=rgb2gray(Picture1); % 如果是RGB图像,转成灰度图 catc ...
- 画幅值matlab,好用的画包络谱和幅值谱matlab函数
使用范例: x=@(t) (1+0.5*cos(9*pi*t)).*cos(200*pi*t+2*cos(10*pi*t))+sin(pi*t).*sin(30*pi*t); t=0:0.01:9.9 ...
- matlab fft 画出幅值,画包络谱和幅值谱matlab函数示例代码
使用范例: x=@(t) (1+0.5*cos(9*pi*t)).*cos(200*pi*t+2*cos(10*pi*t))+sin(pi*t).*sin(30*pi*t); t=0:0.01:9.9 ...
最新文章
- 怎么在html中写当前时间,当前时间(Javascript)在HTML
- C++11之右值引用(三):使用C++11编写string类以及“异常安全”的=运算符
- 信道编码之差错控制方式
- QT判断多级目录是否存在,不存在就创建
- 【NLP】业界总结 | BERT的花式玩法
- SSRF(服务端请求伪造)
- 用Java创建MongoDB上限集合
- python程序设计题怎么写_《Python语言程序设计基础》第1章程序练习题
- php swoole websocket vue 实现聊天室案例
- java设置字体大小和颜色_Java 设置Excel图表背景填充(颜色、图片填充)
- jquery 随楼层滚动导航激活状态改变特效
- ogg格式怎么转mp3格式?
- 微信小程序审核未通过的 “N” 种原因
- NR TAC Tracking Area Code
- 洛谷刷题笔记 鸡尾酒疗法
- Java 运算符 输入 分支语句
- freeswitch实战六(呼叫转移)
- Kafka 测试环境宕机原因查询(二)
- BZOJ2900 好玩的数字游戏
- Tushare不止数字!新文字特色数据 ---(4)
热门文章
- 计算机二级excel中mid的用法,mid函数在excel中的使用方法
- BGA焊接可靠性评价指引,为产品质量保驾护航
- 音频处理 windows10下python三方库librosa安装
- 非常出色的数字音乐编辑器-Cool Edit Pro提供下载
- 苹果小白笔记本_笔记本买win还是买Mac?谈一谈我选择Macbook的六大理由
- 鸿蒙系统小白,站在小白用户的立场上看待华为的鸿蒙系统
- 物流是如何用计算机管理的,计算机信息管理在物流业的应用
- 佳能700d相机查看快门数
- 威联通nas怎么更换大硬盘_扩充存储池:威联通NAS添加硬盘的扩容设置教程
- 如何阅读AI顶会论文?