/// <inheritdoc/> void INoiseBehavior.Compute() { var m = Parameters.ParallelMultiplier; var n = Parameters.SeriesMultiplier; _rs.Compute(ModelTemperature.Conductance * m / n * Parameters.Area, Parameters.Temperature); _id.Compute(LocalCurrent * m / n); _flicker.Compute(ModelParameters.FlickerNoiseCoefficient * m / n * Math.Exp(ModelParameters.FlickerNoiseExponent * Math.Log(Math.Max(Math.Abs(LocalCurrent), 1e-38))) / _state.Point.Value.Frequency); }
/// <inheritdoc/> void INoiseBehavior.Compute() { // Compute thermal noises _rc.Compute(ModelTemperature.CollectorConduct * Parameters.Area, Parameters.Temperature); _rb.Compute(ConductanceX, Parameters.Temperature); _re.Compute(ModelTemperature.EmitterConduct * Parameters.Area, Parameters.Temperature); _ic.Compute(CollectorCurrent); _ib.Compute(BaseCurrent); _flicker.Compute(ModelParameters.FlickerNoiseCoefficient * Math.Exp(ModelParameters.FlickerNoiseExponent * Math.Log(Math.Max(Math.Abs(BaseCurrent), 1e-38))) / _noise.Point.Value.Frequency); }