# Phase Congruential White Noise Generator
## 2 White Noise Autocorrelation Matrix
\begin{split} a_{k}^{2}+b_{k}^{2}=A_{k}^{2}(\sin\psi_{k})^{2}+A_{ k}^{2}(\cos\psi_{k})^{2}=A_{k}^{2}\\ & A_{k}=\sqrt{a_{k}^{2}+b_{k}^{2}}\end{split}  \tag{21}\]

The value of the angle \(\psi_{k}\) is calculated using the Formulas (20) as well:

\[\psi_{k}=\arcsin\frac{a_{k}}{A_{k}}\ or\ \psi_{k}=\arccos\frac{b_{k}}{A_{k}} \tag{22}\]

Thus, Expression (18) is equivalent to the following sine ratio:

\[f(x_{i})=a_{0}+\sum_{k=1}^{N_{\omega}}A_{k}\sin(k\omega_{1}x_{i}+\psi_{k}) \tag{23}\]

A similar theoretical result can be obtained by using the cosine of the sum of two angles:

\[A_{k}\cos(\gamma_{k}+\varphi_{k})=A_{k}\cos\gamma_{k}\cos\varphi_{k}-A_{k}\sin \gamma_{k}\sin\varphi_{k} \tag{24}\]

Considering Expressions (18) and (24) together, the following estimates are derived:

\[ \begin{split}&\gamma_{k}=k\omega_{1}x_{i},\\ & a_{k}=A_{k}\cos\varphi_{k},\\ & b_{k}=-A_{k}\sin\varphi_{k}\end{split}  \tag{25}\]

Using the Formulas (25), the relationship between the values \(A_{k}\) and the Fourier coefficients \(a_{k},\ b_{k}\) can be established as follows:

\[ \begin{split} a_{k}^{2}+b_{k}^{2}=A_{k}^{2}(\cos\varphi_{k})^{2}+ A_{k}^{2}(\sin\varphi_{k})^{2}=A_{k}^{2}\\ A_{k}=\sqrt{a_{k}^{2}+b_{k}^{2}}\end{split}  \tag{26}\]

The value of the angle \(\psi_{k}\) is calculated using the Formulas (25) as well:

\[\varphi_{k}=\arccos\frac{a_{k}}{A_{k}}\ or\ \varphi_{k}=-\arcsin\frac{b_{k}}{A_{k}} \tag{27}\]

Thus, Expression (18) is equivalent to the following cosine ratio:

\[f(x_{i})=a_{0}+\sum_{k=1}^{N_{\omega}}A_{k}\cos(k\omega_{1}x_{i}+\varphi_{k}) \tag{28}\]The value \(a_{0}\) is not a randomly organized constant. For a white noise generator it could be set as 0 or any other number. Since the values of the amplitudes \(A_{k}\) have to be constant in white noise, they can be chosen based on natural tests, or set equal to the universal meaning such as value one, for example:

\[A_{1}=A_{2}=\cdots=A_{N_{w}}=const_{A}=1 \tag{29}\]

Frequency components \(k\omega_{1}x_{i}\) are also not random variables in Fourier space. Therefore, only stochastic phases \(\psi_{k}\) of sine (23) or \(\varphi_{k}\) cosine (28) signals can provide stochastic capabilities of a white noise signal at Fourier frequencies. This article discusses stochastic phases \(\psi_{k}\) and \(\varphi_{k}\) which are uniformly distributed in the interval \([-\pi/2,+\pi/2]\), since the functions _arcsine_ and _arcosine_ are used in Formulas (22) and (27). Now it is necessary to assign the corresponding generator of uniformly distributed values for the stochastic phases \(\psi_{k}\) and \(\varphi_{k}\). In our previous articles [45; 46; 47; 48; 49; 50], we thoroughly explored the capabilities of new congruential and twister generators, which ensure absolute completeness and uniformity of integer random variable distribution. Based on the main principles outlined in [45; 46; 47; 48; 49; 50], further here we have established a new generator, which is specially designed to implement the white noise process with the above mentioned properties. In accordance with this, below is the basic generator _cDeonYuliCongBase62_ and on its basis the derived congruential generator _cDeonYuliCongSequence62_. Together they provide the absolute completeness of sequences of uniform integer random variables of arbitrary size. To design these generators, it is necessary, first of all, to choose the size or number of bits in an integer random variable. Below is presented the base class _cDeonYuliCongBase62_, in which the number of bits \(w\) of random integer variables is specified. Their amount can be arbitrary in the range \(2\leq w\leq 62\). The quantity of random variables \(N\) in one sequence is \(N=2^{w}\). Class _cDeonYuliCongBase62_ is made in the C# programming language in _Microsoft Visual Studio_. This class is located in a separate namespace file _nsDeonYuliCongBase62_.