== Target Algorithms - Fitting Formula v.2 (2006) ==
Rev 2009-01-27
== Full Shell & Behind-The-Ear (BTE) Targets ==
^ Frequency (Hz) | 250 | 500 | 750 | 1000 | 1500 | 2000 | 3000 | 4000 | 6000 | 8000 |
^ Threshold Level (dB) | 10 | 45 | 60 | 65 | 75 | 75 | 75 | 75 | 75 | 90 |
title = Full Shell & Behind-The-Ear (BTE)
size = 700x230
align = center
bgcolor = #ffffff
type = line
dots = 3
XAxisName = Frequency (Hz)
YAxisName = Gain (dB)
legendEntries = Threshold, Soft Target, Moderate Target, Loud Target
labelSerie = 5
10, 45, 60, 65, 75, 75, 75, 75, 75, 90
0, 20, 37.5, 40, 45, 45, 45, 35, 22, 22
0, 15, 28, 32.25, 41, 41, 40.75, 31, 18, 18
0, 0.9518, 6.6289, 9.1, 15, 15, 15, 5, 2, 6
250, 500, 750, 1000, 1500, 2000, 3000, 4000, 6000, 8000
=== Soft Target ===
^ Soft Target Freq (Hz) ^ Calculated Soft Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 0.0 | B3 | ''=IF(B3<=20; 0; IF(B3=25; 3; IF(B3=30; 6; IF(B3<60; (B3-25); IF(B3<90; (B3-22.5-0.5*(B3-60)); IF(B3<120; 50) )))))'' |
| 500 | 20.0 | C3 | ''=IF(C3<=20; 0; IF(C3=25; 3; IF(C3=30; 6; IF(C3<60; (C3-25); IF(C3<90; (C3-22.5-0.5*(C3-60)); IF(C3<120; 50) )))))'' |
| 750 | 37.5 | D3 | ''=IF(D3<=20; 0; IF(D3=25; 3; IF(D3=30; 6; IF(D3<60; (D3-25); IF(D3<90; (D3-22.5-0.5*(D3-60)); IF(D3<120; 50) )))))'' |
| 1000 | 40.0 | E3 | ''=IF(E3<=20; 0; IF(E3=25; 3; IF(E3=30; 6; IF(E3<60; (E3-25); IF(E3<90; (E3-22.5-0.5*(E3-60)); IF(E3<120; 50) )))))'' |
| 1500 | 45.0 | F3 | ''=IF(F3<=20; 0; IF(F3=25; 3; IF(F3=30; 6; IF(F3<60; (F3-25); IF(F3<90; (F3-22.5-0.5*(F3-60)); IF(F3<120; 50) )))))'' |
| 2000 | 45.0 | G3 | ''=IF(G3<=20; 0; IF(G3=25; 3; IF(G3=30; 6; IF(G3<60; (G3-25); IF(G3<90; (G3-22.5-0.5*(G3-60)); IF(G3<120; 50) )))))'' |
| 3000 | 45.0 | H3 | ''=IF(H3<=20; 0; IF(H3=25; 3; IF(H3=30; 6; IF(H3<60; (H3-25); IF(H3<90; (H3-22.5-0.5*(H3-60)); IF(H3<120; 50) )))))'' |
| 4000 | 35.0 | I3 | ''=IF(I3<=20; 0; IF(I3=25; 3; IF(I3=30; 6; IF(I3<60; (I3-25); IF(I3<90; (I3-22.5-0.5*(I3-60)); IF(I3<120; 50) ))))) - 10'' |
| 6000 | 22.0 | J3 | ''=IF(J3<=20; 0; IF(J3=25; 3; IF(J3=30; 6; IF(J3<60; (J3-25); IF(J3<90; (J3-22.5-0.5*(J3-60)); IF(J3<120; 50) ))))) - 23'' |
| 8000 | 22.0 | K3 | ''=IF(K3<=20; 0; IF(K3=25; 3; IF(K3=30; 6; IF(K3<60; (K3-25); IF(K3<90; (K3-22.5-0.5*(K3-60)); IF(K3<120; 50) ))))) - 28'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetSoftTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] SoftTargetLevel {dB})
begin
// Get Soft Target Level
if (ThreshLevel < = 20)
SoftTargetLevel = 0;
else if (ThreshLevel = 25)
SoftTargetLevel = 3;
else if (ThreshLevel = 30)
SoftTargetLevel = 6;
else if (ThreshLevel < 60)
SoftTargetLevel = (ThreshLevel - 25);
else if (ThreshLevel < 90)
SoftTargetLevel = (ThreshLevel - 22.5 - (0.5 * (ThreshLevel - 60)));
else if (ThreshLevel < 120)
SoftTargetLevel = 50;
end
// Add High Frequencies compensation
if (ThreshFreq = 4000)
SoftTargetLevel = SoftTargetLevel - 10;
else if (ThreshFreq = 6000)
SoftTargetLevel = SoftTargetLevel - 23;
else if (ThreshFreq = 8000)
SoftTargetLevel = SoftTargetLevel - 28;
end
end;
=== Moderate Target ===
^ Moderate Target Freq (Hz) ^ Calculated Moderate Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 0.00 | B3 | ''=IF(B3<=20; 0; IF(B3<50; (B3-20)*0.6; IF(B3<60; (B3-16.5)*0.6; IF(B3<80; (B3*0.85)-23; IF(B3<120;47)))))'' |
| 500 | 15.00 | C3 | ''=IF(C3<=20; 0; IF(C3<50; (C3-20)*0.6; IF(C3<60; (C3-16.5)*0.6; IF(C3<80; (C3*0.85)-23; IF(C3<120;47)))))'' |
| 750 | 28.00 | D3 | ''=IF(D3<=20; 0; IF(D3<50; (D3-20)*0.6; IF(D3<60; (D3-16.5)*0.6; IF(D3<80; (D3*0.85)-23; IF(D3<120;47)))))'' |
| 1000 | 32.25 | E3 | ''=IF(E3<=20; 0; IF(E3<50; (E3-20)*0.6; IF(E3<60; (E3-16.5)*0.6; IF(E3<80; (E3*0.85)-23; IF(E3<120;47)))))'' |
| 1500 | 41.00 | F3 | ''=IF(F3<=20; 0; IF(F3<50; (F3-20)*0.6; IF(F3<60; (F3-16.5)*0.6; IF(F3<80; (F3*0.85)-23; IF(F3<120;47)))))'' |
| 2000 | 41.00 | G3 | ''=IF(G3<=20; 0; IF(G3<50; (G3-20)*0.6; IF(G3<60; (G3-16.5)*0.6; IF(G3<80; (G3*0.85)-23; IF(G3<120;47)))))'' |
| 3000 | 40.75 | H3 | ''=IF(H3<=20; 0; IF(H3<50; (H3-20)*0.6; IF(H3<60; (H3-16.5)*0.6; IF(H3<80; (H3*0.85)-23; IF(H3<120;47)))))'' |
| 4000 | 31.00 | I3 | ''=IF(I3<=20; 0; IF(I3<50; (I3-20)*0.6; IF(I3<60; (I3-16.5)*0.6; IF(I3<80; (I3*0.85)-23; IF(I3<120;47))))) - 10'' |
| 6000 | 18.00 | J3 | ''=IF(J3<=20; 0; IF(J3<50; (J3-20)*0.6; IF(J3<60; (J3-16.5)*0.6; IF(J3<80; (J3*0.85)-23; IF(J3<120;47))))) - 23'' |
| 8000 | 18.00 | K3 | ''=IF(K3<=20; 0; IF(K3<50; (K3-20)*0.6; IF(K3<60; (K3-16.5)*0.6; IF(K3<85; (K3*0.85)-23; IF(K3<120;46))))) - 28'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetModerateTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] ModerateTargetLevel {dB})
begin
// Get Moderate Target Level
if (ThreshLevel < = 20)
ModerateTargetLevel = 0;
else if (ThreshLevel < 50)
ModerateTargetLevel = (ThreshLevel - 20) * 0.6;
else if (ThreshLevel < 60)
ModerateTargetLevel = (ThreshLevel - 16.5) * 0.6;
else if (ThreshLevel < 80)
ModerateTargetLevel = (ThreshLevel * 0.85) - 23;
else if (ThreshLevel < 120)
ModerateTargetLevel = 47;
end
// Add High Frequencies compensation
if (ThreshFreq = 4000)
ModerateTargetLevel = ModerateTargetLevel - 10;
else if (ThreshFreq = 6000)
ModerateTargetLevel = ModerateTargetLevel - 23;
else if (ThreshFreq = 8000)
ModerateTargetLevel = ModerateTargetLevel - 28;
end
end;
=== Loud Target ===
^ Loud Target Freq (Hz) ^ Calculated Loud Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 0.00 | B3 | ''=IF(B3<=40; 0; (0.1*(B3-40)^1.4))'' |
| 500 | 0.95 | C3 | ''=IF(C3<=40; 0; (0.1*(C3-40)^1.4))'' |
| 750 | 6.63 | D3 | ''=IF(D3<=40; 0; (0.1*(D3-40)^1.4))'' |
| 1000 | 9.10 | E3 | ''=IF(E3<=40; 0; (0.1*(E3-40)^1.4))'' |
| 1500 | 15.00 | F3 | ''=IF(F3<=40; 0; (0.1*(F3-40)^1.4))'' |
| 2000 | 15.00 | G3 | ''=IF(G3<=40; 0; (0.1*(G3-40)^1.4))'' |
| 3000 | 15.00 | H3 | ''=IF(H3<=40; 0; (0.1*(H3-40)^1.4))'' |
| 4000 | 5.00 | I3 | ''=IF(I3<=40; 0; (0.1*(I3-40)^1.4)) - 10'' |
| 6000 | 2.00 | J3 | ''=IF(J3<=40; 0; (0.1*(J3-40)^1.4)) - 13'' |
| 8000 | 6.00 | K3 | ''=IF(K3<=40; 0; (0.1*(K3-40)^1.4)) - 18'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetLoudTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] LoudTargetLevel {dB})
begin
// Get Loud Target Level
if (ThreshLevel < = 40)
LoudTargetLevel = 0;
else
LoudTargetLevel = (0.1 * power((ThreshLevel - 40) {base}, 1.4 {exponent}));
end
// Add High Frequencies compensation
if (ThreshFreq = 4000)
LoudTargetLevel = LoudTargetLevel - 10;
else if (ThreshFreq = 6000)
LoudTargetLevel = LoudTargetLevel - 13;
else if (ThreshFreq = 8000)
LoudTargetLevel = LoudTargetLevel - 18;
end
end;
== CIC & Mini Canal Targets ==
^ Frequency (Hz) | 250 | 500 | 750 | 1000 | 1500 | 2000 | 3000 | 4000 | 6000 | 8000 |
^ Threshold Level (dB) | 75 | 75 | 75 | 80 | 85 | 95 | 90 | 95 | 90 | 90 |
title = CIC & Mini Canal
size = 700x230
align = center
bgcolor = #ffffff
type = line
dots = 3
XAxisName = Frequency (Hz)
YAxisName = Gain (dB)
legendEntries = Threshold, Soft Target, Moderate Target, Loud Target
labelSerie = 5
75, 75, 75, 80, 85, 95, 90, 95, 90, 90
27, 27, 27, 29, 30, 31, 31, 21, 18, 13
21.97, 21.97, 21.97, 27, 27, 27, 27, 17, 14, 9
14.511, 14.511, 14.511, 17.494, 20.63, 25, 23.909, 15, 10.909, 5.9088
250, 500, 750, 1000, 1500, 2000, 3000, 4000, 6000, 8000
=== Soft Target ===
^ Soft Target Freq (Hz) ^ Hearing Loss ^ Calculated Soft Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 75 | 27.0 | B28 | ''=IF(B28<=20; 0; IF(B28=25; 2; IF(B28=30;4; IF(B28<60;(B28-25)/1.65; IF(B28<90; (B28-22.5-0.5*(B28-60))/1.65; IF(B28<120;31))))))'' |
| 500 | 75 | 27.0 | C28 | ''=IF(C28<=20; 0; IF(C28=25; 2; IF(C28=30;4; IF(C28<60;(C28-25)/1.65; IF(C28<90; (C28-22.5-0.5*(C28-60))/1.65; IF(C28<120;31))))))'' |
| 750 | 75 | 27.0 | D28 | ''=IF(D28<=20; 0; IF(D28=25; 2; IF(D28=30;4; IF(D28<60;(D28-25)/1.65; IF(D28<90; (D28-22.5-0.5*(D28-60))/1.65; IF(D28<120;31))))))'' |
| 1000 | 80 | 29.0 | E28 | ''=IF(E28<=20; 0; IF(E28=25; 2; IF(E28=30;4; IF(E28<60;(E28-25)/1.65; IF(E28<90; (E28-22.5-0.5*(E28-60))/1.65; IF(E28<120;31))))))'' |
| 1500 | 85 | 30.0 | F28 | ''=IF(F28<=20; 0; IF(F28=25; 2; IF(F28=30;4; IF(F28<60;(F28-25)/1.65; IF(F28<90; (F28-22.5-0.5*(F28-60))/1.65; IF(F28<120;31))))))'' |
| 2000 | 95 | 31.0 | G28 | ''=IF(G28<=20; 0; IF(G28=25; 2; IF(G28=30;4; IF(G28<60;(G28-25)/1.65; IF(G28<90; (G28-22.5-0.5*(G28-60))/1.65; IF(G28<120;31))))))'' |
| 3000 | 90 | 31.0 | H28 | ''=IF(H28<=20; 0; IF(H28=25; 2; IF(H28=30;4; IF(H28<60;(H28-25)/1.65; IF(H28<90; (H28-22.5-0.5*(H28-60))/1.65; IF(H28<120;31))))))'' |
| 4000 | 95 | 21.0 | I28 | ''=IF(I28<=20; 0; IF(I28=25; 2; IF(I28=30;4; IF(I28<60;(I28-25)/1.65; IF(I28<90; (I28-22.5-0.5*(I28-60))/1.65; IF(I28<120;31)))))) - 10'' |
| 6000 | 90 | 18.0 | J28 | ''=IF(J28<=20; 0; IF(J28=25; 2; IF(J28=30;4; IF(J28<60;(J28-25)/1.65; IF(J28<90; (J28-22.5-0.5*(J28-60))/1.65; IF(J28<120;31)))))) - 13'' |
| 8000 | 90 | 13.0 | K28 | ''=IF(K28<=20; 0; IF(K28=25; 2; IF(K28=30;4; IF(K28<60;(K28-25)/1.65; IF(K28<90; (K28-22.5-0.5*(K28-60))/1.65; IF(K28<120;31)))))) - 18'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetSoftTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] SoftTargetLevel {dB})
begin
// Get Soft Target Level
if (ThreshLevel < = 20)
SoftTargetLevel = 0;
else if (ThreshLevel = 25)
SoftTargetLevel = 2;
else if (ThreshLevel = 30)
SoftTargetLevel = 4;
else if (ThreshLevel < 60)
SoftTargetLevel = (ThreshLevel - 25) / 1.65;
else if (ThreshLevel < 90)
SoftTargetLevel = (ThreshLevel - 22.5 - (0.5 * (ThreshLevel - 60))) / 1.65;
else if (ThreshLevel < 120)
SoftTargetLevel = 31;
end
// Add High Frequencies compensation
if (ThreshFreq = 4000)
SoftTargetLevel = SoftTargetLevel - 10;
else if (ThreshFreq = 6000)
SoftTargetLevel = SoftTargetLevel - 13;
else if (ThreshFreq = 8000)
SoftTargetLevel = SoftTargetLevel - 18;
end
end;
=== Moderate Target ===
^ Moderate Target Freq (Hz) ^ Calculated Moderate Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 21.97 | B28 | ''=(IF(B28<=20;0; IF(B28<60; ( (B28-20)*0.6)/1.65; IF(B28<80; ( (B28*0.79)-23)/1.65; IF(B28<120;27)))))'' |
| 500 | 21.97 | C28 | ''=(IF(C28<=20;0; IF(C28<60; ( (C28-20)*0.6)/1.65; IF(C28<80; ( (C28*0.79)-23)/1.65; IF(C28<120;27)))))'' |
| 750 | 21.97 | D28 | ''=(IF(D28<=20;0; IF(D28<60; ( (D28-20)*0.6)/1.65; IF(D28<80; ( (D28*0.79)-23)/1.65; IF(D28<120;27)))))'' |
| 1000 | 27.00 | E28 | ''=(IF(E28<=20;0; IF(E28<60; ( (E28-20)*0.6)/1.65; IF(E28<80; ( (E28*0.79)-23)/1.65; IF(E28<120;27)))))'' |
| 1500 | 27.00 | F28 | ''=(IF(F28<=20;0; IF(F28<60; ( (F28-20)*0.6)/1.65; IF(F28<80; ( (F28*0.79)-23)/1.65; IF(F28<120;27)))))'' |
| 2000 | 27.00 | G28 | ''=(IF(G28<=20;0; IF(G28<60; ( (G28-20)*0.6)/1.65; IF(G28<80; ( (G28*0.79)-23)/1.65; IF(G28<120;27)))))'' |
| 3000 | 27.00 | H28 | ''=(IF(H28<=20;0; IF(H28<60; ( (H28-20)*0.6)/1.65; IF(H28<80; ( (H28*0.79)-23)/1.65; IF(H28<120;27)))))'' |
| 4000 | 17.00 | I28 | ''=(IF(I28<=20;0; IF(I28<60; ( (I28-20)*0.6)/1.65; IF(I28<80; ( (I28*0.79)-23)/1.65; IF(I28<120;27))))) - 10'' |
| 6000 | 14.00 | J28 | ''=(IF(J28<=20;0; IF(J28<60; ( (J28-20)*0.6)/1.65; IF(J28<80; ( (J28*0.79)-23)/1.65; IF(J28<120;27))))) - 13'' |
| 8000 | 9.00 | K28 | ''=(IF(K28<=20;0; IF(K28<60; ( (K28-20)*0.6)/1.65; IF(K28<80; ( (K28*0.79)-23)/1.65; IF(K28<120;27))))) - 18'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetModerateTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] ModerateTargetLevel {dB})
begin
// Get Moderate Target Level
if (ThreshLevel < = 20)
ModerateTargetLevel = 0;
else if (ThreshLevel < 60)
ModerateTargetLevel = ((ThreshLevel - 20) * 0.6) / 1.65;
else if (ThreshLevel < 80)
ModerateTargetLevel = ((ThreshLevel * 0.79) - 23)) / 1.65;
else if (ThreshLevel < 120)
ModerateTargetLevel = 27;
end
// Add High Frequencies compensation
if (ThreshFreq = 4000)
ModerateTargetLevel = ModerateTargetLevel - 10;
else if (ThreshFreq = 6000)
ModerateTargetLevel = ModerateTargetLevel - 13;
else if (ThreshFreq = 8000)
ModerateTargetLevel = ModerateTargetLevel - 18;
end
end;
=== Loud Target ===
^ Loud Target Freq (Hz) ^ Calculated Loud Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 14.51 | B28 | ''=IF(B28<=40;0; IF(B28<95; (0.1*(B28-40)^1.4); IF(B28<125;25)))'' |
| 500 | 14.51 | C28 | ''=IF(C28<=40;0; IF(C28<95; (0.1*(C28-40)^1.4); IF(C28<125;25)))'' |
| 750 | 14.51 | D28 | ''=IF(D28<=40;0; IF(D28<95; (0.1*(D28-40)^1.4); IF(D28<125;25)))'' |
| 1000 | 17.49 | E28 | ''=IF(E28<=40;0; IF(E28<95; (0.1*(E28-40)^1.4); IF(E28<125;25)))'' |
| 1500 | 20.63 | F28 | ''=IF(F28<=40;0; IF(F28<95; (0.1*(F28-40)^1.4); IF(F28<125;25)))'' |
| 2000 | 25.00 | G28 | ''=IF(G28<=40;0; IF(G28<95; (0.1*(G28-40)^1.4); IF(G28<125;25)))'' |
| 3000 | 23.91 | H28 | ''=IF(H28<=40;0; IF(H28<95; (0.1*(H28-40)^1.4); IF(H28<125;25)))'' |
| 4000 | 15.00 | I28 | ''=IF(I28<=40;0; IF(I28<95; (0.1*(I28-40)^1.4); IF(I28<125;25))) - 10'' |
| 6000 | 10.91 | J28 | ''=IF(J28<=40;0; IF(J28<95; (0.1*(J28-40)^1.4); IF(J28<125;25))) - 13'' |
| 8000 | 5.91 | K28 | ''=IF(K28<=40;0; IF(K28<95; (0.1*(K28-40)^1.4); IF(K28<125;25))) - 18'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetLoudTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] LoudTargetLevel {dB})
begin
// Get Loud Target Level
if (ThreshLevel < = 40)
LoudTargetLevel = 0;
else if (ThreshLevel < 95)
LoudTargetLevel = (0.1 * power((ThreshLevel - 40) {base}, 1.4 {exponent}));
else if (ThreshLevel < 125)
LoudTargetLevel = 25;
end
// Add High Frequencies compensation
if (ThreshFreq = 4000)
LoudTargetLevel = LoudTargetLevel - 10;
else if (ThreshFreq = 6000)
LoudTargetLevel = LoudTargetLevel - 13;
else if (ThreshFreq = 8000)
LoudTargetLevel = LoudTargetLevel - 18;
end
end;
== Canal & Half Shell Targets ==
^ Frequency (Hz) | 250 | 500 | 750 | 1000 | 1500 | 2000 | 3000 | 4000 | 6000 | 8000 |
^ Threshold Level (dB) | 25 | 35 | 45 | 50 | 50 | 60 | 60 | 95 | 60 | 65 |
title = Canal & Half Shell
size = 700x230
align = center
bgcolor = #ffffff
type = line
dots = 3
XAxisName = Frequency (Hz)
YAxisName = Gain (dB)
legendEntries = Threshold, Soft Target, Moderate Target, Loud Target
labelSerie = 5
25, 35, 45, 50, 50, 60, 60, 95, 60, 65
27, 27, 27, 29, 30, 31, 31, 21, 18, 13
3, 7, 14, 17, 17, 24.14, 24.14, 32, 11.14, 9.59
0, 0, 1, 3, 3, 7, 7, 17, -6, -9
250, 500, 750, 1000, 1500, 2000, 3000, 4000, 6000, 8000
=== Soft Target ===
^ Soft Target Freq (Hz) ^ Calculated Soft Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 27 | B59 | ''=IF(B59<=20;0; IF(B59=25;3; IF(B59=30;5; IF(B59<90; (B59-25)/1.45; IF(B59<120;42)))))'' |
| 500 | 27 | C59 | ''=IF(C59<=20;0; IF(C59=25;3; IF(C59=30;5; IF(C59<90; (C59-25)/1.45; IF(C59<120;42)))))'' |
| 750 | 27 | D59 | ''=IF(D59<=20;0; IF(D59=25;3; IF(D59=30;5; IF(D59<90; (D59-25)/1.45; IF(D59<120;42)))))'' |
| 1000 | 29 | E59 | ''=IF(E59<=20;0; IF(E59=25;3; IF(E59=30;5; IF(E59<90; (E59-25)/1.45; IF(E59<120;42)))))'' |
| 1500 | 30 | F59 | ''=IF(F59<=20;0; IF(F59=25;3; IF(F59=30;5; IF(F59<90; (F59-25)/1.45; IF(F59<120;42)))))'' |
| 2000 | 31 | G59 | ''=IF(G59<=20;0; IF(G59=25;3; IF(G59=30;5; IF(G59<90; (G59-25)/1.45; IF(G59<120;42)))))'' |
| 3000 | 31 | H59 | ''=IF(H59<=20;0; IF(H59=25;3; IF(H59=30;5; IF(H59<90; (H59-25)/1.45; IF(H59<120;42)))))'' |
| 4000 | 21 | I59 | ''=IF(I59<=20;0; IF(I59=25;3; IF(I59=30;5; IF(I59<90; (I59-25)/1.45; IF(I59<120;42))))) - 10'' |
| 6000 | 18 | J59 | ''=IF(J59<=20;0; IF(J59=25;3; IF(J59=30;5; IF(J59<90; (J59-25)/1.45; IF(J59<120;42))))) - 13'' |
| 8000 | 13 | K59 | ''=IF(K59<=20;0; IF(K59=25;3; IF(K59=30;5; IF(K59<90; (K59-25)/1.45; IF(K59<120;42))))) - 18'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetSoftTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] SoftTargetLevel {dB})
begin
// Get Soft Target Level
if (ThreshLevel < = 20)
SoftTargetLevel = 0;
else if (ThreshLevel = 25)
SoftTargetLevel = 3;
else if (ThreshLevel = 30)
SoftTargetLevel = 5;
else if (ThreshLevel < 90)
SoftTargetLevel = (ThreshLevel - 25) / 1.45;
else if (ThreshLevel < 120)
SoftTargetLevel = 42;
end
// Add High Frequencies compensation
if (ThreshFreq = 4000)
SoftTargetLevel = SoftTargetLevel - 10;
else if (ThreshFreq = 6000)
SoftTargetLevel = SoftTargetLevel - 13;
else if (ThreshFreq = 8000)
SoftTargetLevel = SoftTargetLevel - 18;
end
end;
=== Moderate Target ===
^ Moderate Target Freq (Hz) ^ Calculated Moderate Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 3.00 | B59 | ''=IF(B59<=20;0; IF(B59<90; ( (B59-20)*0.6)/1.45; IF(B59<120;32)))'' |
| 500 | 7.00 | C59 | ''=IF(C59<=20;0; IF(C59<90; ( (C59-20)*0.6)/1.45; IF(C59<120;32)))'' |
| 750 | 14.00 | D59 | ''=IF(D59<=20;0; IF(D59<90; ( (D59-20)*0.6)/1.45; IF(D59<120;32)))'' |
| 1000 | 17.00 | E59 | ''=IF(E59<=20;0; IF(E59<90; ( (E59-20)*0.6)/1.45; IF(E59<120;32)))'' |
| 1500 | 17.00 | F59 | ''=IF(F59<=20;0; IF(F59<90; ( (F59-20)*0.6)/1.45; IF(F59<120;32)))'' |
| 2000 | 24.14 | G59 | ''=IF(G59<=20;0; IF(G59<90; ( (G59-20)*0.6)/1.45; IF(G59<120;32)))'' |
| 3000 | 24.14 | H59 | ''=IF(H59<=20;0; IF(H59<90; ( (H59-20)*0.6)/1.45; IF(H59<120;32)))'' |
| 4000 | 32.00 | I59 | ''=IF(I59<=20;0; IF(I59<90; ( (I59-20)*0.6)/1.45; IF(I59<120;32))) - 10'' |
| 6000 | 11.14 | J59 | ''=IF(J59<=20;0; IF(J59<90; ( (J59-20)*0.6)/1.45; IF(J59<120;32))) - 13'' |
| 8000 | 9.49 | K59 | ''=IF(K59<=20;0; IF(K59<90; ( (K59-20)*0.6)/1.45; IF(K59<120;32))) - 18'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetModerateTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] ModerateTargetLevel {dB})
begin
// Get Moderate Target Level
if (ThreshLevel < = 20)
ModerateTargetLevel = 0;
else if (ThreshLevel < 90)
ModerateTargetLevel = ((ThreshLevel - 20) * 0.6) / 1.45;
else if (ThreshLevel < 120)
ModerateTargetLevel = 32;
end
// Add High Frequencies compensation
if (ThreshFreq = 4000)
ModerateTargetLevel = ModerateTargetLevel - 10;
else if (ThreshFreq = 6000)
ModerateTargetLevel = ModerateTargetLevel - 13;
else if (ThreshFreq = 8000)
ModerateTargetLevel = ModerateTargetLevel - 18;
end
end;
=== Loud Target ===
^ Loud Target Freq (Hz) ^ Calculated Loud Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 0.00 | B59 | ''=IF(B59<=40; 0; (0.1*(B59-40)^1.4))'' |
| 500 | 0.00 | C59 | ''=IF(C59<=40; 0; (0.1*(C59-40)^1.4))'' |
| 750 | 1.00 | D59 | ''=IF(D59<=40; 0; (0.1*(D59-40)^1.4))'' |
| 1000 | 3.00 | E59 | ''=IF(E59<=40; 0; (0.1*(E59-40)^1.4))'' |
| 1500 | 3.00 | F59 | ''=IF(F59<=40; 0; (0.1*(F59-40)^1.4))'' |
| 2000 | 7.00 | G59 | ''=IF(G59<=40; 0; (0.1*(G59-40)^1.4))'' |
| 3000 | 7.00 | H59 | ''=IF(H59<=40; 0; (0.1*(H59-40)^1.4))'' |
| 4000 | 17.00 | I59 | ''=IF(I59<=40; 0; (0.1*(I59-40)^1.4)) - 10'' |
| 6000 | -6.00 | J59 | ''=IF(J59<=40; 0; (0.1*(J59-40)^1.4)) - 13'' |
| 8000 | -9.00 | K59 | ''=IF(K59<=40; 0; (0.1*(K59-40)^1.4)) - 18'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetLoudTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] LoudTargetLevel {dB})
begin
// Get Loud Target Level
if (ThreshLevel < = 40)
LoudTargetLevel = 0;
else
LoudTargetLevel = (0.1 * power((ThreshLevel - 40) {base}, 1.4 {exponent}));
end
// Add High Frequencies compensation
if (ThreshFreq = 4000)
LoudTargetLevel = LoudTargetLevel - 10;
else if (ThreshFreq = 6000)
LoudTargetLevel = LoudTargetLevel - 13;
else if (ThreshFreq = 8000)
LoudTargetLevel = LoudTargetLevel - 18;
end
end;
== Super60 Targets ==
^ Frequency (Hz) | 250 | 500 | 750 | 1000 | 1500 | 2000 | 3000 | 4000 | 6000 | 8000 |
^ Threshold Level (dB) | 25 | 35 | 45 | 50 | 50 | 60 | 60 | 95 | 60 | 65 |
title = Super60
size = 700x230
align = center
bgcolor = #ffffff
type = line
dots = 3
XAxisName = Frequency (Hz)
YAxisName = Gain (dB)
legendEntries = Threshold, Soft Target, Moderate Target, Loud Target
labelSerie = 5
70, 70, 75, 80, 85, 105, 85, 90, 120, 90
42.5, 42.5, 45, 47.5, 50, 60, 50, 42.5, 47, 34.5
32.3, 32.3, 36.25, 40.2, 44.15, 59.95, 44.15, 38.1, 46, 30.1
11.69, 11.69, 14.51, 17.49, 20.63, 34.52, 20.63, 13.91, 33.17, 5.91
250, 500, 750, 1000, 1500, 2000, 3000, 4000, 6000, 8000
=== Soft Target ===
^ Soft Target Freq (Hz) ^ Calculated Soft Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 42.5 | B83 | ''=IF(B83<=20;0; IF(B83=25;3; IF(B83=30;6; IF(B83<60;(B83-25); IF(B83<110;(B83-22.5-0.5*(B83-60)); IF(B83<120;60))))))'' |
| 500 | 42.5 | C83 | ''=IF(C83<=20;0; IF(C83=25;3; IF(C83=30;6; IF(C83<60;(C83-25); IF(C83<110;(C83-22.5-0.5*(C83-60)); IF(C83<120;60))))))'' |
| 750 | 45.0 | D83 | ''=IF(D83<=20;0; IF(D83=25;3; IF(D83=30;6; IF(D83<60;(D83-25); IF(D83<110;(D83-22.5-0.5*(D83-60)); IF(D83<120;60))))))'' |
| 1000 | 47.5 | E83 | ''=IF(E83<=20;0; IF(E83=25;3; IF(E83=30;6; IF(E83<60;(E83-25); IF(E83<110;(E83-22.5-0.5*(E83-60)); IF(E83<120;60))))))'' |
| 1500 | 50.0 | F83 | ''=IF(F83<=20;0; IF(F83=25;3; IF(F83=30;6; IF(F83<60;(F83-25); IF(F83<110;(F83-22.5-0.5*(F83-60)); IF(F83<120;60))))))'' |
| 2000 | 50.0 | G83 | ''=IF(G83<=20;0; IF(G83=25;3; IF(G83=30;6; IF(G83<60;(G83-25); IF(G83<110;(G83-22.5-0.5*(G83-60)); IF(G83<120;60))))))'' |
| 3000 | 50.0 | H83 | ''=IF(H83<=20;0; IF(H83=25;3; IF(H83=30;6; IF(H83<60;(H83-25); IF(H83<110;(H83-22.5-0.5*(H83-60)); IF(H83<120;60))))))'' |
| 4000 | 42.5 | I83 | ''=IF(I83<=20;0; IF(I83=25;3; IF(I83=30;6; IF(I83<60;(I83-25); IF(I83<110;(I83-22.5-0.5*(I83-60)); IF(I83<120;60)))))) - 10'' |
| 6000 | 47.0 | J83 | ''=IF(J83<=20;0; IF(J83=25;3; IF(J83=30;6; IF(J83<60;(J83-25); IF(J83<110;(J83-22.5-0.5*(J83-60)); IF(J83<125;60)))))) - 13'' |
| 8000 | 34.5 | K83 | ''=IF(K83<=20;0; IF(K83=25;3; IF(K83=30;6; IF(K83<60;(K83-25); IF(K83<110;(K83-22.5-0.5*(K83-60)); IF(K83<120;60)))))) - 18'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetSoftTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] SoftTargetLevel {dB})
begin
// Get Soft Target Level
if (ThreshLevel < = 20)
SoftTargetLevel = 0;
else if (ThreshLevel = 25)
SoftTargetLevel = 3;
else if (ThreshLevel = 30)
SoftTargetLevel = 6;
else if (ThreshLevel < 60)
SoftTargetLevel = (ThreshLevel - 25);
else if (ThreshLevel < 110)
SoftTargetLevel = (ThreshLevel - 22.5 - (0.5 * (ThreshLevel - 60)));
else if (ThreshLevel < 120)
SoftTargetLevel = 60;
end
// Add High Frequencies compensation
if (ThreshFreq = 4000)
SoftTargetLevel = SoftTargetLevel - 10;
else if (ThreshFreq = 6000)
SoftTargetLevel = SoftTargetLevel - 13;
else if (ThreshFreq = 8000)
SoftTargetLevel = SoftTargetLevel - 18;
end
end;
=== Moderate Target ===
^ Moderate Target Freq (Hz) ^ Calculated Moderate Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 32.30 | B83 | ''=IF(B83<=20;0; IF(B83<60;(B83-20)*0.6; IF(B83<110;(B83*0.79)-23; IF(B83<120;59))))'' |
| 500 | 32.30 | C83 | ''=IF(C83<=20;0; IF(C83<60;(C83-20)*0.6; IF(C83<110;(C83*0.79)-23; IF(C83<120;59))))'' |
| 750 | 36.25 | D83 | ''=IF(D83<=20;0; IF(D83<60;(D83-20)*0.6; IF(D83<110;(D83*0.79)-23; IF(D83<120;59))))'' |
| 1000 | 40.20 | E83 | ''=IF(E83<=20;0; IF(E83<60;(E83-20)*0.6; IF(E83<110;(E83*0.79)-23; IF(E83<120;59))))'' |
| 1500 | 44.15 | F83 | ''=IF(F83<=20;0; IF(F83<60;(F83-20)*0.6; IF(F83<110;(F83*0.79)-23; IF(F83<120;59))))'' |
| 2000 | 59.95 | G83 | ''=IF(G83<=20;0; IF(G83<60;(G83-20)*0.6; IF(G83<110;(G83*0.79)-23; IF(G83<120;59))))'' |
| 3000 | 44.15 | H83 | ''=IF(H83<=20;0; IF(H83<60;(H83-20)*0.6; IF(H83<110;(H83*0.79)-23; IF(H83<120;59))))'' |
| 4000 | 38.10 | I83 | ''=IF(I83<=20;0; IF(I83<60;(I83-20)*0.6; IF(I83<110;(I83*0.79)-23; IF(I83<120;59)))) - 10'' |
| 6000 | 46.00 | J83 | ''=IF(J83<=20;0; IF(J83<60;(J83-20)*0.6; IF(J83<110;(J83*0.79)-23; IF(J83<125 FIXME;59)))) - 13'' |
| 8000 | 30.10 | K83 | ''=IF(K83<=20;0; IF(K83<60;(K83-20)*0.6; IF(K83<110;(K83*0.79)-23; IF(K83<120;59)))) - 18'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetModerateTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] ModerateTargetLevel {dB})
begin
// Get Moderate Target Level
if (ThreshLevel < = 20)
ModerateTargetLevel = 0;
else if (ThreshLevel < 60)
ModerateTargetLevel = ((ThreshLevel - 20) * 0.6);
else if (ThreshLevel < 110)
ModerateTargetLevel = ((ThreshLevel * 0.79) - 23);
else if (ThreshLevel < 120)
ModerateTargetLevel = 59;
end
// Add High Frequencies compensation
if (ThreshFreq = 4000)
ModerateTargetLevel = ModerateTargetLevel - 10;
else if (ThreshFreq = 6000)
ModerateTargetLevel = ModerateTargetLevel - 13;
else if (ThreshFreq = 8000)
ModerateTargetLevel = ModerateTargetLevel - 18;
end
end;
=== Loud Target ===
^ LoudTargetLevel Target Freq (Hz) ^ Calculated LoudTargetLevel Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 11.69 | B83 | ''=IF(B83<=40;0; (0.1*(B83-40)^1.4))'' |
| 500 | 11.69 | C83 | ''=IF(C83<=40;0; (0.1*(C83-40)^1.4))'' |
| 750 | 14.51 | D83 | ''=IF(D83<=40;0; (0.1*(D83-40)^1.4))'' |
| 1000 | 17.49 | E83 | ''=IF(E83<=40;0; (0.1*(E83-40)^1.4))'' |
| 1500 | 20.63 | F83 | ''=IF(F83<=40;0; (0.1*(F83-40)^1.4))'' |
| 2000 | 34.52 | G83 | ''=IF(G83<=40;0; (0.1*(G83-40)^1.4))'' |
| 3000 | 20.63 | H83 | ''=IF(H83<=40;0; (0.1*(H83-40)^1.4))'' |
| 4000 | 13.91 | I83 | ''=IF(I83<=40;0; (0.1*(I83-40)^1.4)) - 10'' |
| 6000 | 33.17 | J83 | ''=IF(J83<=40;0; (0.1*(J83-40)^1.4)) - 13'' |
| 8000 | 5.91 | K83 | ''=IF(K83<=40;0; (0.1*(K83-40)^1.4)) - 18'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetLoudTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] LoudTargetLevel {dB})
begin
// Get Loud Target Level
if (ThreshLevel < = 40)
LoudTargetLevel = 0;
else
LoudTargetLevel = (0.1 * power((ThreshLevel - 40) {base}, 1.4 {exponent}));
end
// Add High Frequencies compensation
if (ThreshFreq = 4000)
LoudTargetLevel = LoudTargetLevel - 10;
else if (ThreshFreq = 6000)
LoudTargetLevel = LoudTargetLevel - 13;
else if (ThreshFreq = 8000)
LoudTargetLevel = LoudTargetLevel - 18;
end
end;
== Over-The-Ear (OTE) Targets ==
^ Frequency (Hz) | 250 | 500 | 750 | 1000 | 1500 | 2000 | 3000 | 4000 | 6000 | 8000 |
^ Threshold Level (dB) | 10 | 35 | 35 | 40 | 40 | 50 | 105 | 105 | 95 | 80 |
title = Over-The-Ear (OTE)
size = 700x230
align = center
bgcolor = #ffffff
type = line
dots = 3
XAxisName = Frequency (Hz)
YAxisName = Gain (dB)
legendEntries = Threshold, Soft Target, Moderate Target, Loud Target
labelSerie = 5
10, 35, 35, 40, 40, 50, 105, 105, 95, 80
0, 5, 5, 13.33, 13.33, 20, 40, 30, 20, 0
0, 2, 2, 10.33, 10.33, 17, 37, 27, 17, 0
0, 0, 0, 0, 0, 3, 32, 26, 11, 0
250, 500, 750, 1000, 1500, 2000, 3000, 4000, 6000, 8000
=== Soft Target ===
^ Soft Target Freq (Hz) ^ Calculated Soft Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 0.00 | B151 | ''0'' |
| 500 | 5.00 | C151 | ''=IF(C151>=60;20; IF(C151>=55; 15; IF(C151>=50; 12; IF(C151>=45;10; IF(C151>=40;7; IF(C151>=35;5; IF(C151>=30;2;0)))))))'' |
| 750 | 5.00 | D151 | ''=IF(D151>=60;20; IF(D151>=55; 15; IF(D151>=50; 12; IF(D151>=45;10; IF(D151>=40;7; IF(D151>=35;5; IF(D151>=30;2;0)))))))'' |
| 1000 | 13.33 | E151 | ''=IF(E151 <30; 0; IF(E151 <45; E151/3; IF(E151 <75; E151/2.5; IF(E151<125;30))))'' |
| 1500 | 13.33 | F151 | ''=IF(F151 <30; 0; IF(F151 <45; F151/3; IF(F151 <75; F151/2.5; IF(F151<125;30))))'' |
| 2000 | 20.00 | G151 | ''=IF(G151 <30; 0; IF(G151 <45; G151/3; IF(G151 <75; G151/2.5; IF(G151<125;30))))'' |
| 3000 | 40.00 | H151 | ''=IF(H151<=80;(H151/2); IF(H151<120; 40))'' |
| 4000 | 30.00 | I151 | ''=IF(I151<=70;(I151/2); IF(I151<120; 36)) - 6'' |
| 6000 | 20.00 | J151 | ''=IF(J151<=70;(J151/2); IF(J151<120; 36)) - 16'' |
| 8000 | 0.00 | K151 | ''0'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz): FIXME Missing a final ''else'' (frequencies >= 1000 Hz) when getting Target Level. What value should that be?
function GetSoftTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] SoftTargetLevel {dB})
begin
// Get Soft Target Level
if ThreshFreq in [250, 8000] then
SoftTargetLevel = 0;
else if ThreshFreq in [500, 750] then
if (ThreshLevel >= 60)
SoftTargetLevel = 20;
else if (ThreshLevel >= 55)
SoftTargetLevel = 15;
else if (ThreshLevel >= 50)
SoftTargetLevel = 12;
else if (ThreshLevel >= 45)
SoftTargetLevel = 10;
else if (ThreshLevel >= 40)
SoftTargetLevel = 7;
else if (ThreshLevel >= 35)
SoftTargetLevel = 5;
else if (ThreshLevel >= 30)
SoftTargetLevel = 2;
else
SoftTargetLevel = 0;
end
else if ThreshFreq in [1000, 1500, 2000] then
if (ThreshLevel < 30)
SoftTargetLevel = 0;
else if (ThreshLevel < 45)
SoftTargetLevel = (ThreshLevel / 3);
else if (ThreshLevel < 75)
SoftTargetLevel = (ThreshLevel / 2.5);
else if (ThreshLevel < 125)
SoftTargetLevel = 30;
end
else if ThreshFreq in [3000] then
if (ThreshLevel < 80)
SoftTargetLevel = (ThreshLevel / 2);
else if (ThreshLevel < 120)
SoftTargetLevel = 40;
end
else if ThreshFreq in [4000, 6000] then
if (ThreshLevel < 80)
SoftTargetLevel = (ThreshLevel / 2);
else if (ThreshLevel < 120)
SoftTargetLevel = 36;
end
end
// Add High Frequencies compensation
if (ThreshFreq = 4000) then
SoftTargetLevel = SoftTargetLevel - 6;
else if (ThreshFreq = 6000) then
SoftTargetLevel = SoftTargetLevel - 16;
end
end;
=== Moderate Target ===
^ Moderate Target Freq (Hz) ^ Calculated Moderate Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 0.00 | B151 | ''0'' |
| 500 | 2.00 | C151 | ''=IF(C151<35; 0; IF(C151>30; C152-3))'' |
| 750 | 2.00 | D151 | ''=IF(D151<35; 0; IF(D151>30; D152-3))'' |
| 1000 | 10.33 | E151 | ''=IF(E151<35; 0; IF(E151>30; E152-3))'' |
| 1500 | 10.33 | F151 | ''=IF(F151<35; 0; IF(F151>30; F152-3))'' |
| 2000 | 17.00 | G151 | ''=IF(G151<35; 0; IF(G151>30; G152-3))'' |
| 3000 | 37.00 | H151 | ''=IF(H151<35; 0; IF(H151>30; H152-3))'' |
| 4000 | 27.00 | I151 | ''=IF(I151<35; 0; IF(I151>30; I152-3))'' |
| 6000 | 17.00 | J151 | ''=IF(J151<35; 0; IF(J151>30; J152-3))'' |
| 8000 | 0.00 | K151 | ''0'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz): FIXME There is overlap here ( < 35 or > 30 ?), so something needs to be corrected !!!
function GetModerateTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] ModerateTargetLevel {dB})
begin
// Get Moderate Target Level
if ThreshFreq in [250, 8000] then
ModerateTargetLevel = 0;
else
if (ThreshLevel < 35) then
ModerateTargetLevel = 0;
else if (ThreshLevel > 30) then // FIXME There is overlap here, so something needs to be corrected !!!
ModerateTargetLevel = (ThreshLevel - 3);
end
end
end;
=== Loud Target ===
^ Loud Target Freq (Hz) ^ Calculated Loud Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula ^
| 250 | 0.00 | B151 | ''0'' |
| 500 | 0.00 | C151 | ''=IF(C151<=40; 0; (0.1*(C151-40)^1.4))'' |
| 750 | 0.00 | D151 | ''=IF(D151<=40; 0; (0.1*(D151-40)^1.4))'' |
| 1000 | 0.00 | E151 | ''=IF(E151<=40; 0; (0.1*(E151-40)^1.4))'' |
| 1500 | 0.00 | F151 | ''=IF(F151<=40; 0; (0.1*(F151-40)^1.4))'' |
| 2000 | 3.00 | G151 | ''=IF(G151<=40; 0; (0.1*(G151-40)^1.4))'' |
| 3000 | 32.00 | H151 | ''=IF(H151>100; 32; IF(H151<=40; 0; (0.1*(H151-40)^1.4)))'' |
| 4000 | 26.00 | I151 | ''=IF(I151>100; 32; IF(I151<=40; 0; (0.1*(I151-40)^1.4))) - 6'' |
| 6000 | 11.00 | J151 | ''=IF(J151>100; 32; IF(J151<=40; 0; (0.1*(J151-40)^1.4))) - 16'' |
| 8000 | 0.00 | K151 | ''0'' |
At any Threshold frequency (e.g. Thresh Freq = 250Hz):
function GetLoudTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] LoudTargetLevel {dB})
begin
// Get Loud Target Level
if ThreshFreq in [250, 8000] then
LoudTargetLevel = 0;
else if ThreshFreq in [500, 750, 1000, 1500, 2000] then
if (ThreshLevel < = 40) then
LoudTargetLevel = 0;
else
LoudTargetLevel = (0.1 * power((ThreshLevel - 40) {base}, 1.4 {exponent}));
end
else if ThreshFreq in [3000, 4000, 6000] then
else if (ThreshLevel > 100) then
LoudTargetLevel = 32;
else if (ThreshLevel < = 40) then
LoudTargetLevel = 0;
else
LoudTargetLevel = (0.1 * power((ThreshLevel - 40) {base}, 1.4 {exponent}));
end
// Add High Frequencies compensation
if (ThreshFreq = 4000) then
LoudTargetLevel = LoudTargetLevel - 6;
else if (ThreshFreq = 6000)
LoudTargetLevel = LoudTargetLevel - 16;
end
end;
== Notation ==
^ Abbreviation ^ Term ^
^ AGC-o| Automatic Gain Control (output) |
^ Avg | Average |
^ BTE | Behind-the-Ear instrument |
^ Ch | Channel |
^ CR | Compression Ratio |
^ dB | Decibels |
^ Freq | Frequency |
^ HL | Hearing Level (or Loss) as depicted in an Audiogram (aka HTL) |
^ HTL | Hearing Threshold Level as depicted in an Audiogram (aka HL) |
^ Hz | Hertz |
^ kHz | KiloHertz |
^ MPO | Maximum Power Output |
^ OTE | Other-the-Ear instrument |
^ RIC | Receiver-in-Canal instrument |
^ SRT | Speech Reception Threshold |
^ TK | Threshold Kneepoint |
^ VC | Volume Control |
== Archives ==