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

From LNTwww
 
(68 intermediate revisions by 7 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
 
}}
 
}}
==Eigenschaften 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 [[Stochastische_Signaltheorie/Kreuzkorrelationsfunktion_und_Kreuzleistungsdichte#Definition_der_Kreuzkorrelationsfunktion|Kreuzkorrelationsfunktion]] (KKF) der beiden Prozesse:
+
<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.''
 
  
$φ_{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:
+
{{BlaueBox|TEXT=
*Sind $x(t)$ und $y(t)$ unkorreliert, so ist $φ_{xy}(τ) \equiv 0$ (also für alle beliebigen Werte von $τ$).
+
$\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)$:
*Im allgemeinen ist $φ_{xy}(τ)$ nicht symmetrisch, sondern das KKF–Maximum kann auch durchaus bei  $τ_{\rm max} ≠ 0$ auftreten.
+
:$$\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.$$
*Dann ergibt sich die maximale Korrelation durch eine gegenseitige Verschiebung der beiden betrachteten Signale um die Zeit $τ_{\rm max}$.  
+
The line crossing over indicates a &nbsp;"time averaging."}}
  
  
Setzt man in obiger Gleichung $y(t) = x(t)$, so kommt man zur [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)|Autokorrelationsfunktion]] (AKF)
+
$φ_{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:
:$$ \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$$
+
*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;$τ)$.  
mit folgenden Eigenschaften:  
+
*In general, &nbsp;$φ_{xy}(τ)$&nbsp; is not symmetric,&nbsp; but the CCF maximum may well occur at &nbsp;$τ_{\rm max} ≠ 0$.&nbsp;
*Die AKF ist ein Maß für die inneren statistischen Bindungen eines durch die Musterfunktion $x(t)$ festgelegten stationären und ergodischen Prozesses.
+
*Then the maximum correlation results from a mutual shift of the two considered signals by the time &nbsp;$τ_{\rm max}$.  
*Ist $x(t)$ reell, so ist $φ_{xx}(τ)$ eine reelle gerade Funktion: &nbsp; $φ_{xx}(–τ) = φ_{xx}(τ)$. Phasenbeziehungen gehen in der AKF verloren.  
 
*Beschreibt $x(t)$ einen komplexen Prozesse, so ist auch die AKF komplex.  
 
*Der Maximalwert der AKF liegt bei $τ =0$. Es gilt stets $|φ_{xx}(τ)| ≤ φ_{xx}(0),$ wobei $φ_{xx}(0)$ die Signalleistung $P_x = {\rm E}[x^2(t)]$ angibt.  
 
*Der Gleichanteil von $x(t)$ kann aus dem Grenzwert für  $(τ → ∞)$ ermittelt werden, so lange $x(t)$ keine periodischen Anteile beinhaltet:
 
:$$\overline{ x(t)} =  {\rm E}[x(t)] = \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
+
{{BlaueBox|TEXT=
*das [[Stochastische_Signaltheorie/Leistungsdichtespektrum_(LDS)|Leistungsdichtespektrum]] ${\it Φ}_{xx}(f)$, sowie
+
$\text{Definition:}$&nbsp;
*das [[Stochastische_Signaltheorie/Kreuzkorrelationsfunktion_und_Kreuzleistungsdichte#Kreuzleistungsdichtespektrum|Kreuzleistungsdichtespektrum]] ${\it Φ}_{xy}(f)$.
+
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)$
 +
:$$ \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 &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}.$$}}
  
  
Bei ergodischen Prozessen ergeben sich diese als die [[Signaldarstellung/Fouriertransformation_und_-rücktransformation#Fouriertransformation|Fouriertransformierten]] von AKF und KKF:
+
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
 +
*the &nbsp;[[Theory_of_Stochastic_Signals/Power-Spectral_Density|$\text{power-spectral density}$]]&nbsp; ${\it Φ}_{xx}(f)$, as well as
 +
*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)$.
 +
 
 +
 
 +
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}.$$
  
