Models a noise source with power spectral density defined by the user.
Library
SD Toolbox.
Description
The Colored Noise source is a noise source with power spectral density defined by user.
The output noise of a circuit (e.g. an operational amplifier), due to filtering and to the flicker noise (1/f) contribution can seldom be considered white. However, because of sampling, spectral components beyond fs are folded back and all the noise power is concentrated in the range [0, fs]. Depending on the amount of flicker noise, the sampling frequency, the bandwidth (i.e. the overampling ratio), the ratio between sampling frequency and the frequency of the dominant pole of the system, sampling operation might be sufficient to whiten the noise. If the approximation of white noise can be applied, the White Noise source can be used to model the noise of the active blocks within a Switched-Capacitor (SC) Sigma-Delta modulator.
If the white noise approximation does not hold, as typically happens in narrow band low-pass Sigma-Delta modulators, a more accurate model must be used.
The noise Power Spectral Density (PSD) (expressed in V2/Hz), provided by most transistor-level simulators, can be considered as the spectrum of a sum of N sine-waves with arbitrary phase (Fourier theorem), each having a power equal to the area of a slide of the PSD as large as fMAX divided by N (i.e. as large as a bin)
This simple consideration is the basis for the Colored Noise model. Basically, we pass in the Matlab environment a detailed description of the noise PSD, elaborate it (basically folding it around the sam-pling frequency fs) and calculate the value of VNoise at the end of each clock period (Ts). The first possibility to pass the PSD in the Matlab environment is to sample the waveform provided by the transistor-level simulator (e.g. using the Ocean commands in the Cadence environment) and to reconstruct the function in Matlab. A simpler possibility is to take advantage of the knowledge about the shape of the noise PSD. Considering that the noise power is additive, the PSD can be considered as the sum of a term due to flicker noise and one due to thermal noise, low-pass filtered by the circuit transfer function
In this way, by providing the coordinates of only two points, the corner frequency (fC, yC) and the pole frequency (fP, YP), it is possible to estimate the parameters k1 and c, according to
Once obtained the analytic function of the noise PSD, it is possible to define its Fourier series. In order to reduce the complexity of the model, we calculate the impact of the sampling operation on the noise spectrum in the initialization phase, defining an equivalent envelope limited in the frequency range [0, fs/2]. In this way it is possible to use a smaller number of sine waves or, alternatively, to have a better frequency resolution with the same number of sine-waves.
Since with this model we can include the data coming form the circuit simulator, it is also possible to evaluate the impact of techniques as auto-zero or correlated double sampling (CDS) on the performance of the whole Sigma-Delta modulator. This can simply be accomplished by connecting at the output of the noise model block the proper z-domain transfer function.
Parameters
Number of Sine Waves: Number of sine waves used to approximate the desired noise power spectrsl density
Number of Folds: Number of times that the original noise power spectral density is folded (NF = fMAX/fs)
External Input Vector: Selects if the desired power spectral density is provided with an external input vector (e.g. produced by a transistor-level simulator)
Vector Name: Name of the bidimensional vector (x, y) which contains the description of the desired noise power spectral density (if External Input Vector is selected)
Sampling Frequency: Frequency of the sampling signal in Hz (fs = 1/Ts, where Ts is the Sample Time)
First Corner Frequency: Frequency of the first corner of the desired noise power spectral density fC in Hz (if External Input Vector is not selected)
First Corner PSD: PSD value of the first corner of the desired noise power spectral density yC in V2/Hz (if External Input Vector is not selected)
Second Corner Frequency: Frequency of the second corner of the desired noise power spectral density fP in Hz (if External Input Vector is not selected)
Second Corner PSD: PSD value of the second corner of the desired noise power spectral density yP in V2/Hz (if External Input Vector is not selected)
Random Number Seed: Seed for the random number generator; different seeds among different blocks using the random number generator guarantee that the random sequences are uncorrelated