Create equal loudness contours and convert phons to sons

バージョン 1.0.4 (3.89 KB) 作成者: Sherif Omran
This script creates the equal loudness contours and converts their unit from phons to sons
ダウンロード: 104
更新 2018/11/6

ライセンスの表示

Background:

As you may know, we perceive different frequencies with different loudness. For example low frequency 26 Hz may be played at 88 dB to be perceived with a loudness that is equal to playing 1 kHz with 30 dB. This is called the equal contour levels. These contours are in Phons, which is not a linear loudness scale called Sons. In applications where different acoustic frequencies are present, sometime it is necessary to plot the perception related to loudness and not related to dB. Thus it is necessary to search these contours reversely for corresponding value in Sons when the dB value and frequency values are given.

These files are part of my PhD Thesis at University of Zurich
Mechanisms of Music Perception with Cochlear Implants, Sherif Omran, 2011, University of Zurich

License offered under creative common license

Description:

Generate the equal loudness matrix with precision for reverse conversion
of SPL dB to loudness. This script will create a matrix (90 phones levels:
in frequency range from 20Hz-8kHz), each row is an equal loundess contour
with phones value at 1kHz (column 981).
The precision is 1Hz and 1 Phone.

I added a search function within other file called Convert_dB_Sones(power,frequency) that make use of the equal loudness contours.

by: Dr. Sherif Omran

Oct.2018

Example
-------
Output
EqualLoudnessMatrixPhons: Equal Loudness Contours in Phons
EqualLoudnessMatrixSons: Equal Loudness Contours in Sons
fx: frequency range
lrange: row matrix with value in Phons of each contour in
EqualLoudnessMatrixPhons and EqualLoudnessMatrixSons

[phons, sons, fx, lrange]=create_equal_loudness_matrix();
figure (1); for a=lrange(1):10:lrange(end); subplot(2,1,1); plot(fx, phons(a,:)); hold on; subplot(2,1,2); plot (fx,sons(a,:)); hold on; pause; end

License
-------
This code is provided under common creative license

Acknowledgment
-----------------------
Part of the code (isophone contours) is created by Jeff Tackett

引用

Sherif Omran (2024). Create equal loudness contours and convert phons to sons (https://www.mathworks.com/matlabcentral/fileexchange/69110-create-equal-loudness-contours-and-convert-phons-to-sons), MATLAB Central File Exchange. 取得済み .

MATLAB リリースの互換性
作成: R2018b
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
カテゴリ
Help Center および MATLAB AnswersOctave についてさらに検索
コミュニティ

Community Treasure Hunt

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

Start Hunting!
バージョン 公開済み リリース ノート
1.0.4

Removed a bug in the search algorithm Convert_dB_Phons_Sons function when the given contour dB is above 90 dB SPL, rounded back to the 90 dB contour

1.0.3

Added Search function and enhancement to the example how to call it

1.0.2

Added the search function that uses the equal loudness contours

1.0.1

Description update

1.0.0