''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)$.
 
  
==Periodische AKF und KKF==
+
'''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)$.
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):  
+
 
$$\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}.$$
 +
 
 +
 
 +
  
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.  
+
==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.
  
Herunterladen des Programmpakets LNTsim (Zip–Version)
 
  
Herunterladen der dazugehörigen Texte (PDF–Datei) (PDF–Datei mit Kapitel 9)
+
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.
  
==Beurteilungskriterien für PN–Spreizfolgen==
+
==Pseudo-noise sequences of maximum length==
Die Qualität eines auf PN–Modulation basierenden CDMA–Systems hängt signifikant von den PAKF– und PKKF–Eigenschaften der verwendeten Spreizfolgen ab. Zusammenfassend kann man sagen:
+
<br>
*Die PAKF der verwendeten Spreizcodeklasse sollte möglichst durch einen ausgeprägten Peak bei $λ =$ 0 gekennzeichnet sein, um die Synchronisation beim Empfänger einfach gestalten zu können. Bei Mehrwegeempfang mit einem Echo der Laufzeitdifferenz $λ · T_c$ ist zudem die Degradation aufgrund von Impulsinterferenzen um so geringer, je kleiner $|φ_c(λ · T_c)|$ ist.
+
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;
*Der störende Einfluss interferierender CDMA–Teilnehmer lässt sich durch den PKKF–Wert $φ_{cc'} (λ =$ 0) abschätzen. Ist dieser gleich 0, so spricht man von ''orthogonalen Funktionen''. Die Fehlerwahrscheinlichkeit wird in diesem Fall nicht erhöht. Sind alle Spreizfolgen orthogonal, so ergibt sich auch bei $J$ Teilnehmern die gleiche Fehlerwahrscheinlichkeit wie bei nur einem Nutzer.  
+
[[File:EN_Mod_T_5_3_S4.png|right|frame|PN generator&nbsp; (realization with shift registers)]]
*Diese letzte Aussage ist in synchronen Systemen mit verzerrungsfreiem Kanal (z.B. AWGN) von besonderer Bedeutung. Bei asynchronem Betrieb oder Mehrwegeempfang kommt es dagegen zu einer ''De–Orthogonalisierung'' und der strengeren Forderung, dass die PKKF zwischen den einzelnen Folgen zu allen Zeitpunkten (betragsmäßig) möglichst kleine Werte annehmen soll.
+
[[File:EN_Mod_T_5_3_S4b.png|right|frame| Polynomials of M-sequences with degree&nbsp; $G$]]
*Bei der Auswahl von Codefamilien für ein CDMA–System ist weiter darauf zu achten, dass bei gegebenem Spreizgrad $J = P$ möglichst viele Codefolgen mit günstigen Eigenschaften hinsichtlich der obigen drei Punkte gefunden werden können, um somit auch möglichst viele Teilnehmer gleichzeitig im gleichen Frequenzband versorgen zu können.  
+
 +
*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.  
  
==PN–Folgen maximaler Länge (1)==
+
<br><br> 
Mit einem rückgekoppelten Schieberegister lässt sich eine Folge mit günstigen AKF–Eigenschaften erzeugen, wenn man die Rückführungskoeffizienten $g_i, i = 1, ... , G–1$ wählt. Die Folge $〈c_ν〉$ ist im strengen Sinne nicht zufällig, sondern periodisch. Aufgrund der großen Periodenlänge $P$ erscheint sie aber für einen unbedarften Betrachter als stochastisch. Man spricht von einer PN–Folge (Pseudo Noise).  
+
$\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;
  
[[File:P_ID1876__Mod_T_5_3_S4a_neu.png | PN–Generator (Realisierung mit Schieberegister)]]
+
*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.
  
  
PN–Generatoren haben folgende Eigenschaften, siehe Buch [[Stochastische Signaltheorie]], Kapitel 2.5: 
+
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;
*Die zu früheren Zeitpunkten generierten Binärwerte $c_{ν–1}, ... , c_{ν–G}$ sind in den $G$ Speicherzellen des Schieberegisters abgelegt. Man bezeichnet $G$ als den ''Grad'' des Schieberegisters.
 
*Die Koeffizienten $g_1, ... , g_{G–1}$ sind Binärwerte, wobei eine „1” eine Rückkopplung an der entsprechenden Stelle des Schieberegisters kennzeichnet und eine „0” keine Rückführung.
 
*Für das aktuell erzeugte Symbol gilt mit $g_i ∈$ {0, 1} und $i = 1, ... , G–1$:
 
$$c_\nu = (g_1\cdot c_{\nu-1}+g_2\cdot c_{\nu-2}+...+g_i\cdot c_{\nu-i}+...+g_{G-1}\cdot c_{\nu-G+1}+ c_{\nu-G})\hspace{0.1cm} \rm mod \hspace{0.2cm}2.$$
 
*Die Modulo–2–Addition kann zum Beispiel durch eine XOR–Verknüpfung realisiert werden:
 
$$(x + y)\hspace{0.1cm} \rm mod\hspace{0.1cm}2 = {\it x}\hspace{0.1cm}\rm XOR\hspace{0.1cm} {\it y} = \left\{          \begin{array}{*{2}{c}}          0 & \rm falls\hspace{0.1cm} {\it x}= {\it y},\\          1 & \rm falls\hspace{0.1cm} {\it x}\neq {\it y}. \\              \end{array}    \right.$$
 
*Sind nicht alle $G$ Speicherzellen mit Nullen vorbelegt, so entsteht eine periodische Zufallsfolge $〈c_ν〉$. Die Periodenlänge $P$ dieser Folge hängt stark von den Rückkopplungskoeffizienten $g_i$ ab.
 
  
  
[[File:P_ID1877__Mod_T_5_3_S4b.png | Generatorpolynome von M–Sequenzen, G: Grad | rechts]]
+
{{GraueBox|TEXT=
*Für jeden Grad $G$ gibt es zumindest zwei Konfigurationen mit der hierfür maximalen Periodenlänge $P_{\rm max} = 2^G – 1$.
+
$\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.
  
In nebenstehender Tabelle sind für einige Werte von $G$ das Generatorpolynom $G(D)$ einer solchen $M$–Sequenz und die dazugehörige (maximale) Periodenlänge $P$ angegeben, wobei das „M” für „Maximal” steht. Im nächsten Abschnitt werden die hier gemachten Aussagen am Beispiel $G =$ 4 verdeutlicht.
+
*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}.$$
  
==PN–Folgen maximaler Länge (2)==
+
*For the right generator:&nbsp; $\rm (10011)_{binary} = (23)_{octal}$.&nbsp; This generator can be described by the polynomial
Die Grafik zeigt zwei mögliche Anordnungen zur Erzeugung einer PN–Folge maximaler Länge für $G =$ 4 ⇒ $P =$ 15. Als Kurzbezeichnung wird meist die ''Oktaldarstellung'' der Binärzahl $(g_G, ... g_2, g_1, g_0)$ gewählt, wobei grundsätzlich $g_0 = g_G =$ 1 anzusetzen ist. Für die linke Konfiguration erhält man $\rm (11001)_{binär} = (31)_{oktal}$, das dazugehörige Generatorpolynom lautet
+
:$$G_2(D) =D^4 + D +1 \hspace{0.05cm}.$$  
$$G(D) = D^4 + D^3 +1\hspace{0.05cm}.$$
+
*The polynomial&nbsp; $G_2(D)$&nbsp; is reciprocal to &nbsp;$G_{\rm 1}(D)$:  
Die rechte Anordnung mit $\rm (10011)_{binär} = (23)_{oktal}$ ist dagegen durch das zu $G(D)$ reziproke Polynom $G_{\rm R}(D)$ beschreibbar:  
+
:$$G_{\rm 2}(D) = D^4 \cdot  (D^{-4}  + D^{-3} +1) =D^4 + D +1 \hspace{0.05cm}.$$
$$G_{\rm R}(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}$$
  
[[File:P_ID1878__Mod_T_5_3_S4c_ganz_neu.png | PN–Generatoren vom Grad G = 4]]
+
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;}}
  
  
Da sowohl $G(D)$ als auch $G_{\rm R}(D)$ primitive Generatorpolynome darstellen (der Nachweis hierfür ist nicht einfach), haben beide Ausgangsfolgen die für $G =$ 4 maximale Periodenlänge $P =$ 15. Wie in Aufgabe A5.3 gezeigt wird, ergibt sich die PAKF in der unipolaren Darstellung  ⇒  $c_ν ∈$ {0, 1} zu
 
$${\it \varphi}_{c{\rm ,\hspace{0.05cm}unipolar}}(\lambda \cdot T_c) = \left\{ \begin{array}{c}(P+1)/(2P) \\ (P+1)/(4P) \\  \end{array} \right. \begin{array}{*{10}c}    {\rm{f\ddot{u}r}} \\  {\rm{sonst}} \hspace{0.05cm}.  \\ \end{array}\begin{array}{*{20}c} \lambda = 0, \pm P, \pm 2P, ... \hspace{0.05cm} \\ \\ \end{array}$$
 
Nach Umsetzung in bipolare Amplitudenkoeffizienten (0  ⇒  +1, 1  ⇒  –1) erhält man
 
$${\it \varphi}_{c{\rm ,\hspace{0.05cm}bipolar}}(\lambda \cdot T_c) = \left\{ \begin{array}{c}1 \\
 
-P \\  \end{array} \right. \begin{array}{*{10}c}    {\rm{f\ddot{u}r}} \\  {\rm{sonst.}} \hspace{0.05cm}  \\ \end{array}\begin{array}{*{20}c} \lambda = 0, \pm P, \pm 2P, ... \hspace{0.05cm} \\ \\ \end{array}$$
 
Man erkennt aus der unteren Skizze die gewünschten ausgeprägten PAKF–Peaks. Weniger gut sind die Kreuzkorrelationseigenschaften der PN–Sequenzen, wie im Kapitel 5.4 noch gezeigt werden wird.
 
  
 +
==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$.
  
[[File: P_ID1879__Mod_T_5_3_S4d_ganz_neu.png | PAKF einer PN–Sequenz maximaler Länge (P = (2^G) – 1)]]
+
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)$.
  
==Codefamilien mit M–Sequenzen==
+
[[File:EN_Mod_T_5_3_S5neu_v2.png|right|frame| M-sequence code family &ndash; powerfullness]]
Bei CDMA wird für jeden Teilnehmer eine spezifische Spreizfolge gleicher Periodenlänge $P$ benötigt. Als Codefamilie bezeichnet man eine (möglichst große) Menge an Spreizsequenzen gleicher Periodenlänge $P$, gültig jeweils für einen Registergrad $G$.  
 
  
Die Tabelle zeigt, dass die Anzahl von PN–Sequenzen maximaler Länge sehr gering ist. Beispielsweise gibt es für den Grad $G =$ 5  ⇒  $P =$ 31 gerade einmal sechs $M$–Sequenzen, nämlich die PN–Generatoren mit den Oktalkennungen (45), (51), (57), (67), (73) und (75).  
+
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>. 
  
  
[[File:P_ID1880__Mod_T_5_3_S5_neu.png | Mächtigkeit von M–Sequenz–Codefamilien]]
+
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.
  
Des Weiteren ist in der Literatur auch der Begriff Mächtigkeit der Codefamilie zu finden. Diese Größe gibt an, wie viele $M$–Sequenzen und damit gleichzeitige CDMA–Teilnehmer möglich sind, wenn man fordert, dass alle Codepaare „günstige PKKF–Eigenschaften” aufweisen. Aus Platzgründen kann hier nicht explizit ausgeführt werden, was man unter „günstig” genau zu verstehen hat. Hierzu sei auf die Originalliteratur verwiesen, z.B. [ZP85]<ref>Ziemer, R.; Peterson, R. L.: ''Digital Communication and Spread Spectrum Systems.'' New York: McMillon, 1985.</ref>.  
+
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;$(5175)$&nbsp; of degree &nbsp;$G = 5$]]
  
Die letzte Zeile in obiger Tabelle macht deutlich, dass die Mächtigkeit von $M$–Sequenz–Codefamilien äußerst beschränkt ist, auch bei großem $G$ und damit großer Periodenlänge $P$. Ist $G$ ein Vielfaches von 4 ⇒  $P =$ 15, $P =$ 255, $P =$ 4095 usw., so gibt es grundsätzlich keine günstigen Paare.  
+
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==
 
Um größere Codefamilien zu erhalten, als es mit $M$–Sequenzen möglich ist, müssen die Anforderungen an die PKKF abgeschwächt werden. Mit dieser Einschränkung erhält man aber Codefamilien mit einer weitaus größeren Mächtigkeit, so dass auch mehr CDMA–Teilnehmer versorgt werden können.
 
  
 +
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$.
  
[[File:P_ID1881__Mod_T_5_3_S6_neu.png | Gold–Codegenerator (51, 75)  vom Grad G = 5]]
+
==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;
  
Gold–Codes verwenden dieses Prinzip. Die Vorschrift zur Erzeugung einer Gold–Code–Familie (GCF) lautet, wobei ein „+” eine Modulo–2–Addition bezeichnet:
+
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.
$$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, ... ,
+
*$J - 1$ because the sequence &nbsp;$w_0(t)$&nbsp; without spreading effect is usually not used.
C_1 + D^{P-1} \cdot C_2 \} \hspace{0.05cm}.$$
+
*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.
  
Das Prinzip ist in der obigen Grafik an einem Beispiel dargestellt:
 
*Die Folgen $C_1$ und $C_2$ sind ein günstiges Paar von $M$–Sequenzen gleicher Periodenlänge, zum Beispiel die PN–Generatoren mit den Oktalkennungen (51) und (75) vom Grad $G =$ 5 und damit der Periodenlänge $P =$ 31.
 
*Die GC–Familie besteht zum einen aus den $M$–Sequenzen $C_1$ und $C_2$ sowie aus verschiedenen Modulo–2–Additionen dieser Folgen. Dabei wird $C_1$ mit fester Phase (gekennzeichnet durch die Vorbelegung aller Speicherzellen mit Einsen) verwendet, während für die Folge $C_2$ alle $P$ möglichen Anfangsphasen zulässig sind (alle Vorbelegungen außer der Nullbelegung).
 
*Verwendet man eine solche Codefamilie für CDMA, so stehen insgesamt $K_{\rm GCF} = P + 2 = 2^G + 1$ Folgen zur Verfügung. Die PAKF dieser Folgen ist nun aber nicht mehr zweiwertig wie die beiden PN–Sequenzen (+1 bzw. –1/31), sondern vierwertig (+1, +7/31, –1/31, –9/31). Durch die Phase von $C_2$ ändert sich zwar der spezifische Verlauf, aber nicht die möglichen PAKF–Werte.
 
  
 +
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.
  
Gold–Codes werden zum Beispiel bei UMTS zur Verwürfelung herangezogen, wie im Kapitel 4.3 des Buches „Beispiele von Nachrichtensystemen” ausgeführt ist. Die beiden Muttercode–Schieberegister sind dabei jeweils mit $G =$ 18 Speicherzellen aufgebaut. Damit ergibt sich die Periodenlänge $P =$ 262 143.  
+
==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.  
  
==Walsh–Funktionen==
+
[[File:P_ID1883__Mod_T_5_3_S8_neu.png|right|frame | Tree diagram for generating an OVSF code]]
Spreizfolgen mit sehr günstigen PKKF–Eigenschaften sind die so genannten Walsh–Funktionen, deren Konstruktion auf der Hadamard–Matrix basiert und durch Rekursion in einfacher Weise durchführbar ist. Ausgehend von der Matrix $\mathbf H_2$ können weitere Hadamard–Matrizen $\mathbf H_{2J}$ wie folgt generiert werden:
+
<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.
$${\mathbf{H}_{2}} =  \left[ \begin{array}{ccc} +1 & +1 \\ +1 & -1 \end{array} \right] \hspace{0.1cm} \Rightarrow \hspace{0.1cm}{\mathbf{H}_{2J}} =  \left[ \begin{array}{ccc} \mathbf{H}_J & \mathbf{H}_J \\ \mathbf{H}_J & -\mathbf{H}_J \end{array} \right] \hspace{0.1cm} \Rightarrow \hspace{0.1cm}
 
{\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] .$$
 
Die $J$ Zeilen einer solchen Matrix beschreiben die $J$ möglichen Spreizfolgen (jeweils der Länge $J$), die zur Kennzeichnung von $w_0(t)$ bis $w_{J–1}(t)$ durchnummeriert werden. Die Grafik zeigt die Hadamard–Matrix $\mathbf H_8$ (rechts) und die damit $J$ –1 konstruierbaren Spreizfolgen. $J$ –1 deshalb, da die ungespreizte Folge $w_0(t)$ meist nicht verwendet wird. Beachten Sie bitte in der Grafik die farbliche Zuordnung zwischen den Zeilen der Hadamard–Matrix und den Spreizfolgen $w_j(t)$. Die Matrix $\mathbf H_4$ ist gelb hinterlegt.  
 
  
 +
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$.
  
[[File:P_ID1882__Mod_T_5_3_S7_neu.png | Walsh–Spreizfolgen (J = 8) und Hadamard–Matrix H_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;
  
Die Animation Walsh–Funktionen zeigt den Konstruktionsalgorithmus solcher Folgen. Weiter gilt:
+
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.
*Nimmt man zwei beliebige Zeilen und bildet die Korrelation (Mittelung über die Produkte), so ergibt sich stets der PKKF–Wert 0. Somit sind Walsh–Funktionen für einen verzerrungsfreien Kanal und ein synchrones CDMA–System aufgrund ihrer Orthogonalität optimale Spreizfolgen.
 
*Bei asynchronem Betrieb (Beispiel: Uplink eines Mobilfunksystems) oder De–Orthogonalisierung aufgrund von Mehrwegeausbreitung sind dagegen Walsh–Funktionen allein zur Bandspreizung nicht unbedingt geeignet – siehe Aufgabe A5.4
 
*Hinsichtlich PAKF sind diese Folgen weniger gut: Jede einzelne Walsh–Funktion hat eine andere PAKF und jede einzelne PAKF ist ungünstiger als bei einer vergleichbaren PN–Sequenz. Das bedeutet: Die Synchronisierung ist bei Walsh–Funktionen schwieriger als mit PN–Sequenzen.  
 
  
==Codes mit variablem Spreizfaktor (OVSF–Code)==
+
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;
Das 3G–Mobilfunksystem UMTS  stellt verschiedene Datenraten zur Verfügung. Hierzu werden
+
*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.
*Spreizfolgen mit unterschiedlichen Spreizfaktoren $J =$ 4 bis $J =$ 512 benötigt,
+
*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'''.
*die aber wiederum zueinander orthogonal sein müssen.  
 
  
  
