ISO 226:2003 Normal equal-loudness-level contours

version 1.2.0.0 (150 KB) by Christopher Hummersone
Return sound pressure levels of pure tone frequencies at specified loudness level(s).

1.1K Downloads

Updated 5 May 2018

From GitHub

View License on GitHub

NOTE: this function is now available from the IoSR Matlab Toolbox as iosr.auditory.iso226.
-------------------------
ISO 226:2003 Normal equal-loudness-level contours
[spl,f] = iso226(phon)
[spl,f] = iso226(phon,fq)
... = iso226(phon,fq,sq)
... = iso226(phon,[],sq)

[SPL,F] = ISO226(PHON) returns the sound pressure level
(SPL) (dB) of pure tone frequencies F (Hz) at the
loudness level(s) PHON. The values are calculated
according to ISO 226:2003 using the reference
frequencies specified in the standard. According to the
standard, PHON is only valid at all frequencies if
20<=PHON<80 (although the function will return SPL
values outside of this range).

PHON may be an array of any size; SPL and F will be of
size [1,29,M,N,P,...] where M,N,P,... are the dimensions
of PHON.

[SPL,F] = ISO226(PHON,FQ) returns the SPL of the pure
tone frequencies in FQ at the specified loudness
level(s). According to the standard, FQ is only valid
below 12.5 kHz (although the function will extrapolate
SPL values outside of this range).

FQ may be an array of any size; SPL and F will be of
size [Q,R,S,...,M,N,P,...] where Q,R,S,... are the
dimensions of FQ.

... = iso226(phon,fq,sq) specifies whether singleton
dimensions will be removed from the output. With
sq=false, singleton dimensions will be retained
(default), else they will be removed.

... = iso226(phon,[],sq) uses the standard reference
frequencies for SPL calculations.

Example

% Plot equal-loudness contours between 20 and 80 phon

% Calculate SPLs
phons = 20:10:80;
[spl,f] = iso226(phons,[],true);

% plot
figure; semilogx(f,spl)
set(gca,'xlim',[min(f(:)) max(f(:))])
legend(num2str(phons'),'location','southwest');
title('Equal loudness contours for different loudness levels (in phons)')
xlabel('Frequency [Hz]')
ylabel('SPL [dB]')

Cite As

Christopher Hummersone (2022). ISO 226:2003 Normal equal-loudness-level contours (https://github.com/IoSR-Surrey/MatlabToolbox), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.