Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
ezfit:target_algorithms_-_formula_v.2_2006 [2009/01/29 09:53] 127.0.0.1 external edit |
ezfit:target_algorithms_-_formula_v.2_2006 [2014/05/30 14:16] (current) ajdavis [Soft Target] |
||
---|---|---|---|
Line 169: | Line 169: | ||
=== Soft Target === | === Soft Target === | ||
- | ^ Soft Target Freq (Hz) ^ Calculated Soft Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula | + | ^ Soft Target Freq (Hz) |
- | | 250 | 27.0 | B28 | '' | + | | |
- | | 500 | 27.0 | C28 | '' | + | | |
- | | 750 | 27.0 | D28 | '' | + | | |
- | | 1000 | 29.0 | E28 | '' | + | | 1000 | 80 |
- | | 1500 | 30.0 | F28 | '' | + | | 1500 | 85 |
- | | 2000 | 31.0 | G28 | '' | + | | 2000 | 95 |
- | | 3000 | 31.0 | H28 | '' | + | | 3000 | 90 |
- | | 4000 | 21.0 | I28 | '' | + | | 4000 | 95 |
- | | 6000 | 18.0 | J28 | '' | + | | 6000 | 90 |
- | | 8000 | 13.0 | K28 | '' | + | | 8000 | 90 |
At any Threshold frequency (e.g. Thresh Freq = 250Hz): | At any Threshold frequency (e.g. Thresh Freq = 250Hz): | ||
Line 404: | Line 404: | ||
if (ThreshLevel < = 40) | if (ThreshLevel < = 40) | ||
LoudTargetLevel = 0; | LoudTargetLevel = 0; | ||
- | else if (ThreshLevel < 125) | + | else |
LoudTargetLevel = (0.1 * power((ThreshLevel - 40) {base}, 1.4 {exponent})); | LoudTargetLevel = (0.1 * power((ThreshLevel - 40) {base}, 1.4 {exponent})); | ||
end | end | ||
Line 494: | Line 494: | ||
| 3000 | 44.15 | H83 | '' | | 3000 | 44.15 | H83 | '' | ||
| 4000 | 38.10 | I83 | '' | | 4000 | 38.10 | I83 | '' | ||
- | | 6000 | 46.00 | J83 | '' | + | | 6000 | 46.00 | J83 | '' |
| 8000 | 30.10 | K83 | '' | | 8000 | 30.10 | K83 | '' | ||
Line 506: | Line 506: | ||
else if (ThreshLevel < 60) | else if (ThreshLevel < 60) | ||
ModerateTargetLevel = ((ThreshLevel - 20) * 0.6); | ModerateTargetLevel = ((ThreshLevel - 20) * 0.6); | ||
- | else if (ThreshLevel < 80) | + | else if (ThreshLevel < 110) |
ModerateTargetLevel = ((ThreshLevel * 0.79) - 23); | ModerateTargetLevel = ((ThreshLevel * 0.79) - 23); | ||
else if (ThreshLevel < 120) | else if (ThreshLevel < 120) | ||
- | ModerateTargetLevel = 49; | + | ModerateTargetLevel = 59; |
end | end | ||
// Add High Frequencies compensation | // Add High Frequencies compensation | ||
Line 593: | Line 593: | ||
| 8000 | 0.00 | K151 | '' | | 8000 | 0.00 | K151 | '' | ||
- | At any Threshold frequency (e.g. Thresh Freq = 250Hz): | + | At any Threshold frequency (e.g. Thresh Freq = 250Hz): |
<code delphi> | <code delphi> | ||
function GetSoftTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] SoftTargetLevel {dB}) | function GetSoftTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] SoftTargetLevel {dB}) | ||
Line 599: | Line 599: | ||
// Get Soft Target Level | // Get Soft Target Level | ||
if ThreshFreq in [250, 8000] then | if ThreshFreq in [250, 8000] then | ||
- | LoudTargetLevel | + | SoftTargetLevel |
else if ThreshFreq in [500, 750] then | else if ThreshFreq in [500, 750] then | ||
if (ThreshLevel >= 60) | if (ThreshLevel >= 60) | ||
Line 620: | Line 620: | ||
else if ThreshFreq in [1000, 1500, 2000] then | else if ThreshFreq in [1000, 1500, 2000] then | ||
if (ThreshLevel < 30) | if (ThreshLevel < 30) | ||
- | | + | |
else if (ThreshLevel < 45) | else if (ThreshLevel < 45) | ||
- | | + | |
else if (ThreshLevel < 75) | else if (ThreshLevel < 75) | ||
- | | + | |
else if (ThreshLevel < 125) | else if (ThreshLevel < 125) | ||
- | | + | |
+ | end | ||
+ | else if ThreshFreq in [3000] then | ||
+ | if (ThreshLevel < 80) | ||
+ | SoftTargetLevel = (ThreshLevel / 2); | ||
+ | else if (ThreshLevel < 120) | ||
+ | SoftTargetLevel = 40; | ||
end | end | ||
- | else if ThreshFreq in [3000, 4000, 6000] then | + | else if ThreshFreq in [4000, 6000] then |
if (ThreshLevel < 80) | if (ThreshLevel < 80) | ||
- | | + | |
else if (ThreshLevel < 120) | else if (ThreshLevel < 120) | ||
- | | + | |
end | end | ||
end | end | ||
// Add High Frequencies compensation | // Add High Frequencies compensation | ||
- | if (ThreshFreq = 4000) | + | if (ThreshFreq = 4000) then |
- | | + | |
- | else if (ThreshFreq = 6000) | + | else if (ThreshFreq = 6000) then |
- | | + | |
end | end | ||
end; | end; | ||
Line 658: | Line 664: | ||
| 8000 | 0.00 | K151 | '' | | 8000 | 0.00 | K151 | '' | ||
- | At any Threshold frequency (e.g. Thresh Freq = 250Hz): | + | At any Threshold frequency (e.g. Thresh Freq = 250Hz): |
<code delphi> | <code delphi> | ||
function GetModerateTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] ModerateTargetLevel {dB}) | function GetModerateTargetLevel([in] ThreshLevel {dB}, [in] ThreshFreq {Hz}, [out] ModerateTargetLevel {dB}) | ||
Line 664: | Line 670: | ||
// Get Moderate Target Level | // Get Moderate Target Level | ||
if ThreshFreq in [250, 8000] then | if ThreshFreq in [250, 8000] then | ||
- | LoudTargetLevel | + | ModerateTargetLevel |
else | else | ||
- | if (ThreshLevel < 35) | + | if (ThreshLevel < 35) then |
ModerateTargetLevel = 0; | ModerateTargetLevel = 0; | ||
- | else if (ThreshLevel > 30) | + | else if (ThreshLevel > 30) then // FIXME There is overlap here, so something needs to be corrected !!! |
ModerateTargetLevel = (ThreshLevel - 3); | ModerateTargetLevel = (ThreshLevel - 3); | ||
end | end | ||
Line 677: | Line 683: | ||
=== Loud Target === | === Loud Target === | ||
- | |||
- | |||
^ Loud Target Freq (Hz) ^ Calculated Loud Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula | ^ Loud Target Freq (Hz) ^ Calculated Loud Target Level (dB) ^ Threshold Cell ^ Spreadsheet Formula | ||
Line 700: | Line 704: | ||
| | ||
else if ThreshFreq in [500, 750, 1000, 1500, 2000] then | else if ThreshFreq in [500, 750, 1000, 1500, 2000] then | ||
- | if (ThreshLevel < = 40) | + | if (ThreshLevel < = 40) then |
LoudTargetLevel = 0; | LoudTargetLevel = 0; | ||
else | else | ||
- | LoudTargetLevel = (0.1 * power((ThreshLevel - 40) {base}, 1.4 {exponent}))); | + | LoudTargetLevel = (0.1 * power((ThreshLevel - 40) {base}, 1.4 {exponent})); |
end | end | ||
else if ThreshFreq in [3000, 4000, 6000] then | else if ThreshFreq in [3000, 4000, 6000] then | ||
- | else if (ThreshLevel > 100) | + | else if (ThreshLevel > 100) then |
LoudTargetLevel = 32; | LoudTargetLevel = 32; | ||
- | else if (ThreshLevel < = 40) | + | else if (ThreshLevel < = 40) then |
LoudTargetLevel = 0; | LoudTargetLevel = 0; | ||
else | else | ||
Line 714: | Line 718: | ||
end | end | ||
// Add High Frequencies compensation | // Add High Frequencies compensation | ||
- | if (ThreshFreq = 6000) | + | if (ThreshFreq = 4000) then |
| | ||
- | else if (ThreshFreq = 8000) | + | else if (ThreshFreq = 6000) |
| | ||
end | end |