# Direct Spread Spectrum Technology for Data Hiding in Audio +
## 3 Materials and Methods
### Direct Spread Spectrum Technology in Telecommunications  
The fundamental Shannon-Hartley theorem sets a constraint on the channel capacity, i.e., to the upper limit of the maximum amount of information that can be transmitted in a communication system with a given frequency band and power of additive white Gaussian noise [52]:  
\[C=\Delta\mathrm{F}\log_{2}\left(1+\frac{P_{S}}{P_{N}}\right), \tag{1}\]where:  
* \(C\)--channel throughput, bit/s;
* \(\Delta\)F--frequency band, Hz;
* \(P_{S}\)--desired signal power;
* \(P_{N}\)--additive white Gaussian noise power;
* \(\frac{P_{S}}{P_{N}}\)--signal power to noise ratio (SNR). From Equation (1), we see that at low SNRs, the throughput can be increased only by expanding the frequency band, and direct spread spectrum technology is well suited for this. Indeed, using very long spreading sequences, even at a very low SNR value, high-speed information transmission can be realized. This circumstance can also be used, e.g., to build environmentally friendliness of communication systems, i.e., when \(P_{S}\approx P_{N}\). Then, using spreading sequences with a bit length \(10^{8}\) or more, it is possible to realize information transfer at rates of tens and hundreds of Mb/s. Let us explain the technology of spreading the spectrum with a direct sequence in the following simple way. Consider a set \(s=(s_{1},s_{2},\ldots,s_{k})\) of pseudo-random bit sequences (vectors):  
\[ \begin{array}{l}s_{1}=(s_{1,0},s_{1,1},\ldots,s_{1,n-1}),\\ s_{2}=(s_{2,0},s_{2,1},\ldots,s_{2,n-1}),\\ \ldots,\\ s_{k}=(s_{k,0},s_{k,1},\ldots,s_{k,n-1}),\end{array} \]  
represented, for example, in polar form, i.e.,  
\[\forall i,j:s_{i,j}=\left\{ \begin{array}{c}1,\\ -1.\end{array} \right.\]  
Vectors are designed to spread the spectrum of the original message, so they are called chip codes or chipping codes. Each value \(s_{i,j}\) is called a chip or sequence element. The vectors \(s_{1},s_{2},\ldots,s_{k}\in s\) are formed so that their cross-correlation is negligible, i.e.,  
\[\forall i\
eq j:\rho(s_{i},s_{j})=\sum_{v=0}^{n-1}s_{i,v}s_{j,v}\approx 0 \tag{2}\]  
For example, if the vectors \(s_{1},s_{2},\ldots,s_{k}\) are taken equal to the rows (or columns) of the Hadamard matrix, we obtain orthogonal chip codes, i.e.,  
\[\forall i\
eq j:\rho(s_{i},s_{j})=0\]  
There are other ways to generate chip codes, for example, when the elements \(s_{i,j}\) take a random value over an interval \([-1,1]\). However, condition (2) for the generation of spreading sequences is decisive. Suppose the message is made up of \(k\) bits, i.e., \(m_{1},m_{2},\ldots,m_{k}\), e.g., let us write the information bits \(m_{i},i=1,2,\ldots,k\) also in polar form, i.e.,  
\[\forall i:m_{i}=\left\{ \begin{array}{c}1,\\ -1.\end{array} \right.\]  
Modulation of the information bits \(m_{i},i=1,2,\ldots,k\) can be achieved in different ways, e.g., with polar notation according to the expression:  
\[\forall i:M_{i}=m_{i}s_{i}=(m_{i}s_{i,0},m_{i}s_{i,1},\ldots,m_{i}s_{i,n-1}) \tag{3}\]  
In this way, instead of one binary element, \(m_{i}\) a vector (sequence) \(M_{i}\) of binary elements \(n\), is transmitted. Let us assume that the durations of an element \(m_{i}\) and its extended chip version \(M_{i}\) are the same. Suppose, for example, that they are equal to \(T\) seconds. Then the duration of one chip \(s_{i,j}\) will be \(n\) times less: \(T_{chip}=\frac{T}{n}\). Therefore, the chips are transmitted at a frequency  
\[F_{chip}=\frac{1}{T_{chip}}=\frac{n}{T}\;\text{Hertz}.\]  
This frequency is \(n\) times greater than the frequency of information bits \(F=\frac{1}{T}\). Thus, we obtained the spread of the frequency of the original message by \(n\) times. The multiplying of the signal duration by its frequency is called the base \(B\). If \(B>1\), then the signals are called complex. For our case, we have  
\[B=T_{chip}F_{chip}=n>1\]  
and direct spreading signals are complex signals.