Difference between revisions of "Modulation Methods/Spreading Sequences for CDMA"

From LNTwww
 
(87 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
   
 
   
 
{{Header
 
{{Header
|Untermenü=Vielfachzugriffsverfahren
+
|Untermenü=Multiple Access Methods
|Vorherige Seite=PN–Modulation
+
|Vorherige Seite=Direct-Sequence Spread Spectrum Modulation
|Nächste Seite=Fehlerwahrscheinlichkeit der PN–Modulation
+
|Nächste Seite=Error Probability of Direct-Sequence Spread Spectrum Modulation
 
}}
 
}}
==Definition der Korrelationsfunktionen==
+
==Properties of the correlation functions==
Wichtige Beurteilungskriterien für Spreizfolgen sind die Korrelationsfunktionen. Betrachtet man zwei ergodische Prozesse mit den Musterfunktionen $x(t)$ und $y(t)$, so gilt für die Kreuzkorrelationsfunktion (KKF) der beiden Prozesse (siehe Kapitel 4.6 im Buch „Stochastische Signaltheorie”):
+
<br>
$$\varphi_{xy}(\tau)=\overline{x(t)\cdot y(t+\tau)}=\lim_{T_{\rm M}\to\infty}\,\frac{1}{T_{\rm M}}\cdot\int^{T_{\rm M}/{\rm 2}}_{-T_{\rm M}/{\rm 2}}x(t)\cdot y(t+\tau)\,\,\rm d \it t.$$
+
Important evaluation criteria for spreading sequences are the correlation functions.
  
Die überstreichende Linie kennzeichnet hierbei eine ''Zeitmittelung.''
+
{{BlaueBox|TEXT=
 +
$\text{Definition:}$&nbsp; Considering two ergodic processes with model functions &nbsp;$x(t)$&nbsp; and &nbsp;$y(t)$,&nbsp; the following applies to their &nbsp;[[Theory_of_Stochastic_Signals/Cross-Correlation_Function_and_Cross_Power-Spectral_Density#Definition_of_the_cross-correlation_function|$\text{cross-correlation function}$]]&nbsp; $\rm (CCF)$:
 +
:$$\varphi_{xy}(\tau)=\overline{x(t)\cdot y(t+\tau)}=\lim_{T_{\rm M}\to\infty}\,\frac{1}{T_{\rm M} }\cdot\int^{T_{\rm M}/{\rm 2} }_{-T_{\rm M}/{\rm 2} }x(t)\cdot y(t+\tau)\,\,\rm d \it t.$$
 +
The line crossing over indicates a &nbsp;"time averaging."}}
  
$φ){xy}(τ)$ ist ein quantitatives Maß für die lineare statistische Abhängigkeit der Augenblickswerte von Musterfunktionen $x(t)$ und $y(t + τ)$ der beiden Zufallsprozesse und dient somit der Beschreibung der statistischen Verwandtschaft zwischen diesen. Es gilt:
 
*Sind $x(t)$ und $y(t)$ unkorreliert, so ist $φ_{xy}(τ)$ identisch 0 (das heißt für alle Werte von $τ$).
 
*Im allgemeinen ist $φ_{xy}(τ)$ nicht symmetrisch, sondern das KKF–Maximum tritt bei $τ_{\rm max} ≠$ 0 auf.
 
*In diesem Fall ergibt sich die maximale Korrelation durch eine gegenseitige Verschiebung der beiden betrachteten Signale um die Zeit $τ_{\rm max}$.
 
  
 +
$φ_{xy}(τ)$&nbsp; is a quantitative measure of the linear statistical dependence of the instantaneous values of model functions &nbsp;$x(t)$&nbsp; and &nbsp;$y(t + τ)$&nbsp; of the two random processes, and thus serves to describe the statistical relationship between them.&nbsp; It holds:
 +
*If &nbsp;$x(t)$&nbsp; and &nbsp;$y(t)$&nbsp; are uncorrelated,&nbsp; then &nbsp;$φ_{xy}(τ) \equiv 0$&nbsp; $($i.e.,&nbsp; for all arbitrary values of &nbsp;$τ)$.
 +
*In general, &nbsp;$φ_{xy}(τ)$&nbsp; is not symmetric,&nbsp; but the CCF maximum may well occur at &nbsp;$τ_{\rm max} ≠ 0$.&nbsp;
 +
*Then the maximum correlation results from a mutual shift of the two considered signals by the time &nbsp;$τ_{\rm max}$.
  
Setzt man in obiger Gleichung $y(t) = x(t)$, so kommt man zur Autokorrelationsfunktion (AKF)
 
$$ \varphi_{xx}(\tau)=\overline{x(t)\cdot x(t+\tau)}=\lim_{T_{\rm M}\to\infty}\,\frac{1}{T_{\rm M}}\cdot\int^{T_{\rm M}/{\rm 2}}_{-T_{\rm M}/{\rm 2}}x(t)\cdot x(t+\tau)\,\,\rm d \it t$$
 
  
mit folgenden Eigenschaften:  
+
{{BlaueBox|TEXT=
*Die AKF ist ein Maß für die inneren statistischen Bindungen eines durch die Musterfunktion $x(t)$ festgelegten stationären und ergodischen Prozesses.  
+
$\text{Definition:}$&nbsp;
*Ist $x(t)$ reell, so ist $φ_{xx}(τ)$ eine reelle gerade Funktion: $φ_{xx}(–τ) = φ_{xx}(τ)$. Phasenbeziehungen gehen in der AKF verloren. Beschreibt $x(t)$ einen komplexen Prozesse, so ist auch die AKF komplex.  
+
If we set &nbsp;$y(t) = x(t)$ in the above equation,&nbsp; we arrive at the &nbsp;[[Theory_of_Stochastic_Signals/Auto-Correlation_Function_(ACF)|$\text{auto-correlation function}$]]&nbsp; $\rm (ACF)$
*Der Maximalwert der AKF liegt bei $τ =$ 0. Es gilt stets $|φ_{xx}(τ)| ≤ φ_{xx}(0),$ wobei $φ_{xx}(0)$ die Signalleistung $P_x = E[x^2(t)]$ angibt.  
+
:$$ \varphi_{xx}(\tau)=\overline{x(t)\cdot x(t+\tau)}=\lim_{T_{\rm M}\to\infty}\,\frac{1}{T_{\rm M} }\cdot\int^{T_{\rm M}/{\rm 2} }_{-T_{\rm M}/{\rm 2} }x(t)\cdot x(t+\tau)\,\,\rm d \it t$$
*Der Gleichanteil eines Signals kann aus dem Grenzwert $(τ → ∞)$ ermittelt werden, so lange das Signal keine periodischen Anteile beinhaltet:  
+
with the following properties:
$$\overline{ x(t)} =  {\rm E}[x(t)] = \sqrt{\lim_{\tau\to\infty}\,\varphi_{xx} (\tau)} \hspace{0.05cm}.$$
+
*The ACF is a measure of the internal statistical bindings of a stationary and ergodic process defined by the model function &nbsp;$x(t)$.&nbsp;
 +
*If &nbsp;$x(t)$&nbsp; is real,&nbsp; then &nbsp;$φ_{xx}(τ)$&nbsp; is a real even function: &nbsp; $φ_{xx}(–τ) = φ_{xx}(τ)$.&nbsp; Phase relations are thus lost in the ACF.  
 +
*If &nbsp;$x(t)$&nbsp; describes a complex process,&nbsp; then the ACF is also complex.
 +
*The maximum value of the ACF is at &nbsp;$τ =0$.&nbsp; It is always &nbsp;$\vert φ_{xx}(τ)\vert ≤ φ_{xx}(τ = 0)$,&nbsp; where &nbsp;$φ_{xx}(τ =0)$&nbsp; indicates the signal power &nbsp;$P_x = {\rm E}\big[x^2(t)\big]$.&nbsp;
 +
*The DC component of &nbsp;$x(t)$&nbsp; can be determined from the limit value for &nbsp;$(τ → ∞)$&nbsp; as long as &nbsp;$x(t)$&nbsp; does not contain any periodic components:  
 +
:$$\overline{ x(t)} =  {\rm E}\big[x(t)\big] = \sqrt{\lim_{\tau\to\infty}\,\varphi_{xx} (\tau)} \hspace{0.05cm}.$$}}
  
  
AKF und KKF beschreiben die inneren Bindungen bzw. die gegenseitigen statistischen Abhängigkeiten im Zeitbereich. Die entsprechenden Beschreibungsfunktionen im Frequenzbereich sind
+
The auto-correlation function and cross-correlation function describe the internal bindings and the mutual statistical dependencies in the time domain.&nbsp; The corresponding description functions in the frequency domain are
*das Leistungsdichtespektrum ${\it Φ}_{xx}(f)$, sowie
+
*the &nbsp;[[Theory_of_Stochastic_Signals/Power-Spectral_Density|$\text{power-spectral density}$]]&nbsp; ${\it Φ}_{xx}(f)$, as well as
*das Kreuzleistungsdichtespektrum ${\it Φ}_{xy}(f)$.  
+
*the &nbsp;[[Theory_of_Stochastic_Signals/Cross-Correlation_Function_and_Cross_Power-Spectral_Density#Cross_power-spectral_density|$\text{cross power-spectral density}$]] &nbsp;${\it Φ}_{xy}(f)$.  
  
  
Bei ergodischen Prozessen ergeben sich diese als die Fouriertransformierten von AKF und KKF:
+
For ergodic processes,&nbsp; these are obtained as the &nbsp;[[Signal_Representation/Fourier_Transform_and_its_Inverse#Fourier_transform|$\text{Fourier transforms}$]]&nbsp; of ACF and CCF:
$${\it \Phi}_{xx}(f)  \hspace{0.2cm} \bullet\!\!-\!\!\!-\!\!\!-\!\!\circ\, \hspace{0.2cm}\varphi_{xx}(\tau)\hspace{0.05cm}  ,\hspace{0.3cm} {\it \Phi}_{xy}(f)  \hspace{0.2cm} \bullet\!\!-\!\!\!-\!\!\!-\!\!\circ\, \hspace{0.2cm}\varphi_{xy}(\tau)\hspace{0.05cm}.$$
+
:$${\it \Phi}_{xx}(f)  \hspace{0.2cm} \bullet\!\!-\!\!\!-\!\!\!-\!\!\circ\, \hspace{0.2cm}\varphi_{xx}(\tau)\hspace{0.05cm}  ,\hspace{0.3cm} {\it \Phi}_{xy}(f)  \hspace{0.2cm} \bullet\!\!-\!\!\!-\!\!\!-\!\!\circ\, \hspace{0.2cm}\varphi_{xy}(\tau)\hspace{0.05cm}.$$
  
==Periodische AKF und KKF==
 
''Hinweis:'' Im Folgenden schreiben wir wie im Buch „Stochastische Signaltheorie” vereinfachend für die AKF $φ_x(τ)$ anstelle von $φ_{xx}(τ)$ und für das LDS ${\it Φ}_x(f)$ anstelle von ${\it Φ}_{xx}(f)$.
 
  
Bei periodischen Signalen kann auf den Grenzübergang bei der AKF– und der KKF–Berechnung verzichtet werden, und man erhält mit der Periodendauer $T_0$ (diese muss für beide Signale gleich sein):  
+
'''Note:''' &nbsp; In the following,&nbsp; as in the book [[Theory_of_Stochastic_Signals|"Theory of Stochastic Signals"]],&nbsp; we write simplifying for the ACF &nbsp;$φ_x(τ)$&nbsp; instead of &nbsp;$φ_{xx}(τ)$&nbsp; and for the PSD &nbsp;${\it Φ}_x(f)$&nbsp; instead of &nbsp;${\it Φ}_{xx}(f)$.
$$\begin{align*}\varphi_{x}(\tau) & = \frac{1}{T_{\rm 0}}\cdot\int^{T_0}_{0}x(t)\cdot x(t+\tau)\,\,\rm d \it t\hspace{0.05cm}  ,\\
+
 
 +
==Periodic ACF and CCF==
 +
<br>
 +
For periodic signals,&nbsp; the boundary transition can be omitted from the ACF and the CCF calculations,&nbsp; and the period duration &nbsp;$T_0$&nbsp; (which must be the same for both signals) is used to obtain:  
 +
:$$\begin{align*}\varphi_{x}(\tau) & = \frac{1}{T_{\rm 0}}\cdot\int^{T_0}_{0}x(t)\cdot x(t+\tau)\,\,\rm d \it t\hspace{0.05cm}  ,\\
 
\varphi_{xy}(\tau) & = \frac{1}{T_{\rm 0}}\cdot\int^{T_0}_{0}x(t)\cdot y(t+\tau)\,\,\rm d \it t\hspace{0.05cm}.\end{align*}$$
 
\varphi_{xy}(\tau) & = \frac{1}{T_{\rm 0}}\cdot\int^{T_0}_{0}x(t)\cdot y(t+\tau)\,\,\rm d \it t\hspace{0.05cm}.\end{align*}$$
In diesem Fall ist die AKF ebenfalls eine periodische Funktion, und man spricht von der ''periodischen Autokorrelationsfunktion'' (PAKF). Diese zeigt folgende Einenschaft:  
+
In this case,&nbsp; the ACF is also a periodic function,&nbsp; and it is called the &nbsp;"periodic auto-correlation function"&nbsp; $\rm (PACF)$.&nbsp; This shows the following:  
$$\varphi_{x}(\pm T_0) = \varphi_{x}(\pm 2T_0) = ... = \varphi_{x}(0)  
+
:$$\varphi_{x}(\pm T_0) = \varphi_{x}(\pm 2T_0) =\text{ ...} = \varphi_{x}(0)  
 
\hspace{0.05cm}.$$
 
\hspace{0.05cm}.$$
Wir wenden nun obige Berechnungsvorschrift auf das Spreizsignal
+
We now apply the above calculation rule to the spreading signal
$$ c(t) = \sum\limits^{+\infty}_{\nu = -\infty}c_\nu\cdot g_c(t - \nu \cdot T_c)$$
+
:$$ c(t) = \sum\limits^{+\infty}_{\nu = -\infty}c_\nu\cdot g_c(t - \nu \cdot T_c)$$
an, wobei ein Rechteckimpuls $g_c(t)$ der Breite $T_c$ vorausgesetzt wird; $T_c$ nennt man die ''Chipdauer''. Berücksichtigt man die Periodizität $(T_0 = P · T_c)$ der Amplitudenkoeffizienten $c_ν ∈$ {±1}, so ergeben sich die diskreten AKF–Werte bei Vielfachen von $T_c$ mit dem Parameter $λ$:  
+
assuming a rectangular pulse &nbsp;$g_c(t)$&nbsp; of width &nbsp;$T_c$&nbsp;;&nbsp; $T_c$&nbsp; is called the&nbsp; "chip duration".  
$$\varphi_{c}(\lambda \cdot T_c) = \frac{1}{P}\cdot\sum\limits^{P-1}_{\nu = 0} c_\nu \cdot c_{\nu+ {\it \lambda} }\hspace{0.05cm}.$$
+
 
Der maximale PAKF–Wert ergibt sich für $λ =$ 0 und für Vielfache der Periodenlänge $P$. Aufgrund des rechteckigen Impulses $g_c(t)$ ist der PAKF–Verlauf zwischen zwei Abtastwerten $λ · T_c$ und $(λ + 1) · T_c$ stets linear. Entsprechend ist die ''periodische Kreuzkorrelationsfunktion'' (PKKF) zwischen den zwei unterschiedlichen Spreizfolgen $〈c_ν〉$ und $〈c_ν'$ gleicher Periodenlänge $P$ wie folgt gegeben:  
+
Considering the periodicity &nbsp;$(T_0 = P · T_c)$&nbsp; of the amplitude coefficients &nbsp;$c_ν ∈ \{±1\}$,&nbsp; the discrete ACF values at multiples $($integer parameter )$&nbsp; of &nbsp;$T_c$ are obtained:  
$$\varphi_{cc'}(\lambda \cdot T_c) = \frac{1}{P}\cdot\sum\limits^{P-1}_{\nu = 0} c_\nu \cdot c\hspace{0.02cm}'_{\nu+ \lambda }\hspace{0.05cm}.$$
+
:$$\varphi_{c}(\lambda \cdot T_c) = \frac{1}{P}\cdot\sum\limits^{P-1}_{\nu = 0} c_\nu \cdot c_{\nu+ {\it \lambda} }\hspace{0.05cm}.$$
 +
*The maximum PACF value is obtained for &nbsp;$λ = 0$&nbsp; and for multiples of the period length &nbsp;$P$.  
 +
*Due to the rectangular pulse &nbsp;$g_c(t)$,&nbsp; the PACF progression between two samples &nbsp;$λ · T_c$&nbsp; and &nbsp;$(λ + 1) · T_c$&nbsp; is always linear.
 +
*Accordingly, the &nbsp;"periodic cross-correlation function"&nbsp; $\rm (PCCF)$&nbsp; between two spreading sequences &nbsp;$〈c_ν〉$&nbsp; and &nbsp;$〈c\hspace{0.04cm}'_ν〉$&nbsp; of equal period length &nbsp;$P$&nbsp; is given as follows:
 +
:$$\varphi_{cc\hspace{0.04cm}'}(\lambda \cdot T_c) = \frac{1}{P}\cdot\sum\limits^{P-1}_{\nu = 0} c_\nu \cdot c\hspace{0.04cm}'_{\nu+ \lambda }\hspace{0.05cm}.$$
 +
 
 +
 
 +
 +
 
 +
==Evaluation criteria for PN spreading sequences==
 +
<br>
 +
The quality of a CDMA system based on PN modulation depends significantly on the PACF and PCCF properties of the spreading sequences used.&nbsp; In summary:
 +
*The PACF of the spreading code class used should be characterized by a pronounced peak at &nbsp;${\it λ} = 0$,&nbsp; if possible,&nbsp; in order to make synchronization at the receiver easy.&nbsp; Moreover,&nbsp; for multipath reception with an echo of delay difference &nbsp;$λ · T_c$,&nbsp; the smaller &nbsp;$|φ_c(λ · T_c)|$&nbsp; is,&nbsp; the smaller is the degradation due to intersymbol interference.
 +
*The disruptive influence of interfering CDMA subscribers can be estimated by the PCCF value &nbsp;$φ_{cc\hspace{0.04cm}'} (λ = 0)$.&nbsp; If this is equal to zero,&nbsp; one speaks of &nbsp; "orthogonal functions".&nbsp; The error probability is not increased in this case.&nbsp; If all spreading sequences are orthogonal,&nbsp; then even if there are &nbsp;$J$&nbsp; participants,&nbsp; the error probability is the same as if there were only one user.
 +
*This last statement is of particular importance in synchronous systems with distortion-free channel&nbsp; (for example,&nbsp; in AWGN).&nbsp;&nbsp; On the other hand,&nbsp; in asynchronous operation or multipath reception,&nbsp; "de-orthogonalization"&nbsp; occurs and the stricter requirement that the PCCF between each sequence should take on the smallest possible values&nbsp; (in terms of magnitude)&nbsp; at all times.
 +
 
 +
 
 +
When selecting code families for a CDMA system,&nbsp; care must also be taken to ensure that as many encoded sequences as possible with favorable properties with respect to these three criteria can be found for a given spreading factor &nbsp;$J = P$,&nbsp; so that as many subscribers as possible can be supplied simultaneously in the same frequency band.
 +
 
 +
==Pseudo-noise sequences of maximum length==
 +
<br>
 +
A feedback shift register can be used to generate a sequence with favorable ACF properties if the feedback coefficients &nbsp;$g_i$&nbsp; with index&nbsp; $i = 1, \text{...} \ , G-1$&nbsp; are chosen appropriately. &nbsp;
 +
[[File:EN_Mod_T_5_3_S4.png|right|frame|PN generator&nbsp; (realization with shift registers)]]
 +
[[File:EN_Mod_T_5_3_S4b.png|right|frame| Polynomials of M-sequences with degree&nbsp; $G$]]
 +
 +
*The sequence&nbsp;$〈c_ν〉$&nbsp; is not random in the strict sense,&nbsp; but periodic. &nbsp;
 +
*However,&nbsp; due to the large period length &nbsp;$P$&nbsp; it appears stochastic to an uninitiated observer.&nbsp;
 +
*One speaks of a &nbsp;&raquo;'''pseudo–noise sequence'''&laquo;&nbsp; or &nbsp;"PN sequence" for short.
 +
 
 +
<br><br> 
 +
$\text{PN generators}$&nbsp; have the following properties,&nbsp; see chapter &nbsp;[[Theory_of_Stochastic_Signals/Erzeugung_von_diskreten_Zufallsgrößen|"Generation of Discrete Random Variables"]]&nbsp; in the book "Theory of Stochastic Signals":
 +
*The binary values &nbsp;$c_{ν-1}, \text{...} \ , c_{ν-G}$&nbsp; generated at earlier times are stored in the &nbsp;$G$&nbsp; memory cells of the shift register.&nbsp; We refer to &nbsp;$G$&nbsp; as the&nbsp; "degree of the shift register".
 +
 
 +
*The coefficients &nbsp;$g_1, \ \text{...} \ , g_{G-1}$&nbsp; are binary values,&nbsp; where a&nbsp; "1"&nbsp; indicates a feedback at the corresponding location of the shift register and a&nbsp; "0"&nbsp; indicates no feedback.
 +
 +
*For the currently generated symbol,&nbsp; with &nbsp;$g_i ∈ \{0, 1\}$&nbsp; and&nbsp; $i = 1,\ \text{...}\ , G-1$:
 +
:$$c_\nu = (g_1\cdot c_{\nu-1}+g_2\cdot c_{\nu-2}+\ \text{...}\ +g_i\cdot c_{\nu-i}+\ \text{...}\ +g_{G-1}\cdot c_{\nu-G+1}+ c_{\nu-G})\hspace{0.1cm} \rm mod \hspace{0.2cm}2.$$
 +
*The modulo-2 addition can be realized for example by an&nbsp; $\rm XOR$&nbsp; operation:
 +
:$$(x + y)\hspace{0.2cm} \rm mod\hspace{0.2cm}2 = {\it x}\hspace{0.2cm}\rm XOR\hspace{0.2cm} {\it y} = \left\{          \begin{array}{*{2}{c}}          0 & \rm if\hspace{0.1cm} {\it x}= {\it y},\\          1 & \rm if\hspace{0.1cm} {\it x}\neq {\it y}. \\              \end{array}    \right.$$
 +
*If not all &nbsp;$G$&nbsp; memory cells are preallocated with zeros,&nbsp; the result is a periodic random sequence &nbsp;$〈c_ν〉$.&nbsp; The period length &nbsp;$P$&nbsp; of this sequence depends strongly on the feedback coefficients &nbsp;$g_i$.&nbsp;
 +
 
 +
*For each degree&nbsp; $G$&nbsp; there are at least two configurations with the maximum period &nbsp;$P_{\rm max} = 2^G – 1$&nbsp; for this.
 +
 
 +
 
 +
In the table on the right,&nbsp; for some values of &nbsp;$G$,&nbsp; the generator polynomial &nbsp;$G(D)$&nbsp; of such an M-sequence and the corresponding&nbsp; (maximum)&nbsp; period length &nbsp;$P$&nbsp; are given,&nbsp; where&nbsp; "M"&nbsp; stands for&nbsp; "Maximum".&nbsp; In the following the statements made here are clarified at the example &nbsp;$G = 4$.&nbsp;
 +
 
 +
 
 +
{{GraueBox|TEXT=
 +
$\text{Example 1:}$&nbsp; The diagram shows two possible arrangements for generating a PN sequence of maximum length for &nbsp;$G = 4$ &nbsp; ⇒ &nbsp; $P = 15$.
 +
[[File:EN_Mod_T_5_3_S4c.png|right|frame| PN generators of degree &nbsp;$G = 4$]]
 +
 
 +
[[File: P_ID1879__Mod_T_5_3_S4d_ganz_neu.png|right|frame|PACF of a PN sequence of maximum length &nbsp;$P = 2^G – 1$]]
 +
 +
*The octal representation of the binary number &nbsp;$(g_G, \ \text{...} \ ,g_2, g_1, g_0)$&nbsp; is usually chosen as the abbreviation.&nbsp; Basically&nbsp; $g_0 = g_G = 1$&nbsp; is to be set.
 +
 
 +
*For the left generator:&nbsp; $\rm (11001)_{binary} = (31)_{octal}$.&nbsp; The corresponding generator polynomial is:
 +
:$$G_1(D) = D^4 + D^3 +1\hspace{0.05cm}.$$
 +
 
 +
*For the right generator:&nbsp; $\rm (10011)_{binary} = (23)_{octal}$.&nbsp; This generator can be described by the polynomial
 +
:$$G_2(D) =D^4 + D +1 \hspace{0.05cm}.$$
 +
*The polynomial&nbsp; $G_2(D)$&nbsp; is reciprocal to &nbsp;$G_{\rm 1}(D)$:
 +
:$$G_{\rm 2}(D) = D^4 \cdot  (D^{-4}  + D^{-3} +1) =D^4 + D +1 \hspace{0.05cm}.$$
 +
 
 +
Since both &nbsp;$G_1(D)$&nbsp; and &nbsp;$G_{\rm 2}(D)$&nbsp; are&nbsp; [[Channel_Coding/Extension_Field#Binary_extension_fields_.E2.80.93_Primitive_polynomials|$\text{primitive generator polynomials}$]]&nbsp; &nbsp; (the proof for this is not easy),&nbsp; both output sequences have the maximum period length &nbsp;$P = 15$&nbsp; for &nbsp;$G = 4$.
 +
 
 +
As shown in  &nbsp;[[Aufgaben:Exercise_5.3:_PACF_of_PN_Sequences|"Exercise 5.3"]],&nbsp; the PACF in unipolar representation &nbsp; ⇒ &nbsp; $c_ν ∈ \{0, 1\}$&nbsp; results in
 +
:$${\it \varphi}_{c{\rm ,\hspace{0.15cm}unipolar} }(\lambda \cdot T_c) = \left\{ \begin{array}{c}(P+1)/(2P) \\ (P+1)/(4P) \\  \end{array} \right. \begin{array}{*{10}c}  \ \  {\rm{for} }\ \lambda = 0, \pm P, \pm 2P, \text{...} \hspace{0.05cm} \\  {\rm{otherwise} } \hspace{0.05cm}.  \\ \end{array}$$
 +
 
 +
After conversion to bipolar coefficients &nbsp;$(0 \ ⇒  +1$, &nbsp; &nbsp; $1 \ ⇒  -1)$,&nbsp; we obtain:
 +
:$${\it \varphi}_{c{\rm ,\hspace{0.15cm}bipolar} }(\lambda \cdot T_c) = \left\{ \begin{array}{c}1 \\ -P \\  \end{array} \right. \begin{array}{*{10}c}  \ \  {\rm{for} }\ \lambda = 0, \pm P, \pm 2P, \text{...} \hspace{0.05cm} \\  {\rm{otherwise} } \hspace{0.05cm}.  \\ \end{array}$$
 +
*One can see from the bottom diagram the desired distinct PACF peaks at intervals of period &nbsp;$P$.
 +
*The PCCF properties of PN sequences are less good,&nbsp; as will be shown in chapter &nbsp;[[Modulation_Methods/Fehlerwahrscheinlichkeit_der_PN–Modulation|"Error Probability of Direct-Sequence Spread Spectrum Modulation"]].&nbsp;}}
 +
 
 +
 
 +
 
 +
==Code families with M-sequences==
 +
<br>
 +
In CDMA,&nbsp; a specific spreading sequence of the same period length is required for each subscriber.&nbsp; A&nbsp; &raquo;'''code family'''&laquo;&nbsp; is defined as a set&nbsp; (as large as possible)&nbsp; of spreading sequences of the same period length &nbsp;$P$,&nbsp; each valid for a register level &nbsp;$G$.
 +
 
 +
The table shows that the number of PN sequences of maximum length is very small. For the degree &nbsp;$G = 5$ &nbsp;  ⇒ &nbsp;  $P = 31$,&nbsp; for example,&nbsp; there are just six M-sequences,&nbsp; namely the PN generators with the octal identifiers &nbsp;$(45), (51), (57), (67), (73)$&nbsp; and &nbsp;$(75)$.
 +
 
 +
[[File:EN_Mod_T_5_3_S5neu_v2.png|right|frame| M-sequence code family &ndash; powerfullness]]
 +
 
 +
Furthermore, the term&nbsp; &raquo;'''powerfulness'''&laquo;&nbsp; of the code family can also be found in the literature.
 +
*This quantity indicates how many M-sequences and thus simultaneous CDMA subscribers are possible if it is required that all code pairs have&nbsp; "favorable PCCF properties".
 +
*For reasons of space,&nbsp; it cannot be explicitly stated here what exactly is meant by&nbsp; "favorable".&nbsp; For this,&nbsp; we refer to the original literature,&nbsp; for example [ZP85]<ref>Ziemer, R.; Peterson, R. L.:&nbsp; Digital Communication and Spread Spectrum Systems. New York: McMillon, 1985.</ref>. 
 +
 
 +
 
 +
The last row in the above table makes it clear that the powerfulness of M-sequence code families is extremely limited,&nbsp; even if &nbsp;$G$&nbsp; is large and thus the period length &nbsp;$P$ is large, too.&nbsp; If &nbsp;$G$&nbsp; is a multiple of&nbsp; $4$ &nbsp; ⇒  &nbsp; $P = 15$,&nbsp; $P = 255$,&nbsp; $P = 4095$ etc.,&nbsp; there are essentially no favorable pairs.
 +
 
 +
==Gold Codes==
 +
<br>
 +
To obtain larger code families than with M-sequences,&nbsp; the requirements for the periodic cross-correlation function&nbsp; $\rm (PCCF)$&nbsp; must be weakened.&nbsp; With this restriction,&nbsp; code families with a much greater powerfulness are obtained,&nbsp; so that more CDMA subscribers can also be supplied.
 +
 
 +
Gold codes use this principle.&nbsp;  The rule for generating a&nbsp; &raquo;'''Gold code family'''&laquo; &nbsp; $\rm (GCF)$&nbsp; is where a&nbsp; "+"&nbsp; denotes a modulo-2 addition:
 +
:$${\rm GCF}(C_1,\ C_2) = \{ C_1,\ C_2,\ C_1 + C_2,\ C_1 + D \cdot C_2,\ C_1 + D^2 \cdot C_2, \ \text{...} \  ,\
 +
C_1 + D^{P-1} \cdot C_2 \} \hspace{0.05cm}.$$
 +
[[File:EN_Mod_T_5_3_S6.png|right|frame|Gold code generator &nbsp;$(51,  75)$&nbsp; of degree &nbsp;$G = 5$]]
 +
 
 +
The principle is illustrated in the diagram by an example:
 +
*The sequences &nbsp;$C_1$&nbsp; and &nbsp;$C_2$&nbsp; are a convenient pair of&nbsp; "M-sequences"&nbsp; of the same period length,&nbsp; for example,&nbsp; the PN generators with the octal identifiers &nbsp;$(51)$&nbsp; and &nbsp;$(75)$&nbsp; of degree &nbsp;$G = 5$&nbsp; and thus the period length &nbsp;$P = 31$.
 +
*The Gold code family consists,&nbsp; on the one hand,&nbsp; of the&nbsp; "M-sequences" &nbsp;$C_1$&nbsp; and &nbsp;$C_2$&nbsp; and of some modulo-2 additions of these sequences.&nbsp; &nbsp;$C_1$&nbsp; is used with a fixed phase&nbsp; (characterized by the preallocation of all memory cells with ones),&nbsp; while all &nbsp;$P$&nbsp; possible initial phases are permissible for the sequence &nbsp;$C_2$&nbsp; (all preallocations except the zero allocation).
 +
*If such a code family is used for CDMA,&nbsp; a total of &nbsp;$K_{\rm GCF} = P + 2 = 2^G + 1$&nbsp; sequences are available.&nbsp; However,&nbsp; the PACF of these sequences is now no longer bivalent like the two PN sequences&nbsp; &nbsp;$(+1$&nbsp; and&nbsp; $-1/31)$, but quadrivalent &nbsp;$(+1$,&nbsp; $+7/31$,&nbsp; $-1/31$,&nbsp; $-9/31)$.&nbsp; The phase of &nbsp;$C_2$&nbsp; changes the specific progression,&nbsp; but not the possible PACF values.
 +
 
 +
 
 +
Gold codes are used for scrambling in UMTS,&nbsp; for example,&nbsp; as explained in the chapter&nbsp; [[Examples_of_Communication_Systems/Telecommunications_Aspects_of_UMTS#Spreading_codes_and_scrambling_with_UMTS|"Spreading codes and scrambling with UMTS"]]&nbsp; in the book "Examples of Communication Systems".
 +
*The two master code shift registers are each constructed with &nbsp;$G = 18$&nbsp; memory cells.
 +
*This results in the period length &nbsp;$P = 262\hspace{0.05cm} 143$.
 +
 
 +
==Walsh functions==
 +
<br>
 +
Spreading sequences with very favorable PCCF properties are the so-called&nbsp; &raquo;'''Walsh functions'''&laquo;,&nbsp; whose construction is based on the&nbsp; &raquo;'''Hadamard matrix'''&laquo;&nbsp; and can be performed in a simple way by recursion.&nbsp; Starting from the matrix &nbsp;$\mathbf H_2$,&nbsp; further Hadamard matrices &nbsp;$\mathbf H_{2J}$&nbsp; can be generated as follows:
 +
 
 +
[[File:P_ID1882__Mod_T_5_3_S7_neu.png|right|frame| Walsh spreading sequences &nbsp;$(J = 8)$&nbsp; and Hadamard matrix &nbsp;$\mathbf H_8$&nbsp;]]
 +
 +
:$${\mathbf{H}_{2}} =  \left[ \begin{array}{ccc} +1 & +1 \\ +1 & -1 \end{array} \right] \hspace{0.5cm} \Rightarrow \hspace{0.5cm}{\mathbf{H}_{2J}} =  \left[ \begin{array}{ccc} \mathbf{H}_J & \mathbf{H}_J \\ \mathbf{H}_J & -\mathbf{H}_J \end{array} \right] $$
 +
:$$\hspace{0.5cm} \Rightarrow \hspace{0.5cm}
 +
{\mathbf{H}_{4}} = \left[ \begin{array}{cccc} +1 & +1 & +1 & +1 \\ +1 & -1 & +1 & -1 \\
 +
+1 & +1 & -1 & -1 \\+1 & -1 & -1 & +1 \end{array} \right] .$$
 +
The &nbsp;$J$&nbsp; rows of such a matrix describe the &nbsp;$J$&nbsp; possible spreading sequences&nbsp; $($each of length &nbsp;$J)$,&nbsp; which are numbered &nbsp;$w_0(t)$&nbsp; to&nbsp; $w_{J–1}(t)$.&nbsp;
 +
 
 +
The diagram shows the Hadamard matrix &nbsp;$\mathbf H_8$&nbsp; (right) and the&nbsp;$J -1$&nbsp;  spreading sequences that can be constructed with it.
 +
*$J - 1$ because the sequence &nbsp;$w_0(t)$&nbsp; without spreading effect is usually not used.
 +
*Please note the color allocation between the rows of the Hadamard matrix and the spreading sequence &nbsp;$w_j(t)$&nbsp; in the graphic. The matrix &nbsp;$\mathbf H_4$&nbsp; is highlighted in yellow.
 +
*The HTML5/JavaScript applet&nbsp; [[Applets:Generation_of_Walsh_functions|"Generation of Walsh functions"]]&nbsp; shows the construction algorithm of such sequences.
 +
 
 +
 
 +
Further applies:
 +
#&nbsp;If one takes any two lines and forms the correlation&nbsp; (averaging over the products),&nbsp; the PCCF value always results in zero.&nbsp; Thus,&nbsp; Walsh functions for a distortion-free channel and a synchronous CDMA system are optimal spreading sequences due to their orthogonality.
 +
#&nbsp;In contrast,&nbsp; for asynchronous operation&nbsp; (example: uplink of a mobile radio system)&nbsp; or de-orthogonalization due to multipath propagation,&nbsp; Walsh functions alone are not necessarily suitable for band spreading - see &nbsp;[[Aufgaben:Exercise_5.4:_Walsh_Functions_(PCCF,_PACF)|"Exercise 5.4"]]. 
 +
#&nbsp;Regarding PACF&nbsp; (periodic ACF),&nbsp; these consequences are less good: &nbsp; Each single Walsh function has a different PACF and each single PACF is less favorable than for a comparable PN sequence.&nbsp; This means: &nbsp; Synchronization is more difficult with Walsh functions than with PN sequences.
 +
 
 +
==Codes with variable spreading factor (OVSF codes)==
 +
<br>
 +
The 3G mobile communications system&nbsp;[[Examples_of_Communication_Systems/Allgemeine_Beschreibung_von_UMTS|$\text{UMTS}$]]&nbsp; provides various data rates.&nbsp; For this purpose
 +
*spreading sequences with different spreading factors &nbsp;$J = 4$&nbsp; to &nbsp;$J = 512$&nbsp; are required,
 +
*which must all be orthogonal to each other.
 +
 
 +
[[File:P_ID1883__Mod_T_5_3_S8_neu.png|right|frame | Tree diagram for generating an OVSF code]]
 +
<br>The so-called&nbsp; &raquo;'''OVSF codes'''&laquo;&nbsp; ("Orthogonal Variable Spreading Factor")&nbsp; can be created with the help of a code tree.&nbsp; Thereby two new codes &nbsp;$(+C \ +\hspace{-0.05cm}C)$&nbsp; and &nbsp;$(+C \ -\hspace{-0.05cm}C)$&nbsp; are created at each branching from a code&nbsp; $C$,&nbsp; as indicated in the graphic above right.
 +
 
 +
It should be noted that no predecessor and successor of a code may be used by other participants.&nbsp; In this example,&nbsp; the following selection could therefore be made&nbsp; (among others):
 +
*eight codes with the spreading factor &nbsp;$J = 8$,&nbsp; or
 +
*the four highlighted codes – once with &nbsp;$J = 2$, once with &nbsp;$J = 4$&nbsp; and twice with &nbsp;$J = 8$.
 +
 
 +
 
 +
In the second case, the other six&nbsp; $J = 8$&nbsp; codes cannot be used because they begin with &nbsp;"$+1 \ +\hspace{-0.05cm}1$"&nbsp; or with &nbsp;"$+1 \ -\hspace{-0.05cm}1 \ +\hspace{-0.05cm}1 \ -\hspace{-0.05cm}1$".&nbsp;
 +
 
 +
From the four spreading sequences in the graphic at the bottom right,&nbsp; it can be seen that with a constant chip duration &nbsp;$T_c$,&nbsp; the user with spreading factor &nbsp;$J = 2$&nbsp; can transmit at a higher data rate than the users with &nbsp;$J = 4$&nbsp; or &nbsp;$J = 8$ because his bit duration &nbsp;$T_{\rm B}$&nbsp; is smaller.
 +
 
 +
From the graph,&nbsp; we can further see that the periodic cross-correlation function&nbsp;  $\rm (PCCF)$&nbsp; is always zero at the point &nbsp;$τ = 0$.&nbsp;
 +
*That means: &nbsp; If one forms the product of any two of these sequences and integrates over the represented time range, the value&nbsp; $0$&nbsp; always results.
 +
*This also means: &nbsp; '''An OVSF code is orthogonal to all other OVSF codes of the same family as long as there are no shifts'''.
 +
 
 +
 
 +
'''Note:''' &nbsp; The&nbsp; (German language)&nbsp; SWF applet&nbsp; [[Applets:OVSF-Codes_(Applet)|"OVSF codes"]]&nbsp; shows the construction algorithm of these codes and the allowed selection of spreading sequences.
 +
 
 +
 
 +
==Exercises for the chapter==
 +
<br>
 +
 
 +
[[Aufgaben:Exercise_5.3:_PACF_of_PN_Sequences|Exercise 5.3: PACF of PN Sequences]]
 +
 
 +
[[Aufgaben:Exercise_5.3Z:_Realization_of_a_PN_Sequence|Exercise 5.3Z: Realization of a PN Sequence]]
  
Weitere Informationen zu diesem Thema sowie Aufgaben, Simulationen und Programmierübungen finden Sie im Kapitel 9 (Programm „stp”) des Praktikums „Simulationsmethoden in der Nachrichtentechnik” am Lehrstuhl für Nachrichtentechnik der TU München. Diese Lehrveranstaltung basiert auf den 24 DOS–Programmen des Lehrsoftwarepaketes LNTsim.
+
[[Aufgaben:Exercise_5.4:_Walsh_Functions_(PCCF,_PACF)|Exercise 5.4: Walsh Functions (PCCF, PACF)]]
  
Herunterladen des Programmpakets LNTsim (Zip–Version)
+
[[Aufgaben:Exercise_5.4Z:_OVSF_Codes|Exercise 5.4Z: OVSF Codes]]
  
Herunterladen der dazugehörigen Texte (PDF–Datei) (PDF–Datei mit Kapitel 9)
 
  
  
 +
==References==
 +
<references/>
  
 
{{Display}}
 
{{Display}}

Latest revision as of 17:37, 23 January 2023

Properties of the correlation functions


Important evaluation criteria for spreading sequences are the correlation functions.

$\text{Definition:}$  Considering two ergodic processes with model functions  $x(t)$  and  $y(t)$,  the following applies to their  $\text{cross-correlation function}$  $\rm (CCF)$:

$$\varphi_{xy}(\tau)=\overline{x(t)\cdot y(t+\tau)}=\lim_{T_{\rm M}\to\infty}\,\frac{1}{T_{\rm M} }\cdot\int^{T_{\rm M}/{\rm 2} }_{-T_{\rm M}/{\rm 2} }x(t)\cdot y(t+\tau)\,\,\rm d \it t.$$

The line crossing over indicates a  "time averaging."


$φ_{xy}(τ)$  is a quantitative measure of the linear statistical dependence of the instantaneous values of model functions  $x(t)$  and  $y(t + τ)$  of the two random processes, and thus serves to describe the statistical relationship between them.  It holds:

  • If  $x(t)$  and  $y(t)$  are uncorrelated,  then  $φ_{xy}(τ) \equiv 0$  $($i.e.,  for all arbitrary values of  $τ)$.
  • In general,  $φ_{xy}(τ)$  is not symmetric,  but the CCF maximum may well occur at  $τ_{\rm max} ≠ 0$. 
  • Then the maximum correlation results from a mutual shift of the two considered signals by the time  $τ_{\rm max}$.


$\text{Definition:}$  If we set  $y(t) = x(t)$ in the above equation,  we arrive at the  $\text{auto-correlation function}$  $\rm (ACF)$

$$ \varphi_{xx}(\tau)=\overline{x(t)\cdot x(t+\tau)}=\lim_{T_{\rm M}\to\infty}\,\frac{1}{T_{\rm M} }\cdot\int^{T_{\rm M}/{\rm 2} }_{-T_{\rm M}/{\rm 2} }x(t)\cdot x(t+\tau)\,\,\rm d \it t$$

with the following properties:

  • The ACF is a measure of the internal statistical bindings of a stationary and ergodic process defined by the model function  $x(t)$. 
  • If  $x(t)$  is real,  then  $φ_{xx}(τ)$  is a real even function:   $φ_{xx}(–τ) = φ_{xx}(τ)$.  Phase relations are thus lost in the ACF.
  • If  $x(t)$  describes a complex process,  then the ACF is also complex.
  • The maximum value of the ACF is at  $τ =0$.  It is always  $\vert φ_{xx}(τ)\vert ≤ φ_{xx}(τ = 0)$,  where  $φ_{xx}(τ =0)$  indicates the signal power  $P_x = {\rm E}\big[x^2(t)\big]$. 
  • The DC component of  $x(t)$  can be determined from the limit value for  $(τ → ∞)$  as long as  $x(t)$  does not contain any periodic components:
$$\overline{ x(t)} = {\rm E}\big[x(t)\big] = \sqrt{\lim_{\tau\to\infty}\,\varphi_{xx} (\tau)} \hspace{0.05cm}.$$


The auto-correlation function and cross-correlation function describe the internal bindings and the mutual statistical dependencies in the time domain.  The corresponding description functions in the frequency domain are


For ergodic processes,  these are obtained as the  $\text{Fourier transforms}$  of ACF and CCF:

$${\it \Phi}_{xx}(f) \hspace{0.2cm} \bullet\!\!-\!\!\!-\!\!\!-\!\!\circ\, \hspace{0.2cm}\varphi_{xx}(\tau)\hspace{0.05cm} ,\hspace{0.3cm} {\it \Phi}_{xy}(f) \hspace{0.2cm} \bullet\!\!-\!\!\!-\!\!\!-\!\!\circ\, \hspace{0.2cm}\varphi_{xy}(\tau)\hspace{0.05cm}.$$


Note:   In the following,  as in the book "Theory of Stochastic Signals",  we write simplifying for the ACF  $φ_x(τ)$  instead of  $φ_{xx}(τ)$  and for the PSD  ${\it Φ}_x(f)$  instead of  ${\it Φ}_{xx}(f)$.

Periodic ACF and CCF


For periodic signals,  the boundary transition can be omitted from the ACF and the CCF calculations,  and the period duration  $T_0$  (which must be the same for both signals) is used to obtain:

$$\begin{align*}\varphi_{x}(\tau) & = \frac{1}{T_{\rm 0}}\cdot\int^{T_0}_{0}x(t)\cdot x(t+\tau)\,\,\rm d \it t\hspace{0.05cm} ,\\ \varphi_{xy}(\tau) & = \frac{1}{T_{\rm 0}}\cdot\int^{T_0}_{0}x(t)\cdot y(t+\tau)\,\,\rm d \it t\hspace{0.05cm}.\end{align*}$$

In this case,  the ACF is also a periodic function,  and it is called the  "periodic auto-correlation function"  $\rm (PACF)$.  This shows the following:

$$\varphi_{x}(\pm T_0) = \varphi_{x}(\pm 2T_0) =\text{ ...} = \varphi_{x}(0) \hspace{0.05cm}.$$

We now apply the above calculation rule to the spreading signal

$$ c(t) = \sum\limits^{+\infty}_{\nu = -\infty}c_\nu\cdot g_c(t - \nu \cdot T_c)$$

assuming a rectangular pulse  $g_c(t)$  of width  $T_c$ ;  $T_c$  is called the  "chip duration".

Considering the periodicity  $(T_0 = P · T_c)$  of the amplitude coefficients  $c_ν ∈ \{±1\}$,  the discrete ACF values at multiples $($integer parameter $λ)$  of  $T_c$ are obtained:

$$\varphi_{c}(\lambda \cdot T_c) = \frac{1}{P}\cdot\sum\limits^{P-1}_{\nu = 0} c_\nu \cdot c_{\nu+ {\it \lambda} }\hspace{0.05cm}.$$
  • The maximum PACF value is obtained for  $λ = 0$  and for multiples of the period length  $P$.
  • Due to the rectangular pulse  $g_c(t)$,  the PACF progression between two samples  $λ · T_c$  and  $(λ + 1) · T_c$  is always linear.
  • Accordingly, the  "periodic cross-correlation function"  $\rm (PCCF)$  between two spreading sequences  $〈c_ν〉$  and  $〈c\hspace{0.04cm}'_ν〉$  of equal period length  $P$  is given as follows:
$$\varphi_{cc\hspace{0.04cm}'}(\lambda \cdot T_c) = \frac{1}{P}\cdot\sum\limits^{P-1}_{\nu = 0} c_\nu \cdot c\hspace{0.04cm}'_{\nu+ \lambda }\hspace{0.05cm}.$$



Evaluation criteria for PN spreading sequences


The quality of a CDMA system based on PN modulation depends significantly on the PACF and PCCF properties of the spreading sequences used.  In summary:

  • The PACF of the spreading code class used should be characterized by a pronounced peak at  ${\it λ} = 0$,  if possible,  in order to make synchronization at the receiver easy.  Moreover,  for multipath reception with an echo of delay difference  $λ · T_c$,  the smaller  $|φ_c(λ · T_c)|$  is,  the smaller is the degradation due to intersymbol interference.
  • The disruptive influence of interfering CDMA subscribers can be estimated by the PCCF value  $φ_{cc\hspace{0.04cm}'} (λ = 0)$.  If this is equal to zero,  one speaks of   "orthogonal functions".  The error probability is not increased in this case.  If all spreading sequences are orthogonal,  then even if there are  $J$  participants,  the error probability is the same as if there were only one user.
  • This last statement is of particular importance in synchronous systems with distortion-free channel  (for example,  in AWGN).   On the other hand,  in asynchronous operation or multipath reception,  "de-orthogonalization"  occurs and the stricter requirement that the PCCF between each sequence should take on the smallest possible values  (in terms of magnitude)  at all times.


When selecting code families for a CDMA system,  care must also be taken to ensure that as many encoded sequences as possible with favorable properties with respect to these three criteria can be found for a given spreading factor  $J = P$,  so that as many subscribers as possible can be supplied simultaneously in the same frequency band.

Pseudo-noise sequences of maximum length


A feedback shift register can be used to generate a sequence with favorable ACF properties if the feedback coefficients  $g_i$  with index  $i = 1, \text{...} \ , G-1$  are chosen appropriately.  

PN generator  (realization with shift registers)
Polynomials of M-sequences with degree  $G$
  • The sequence $〈c_ν〉$  is not random in the strict sense,  but periodic.  
  • However,  due to the large period length  $P$  it appears stochastic to an uninitiated observer. 
  • One speaks of a  »pseudo–noise sequence«  or  "PN sequence" for short.



$\text{PN generators}$  have the following properties,  see chapter  "Generation of Discrete Random Variables"  in the book "Theory of Stochastic Signals":

  • The binary values  $c_{ν-1}, \text{...} \ , c_{ν-G}$  generated at earlier times are stored in the  $G$  memory cells of the shift register.  We refer to  $G$  as the  "degree of the shift register".
  • The coefficients  $g_1, \ \text{...} \ , g_{G-1}$  are binary values,  where a  "1"  indicates a feedback at the corresponding location of the shift register and a  "0"  indicates no feedback.
  • For the currently generated symbol,  with  $g_i ∈ \{0, 1\}$  and  $i = 1,\ \text{...}\ , G-1$:
$$c_\nu = (g_1\cdot c_{\nu-1}+g_2\cdot c_{\nu-2}+\ \text{...}\ +g_i\cdot c_{\nu-i}+\ \text{...}\ +g_{G-1}\cdot c_{\nu-G+1}+ c_{\nu-G})\hspace{0.1cm} \rm mod \hspace{0.2cm}2.$$
  • The modulo-2 addition can be realized for example by an  $\rm XOR$  operation:
$$(x + y)\hspace{0.2cm} \rm mod\hspace{0.2cm}2 = {\it x}\hspace{0.2cm}\rm XOR\hspace{0.2cm} {\it y} = \left\{ \begin{array}{*{2}{c}} 0 & \rm if\hspace{0.1cm} {\it x}= {\it y},\\ 1 & \rm if\hspace{0.1cm} {\it x}\neq {\it y}. \\ \end{array} \right.$$
  • If not all  $G$  memory cells are preallocated with zeros,  the result is a periodic random sequence  $〈c_ν〉$.  The period length  $P$  of this sequence depends strongly on the feedback coefficients  $g_i$. 
  • For each degree  $G$  there are at least two configurations with the maximum period  $P_{\rm max} = 2^G – 1$  for this.


In the table on the right,  for some values of  $G$,  the generator polynomial  $G(D)$  of such an M-sequence and the corresponding  (maximum)  period length  $P$  are given,  where  "M"  stands for  "Maximum".  In the following the statements made here are clarified at the example  $G = 4$. 


$\text{Example 1:}$  The diagram shows two possible arrangements for generating a PN sequence of maximum length for  $G = 4$   ⇒   $P = 15$.

PN generators of degree  $G = 4$
PACF of a PN sequence of maximum length  $P = 2^G – 1$
  • The octal representation of the binary number  $(g_G, \ \text{...} \ ,g_2, g_1, g_0)$  is usually chosen as the abbreviation.  Basically  $g_0 = g_G = 1$  is to be set.
  • For the left generator:  $\rm (11001)_{binary} = (31)_{octal}$.  The corresponding generator polynomial is:
$$G_1(D) = D^4 + D^3 +1\hspace{0.05cm}.$$
  • For the right generator:  $\rm (10011)_{binary} = (23)_{octal}$.  This generator can be described by the polynomial
$$G_2(D) =D^4 + D +1 \hspace{0.05cm}.$$
  • The polynomial  $G_2(D)$  is reciprocal to  $G_{\rm 1}(D)$:
$$G_{\rm 2}(D) = D^4 \cdot (D^{-4} + D^{-3} +1) =D^4 + D +1 \hspace{0.05cm}.$$

Since both  $G_1(D)$  and  $G_{\rm 2}(D)$  are  $\text{primitive generator polynomials}$    (the proof for this is not easy),  both output sequences have the maximum period length  $P = 15$  for  $G = 4$.

As shown in  "Exercise 5.3",  the PACF in unipolar representation   ⇒   $c_ν ∈ \{0, 1\}$  results in

$${\it \varphi}_{c{\rm ,\hspace{0.15cm}unipolar} }(\lambda \cdot T_c) = \left\{ \begin{array}{c}(P+1)/(2P) \\ (P+1)/(4P) \\ \end{array} \right. \begin{array}{*{10}c} \ \ {\rm{for} }\ \lambda = 0, \pm P, \pm 2P, \text{...} \hspace{0.05cm} \\ {\rm{otherwise} } \hspace{0.05cm}. \\ \end{array}$$

After conversion to bipolar coefficients  $(0 \ ⇒ +1$,     $1 \ ⇒ -1)$,  we obtain:

$${\it \varphi}_{c{\rm ,\hspace{0.15cm}bipolar} }(\lambda \cdot T_c) = \left\{ \begin{array}{c}1 \\ -P \\ \end{array} \right. \begin{array}{*{10}c} \ \ {\rm{for} }\ \lambda = 0, \pm P, \pm 2P, \text{...} \hspace{0.05cm} \\ {\rm{otherwise} } \hspace{0.05cm}. \\ \end{array}$$


Code families with M-sequences


In CDMA,  a specific spreading sequence of the same period length is required for each subscriber.  A  »code family«  is defined as a set  (as large as possible)  of spreading sequences of the same period length  $P$,  each valid for a register level  $G$.

The table shows that the number of PN sequences of maximum length is very small. For the degree  $G = 5$   ⇒   $P = 31$,  for example,  there are just six M-sequences,  namely the PN generators with the octal identifiers  $(45), (51), (57), (67), (73)$  and  $(75)$.

M-sequence code family – powerfullness

Furthermore, the term  »powerfulness«  of the code family can also be found in the literature.

  • This quantity indicates how many M-sequences and thus simultaneous CDMA subscribers are possible if it is required that all code pairs have  "favorable PCCF properties".
  • For reasons of space,  it cannot be explicitly stated here what exactly is meant by  "favorable".  For this,  we refer to the original literature,  for example [ZP85][1].


The last row in the above table makes it clear that the powerfulness of M-sequence code families is extremely limited,  even if  $G$  is large and thus the period length  $P$ is large, too.  If  $G$  is a multiple of  $4$   ⇒   $P = 15$,  $P = 255$,  $P = 4095$ etc.,  there are essentially no favorable pairs.

Gold Codes


To obtain larger code families than with M-sequences,  the requirements for the periodic cross-correlation function  $\rm (PCCF)$  must be weakened.  With this restriction,  code families with a much greater powerfulness are obtained,  so that more CDMA subscribers can also be supplied.

Gold codes use this principle.  The rule for generating a  »Gold code family«   $\rm (GCF)$  is where a  "+"  denotes a modulo-2 addition:

$${\rm GCF}(C_1,\ C_2) = \{ C_1,\ C_2,\ C_1 + C_2,\ C_1 + D \cdot C_2,\ C_1 + D^2 \cdot C_2, \ \text{...} \ ,\ C_1 + D^{P-1} \cdot C_2 \} \hspace{0.05cm}.$$
Gold code generator  $(51, 75)$  of degree  $G = 5$

The principle is illustrated in the diagram by an example:

  • The sequences  $C_1$  and  $C_2$  are a convenient pair of  "M-sequences"  of the same period length,  for example,  the PN generators with the octal identifiers  $(51)$  and  $(75)$  of degree  $G = 5$  and thus the period length  $P = 31$.
  • The Gold code family consists,  on the one hand,  of the  "M-sequences"  $C_1$  and  $C_2$  and of some modulo-2 additions of these sequences.   $C_1$  is used with a fixed phase  (characterized by the preallocation of all memory cells with ones),  while all  $P$  possible initial phases are permissible for the sequence  $C_2$  (all preallocations except the zero allocation).
  • If such a code family is used for CDMA,  a total of  $K_{\rm GCF} = P + 2 = 2^G + 1$  sequences are available.  However,  the PACF of these sequences is now no longer bivalent like the two PN sequences   $(+1$  and  $-1/31)$, but quadrivalent  $(+1$,  $+7/31$,  $-1/31$,  $-9/31)$.  The phase of  $C_2$  changes the specific progression,  but not the possible PACF values.


Gold codes are used for scrambling in UMTS,  for example,  as explained in the chapter  "Spreading codes and scrambling with UMTS"  in the book "Examples of Communication Systems".

  • The two master code shift registers are each constructed with  $G = 18$  memory cells.
  • This results in the period length  $P = 262\hspace{0.05cm} 143$.

Walsh functions


Spreading sequences with very favorable PCCF properties are the so-called  »Walsh functions«,  whose construction is based on the  »Hadamard matrix«  and can be performed in a simple way by recursion.  Starting from the matrix  $\mathbf H_2$,  further Hadamard matrices  $\mathbf H_{2J}$  can be generated as follows:

Walsh spreading sequences  $(J = 8)$  and Hadamard matrix  $\mathbf H_8$ 
$${\mathbf{H}_{2}} = \left[ \begin{array}{ccc} +1 & +1 \\ +1 & -1 \end{array} \right] \hspace{0.5cm} \Rightarrow \hspace{0.5cm}{\mathbf{H}_{2J}} = \left[ \begin{array}{ccc} \mathbf{H}_J & \mathbf{H}_J \\ \mathbf{H}_J & -\mathbf{H}_J \end{array} \right] $$
$$\hspace{0.5cm} \Rightarrow \hspace{0.5cm} {\mathbf{H}_{4}} = \left[ \begin{array}{cccc} +1 & +1 & +1 & +1 \\ +1 & -1 & +1 & -1 \\ +1 & +1 & -1 & -1 \\+1 & -1 & -1 & +1 \end{array} \right] .$$

The  $J$  rows of such a matrix describe the  $J$  possible spreading sequences  $($each of length  $J)$,  which are numbered  $w_0(t)$  to  $w_{J–1}(t)$. 

The diagram shows the Hadamard matrix  $\mathbf H_8$  (right) and the $J -1$  spreading sequences that can be constructed with it.

  • $J - 1$ because the sequence  $w_0(t)$  without spreading effect is usually not used.
  • Please note the color allocation between the rows of the Hadamard matrix and the spreading sequence  $w_j(t)$  in the graphic. The matrix  $\mathbf H_4$  is highlighted in yellow.
  • The HTML5/JavaScript applet  "Generation of Walsh functions"  shows the construction algorithm of such sequences.


Further applies:

  1.  If one takes any two lines and forms the correlation  (averaging over the products),  the PCCF value always results in zero.  Thus,  Walsh functions for a distortion-free channel and a synchronous CDMA system are optimal spreading sequences due to their orthogonality.
  2.  In contrast,  for asynchronous operation  (example: uplink of a mobile radio system)  or de-orthogonalization due to multipath propagation,  Walsh functions alone are not necessarily suitable for band spreading - see  "Exercise 5.4".
  3.  Regarding PACF  (periodic ACF),  these consequences are less good:   Each single Walsh function has a different PACF and each single PACF is less favorable than for a comparable PN sequence.  This means:   Synchronization is more difficult with Walsh functions than with PN sequences.

Codes with variable spreading factor (OVSF codes)


The 3G mobile communications system $\text{UMTS}$  provides various data rates.  For this purpose

  • spreading sequences with different spreading factors  $J = 4$  to  $J = 512$  are required,
  • which must all be orthogonal to each other.
Tree diagram for generating an OVSF code


The so-called  »OVSF codes«  ("Orthogonal Variable Spreading Factor")  can be created with the help of a code tree.  Thereby two new codes  $(+C \ +\hspace{-0.05cm}C)$  and  $(+C \ -\hspace{-0.05cm}C)$  are created at each branching from a code  $C$,  as indicated in the graphic above right.

It should be noted that no predecessor and successor of a code may be used by other participants.  In this example,  the following selection could therefore be made  (among others):

  • eight codes with the spreading factor  $J = 8$,  or
  • the four highlighted codes – once with  $J = 2$, once with  $J = 4$  and twice with  $J = 8$.


In the second case, the other six  $J = 8$  codes cannot be used because they begin with  "$+1 \ +\hspace{-0.05cm}1$"  or with  "$+1 \ -\hspace{-0.05cm}1 \ +\hspace{-0.05cm}1 \ -\hspace{-0.05cm}1$". 

From the four spreading sequences in the graphic at the bottom right,  it can be seen that with a constant chip duration  $T_c$,  the user with spreading factor  $J = 2$  can transmit at a higher data rate than the users with  $J = 4$  or  $J = 8$ because his bit duration  $T_{\rm B}$  is smaller.

From the graph,  we can further see that the periodic cross-correlation function  $\rm (PCCF)$  is always zero at the point  $τ = 0$. 

  • That means:   If one forms the product of any two of these sequences and integrates over the represented time range, the value  $0$  always results.
  • This also means:   An OVSF code is orthogonal to all other OVSF codes of the same family as long as there are no shifts.


Note:   The  (German language)  SWF applet  "OVSF codes"  shows the construction algorithm of these codes and the allowed selection of spreading sequences.


Exercises for the chapter


Exercise 5.3: PACF of PN Sequences

Exercise 5.3Z: Realization of a PN Sequence

Exercise 5.4: Walsh Functions (PCCF, PACF)

Exercise 5.4Z: OVSF Codes


References

  1. Ziemer, R.; Peterson, R. L.:  Digital Communication and Spread Spectrum Systems. New York: McMillon, 1985.