ISO 226:2003 Normal equal-loudness-level contours

Return sound pressure levels of pure tone frequencies at specified loudness level(s).
1.2K Downloads
Updated 5 May 2018

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 (2024). 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
Categories
Find more on AI for Audio in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
1.2.0.0

Migrated to GitHub.
Corrected spelling in help, thanks to Stephen Cobeldick.

1.1.0.0

Added sq option for removing singleton dimensions from output.

1.0.0.0

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.