倍频程是声学里人的可听频率范围内,将声音的频谱进行一定规则的集中,变成有限的几个频点对应的强度,这样描述比较起来容易,是一种公约的描述形式。

使用1/3倍频程主要是因为人耳对声音的感觉,其频率分辨能力不是单一频率,而是频带,而1/3倍频程曾经被认为是比较符合人耳特性的频带划分方法,不过现在心理声学里提出了Critical

Band这么个频带划分方法,听说更符合人耳特性,但1/3倍频程仍在广泛使用。

分析频谱时,对于连续谱而言,分析某频率点上的声功率是没有意义的,因此有必要统计某一频带内的声功率。对于频带划分,倍频程和1/3倍频程是常用的划分方法之一,它们都是相对恒定带宽,例如1/3倍频程的带宽是中心频率的23%。

声学及振动测量仪器中的倍频程及1/3倍频程滤波主要是用于对噪声或振动进行频谱分析用的,它们是一种等百分比带宽滤波器,与人耳的频谱分析特性相似。在噪声测量中,使用1/3oct主要是将噪声的频率分布情况更直观的表示出来。便于今后的工作开展。

百分比=(2^(m/2)-2^(-m/2))*100%

其中m就是几倍频程,1/3倍频程m等于1/3。

先要知道1/3倍频程的划分方法,相关的书和国标都有公式和现成的数据表格,然后,将时间域的声信号fft变换到频率域,对定义的每个1/3倍频带的声压计算等效连续声压级。这就是1/3倍频程声压级。

function [g,f] =

oct3spec(B,A,Fs,Fc,s,n);

% OCT3SPEC Plots a

one-third-octave filter characteristics.

%

OCT3SPEC(B,A,Fs,Fc) plots the attenuation of the filter defined

by

%

B and A at sampling frequency Fs. Fc is the center frequency

of

%

the one-third-octave filter. The plot covers one decade on both

sides

%

of Fc.

%

%

OCT3SPEC(B,A,Fs,Fc,'ANSI',N) superposes the ANSI Order-N

analog

%

specification for comparison. Default is N = 3.

%

%

OCT3SPEC(B,A,Fs,Fc,'IEC',N) superposes the characteristics of

the

%

IEC 61260 class N specification for comparison. Default is N =

1.

%

%

[G,F] = OCT3SPEC(B,A,Fs,Fc) returns two 512-point vectors

with

%

the gain (in dB) in G and logarithmically spaced frequencies in

F.

%

The plot can then be obtained by SEMILOGX(F,G)

%

%

See also OCT3DSGN, OCTSPEC, OCTDSGN.

% Author: Christophe

Couvreur, Faculte Polytechnique de Mons (

Belgium)

%

couvreur@thor.fpms.ac.be

% Last modification:

Sept. 4, 1997, 11:00am.

%

References:

%

[1] ANSI S1.1-1986 (ASA 65-1986): Specifications

for

%

Octave-Band and Fractional-Octave-Band Analog and

%

Digital Filters, 1993.

%

[2] IEC 61260 (1995-08): Electroacoustics --

Octave-Band and

%

Fractional-Octave-Band Filters, 1995.

if (nargin

< 4) | (nargin > 6)

