# Current Source

Simulate current source with DC, AC, and noise components

Sources

## Description

The Current Source block implements a current source with DC, AC, and noise components. The current flowing through the source from the – terminal to the + terminal is given by:

$i={i}_{DC}+{i}_{AC}\mathrm{sin}\left(2\pi ft+\varphi \right)+{i}_{N}$

where:

• iDC is the steady-state DC current component.

• iAC is the amplitude of the AC current component.

• f is the frequency of the AC component.

• ϕ is the phase offset of the AC component.

• iN is the noise current.

You can configure your source as DC-only, AC-only, or a combination of both. By default, both AC and DC components are set to 0. Define the AC/DC current by specifying nonzero parameter values after placing the block in your model.

The noise component is also optional. If you set the Noise mode parameter to `Enabled`, then the added noise current is given by:

${i}_{N}=\sqrt{{P}_{i}/2}\frac{N\left(0,1\right)}{\sqrt{h}}$

where:

• Pi is the single-sided noise power spectral density for a 1 ohm load, in A^2/Hz.

• N is a Gaussian random number with zero mean and standard deviation of one.

• h is the sampling interval.

By default, the Noise mode parameter is set to `Disabled`, and the current source generates no thermal noise.

### Noise Options

The block generates Gaussian noise by using the Random Number source in the Simscape™ Foundation library. You can control the random number seed by setting the Repeatability parameter:

• `Not repeatable` — Every time you simulate your model, the block resets the random seed using the MATLAB® random number generator:

`seed = randi(2^32-1);`
• `Repeatable` — The block uses a hidden parameter, called `auto_seed`, to always start the simulation with the same random number. The value of `auto_seed` is set whenever you copy the Resistor block from the block library to the model, or when you make a new copy of the Resistor block from an existing one in a model. The block sets the value using the MATLAB random number generator command shown above.

• `Specify seed` — If you select this option, the additional Seed parameter lets you directly specify the random number seed value.

## Basic Assumptions and Limitations

Simulating with noise enabled slows down simulation. Choose the sample time (h) so that noise is generated only at frequencies of interest, and not higher.

## Dialog Box and Parameters

### DC & AC Components Tab

DC current

The DC component of the output current. The default value is `0` A. Enter a nonzero value to add a DC component to the current source.

AC current peak amplitude

Amplitude of the AC component of the output current. The default value is `0` A. Enter a nonzero value to add an AC component to the current source.

AC current phase shift

Phase offset of the AC component of the output current. The default value is `0` degrees.

AC current frequency

Frequency of the AC component of the output current. The default value is `60` Hz.

### Noise Tab

Noise mode

Select the noise option:

• `Disabled` — No noise is produced by the current source. This is the default.

• `Enabled` — The current source generates thermal noise, and the associated parameters become visible on the Noise tab.

Power spectral density

The single-sided spectrum noise power. Strictly-speaking, this is a density function for the square of the current, commonly thought of as a power into a 1 ohm load, and therefore units are A^2/Hz. To avoid this unit ambiguity, some datasheets quote noise current as a noise density with units of A/√Hz. In this case, you should enter the square of the noise density quoted in the datasheet as the parameter value. The default value is `0` A^2/Hz.

Sample time

Defines the rate at which the noise source is sampled. Choose it to reflect the frequencies of interest in your model. Making the sample time too small will unnecessarily slow down your simulation. The default value is `1e-3` s.

Repeatability

Select the noise control option:

• `Not repeatable` — The random sequence used for noise generation is not repeatable. This is the default.

• `Repeatable` — The random sequence used for noise generation is repeatable, with a system-generated seed.

• `Specify seed` — The random sequence used for noise generation is repeatable, and you control the seed by using the Seed parameter.

Seed

Random number seed used by the noise random number generator. This parameter is visible only if you select ```Specify seed``` for the Repeatability parameter. The default value is `0`.

## Ports

The block has the following ports:

`+`

Positive electrical port

`-`

Negative electrical port

## See Also

Was this topic helpful?