Generate Rician distributed noise
Note:
Rician Noise Generator will be removed in a future
release. Use the MATLAB Function block
and |
Noise Generators sublibrary of Comm Sources
The Rician Noise Generator block generates Rician distributed noise. The Rician probability density function is given by
$$f(x)=\{\begin{array}{cc}\frac{x}{{\sigma}^{2}}{I}_{0}\left(\frac{mx}{{\sigma}^{2}}\right)\mathrm{exp}\left(-\frac{{x}^{2}+{m}^{2}}{2{\sigma}^{2}}\right)& x\ge 0\\ 0& x<0\end{array}$$
where:
σ is the standard deviation of the Gaussian distribution that underlies the Rician distribution noise
m^{2} = m_{I}^{2}+m_{Q}^{2}, where m_{I} and m_{Q} are the mean values of two independent Gaussian components
I_{0} is the modified 0th-order Bessel function of the first kind given by
$${I}_{0}(y)=\frac{1}{2\pi}{\displaystyle {\int}_{-\pi}^{\pi}{e}^{y\mathrm{cos}t}dt}$$
Note that m and σ are not the mean value and standard deviation for the Rician noise.
You must specify the Initial seed for the random number generator. When it is a constant, the resulting noise is repeatable. The vector length of the Initial seed parameter should equal the number of columns in a frame-based output or the number of elements in a sample-based output. The set of numerical parameters above the Initial seed parameter in the dialog box can consist of vectors having the same length as the Initial seed, or scalars.
The scalar Initial seed parameter initializes the random number generator that the block uses to generate its Rician-distributed complex random process. For best results, the Initial seed should be a prime number greater than 30. Also, if there are other blocks in a model that have an Initial seed parameter, you should choose different initial seeds for all such blocks.
You can choose seeds for the Rician Noise Generator block using the Communications System Toolbox™ randseed function. At the MATLAB prompt, enter
randseed
This returns a random prime number greater than 30. Entering randseed
again
produces a different prime number. If you supply an integer argument, randseed
always
returns the same prime for that integer. For example, randseed(5)
always
returns the same answer.
The output signal can be a frame-based matrix, a sample-based row or column vector, or a sample-based one-dimensional array. These attributes are controlled by the Frame-based outputs, Samples per frame, and Interpret vector parameters as 1-D parameters. See Sources and Sinks in Communications System Toolbox User's Guide for more details.
The number of elements in the Initial seed and Sigma parameters becomes the number of columns in a frame-based output or the number of elements in a sample-based vector output. Also, the shape (row or column) of the Initial seed and Sigma parameters becomes the shape of a sample-based two-dimensional output signal.
Either K-factor
or Quadrature
components
.
K = m^{2}/(2σ^{2}),
where m is as in the Rician probability density
function. This field appears only if Specification method is K-factor
.
The mean values m_{I} and m_{Q},
respectively, of the Gaussian components. These fields appear only
if Specification method is Quadrature
components
.
The variable σ in the Rician probability density function.
The initial seed value for the random number generator.
The period of each sample-based vector or each row of a frame-based matrix.
Determines whether the output is frame-based or sample-based. This box is active only if Interpret vector parameters as 1-D is unchecked.
The number of samples in each column of a frame-based output signal. This field is active only if Frame-based outputs is checked.
If this box is checked, then the output is a one-dimensional signal. Otherwise, the output is a two-dimensional signal. This box is active only if Frame-based outputs is unchecked.
The output can be set to double
or single
data
types.
[1] Proakis, John G., Digital Communications, Third edition, New York, McGraw Hill, 1995.