Programmer Guide/Command Reference/EVAL/log2lin: Difference between revisions
From STX Wiki
< Programmer Guide | Command Reference | EVAL
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 9: | Line 9: | ||
::*lin2log: ''r''<sub>i,j</sub> = ''fac'' * log<sub>10</sub>(''x''<sub>i,j</sub> / ''ref'') | ::*lin2log: ''r''<sub>i,j</sub> = ''fac'' * log<sub>10</sub>(''x''<sub>i,j</sub> / ''ref'') | ||
::*log2lin: ''r''<sub>i,j</sub> = ''ref'' * 10 ^ (''x''<sub>i,j</sub> / ''fac'') | ::*log2lin: ''r''<sub>i,j</sub> = ''ref'' * 10 ^ (''x''<sub>i,j</sub> / ''fac'') | ||
:Note: The function ''dB'' is an alias for ''log2lin'' and is implemented for compatibility with the expressions used in the [[Programmer_Guide/Command_Reference/NUM|NUM]] and [[Programmer_Guide/Command_Reference/INT|INT]] command. | :Note: The function '''dB''' is an alias for '''log2lin''' and is implemented for compatibility with the expressions used in the [[Programmer_Guide/Command_Reference/NUM|NUM]] and [[Programmer_Guide/Command_Reference/INT|INT]] command. | ||
;See also: [[Programmer_Guide/Command_Reference/EVAL/log|log]], [[Programmer_Guide/Command_Reference/EVAL/exp|exp]], [[Programmer_Guide/Command_Reference/EVAL/fft|fft]], [[Programmer_Guide/Command_Reference/EVAL/cr2len|cr2len]], | ;See also: [[Programmer_Guide/Command_Reference/EVAL/log|log]], [[Programmer_Guide/Command_Reference/EVAL/exp|exp]], [[Programmer_Guide/Command_Reference/EVAL/fft|fft]], [[Programmer_Guide/Command_Reference/EVAL/cr2len|cr2len]], | ||
Line 18: | Line 18: | ||
#aref := set '20e-6' // reference value: 20 micro Pascal | #aref := set '20e-6' // reference value: 20 micro Pascal | ||
#logamp := eval lin2log(cr2len($#spe), $#aref) // the log. amplitude spectrum in dB | #logamp := eval lin2log(cr2len($#spe), $#aref) // the log. amplitude spectrum in dB | ||
// apply 6dB attenuation to the signal stored in the vector #sig | |||
$#sig := eval $#sig * db(6) | |||
</pre> | </pre> | ||
[[Programmer_Guide/Command_Reference/EVAL#Functions|<function list>]] | [[Programmer_Guide/Command_Reference/EVAL#Functions|<function list>]] |
Revision as of 14:47, 6 April 2011
Convert the elements of x to logarithmic values (e.g. dB) and vice versa.
- Usage
lin2log(x {, ref {, fac}})
log2lin(x {, ref {, fac}})
- x
- a scalar, vector or matrix
- ref
- the reference value; must be a positive number (default=1)
- fac
- the factor; must be a positive number (default=20)
- Result
- The result r has the same type as x and contains the converted elements of x.
- lin2log: ri,j = fac * log10(xi,j / ref)
- log2lin: ri,j = ref * 10 ^ (xi,j / fac)
- Note: The function dB is an alias for log2lin and is implemented for compatibility with the expressions used in the NUM and INT command.
Example:
// #spe is a vector containing a complex spectrum #aref := set '20e-6' // reference value: 20 micro Pascal #logamp := eval lin2log(cr2len($#spe), $#aref) // the log. amplitude spectrum in dB // apply 6dB attenuation to the signal stored in the vector #sig $#sig := eval $#sig * db(6)