资源简介

声音响度计算matlab程序,iso532(zwicker模型),计算整体响度,短时响度以及脉冲响度

资源截图

代码片段和文件信息

function [N_tot N_specif BarkAxis LN] = Loudness_ISO532B(VectNiv3Oct FieldType)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% USE: 
%   [N_tot N_specif BarkAxis LN] = Loudness_ISO532B(VectNiv3Oct FieldType)

% FUNCTION:
%   Computation of loudness (Zwicker model) according to ISO 532B / DIN 45631 norms. 
%   This model is valid for steady sounds.
%   Code based on BASIC program published in the following article:
%   “Program for calculating loudness according to DIN 45 631 (ISO 532B)“
%   E.Zwicker and H.Fastl J.A.S.J (E) 12 1 (1991).


% INPUT:
%       VectNiv3oct: vector of 1/3 octave levels into the 28 normalized bands (dBSPL)
%                   (see band frequency values below)
%       FieldType  : sound field type (0: free field (default value) 1: diffuse field)

% OUTPUT:
%       N_tot   : total loudness in sone
%       N_specif: specific loudness in sone/bark
%       BarkAxis: vector of Bark band numbers used for N_specif computation
%       LN      : loudness level in phon
%
%
% NOTA:
%  third octave bands center frequencies required:
%  [25 31.5 40 50 63 80 100 125 160 200 250 315 400 500 630 800 1000 1250 1600 2000 2500
%   3150 4000 5000 6300 8000 10000 12500]
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%% Pre-processing

if nargin < 2
    FieldType = 0; % free field by default
    
elseif nargin == 2
    if FieldType ~= 1 && FieldType ~= 0
        error(‘FieldType value must be 0 or 1. (0=free field 1=diffuse field)‘);
    end;    
end;

Nbands3Oct = 28;
VectNiv3Oct = VectNiv3Oct(:);

if size(VectNiv3Oct1) ~= Nbands3Oct
    error([‘Input vector must have ‘ num2str(Nbands3Oct) ‘ third octave bands values‘]);
end

if (max(VectNiv3Oct)) > 120 || min(VectNiv3Oct) < -60
    error(‘Third octave levels must be within interval [-60 120] dBSPL (for model validity)‘);
end
    
%% Variables definition

% For information - Third octave bands center frequencies
% FR = [25 31.5 40 50 63 80 100 125 160 200 250 315 400 500 630 800 1000 1250 1600 2000 2500 3150 4000 5000 ...
%     6300 8000 10000 12500];

% Ranges of 1/3 octave band levels for correction at low frequencies
% according to equal loudness contours
RAP = [45 55 65 71 80 90 100 120];

% Reduction of 1/3 octave band levels at low frequencies according to 
% equal loudness contours within the eight ranges defined by RAP
DLL = [-32 -24 -16 -10 -5 0 -7 -3 0 -2 0;
    -29 -22 -15 -10 -4 0 -7 -2 0 -2 0;
    -27 -19 -14 -9 -4 0 -6 -2 0 -2 0;
    -25 -17 -12 -9 -3 0 -5 -2 0 -2 0;
    -23 -16 -11 -7 -3 0 -4 -1 0 -1 0;
    -20 -14 -10 -6 -3 0 -4 -1 0 -1 0;
    -18 -12 -9 -6 -2 0 -3 -1 0 -1 0;
    -15 -10 -8 -4 -2 0 -3 -1 0 -1 0];

% Critical band rate level at absolute threshold without taking into
% account the transmission characteristics of the ear
LTQ = [30 18 12 8 7 6 5 4 3 3 3 3 3 3 3 3 3 3 3 3];

% Correction of 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       9381  2014-03-17 11:04  Loudness_ISO532B.m

     文件       2023  2014-03-17 11:04  Loudness_ISO532B_from_sound.m

     文件       5081  2014-03-17 11:04  Loudness_LMIS.m

     文件      12062  2014-03-17 11:06  Loudness_TimeVaryingSound_Moore.m

     文件      16840  2014-03-17 11:07  Loudness_TimeVaryingSound_Zwicker.m

     文件      14728  2014-03-17 11:05  Loudness_Validation.m

----------- ---------  ---------- -----  ----

                60115                    6


评论

共有 条评论