Die so genannten OVSF–Codes (''Orthogonal Variable Spreading Factor'') können, wie in der Grafik zu sehen ist, mit Hilfe eines Codebaumes erstellt werden. Dabei entstehen bei jeder Verzweigung aus einem Code $C$ zwei neue Codes $(+C +C)$ und $(+C –C)$, wie in der Grafik oben rechts angedeutet.  
+
'''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.
  
  
[[File:P_ID1883__Mod_T_5_3_S8_neu.png | Baumdiagramm zur Erzeugung eines OVSF–Codes]]
+
==Exercises for the chapter==
 +
<br>
  
 +
[[Aufgaben:Exercise_5.3:_PACF_of_PN_Sequences|Exercise 5.3: PACF of PN Sequences]]
  
Anzumerken ist, dass kein Vorgänger und Nachfolger eines Codes von anderen Teilnehmern benutzt werden darf. Im Beispiel könnte demnach folgende Auswahl getroffen werden:  
+
[[Aufgaben:Exercise_5.3Z:_Realization_of_a_PN_Sequence|Exercise 5.3Z: Realization of a PN Sequence]]
*acht Codes mit dem Spreizfaktor $J =$ 8, oder
 
*die vier hinterlegten Codes – einmal mit $J =$ 2, einmal mit $J =$ 4 und zweimal mit $J =$ 8.  
 
  
 +
[[Aufgaben:Exercise_5.4:_Walsh_Functions_(PCCF,_PACF)|Exercise 5.4: Walsh Functions (PCCF, PACF)]]
  
Im zweiten Fall können die weiteren sechs Codes mit $J =$ 8 nicht verwendet werden, da sie entweder mit „+1 +1” oder mit „+1 –1 +1 –1” beginnen. Aus den vier zugehörigen Spreizfolgen in der Grafik rechts unten erkennt man, dass bei konstanter Chipdauer $T_c$ der Nutzer mit dem Spreizfaktor $J =$ 2 mit höherer Datenrate übertragen kann als die Teilnehmer mit $J =$ 4 bzw. $J =$ 8, da seine Bitdauer $T_{\rm B}$ kleiner ist.  
+
[[Aufgaben:Exercise_5.4Z:_OVSF_Codes|Exercise 5.4Z: OVSF Codes]]
  
Aus der Grafik erkennt man weiter, dass die periodische KKF an der Stelle $τ =$ 0 stets 0 ist. Das heißt: Bildet man das Produkt von zwei beliebigen dieser Folgen und integriert man über den dargestellten Zeitbereich, so ergibt sich stets der Wert 0. Das bedeutet: Ein OVSF–Code ist orthogonal zu allen anderen OVSF–Codes der gleichen Familie, solange es nicht zu Verschiebungen kommt.
 
  
'''Hinweis:''' Die Animation OVSF–Codes zeigt den Konstruktionsalgorithmus dieser Codes und die zulässige Auswahl der Spreizfolgen.
 
  
==Quellenverzeichnis==
+
==References==
 
<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.