error('Invalide

number of input arguments.');

end

ansi =

0;

iec =

0;

if nargin

> 4

if

strcmp(lower(s),'ansi')

ansi = 1;

if nargin == 5

n = 3;

end

elseif

strcmp(lower(s),'cei') | strcmp(lower(s),'iec')

iec = 1;

if nargin == 5

n = 1

end

if (n < 0) | (n >

3)

error('IEC class must be 0, 1, or 2');

end

end

end

N =

512;

pi =

3.14159265358979;

F =

logspace(log10(Fc/10),log10(min(Fc*10,Fs/2)),N);

H =

freqz(B,A,2*pi*F/Fs);

G =

20*log10(abs(H));

% Set output

variables

if nargout ~=

0

g = G; f =

F;

return

end

% Generate the

plot

if (ansi)

% ANSI Order-n specification

f =

logspace(log10(Fc/10),log10(Fc*10),N);

f1 =

Fc/(2^(1/6));

f2 =

Fc*(2^(1/6));

Qr =

Fc/(f2-f1);

Qd =

(pi/2/n)/(sin(pi/2/n))*Qr;

Af =

10*log10(1+Qd^(2*n)*((f/Fc)-(Fc./f)).^(2*n));

semilogx(F,G,f,-Af,'--');

legend('Filter',['ANSI order-' int2str(n)],0);

elseif (iec)

% CEI specification

semilogx(F,G);

hold

on

if n ==

0

tolup = [

.15 .15 .15 .15 .15 -2.3 -18.0 -42.5 -62 -75 -75

];

tollow = [ -.15 -.2 -.4 -1.1 -4.5 -realmax -inf -inf -inf -inf -inf

];

elseif n ==

1

tolup = [

.3 .3 .3 .3 .3 -2 -17.5 -42 -61 -70 -70 ];

tollow = [ -.3 -.4 -.6 -1.3 -5 -realmax -inf -inf -inf -inf -inf

];

elseif n ==

2

tolup = [

.5 .5 .5 .5 .5 -1.6 -16.5 -41 -55 -60 -60 ];

tollow = [ -.5 -.6 -.8 -1.6 -5.5 -realmax -inf -inf -inf -inf -inf

];

end

% Reference

frequencies in base 2 system

f = Fc * [1 1.02676

1.05594 1.08776 1.12246 1.12246 1.29565 1.88695

...

3.06955

5.43474 NaN ];

f(length(f)) =

realmax;

ff = Fc * [1 0.97394

0.94702 0.91932 0.89090 0.89090 0.77181 0.52996

...

0.32578

0.18400 NaN ];

ff(length(ff)) =

realmin;

semilogx(F,G,f,tolup,'--');

semilogx(F,G,f,tollow,'--');

semilogx(F,G,ff,tolup,'--');

semilogx(F,G,ff,tollow,'--');

hold

off

legend('Filter',['IEC

class ' int2str(n)],0);

else

semilogx(F,G);

end

xlabel('Frequency

[Hz]'); ylabel('Gain [dB]');

title(['One-third-octave filter: Fc

=',int2str(Fc),' Hz, Fs = ',int2str(Fs),' Hz']);

axis([Fc/10 Fc*10 -80

5]);

grid on

function [B,A] =

oct3dsgn(Fc,Fs,N);

%

OCT3DSGN

Design of a one-third-octave filter.

%

[B,A] = OCT3DSGN(Fc,Fs,N) designs a digital 1/3-octave filter

with

%

center frequency Fc for sampling frequency Fs.

%

The filter is designed according to the Order-N

specification

%

of the ANSI S1.1-1986 standard. Default value for N is

3.

%

Warning: for meaningful design results, center frequency

used

%

should preferably be in range Fs/200 < Fc

< Fs/5.

%

Usage of the filter: Y = FILTER(B,A,X).

%

%

Requires the Signal Processing Toolbox.

%

%

See also OCT3SPEC, OCTDSGN, OCTSPEC.

% Author: Christophe

Couvreur, Faculte Polytechnique de Mons (Belgium)

%

couvreur@thor.fpms.ac.be

% Last modification:

Aug. 25, 1997, 2:00pm.

%

References:

%

[1] ANSI S1.1-1986 (ASA 65-1986): Specifications

for

%

Octave-Band

and Fractional-Octave-Band Analog and

%

Digital Filters, 1993.

if (nargin

> 3) | (nargin < 2)

error('Invalide

number of arguments.');

end

if (nargin ==

2)

N =

3;

end

if (Fc

> 0.88*(Fs/2))

error('Design not

possible. Check frequencies.');

end

% Design Butterworth

2Nth-order one-third-octave filter

% Note: BUTTER is

based on a bilinear transformation, as suggested in

[1].

pi =

3.14159265358979;

f1 =

Fc/(2^(1/6));

f2 =

Fc*(2^(1/6));

Qr =

Fc/(f2-f1);

Qd =

(pi/2/N)/(sin(pi/2/N))*Qr;

alpha = (1 +

sqrt(1+4*Qd^2))/2/Qd;

W1 =

Fc/(Fs/2)/alpha;

W2 =

Fc/(Fs/2)*alpha;

[B,A] = butter(N,[W1,W2]);

function [p,f] =

oct3bank(x);

% OCT3BANK Simple

one-third-octave filter bank.

%

OCT3BANK(X) plots one-third-octave power spectra of signal vector

X.

%

Implementation based on ANSI S1.11-1986 Order-3

filters.

%

Sampling frequency Fs = 44100 Hz. Restricted

one-third-octave-band

%

range (from 100 Hz to 5000 Hz). RMS power is computed in each

band

%

and expressed in dB with 1 as reference level.

%

%

[P,F] = OCT3BANK(X) returns two length-18 row-vectors

with

%

the RMS power (in dB) in P and the corresponding preferred

labeling

%

frequencies (ANSI S1.6-1984) in F.

%

%

See also OCT3DSGN, OCT3SPEC, OCTDSGN, OCTSPEC.

% Author: Christophe

Couvreur, Faculte Polytechnique

matlab 1 3倍频分析,[转载]1/3倍频程及Matlab程序实现相关推荐

  1. matlab时域信号如何分析方法,信号时域采样频谱分析(matlab)

    <信号时域采样频谱分析(matlab)>由会员分享,可在线阅读,更多相关<信号时域采样频谱分析(matlab)(12页珍藏版)>请在读根文库上搜索. 1.基于matlab的时域 ...

  2. 结构可靠度matlab jc,结构可靠度分析的响应面法及其Matlab实现

    收稿日期: 20030221; 修改稿收到日期: 200308225基金项目 : 国家自然科学基金重大项目(59895410) ; 辽宁省自然科学基金(002067)资助项目作者简介 : 桂劲松(19 ...

  3. matlab倍频程设计,[转载]1/3倍频程及Matlab程序实现

    倍频程是声学里人的可听频率范围内,将声音的频谱进行一定规则的集中,变成有限的几个频点对应的强度,这样描述比较起来容易,是一种公约的描述形式. 使用1/3倍频程主要是因为人耳对声音的感觉,其频率分辨能力 ...

  4. matlab波特一致性,一种基于MATLAB的数据一致性的分析方法与流程

    本发明属于电机性能数据的处理和分析技术领域,尤其涉及一种基于 MATLAB的数据一致性的分析方法. 背景技术: MATLAB是一种基于算法开发.数据可视化.数据分析以及数值计算的计算机高级编程语言和交 ...

  5. matlab 齿轮故障,基于matlab的故障齿轮分析.doc

    基于matlab的故障齿轮分析.doc 基于matlab的故障齿轮分析摘要这篇文献,研究了齿轮箱中轮齿裂纹对齿轮振动的响应,及轮齿裂纹对啮合刚度的影响.并在matlab基础上分析了齿轮的裂纹故障.断齿 ...

  6. python和matlab计算速度对比_【转载】Fortran与Matlab的计算速度对比(Code by myself)...

    http://blog.163.com/zpfzcjndx@126/blog/static/6354568120135196735577/ 最近一直在计算向量式有限元的膜单元,笔者真心给Matlab的 ...

  7. 自动控制进行频率分析用计算机,自动控制7 用MATLAB进行系统-频率特性分析.doc...

    自动控制7 用MATLAB进行系统-频率特性分析 黄淮学院电子科学与工程系 自动控制原理 课程验证性实验报告 实验名称 用MATLAB进行系统频率特性分析 实验时间 2012年 12月27日 学生姓名 ...

  8. 子空间迭代法 matlab,基于MATLAB的一类迭代分析

    一般的计算方法教程如文献[1-5]都会介绍三种常见的迭代法,即Jacobi方法.Gauss-Seidel方法和SOR迭代.由于Gauss-Seidel方法充分利用了迭代过程的新信息[1,2],一般来说 ...

  9. 动态规划的Matlab实现和实例分析

    [原创]动态规划的Matlab实现和实例分析|MATLAB 数学统计与优化|MATLAB技术论坛 - Powered by Discuz! <Math model toolbox>(数学建 ...

最新文章

  1. 巧用Mono.Cecil反射加载类型和方法信息
  2. Python 技术篇-设置windows开机自动启用Jupyter服务,BAT批处理脚本启用jupyter服务设置,设置jupyter默认启动位置的方法
  3. RTMP之后,SRT与QUIC
  4. 使用DIV之后 table何去何从
  5. OCR识别之图像预处理
  6. 开发环境中Docker的使用
  7. C#中具有进程间通信的Singleton应用程序
  8. tcc-transation源码分析与思考
  9. python如何在列表中查找元素位置_查找元素在list中的位置以及折半查询
  10. thinkphp5 没有getField
  11. 大数据就业前景:大数据分析师是青春饭吗?
  12. 如何查看征信报告上的不良信息?
  13. 无法修改linux密码Authentication token manipulation error 问题解决
  14. 【Vscode - Bug】-- 过程试图写入的管道不存在
  15. 华为云牛客网之学生华为云服务器体验之路_1云服务器的购买篇
  16. thinkadmin默认ckeditor富文本配置修改
  17. 2021年茶艺师(初级)考试技巧及茶艺师(初级)试题及解析
  18. 【HDOJ】6441--Find Integer
  19. 2020年有寓意的领证日期_2020年领证的好日子-2020有寓意的领证日期【蜜匠婚礼】...
  20. 浅谈幼儿园计算机论文,浅谈幼儿园科学教育活动中,计算机的辅助教学

热门文章

  1. android 拨打电话与发送短信
  2. vim默认设置的配置
  3. spark使用checkpoint恢复的两个小坑
  4. Mybatis的动态拼接条件
  5. laravel构造函数和中间件执行顺序问题
  6. 使用Laravel Eloquent ORM 时如何查询表中指定的字段 1
  7. linux etc/init 与etc/init.d的区别
  8. springboot使用JSR303对数据进行校验
  9. Ceph保证数据安全的机制
  10. eclipse安装web插件、安装centos版本的idea