|
Robochameleon
v1.0
|
power description class More...
Public Member Functions | |
| function | pwr (in SNR, in P) |
| Class constructor. More... | |
| function | plus_1elem (in obj1, in obj2) |
| Add two power objects. More... | |
| function | plus (in obj1, in obj2) |
| Add two power objects, with support for arrays of objects. More... | |
| function | minus (in obj1, in obj2) |
| Subtract two power objects. More... | |
| function | mtimes (in in1, in in2) |
| Multiply a power object by a scalar. More... | |
| function | times (in in1, in in2) |
| Multiply an array of power objects by an array of scalars. More... | |
| function | mrdivide (in in1, in C) |
| Divide a power object by a scalar. More... | |
| function | P (in obj, in varargin) |
| Depreciated get for power. | |
| function | SNR (in obj, in varargin) |
| get SNR | |
| function | Ptot (in obj, in varargin) |
| get total power More... | |
| function | Ps (in obj, in varargin) |
| get signal power More... | |
| function | Pn (in obj, in varargin) |
| get noise power More... | |
| function | disp (in obj) |
| display function | |
Static Public Member Functions | |
| static function | normpwr (in x, in varargin) |
| normalize signal based on power More... | |
| static function | meanpwr (in x) |
| Mean signal power and energy. More... | |
| static function | getOSNR (in sig, in varargin) |
| get OSNR More... | |
Public Attributes | |
| Property | P_dBW |
| Total power, dBW. | |
| Property | SNR_dB |
| Signal-to-noise ratio, dB. | |
Static Private Member Functions | |
| static function | validpwr (in P) |
| validate power More... | |
| static function | outputP (in P_dBW, in varargin) |
| Parse format to get power. More... | |
| static function | outputSNR (in SNR_dB, in varargin) |
| Parse format to get SNR. More... | |
| static function | inputP (in P) |
| Parse format to set power. More... | |
| static function | inputSNR (in SNR) |
| Parse format to set SNR. More... | |
power description class
pwr describes the signal power and signal-to-noise ratio. It also has a number of useful power-related methods. Many parameters are specified as strings. None are case-sensitive.
Example
will create: P1, a power object describing a signal (50 dB SNR, 5dBm power) P2, a power object describing noise (-50dB SNR, 0 dBm power) then add them, returning P3, which should have about 5dB SNR, 6dBm total power
| function pwr::pwr | ( | in | SNR, |
| in | P | ||
| ) |
Class constructor.
Constructs an object of type pwr. Example:
These statements are equivalent
| SNR | if scalar, SNR in dB. Otherwise, cell array {value, unit} |
| P | if scalar, power in dBm. Otherwise, cell array {value, unit} |
| obj | object of power type |
|
static |
get OSNR
| sig | A signal_inteface to retrieve the signal bandwidth. |
| varargin{1} | String describing SNR unit {'dB' | 'lin'}. [Default: dB] |
| varargin{2} | Bandwidth over which evaluate the OSNR [nm]. [Default: 0.1] |
| OSNR | The signal OSNR evaluated over the given bandwidth |
|
staticprivate |
Parse format to set power.
Convert power and specified format to dBW - default dBm
| P | power in dBm as scalar or cell array with scalar + unit |
| P_dB | power in dBW |
|
staticprivate |
Parse format to set SNR.
Convert SNR and specified format to dB - default dB
| SNR | SNR in dB as scalar or cell array with scalar + unit |
| SNR_dB | SNR in dB |
|
static |
| function pwr::minus | ( | in | obj1, |
| in | obj2 | ||
| ) |
Subtract two power objects.
Subtract two power objects - do not do this, it doesn't make sense.
| function pwr::mrdivide | ( | in | in1, |
| in | C | ||
| ) |
Divide a power object by a scalar.
Divide a power object by a scalar. Useful for gain, loss.
| in1 | multiplicand (power object or scalar) |
| in2 | multiplicand (power object or scalar) |
| obj | object of power type |
| function pwr::mtimes | ( | in | in1, |
| in | in2 | ||
| ) |
Multiply a power object by a scalar.
Multiply a power object by a scalar. Useful for gain, loss.
| in1 | multiplicand (power object or scalar) |
| in2 | multiplicand (power object or scalar) |
| obj | object of power type |
|
static |
normalize signal based on power
Normalize signal based on calculated power
Example
y1 is normalized so that its peak power is 1 y2 is normalized so that its average power is 1 y3 = y2
| x | signal |
| type | signal property (power) to normalize {'average' | 'max'} |
| P | power to normalize to (scalar) |
| unit | unit power is specified in {'linear' | 'db' | 'dBm'} |
| y | normalized signal |
| scfactor | scaling factor |
|
staticprivate |
Parse format to get power.
Convert power in dBW to desired format
| P_dBW | power in dBW |
| varargin | string describing power unit {'dBm' | 'w' | 'mw' | 'uw' | 'dbw' | 'dbu'} |
| P_format | formatted power |
|
staticprivate |
Parse format to get SNR.
Convert SNR in dB to desired format
| SNR_dB | SNR in dB |
| varargin | string describing SNR unit {'dB' | 'lin'} |
| SNR_format | formatted SNR |
| function pwr::plus | ( | in | obj1, |
| in | obj2 | ||
| ) |
Add two power objects, with support for arrays of objects.
| obj1 | addend power object |
| obj2 | addend power object |
| obj | object of power type |
| function pwr::plus_1elem | ( | in | obj1, |
| in | obj2 | ||
| ) |
Add two power objects.
| obj1 | addend power object (single) |
| obj2 | addend power object (single) |
| obj | object of power type |
| function pwr::Pn | ( | in | obj, |
| in | varargin | ||
| ) |
get noise power
Returns noise power in desired format (default dBm)
| obj | power object |
| varargin | string describing power unit {'dBm' | 'w' | 'mw' | 'uw' | 'dbw' | 'dbu'} |
| Pn | formatted signal power |
| function pwr::Ps | ( | in | obj, |
| in | varargin | ||
| ) |
get signal power
Returns signal power in desired format (default dBm)
| obj | power object |
| varargin | string describing power unit {'dBm' | 'w' | 'mw' | 'uw' | 'dbw' | 'dbu'} |
| Ps | formatted signal power |
| function pwr::Ptot | ( | in | obj, |
| in | varargin | ||
| ) |
get total power
Returns total (signal+noise) power in desired format (default dBm)
| obj | power object |
| varargin | string describing power unit {'dBm' | 'w' | 'mw' | 'uw' | 'dbw' | 'dbu'} |
| Ptot | formatted signal+noise power |
| function pwr::times | ( | in | in1, |
| in | in2 | ||
| ) |
Multiply an array of power objects by an array of scalars.
Multiply an array of power objects by an array of scalars.
| in1 | multiplicand (power object or scalar) |
| in2 | multiplicand (power object or scalar) |
| obj | object of power type |
|
staticprivate |
validate power
Check if power value is acceptable (real, scalar)
1.8.11