|
Robochameleon
v1.0
|
photodiode model More...
Inherits unit.
Public Member Functions | |
| function | PD_v1 (in param) |
| Class constructor. More... | |
| function | traverse (in obj, in in) |
| Traverse function. More... | |
Public Member Functions inherited from unit | |
| function | traverseNode (in obj) |
| Set unique ID when creating a unit. More... | |
| function | connectOutput (in obj, in uobj, in unitOutput, in nextUnitInput) |
| Specify where signal should go next. More... | |
| function | connectOutputs (in obj, in units, in destInputs) |
| Specify where signal should go next. More... | |
| function | writeInputBuffer (in obj, in sig, in inputId) |
| write input buffer | |
| function | horzcat (in varargin) |
| horizontal concatenation | |
| function | vertcat (in varargin) |
| vertical concatenation | |
| function | setparams (in obj, in params, in REQUIRED_PARAMS, in QUIET_PARAMS) |
| set parameters More... | |
| function | view (in obj) |
| Show interactive GUI through unit_view-class. | |
Public Attributes | |
| Property | nInputs |
| Number of inputs. | |
| Property | nOutputs |
| Number of outputs. | |
| Property | responsivity |
| Responsivity in A/W. | |
| Property | bandwidth |
| Bandwidth in Hz. | |
| Property | rTherm |
| Noise equiv. thermal resistance (ohms) | |
| Property | T |
| Noise equiv. temperature (K) | |
| Property | iDark |
| Dark current (A) | |
Public Attributes inherited from unit | |
| Property | inputBuffer |
| Buffer for storing inputs as we traverse the graph. | |
| Property | nextNodes |
| Children nodes. | |
| Property | destInputs |
| Destination inputs in children. | |
| Property | results |
| For storing results. | |
| Property | label |
| Property | draw |
| enable/disable plotting | |
| Property | nInputs |
| Number of signals traverse expects. | |
| Property | nOutputs |
| Number of outputs traverse expects. | |
photodiode model
This class models a photodiode with responsivity, noise, and bandwidth. The new output power is the electrical power calculated assuming a 50 ohm environment. The noise includes both shot and thermal noise. The bandwidth is modeled using a 2nd order butterworth filter.
Example
| function PD_v1::PD_v1 | ( | in | param | ) |
Class constructor.
Constructs a photodiode
| param.responsivity | Responsivity [A/W] [Default: 1] |
| param.bandwidth | 3dB elect. bandwidth [Hz] [Default: 50GHz] |
| param.rTherm | Resistance for Johnson noise [Ohm] [Default: 50 ohm] |
| param.T | Temperature for Johnson noise [K] [Default 290] |
| param.iDark | Dark current [A] [Default: 0] |
| obj | instance of the PD_v1 class |
|
virtual |
Traverse function.
Calculates appropriate shot noise (2qI) and thermal noise (4kT/R) currents, then applies square-law detection (current is proportional to (Ex^2+Ey^2), not (Ex+Ey)^2) and adds that noise current. Finally, low-pass filters.
| out | photodiode output |
| results | no results |
Reimplemented from unit.
1.8.11