<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.0//EN" "ep-patent-document-v1-0.dtd">
<ep-patent-document id="EP00984356B9W1" file="00984356.xml" lang="en" country="EP" doc-number="1269645" kind="B9" correction-code="W1" date-publ="20060308" status="c" dtd-version="ep-patent-document-v1-0">
<SDOBI lang="en"><B000><eptags><B001EP>ATBECHDEDKESFRGBGRITLILUNLSEMCPTIESILTLVFIROMKCYALTR............................</B001EP><B003EP>*</B003EP><B005EP>J</B005EP><B007EP>DIM360 (Ver 1.5  21 Nov 2005) -  2999001/0</B007EP></eptags></B000><B100><B110>1269645</B110><B120><B121>CORRECTED EUROPEAN PATENT SPECIFICATION</B121></B120><B130>B9</B130><B132EP>B1</B132EP><B140><date>20060308</date></B140><B150><B151>W1</B151><B152><date>00000000</date></B152><B155><B1551>de</B1551><B1552>Beschreibung</B1552><B1551>en</B1551><B1552>Description</B1552><B1551>fr</B1551><B1552>Description</B1552><B1551>de</B1551><B1552>Ansprüche</B1552><B1551>en</B1551><B1552>Claims</B1552><B1551>fr</B1551><B1552>Revendications</B1552></B155></B150><B190>EP</B190></B100><B200><B210>00984356.6</B210><B220><date>20001214</date></B220><B240><B241><date>20021021</date></B241><B242><date>20031223</date></B242></B240><B250>en</B250><B251EP>en</B251EP><B260>en</B260></B200><B300><B310>191884 P</B310><B320><date>20000323</date></B320><B330><ctry>US</ctry></B330></B300><B400><B405><date>20060308</date><bnum>200610</bnum></B405><B430><date>20030102</date><bnum>200301</bnum></B430><B450><date>20050413</date><bnum>200515</bnum></B450><B452EP><date>20041007</date></B452EP><B480><date>20060308</date><bnum>200610</bnum></B480></B400><B500><B510EP><classification-ipcr sequence="1"><text>H04B   1/707       19950101AFI20011002BHEP        </text></classification-ipcr><classification-ipcr sequence="2"><text>H04J  13/00        19740701ALI20011002BHEP        </text></classification-ipcr></B510EP><B540><B541>de</B541><B542>EFFIZIENTER SPREIZER FÜR SPREIZSPEKTRUMÜBERTRAGUNGSSYSTEME</B542><B541>en</B541><B542>EFFICIENT SPREADER FOR SPREAD SPECTRUM COMMUNICATION SYSTEMS</B542><B541>fr</B541><B542>DISPOSITIF D'ETALEMENT EFFICACE POUR SYSTEMES DE COMMUNICATION A SPECTRE ETALE</B542></B540><B560><B561><text>GB-A- 2 300 545</text></B561><B561><text>JP-A- 10 190 625</text></B561><B562><text>LAIRD K ET AL: "A peak-to-average power reduction method for third generation CDMA reverse links" 1999 IEEE 49TH VEHICULAR TECHNOLOGY CONFERENCE (CAT. NO.99CH36363), 1999 IEEE 49TH VEHICULAR TECHNOLOGY CONFERENCE. MOVING INTO A NEW MILLENIUM, HOUSTON, TX, USA, 16-20 MAY 1999, pages 551-555 vol.1, XP002164205 1999, Piscataway, NJ, USA, IEEE, USA ISBN: 0-7803-5565-2</text></B562></B560></B500><B600><B620EP><parent><cdoc><dnum><anum>04015599.6</anum><pnum>1463213</pnum></dnum><date>20040702</date></cdoc><cdoc><dnum><anum>05102887.6</anum><pnum>1564904</pnum></dnum><date>20050412</date></cdoc></parent></B620EP></B600><B700><B720><B721><snm>MISRA, Raj, Mani</snm><adr><str>358 7th Avenue no.157</str><city>Brooklyn, NY 11215</city><ctry>US</ctry></adr></B721><B721><snm>TEAL, Gregory S.</snm><adr><str>2609 East Colonial Drive</str><city>Boothwyn, PA 19061</city><ctry>US</ctry></adr></B721></B720><B730><B731><snm>INTERDIGITAL TECHNOLOGY CORPORATION</snm><iid>01679603</iid><irf>I81013PCTEP</irf><adr><str>Suite 527, 
300 Delaware Avenue</str><city>Wilmington, DE 19801</city><ctry>US</ctry></adr></B731></B730><B740><B741><snm>Henningsson, Gunnar</snm><sfx>et al</sfx><iid>00023111</iid><adr><str>AWAPATENT AB, 
Box 45086</str><city>104 30 Stockholm</city><ctry>SE</ctry></adr></B741></B740></B700><B800><B840><ctry>AT</ctry><ctry>BE</ctry><ctry>CH</ctry><ctry>CY</ctry><ctry>DE</ctry><ctry>DK</ctry><ctry>ES</ctry><ctry>FI</ctry><ctry>FR</ctry><ctry>GB</ctry><ctry>GR</ctry><ctry>IE</ctry><ctry>IT</ctry><ctry>LI</ctry><ctry>LU</ctry><ctry>MC</ctry><ctry>NL</ctry><ctry>PT</ctry><ctry>SE</ctry><ctry>TR</ctry></B840><B860><B861><dnum><anum>US2000033868</anum></dnum><date>20001214</date></B861><B862>en</B862></B860><B870><B871><dnum><pnum>WO2001071938</pnum></dnum><date>20010927</date><bnum>200139</bnum></B871></B870></B800></SDOBI><!-- EPO <DP n="1"> -->
<description id="desc" lang="en">
<heading id="h0001">BACKGROUND OF THE INVENTION</heading>
<heading id="h0002">Field of the Invention</heading>
<p id="p0001" num="0001">The present invention relates generally to digital communication systems. More specifically, the invention relates to a system and method for spreading a data signal for spread spectrum communications.</p>
<heading id="h0003">Description of the Related Art</heading>
<p id="p0002" num="0002">A communication system typically transmits information or data using a continuous frequency carrier with modulation techniques that vary its amplitude, frequency or phase. The information to be transmitted is mapped onto a predetermined constellation that defines symbols and is transmitted over a communication medium. The communication medium may be guided or unguided, (comprising copper, optical fiber or air) and is commonly referred to as the communication channel.</p>
<p id="p0003" num="0003">Deployed communication systems rarely are single access. A prior art multiple-access communication system is shown in Figure 1. Protocols such as time division multiple access (TDMA), carrier sense multiple access (CSMA), code division multiple access (CDMA) and frequency related protocols such as frequency division multiple access (FDMA) and orthogonal frequency division multiplexing (OFDM) allow a plurality of users to access the same communication media to transmit or receive information. These techniques can be mixed together creating hybrid varieties of multiple-access communication schemes such as time division duplex (TDD). The access protocol specified by a communication system is typically executed after the data undergoes modulation.</p>
<p id="p0004" num="0004">Prior art modulation techniques that are in use are frequency modulation (FM), frequency shift keying (FSK), phase shift keying (PSK), binary phase shift<!-- EPO <DP n="2"> --> keying (BPSK) and differential phase shift keying (DPSK). The most commonly used high-speed methods for data modulation are quadrature amplitude modulation (QAM) and quadrature phase shift keying (QPSK). These techniques vary a predefined carrier frequency amplitude and phase according to an input signal to transmit multiple bits per baud thereby using available bandwidth more efficiently.</p>
<p id="p0005" num="0005">To extend the possible range of data signal values, quadrature modulation assigns a symbol to represent more than two binary values. The use of a symbol allows for a greater degree of transmitted information since the bit content of each symbol dictates a unique pulse shape. Symbols, which consist of <i>x</i> bits per sample, may represent a quantized version of an analog sample or digital data. Depending upon the number of symbols used, an equal number of unique pulseshapes or waveshapes exist. The number of data bits determine the combinations of amplitude and phase that define a constellation pattern.</p>
<p id="p0006" num="0006">Quadrature modulation is based on two distinct waveforms that are orthogonal to each other. If two waveforms are transmitted simultaneously and do not interfere with each other, they are orthogonal. Quadrature modulation modulates two different signals into the same bandwidth creating a two-dimensional signal space as shown in Figure 2. Two waveforms generally used for quadrature modulation are sine and cosine waveforms at the same frequency. The waveforms are defined as:<maths id="math0001" num="(1)"><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">s</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">t</mtext><mtext>) = </mtext><mtext mathvariant="italic">A</mtext><mtext>cos(2π</mtext><msub><mrow><mtext mathvariant="italic">f</mtext></mrow><mrow><mtext mathvariant="italic">c</mtext></mrow></msub><mtext mathvariant="italic">t</mtext><mtext>)</mtext></mrow></math><img id="ib0001" file="imgb0001.tif" wi="34" he="5" img-content="math" img-format="tif"/></maths> and;<maths id="math0002" num="(2)"><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">s</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">t</mtext><mtext>) = </mtext><mtext mathvariant="italic">A</mtext><mtext>sin(2π</mtext><msub><mrow><mtext mathvariant="italic">f</mtext></mrow><mrow><mtext mathvariant="italic">c</mtext></mrow></msub><mtext mathvariant="italic">t</mtext><mtext>)</mtext></mrow></math><img id="ib0002" file="imgb0002.tif" wi="33" he="5" img-content="math" img-format="tif"/></maths> where <i>f</i><sub><i>c</i></sub> is the carrier frequency of the modulated signal and <i>A</i> is the amplitude applied to both signals. By convention, the cosine carrier is called the in-phase (I), real component of the signal and the sine carrier is the quadrature (Q), imaginary component of the signal. Linear combinations of the form <i>a</i><sub>1</sub> cos(2<i>πf</i><sub><i>c</i></sub><i>t</i>) + <i>a</i><sub>2</sub> sin(2π<i>f</i><sub><i>c</i></sub><i>t</i>), (where <i>a</i><sub>1</sub> and <i>a</i><sub>2</sub> are real numbers), generated from the two basic<!-- EPO <DP n="3"> --> waveforms define symbols in the modulation alphabet. The symbols can be represented as complex numbers, <i>a</i><sub>1</sub> + <i>ja</i><sub>2</sub>, where <i>j</i> is defined as <maths id="math0003" num=""><math display="inline"><mrow><mtext mathvariant="italic">j</mtext><mtext> = </mtext><msqrt><mtext>-1</mtext></msqrt></mrow></math><img id="ib0003" file="imgb0003.tif" wi="16" he="5" img-content="math" img-format="tif" inline="yes"/></maths>.</p>
<p id="p0007" num="0007">A QAM symbol consists of at least one sample from both the in-phase <i>I</i> and quadrature <i>Q</i> signals. Signal amplitude is indicated by the distance from the origin; phase by the angular distance around the unit circle. After the data is assembled as symbols, the symbols are processed in accordance with an access protocol chosen for the communication system.</p>
<p id="p0008" num="0008">A prior art CDMA communication system is shown in Figure 3. CDMA is a communication technique in which data is transmitted with a broadened band (spread spectrum) by modulating the data to be transmitted with a pseudo-noise sequence. The data signal to be transmitted may have a bandwidth of only a few thousand Hertz distributed over a frequency band that may be several million Hertz. The communication channel is used simultaneously by <i>k</i> independent subchannels. For each subchannel <i>k</i>, all other subchannels appear as interference.</p>
<p id="p0009" num="0009">As shown, a single subchannel of a given bandwidth is mixed with a unique spreading code which repeats a predetermined pattern generated by a wide bandwidth, pseudo-noise (pn) sequence generator. These unique user spreading codes are typically pseudo-orthogonal to one another such that the cross-correlation between the spreading codes is close to zero. The spreading codes in a CDMA system are chosen to minimize interference between a desired subchannel and all other subchannels. A data signal is multiplied with the pn-sequence to spread the data signal and produce a digital spread spectrum signal. A carrier signal is modulated with the digital spread spectrum signal and transmitted on the communication channel. A receiver demodulates the transmission to extract the digital spread spectrum signal. The transmitted data is reproduced after correlation with the matching pn sequence. When the spreading codes are orthogonal with one another, the received signal can be correlated with a particular user signal related to a particular spreading code such that only the desired user signal related to the<!-- EPO <DP n="4"> --> particular spreading code is enhanced, while the other signals for all other users are not enhanced.</p>
<p id="p0010" num="0010">Each element of the spreading code is known as a chip and belongs to the set {1,-1}. The chip frequency or rate is the same or faster than the data rate. The ratio between the chip rate and the subchannel data rate is referred to as the spreading factor and is equal to the number of chips that are used to spread one symbol of user data. The number of chips is divisible by the largest spreading factor allowed. The larger the spreading factor, the more resistant a symbol is to noise and interference. For the case of synchronous CDMA, a symbol from the user with the largest spreading factor may constitute an entire block of data.</p>
<p id="p0011" num="0011">CDMA is one access protocol called for in the proposed 3<sup>rd</sup> generation wireless communication standards. Shown in Figure 4 is a system architecture of a CDMA spreader making use of variable spreading factors. Variable spreading factors allow a transmitter to fine tune overall system processing gain. Higher data rate users are assigned spreading codes having a lower spreading factor at the expense of reduced processing gain. Lower data rate users are assigned spreading codes having a higher spreading factor. Therefore, the overall bandwidth of the spread signal of all users is maintained to be the same.</p>
<p id="p0012" num="0012">To reduce the overall number of spreading codes for each user in a given communication system, different spreading codes are used for cell separation and user separation, resulting in a two-part spreading operation for each subchannel. Channelization codes are used for user separation and scrambling codes for cell separation. Although a two-part spreading operation is characteristic of cellular CDMA systems, a single spreading operation may be used in other applications. Here, the channelization and scrambling codes are replaced by a single code that separates each user.</p>
<p id="p0013" num="0013">To effect the spreading operation of <i>k</i> subchannel users in a physical system, linear spreading methods are executed as fixed gate arrays, microprocessors, digital<!-- EPO <DP n="5"> --> signal processors (DSPs), application specific integrated circuits (ASICs) and the like. Fixed logic systems allow for greater system speed while microprocessor driven systems offer programming flexibility. Either implementation that is responsible for performing the spreading functions perform a sequence of mathematical operations. For the purposes of vector operations which follow, all vectors are defined as column vectors. The following variables typically define the structure and operation of a spreader:
<ul id="ul0001" list-style="none">
<li><i><u style="single">c</u></i> = the real integer channelization spreading code presented as a vector for subchannel <i>k</i> corresponding with a given spreading factor <i>SF</i>. The length of the channelization code <i><u style="single">c</u></i> varies with different spreading factors <i>SF</i>.</li>
<li><i>d</i> = the data transmitted in a subchannel <i>k</i>.</li>
<li><i><u style="single">d</u></i> = the data in a subchannel <i>k</i> after modulation. The data is presented in the form of a vector, where a vector is an array of data indexed by a single index variable.</li>
<li><i>k</i> = one subchannel, (<i>k</i> = 1, 2, 3, ... <i>K</i>).</li>
<li><i>N</i> = the number of data symbols in a group of the <i>k</i><sup><i>th</i></sup> subchannel, (<i>N = SF</i><sub><i>max</i></sub> / <i>SF</i>). For the case of synchronous CDMA, a symbol from the user with the largest spreading factor may constitute an entire block of data. Each subchannel <i>k</i> has its own group size <i>N</i> where <i>N</i> can equal 1 (for <i>SF</i> = <i>SF</i><sub><i>max</i></sub>) to <i>SF</i><sub><i>max</i></sub>/<i>SF</i><sub><i>min</i></sub>.</li>
<li><i>i</i> = the <i>i</i><sup>th</sup> symbol of data <i><u style="single">d</u></i>, <i>(i</i> = 1, 2, 3, ... <i>N</i>).<!-- EPO <DP n="6"> --></li>
<li><i>n</i> = the element reference of a vector, ([<i>n</i>]).</li>
<li><i>SF</i> = the spreading factor of subchannel <i>k</i>.</li>
<li><i>SF</i><sub><i>min</i></sub> = the minimum spreading factor of the communication system.</li>
<li><i>SF</i><sub><i>max</i></sub> = the maximum spreading factor of the communication system.</li>
<li><i><u style="single">v</u></i> = the real, integer part of the scrambling code.</li>
<li><img id="ib0004" file="imgb0004.tif" wi="5" he="6" img-content="character" img-format="tif" inline="yes"/> = the complex scrambling code presented as a vector of length <i>SF</i><sub><i>max</i></sub>.<img id="ib0005" file="imgb0005.tif" wi="3" he="5" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] = <i>j</i><sup><i>n</i></sup> · <i>v</i>[<i>n</i>], <i>where n</i> = 1... <i>SF</i><sub><i>max</i></sub>. Note that <i>v</i>[<i>n</i>] and <img id="ib0006" file="imgb0006.tif" wi="3" he="5" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] reference the <i>n</i><sup><i>th</i></sup> element of the vectors <i><u style="single">v</u></i> and <img id="ib0007" file="imgb0007.tif" wi="5" he="6" img-content="character" img-format="tif" inline="yes"/> . Thus, <img id="ib0008" file="imgb0008.tif" wi="3" he="5" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] = <i>j</i><sup><i>n</i></sup> · <i>v</i>[<i>n</i>] defines the rule for deriving the <i>n</i><sup><i>th</i></sup> element of <img id="ib0009" file="imgb0009.tif" wi="5" he="6" img-content="character" img-format="tif" inline="yes"/> from the <i>n</i><sup><i>th</i></sup> element of <i><u style="single">v</u></i>.</li>
<li><i><u style="single">z</u></i><sub><i>i</i></sub> = the final spread chip sequence resulting from the application of the channelization and scrambling codes on the <i>i</i><sup><i>th</i></sup> symbol of subchannel <i>k</i>. <i>z</i><sub><i>i</i></sub>[<i>n</i>] = <i>d</i><sub><i>i</i></sub> · <i>c</i>[<i>n</i>] · <i>j</i><sup><i>SF</i>(<i>i</i>-1)+<i>n</i></sup> · <i>v</i>[<i>SF</i>(<i>i</i> + 1) + <i>n</i>], <i>where n</i> = 1... <i>SF</i>. <i><u style="single">z</u></i><sub><i>i</i></sub> is <i>SF</i> chips long; the spreading factor chosen for that particular subchannel <i>k</i>. <i>N</i> such <i>SF</i> long <i><u style="single">z</u></i><sub><i>i</i></sub> form <i><u style="single">z</u></i> of length <i>SF</i><sub><i>max</i></sub>.</li>
</ul></p>
<p id="p0014" num="0014">To simplify the description that follows, a two-part, prior art spreader for a <i>k</i><sup><i>th</i></sup> subchannel is discussed. One skilled in this art appreciates that a plurality <i>of k</i> spread subchannels can be summed as shown in Figure 4. After data has been modulated, where data <i>d</i> of subchannel <i>k</i> is assembled as symbols defining a predetermined constellation, a sequence of complex data symbols <i><u style="single">d</u></i> is divided into groups containing <i>N</i> symbols each, defined by:<!-- EPO <DP n="7"> --> <maths id="math0004" num="(3)"><math display="block"><mrow><mtext mathvariant="italic">N</mtext><mtext> = </mtext><mfrac><mrow><msub><mrow><mtext mathvariant="italic">SF</mtext></mrow><mrow><mtext>max</mtext></mrow></msub></mrow><mrow><mtext mathvariant="italic">SF</mtext></mrow></mfrac><mtext> .</mtext></mrow></math><img id="ib0010" file="imgb0010.tif" wi="25" he="10" img-content="math" img-format="tif"/></maths> Each complex data symbol <i>d</i> within a group of <i>N</i> symbols is spread by a real integer channelization code <i><u style="single">c</u></i> of length <i>SF</i> chips. The channelization code <i><u style="single">c</u></i> is unique to a user <i>k</i>. All <i>N</i> channelization code <i><u style="single">c</u></i> spread symbols <i><u style="single">d</u></i> of the group <i>N</i> are concatenated.</p>
<p id="p0015" num="0015">The resulting spread symbol sequence <i>SF</i><sub><i>max</i></sub> chips long is multiplied by a complex scrambling code <img id="ib0011" file="imgb0011.tif" wi="5" he="6" img-content="character" img-format="tif" inline="yes"/> of length <i>SF</i><sub><i>max</i></sub> to produce a final chip sequence <i><u style="single">z</u></i> of length <i>SF</i><sub><i>max</i></sub>. The scrambling code <img id="ib0012" file="imgb0012.tif" wi="5" he="6" img-content="character" img-format="tif" inline="yes"/> is derived from a real integer scrambling code <u style="single">ν</u> multiplied with a complex operator <i>j</i><sup><i>n</i></sup>. The relation is:
<maths id="math0005" num=""><img id="ib0013" file="imgb0013.tif" wi="114" he="7" img-content="math" img-format="tif"/></maths></p>
<p id="p0016" num="0016">The result of the two-part spreading process is a vector <i><u style="single">z</u></i> of length <i>SF</i><sub><i>max</i></sub> chips. This vector <i><u style="single">z</u></i> can be expressed as a concatenation of <i>N</i> subvectors, <i><u style="single">z</u></i><sub><i>i</i></sub>, where <i>i</i> = 1, 2, 3, ... <i>N</i>, where <i><u style="single">z</u></i><sub><i>i</i></sub> is defined as the segment of length <i>SF</i> chips within <i><u style="single">z</u></i> that represents the contribution of subchannel <i>k's i</i><sup><i>th</i></sup> spread symbol, <i>d</i><sub><i>i</i></sub>, in the group. The <i>n</i><sup><i>th</i></sup> element of <i><u style="single">z</u></i><sub><i>i</i></sub> is given by:<maths id="math0006" num="(5)"><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">z</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>] = </mtext><msub><mrow><mtext mathvariant="italic">d</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><mtext>·</mtext><mtext mathvariant="italic">c</mtext><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>]·</mtext><msup><mrow><mtext mathvariant="italic">j</mtext></mrow><mrow><mtext mathvariant="italic">SF</mtext></mrow></msup><msup><mrow><mtext>​</mtext></mrow><mrow><mtext>(</mtext></mrow></msup><msup><mrow><mtext>​</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msup><msup><mrow><mtext>​</mtext></mrow><mrow><mtext>-1)+</mtext></mrow></msup><msup><mrow><mtext>​</mtext></mrow><mrow><mtext mathvariant="italic">n</mtext></mrow></msup><mtext>·</mtext><mtext mathvariant="italic">v</mtext><mtext>[</mtext><mtext mathvariant="italic">SF</mtext><mtext>(</mtext><mtext mathvariant="italic">i</mtext><mtext> + 1) + </mtext><mtext mathvariant="italic">n</mtext><mtext>],</mtext></mrow></math><img id="ib0014" file="imgb0014.tif" wi="76" he="6" img-content="math" img-format="tif"/></maths>    <i>where n</i> = 1,...<i>SF and i</i> = 1, 2, 3,...<br/>
<i>v</i>[<i>SF</i>(<i>i +</i> 1) + <i>n</i>], <i>where n</i> = 1, ... <i>SF</i>, defines a different set of <i>SF</i> elements of <i><u style="single">v</u></i>, starting with the <i>(SF</i>(<i>i -</i> 1)+1)<sup><i>th</i></sup> element depending upon <i>i</i>.</p>
<p id="p0017" num="0017">Implementing the two-code spreading operation defined by Equation 5 would require 8(<i>N</i>)(<i>SF</i>) integer multiplications to spread a symbol sequence <i><u style="single">d</u></i> of length <i>N</i> symbols for one subchannel <i>k.</i> 2(<i>SF</i>) multiplications are required for the <i>d</i><sub>i</sub> · <i>c</i>[<i>n</i>] <i>(where n =</i> 1, ... <i>SF</i>) product (for one symbol) and 2(<i>SF</i>) multiplications are required for the <i>j</i><sup><i>SF</i>(i-1) + n</sup> · <i>v</i>[<i>n</i>] product (for one symbol) (<i>where n</i> = 1, ... <i>SF</i>) since <i>d</i><sub><i>i</i></sub> and <i>j</i><sup><i>n</i></sup><!-- EPO <DP n="8"> --> are complex numbers multiplied with real numbers. Since both intermediate products are complex, the partial product multiplication requires four operations per symbol yielding a total of 8(<i>N</i>)(<i>SF</i>) multiplications.</p>
<p id="p0018" num="0018">In order to conserve power for operation in a mobile/portable communication system while increasing data throughput, an efficient process is needed to implement multiple code spreading operations.</p>
<heading id="h0004">SUMMARY OF THE INVENTION</heading>
<p id="p0019" num="0019">The present invention is a spreading system and method for CDMA applications that requires fewer integer multiplications as described in claim 1 and claim 8, respectively. User data is spread using real or complex integer-based spreading codes of length <i>SF</i> to <i>SF</i><sub><i>max</i></sub> chips. At least one of the codes is of the form <i>j</i><sup><i>n</i></sup> · <i>v</i>[<i>n</i>] where <i>v</i>[<i>n</i>] is a spreading code. The invention provides increased user separation using a plurality of spreading codes.</p>
<p id="p0020" num="0020">Accordingly, it is an object of the invention to provide a less complex system and method for spreading a data signal using more than one spreading code.</p>
<p id="p0021" num="0021">Other objects and advantages of the system and method will become apparent to those skilled in the art after reading a detailed description of the preferred embodiment.</p>
<heading id="h0005">BRIEF DESCRIPTION OF THE DRAWINGS</heading>
<p id="p0022" num="0022">
<ul id="ul0002" list-style="none" compact="compact">
<li>Figure 1 is a simplified block diagram of a prior art multiple access communication system.</li>
<li>Figure 2 is a plot of a quadrature signal space.</li>
<li>Figure 3 is a simplified block diagram of a prior art CDMA communication system.</li>
<li>Figure 4 is a system architecture of a prior art two-part spreader.</li>
<li>Figure 5 is a system architecture of the present invention.</li>
<li>Figures 6a-d are control flow diagrams of the method of the present invention.<!-- EPO <DP n="9"> --></li>
<li>Figures 7a-d is a data flow diagram of the present invention.</li>
</ul></p>
<heading id="h0006">DETAILED DESCRIPTION OF THE INVENTION</heading>
<p id="p0023" num="0023">The present invention will be described with reference to the drawing figures where like numerals represent like elements throughout.</p>
<p id="p0024" num="0024">Shown in Figure 5 is a system diagram of the spreader 17 of present invention for use in communication systems employing CDMA. The spreader 17 comprises a plurality of processors having collateral memory which perform various vector and matrix operations. Alternate physical embodiments of the invention include fixed gate arrays, ASICs, DSPs and the like performing the equivalent functions of the various processors. As one skilled in this art recognizes, optimization techniques tailored for each physical embodiment may vary when implementing the spreader 17. The spreader 17 also comprises a plurality of data inputs <i>d</i><sup>(1)</sup>... <i>d</i><sup>(<i>k</i>)</sup> for inputting modulated user data <i>d</i> of subchannel <i>k</i> and an output <i><u style="single">z</u></i><sup>(Σ)</sup> for outputting a combined spread spectrum signal in the form of an output vector.</p>
<p id="p0025" num="0025">To simplify the explanation of the present invention that follows, only one subchannel <i>k</i> spreading operation will be described, thereby eliminating the need for unique subchannel identification throughout. Each data input <i>d</i><sup>(1)</sup>... <i>d</i><sup>(<i>k</i>)</sup> may have from one to a plurality of channelization codes and from one to a plurality of scrambling codes assigned depending upon the degree of user and cell separation. The terms channelization and scrambling are arbitrary and represent a plurality of spreading codes that vary in length depending upon the assigned spreading factor <i>SF</i> of a subchannel <i>k</i> and the requirements of a communication system. At least one assigned spreading code for each subchannel <i>k</i> must be exclusive to all other codes in the communication system to maintain subchannel separation for each user.</p>
<p id="p0026" num="0026">Each assigned code must have the same length, either as a periodic short code assembly or a code having the maximum spreading factor <i>SF</i><sub><i>max</i></sub> length. Alternative embodiments of the spreader 17 result from the number of codes assigned for a<!-- EPO <DP n="10"> --> subchannel <i>k</i>. A plurality of spreaders 17 may be deployed in transmitters for a communication system.</p>
<p id="p0027" num="0027">The spreader 17 spreads the data symbols of subchannel <i>k</i> using a plurality of channelization and scrambling codes. These codes may be all real, all complex or some may be real while others may be complex. The spreader 17 comprises an intermediate code generator 21, a group <i>N</i> processor 19, a phaser adjustor 23, a rotator 25, two multipliers 27r and 27i and a summer 29.</p>
<p id="p0028" num="0028">Recall that the length of a code is equal to its spreading factor <i>SF.</i> The intermediate code generator 21 concatenates <i>N</i> periods of each real code of spreading factor <i>SF</i>. It also concatenates <i>N</i> periods of the real part of each complex code of spreading factor <i>SF</i>. Thus each code of spreading factor <i>SF</i> yields a long code of length <i>SF</i><sub><i>max</i></sub>. It then multiplies all of these long codes via an element-by-element multiplication of the resulting vector with all real codes of spreading factor <i>SF</i><sub><i>max</i></sub> and the real part of all complex codes of length <i>SF</i><sub><i>max</i></sub>. This results in the final output of the intermediate code generator 21, which is a single real code of length <i>SF</i><sub><i>max</i></sub>.</p>
<p id="p0029" num="0029">The group <i>N</i> processor 19 determines the group size <i>N</i> as the ratio <maths id="math0007" num=""><math display="inline"><mrow><mfrac><mrow><msub><mrow><mtext mathvariant="italic">SF</mtext></mrow><mrow><mtext mathvariant="italic">max</mtext></mrow></msub></mrow><mrow><mtext mathvariant="italic">SF</mtext></mrow></mfrac></mrow></math><img id="ib0015" file="imgb0015.tif" wi="9" he="8" img-content="math" img-format="tif" inline="yes"/></maths> and then assembles a group of <i>N</i> symbols. The spreader 17 spreads one such group at a time.</p>
<p id="p0030" num="0030">The phase adjuster 23, imparts an initial phase to each of the <i>N</i> symbols in the group assembled by the group <i>N</i> processor 19. The phase imparted to a symbol is a function of the position of the symbol within its group. Thus, the output of the phase adjustor 23 is a group of <i>N</i> symbols where each symbol has been given a specific phase rotation.</p>
<p id="p0031" num="0031">The rotator 25 accounts for the complex codes by forming a sequence of length <i>SF</i> corresponding to each of these symbols in the group of <i>N</i> symbols obtained from the output of the phase adjustor 23. It does so by rotating each phase-adjusted symbol <i>SF</i> times, with the degree of rotation being a function of the total number of complex codes in the system. Then, the <i>N</i> such complex sequences<!-- EPO <DP n="11"> --> corresponding to each of the <i>N</i> symbols in the group are concatenated to form a single complex sequence of length <i>N</i> • <i>SF</i> = <i>SF</i><sub><i>max</i></sub>, which forms the final output of the rotator 25.</p>
<p id="p0032" num="0032">The complex sequence output of the rotator 25 is multiplied, element-by-element, with the intermediate code generator 21 output. This multiplication is accomplished via the multipliers 27r and 27i. The multipliers 27r and 27i multiply the real intermediate code with the real and imaginary parts, respectively, of the complex sequence output of the rotator 25.</p>
<p id="p0033" num="0033">The output of the multipliers 27r and 27i is the final spread sequence of the group of <i>N</i> symbols of a subchannel. The summer 29 adds the final spread sequence of all subchannels to form a single sequence output of the spreader 17.</p>
<p id="p0034" num="0034">Since channelization codes are employed for user separation and scrambling codes are employed for cell separation, the channelization code and scrambling codes are known <i>a priori</i> according to cell location and are transmitted to a respective user from a cell base station via a learning transmission. The learning transmission is beyond the scope of this disclosure. <i>M</i> channelization codes are available for use, <img id="ib0016" file="imgb0016.tif" wi="5" he="5" img-content="character" img-format="tif" inline="yes"/> ···<img id="ib0017" file="imgb0017.tif" wi="7" he="6" img-content="character" img-format="tif" inline="yes"/> , <i><u style="single">c</u></i><sub><i>M</i><sub2>1</sub2>+1</sub>···<i><u style="single">c</u></i><sub><i>M</i></sub> of which the first <i>M</i><sub>1</sub> are complex and the remaining are real. The <i>n</i><sup><i>th</i></sup> element of the <i>i</i><sup><i>th</i></sup> complex channelization code is defined as:
<maths id="math0008" num=""><img id="ib0018" file="imgb0018.tif" wi="136" he="10" img-content="math" img-format="tif"/></maths>
The subchannel <i>k</i> also can utilize <i>P</i> scrambling codes,
<maths id="math0009" num=""><img id="ib0019" file="imgb0019.tif" wi="32" he="6" img-content="math" img-format="tif"/></maths>
of which the first <i>P</i><sub>1</sub> are complex and the remaining are real. The <i>n</i><sup><i>th</i></sup> element of the <i>i</i><sup><i>th</i></sup> complex scrambling code is defined as:
<maths id="math0010" num=""><img id="ib0020" file="imgb0020.tif" wi="145" he="8" img-content="math" img-format="tif"/></maths></p>
<p id="p0035" num="0035">Referring to the flow diagram of the method 97 of the present invention shown on Figures 6a-d, data <i>d</i> which has undergone modulation and comprises a series of data symbols is input into the spreader 17. A symbol group size <i>N</i> for subchannel <i>k</i> is determined by the group <i>N</i> processor 19 using Equation 3 (step 99).<!-- EPO <DP n="12"> --> Since different channelization codes <i><u style="single">c</u></i> have different lengths due to their different spreading factors <i>SF</i>, <i>N</i> periods of the respective channelization codes <i><u style="single">c</u></i> are concatenated (step 101) to form a periodic long code <i><u style="single">c</u></i><sub><i>p</i></sub>, equal in length to the maximum spreading factor <i>SF</i><sub><i>max</i></sub> of the communication system. Concatenation is not required when <i>N</i> is equal to one (<i>SF</i> = <i>SF</i><sub><i>max</i></sub>).</p>
<p id="p0036" num="0036">In order to simplify the explanation of the method 97, <i><u style="single">c</u></i> represents the product of all real channelization codes that have been concatenated <i><u style="single">c</u></i><sub><i>p</i></sub>. Included in <i><u style="single">c</u></i> are the real codes from which the complex channelization codes are derived. The <i>n</i><sup><i>th</i></sup> element of <i><u style="single">c</u></i> is defined as:<maths id="math0011" num="(8)"><math display="block"><mrow><mtext mathvariant="italic">c</mtext><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>] = </mtext><msub><mrow><mtext mathvariant="italic">c</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>] · </mtext><msub><mrow><mtext mathvariant="italic">c</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>] ... </mtext><msub><mrow><mtext mathvariant="italic">c</mtext></mrow><mrow><mtext mathvariant="italic">M</mtext></mrow></msub><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>], </mtext><mtext mathvariant="italic">where n =</mtext><mtext> 1, ... </mtext><mtext mathvariant="italic">SF</mtext><mtext>.</mtext></mrow></math><img id="ib0021" file="imgb0021.tif" wi="95" he="5" img-content="math" img-format="tif"/></maths> Additionally, <i><u style="single">v</u></i> represents the product of all real scrambling codes. Included in <i><u style="single">v</u></i> are the real codes from which the complex scrambling codes are derived. The <i>n</i><sup><i>th</i></sup> element of <i><u style="single">v</u></i> is defined as:<maths id="math0012" num="(9)"><math display="block"><mrow><mtext mathvariant="italic">v</mtext><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>] = </mtext><msub><mrow><mtext mathvariant="italic">v</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>] · </mtext><msub><mrow><mtext mathvariant="italic">v</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>] ... </mtext><msub><mrow><mtext mathvariant="italic">v</mtext></mrow><mrow><mtext mathvariant="italic">P</mtext></mrow></msub><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>], </mtext><mtext mathvariant="italic">where n</mtext><mtext> = 1, ... </mtext><msub><mrow><mtext mathvariant="italic">SF</mtext></mrow><mrow><mtext mathvariant="italic">max</mtext></mrow></msub><mtext>.</mtext></mrow></math><img id="ib0022" file="imgb0022.tif" wi="98" he="5" img-content="math" img-format="tif"/></maths></p>
<p id="p0037" num="0037">An intermediate real code <i><u style="single">s</u></i> is computed (step 103) from each concatenated channelization code sequence <i><u style="single">c</u></i><sub><i>p</i></sub> and the real scrambling code <i><u style="single">v</u></i> by performing an element-by-element multiplication of the two vectors in the intermediate code <i><u style="single">s</u></i> generator 21. Multiplication is allowed since both vectors are of the same length. The <i>n</i><sup><i>th</i></sup> element of the intermediate code <i><u style="single">s</u></i> is defined by:<maths id="math0013" num="(10)"><math display="block"><mrow><munder accentunder="true"><mrow><mtext mathvariant="italic">s</mtext></mrow><mo>̲</mo></munder><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>] = </mtext><munder accentunder="true"><mrow><mtext mathvariant="italic">c</mtext></mrow><mo>̲</mo></munder><msub><mrow><mtext>​</mtext></mrow><mrow><mtext mathvariant="italic">p</mtext></mrow></msub><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>] · </mtext><munder accentunder="true"><mrow><mtext mathvariant="italic">v</mtext></mrow><mo>̲</mo></munder><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>], </mtext><mtext mathvariant="italic">where n</mtext><mtext> = 1, ... </mtext><msub><mrow><mtext mathvariant="italic">SF</mtext></mrow><mrow><mtext mathvariant="italic">max</mtext></mrow></msub></mrow></math><img id="ib0023" file="imgb0023.tif" wi="80" he="5" img-content="math" img-format="tif"/></maths> where <i><u style="single">c</u></i><sub><i>p</i></sub>, is a product of the periodic extensions of the subchannel <i>k</i> channelization codes <i><u style="single">c</u></i>, containing <i>N</i> periods of <i><u style="single">c</u></i> corresponding to the spreading factor <i>SF</i>. Intermediate real code <i><u style="single">s</u></i> of length <i>SF</i><sub><i>max</i></sub> is computed (step 103) using <i><u style="single">v</u></i> and <i><u style="single">c</u></i> and is made up of <i>M</i> + <i>P</i> real codes.</p>
<p id="p0038" num="0038">The intermediate code <i><u style="single">s</u></i> is computed once for a given (<i>k</i><sup><i>th</i></sup>) subchannel. Efficiency is gained since the computation is performed once for the entire data sequence for transmission of subchannel <i>k</i>. Group <i>N</i> count (step 105) is initialized<!-- EPO <DP n="13"> --> and a vector <i><u style="single">d</u></i> comprising <i>N</i> symbols is assembled (step 107) in the group <i>N</i> processor 19. Symbol <i>d</i><sub><i>i</i></sub> count is initialized (step 109).</p>
<p id="p0039" num="0039">The spreader 17 improves processing speed by recognizing that the generation of each subsequence <i><u style="single">z</u></i><sub><i>i</i></sub> (Equation 5) involves the complex sequence <i>j</i><sup><i>SF</i>(<i>i</i>-1)+<i>n</i></sup> where <i>n</i> = 1, ... <i>SF</i>. This sequence arises since each complex code <img id="ib0024" file="imgb0024.tif" wi="5" he="6" img-content="character" img-format="tif" inline="yes"/> , <img id="ib0025" file="imgb0025.tif" wi="5" he="5" img-content="character" img-format="tif" inline="yes"/> is derived from a real scrambling code <i><u style="single">c</u></i>, <i><u style="single">v</u></i> via multiplication with the complex sequence <i>j</i><sup><i>n</i></sup> (Equation 4). Referring to Equation 5 and using the commutative property of multiplication, the product of the real channelization codes <i><u style="single">c</u></i><sub><i>p</i></sub> and the real scrambling codes <i><u style="single">v</u></i> are available via the intermediate code <i><u style="single">s</u></i> (step 103). Equation 5 representing the <i>n</i><sup><i>th</i></sup> element of <i>z</i><sub><i>i</i></sub>, ( where <i><u style="single">z</u></i><sub><i>i</i></sub> is the segment of <i>SF</i> chips within <i><u style="single">z</u></i> that represents the contribution of subchannel <i>k's i</i><sup><i>th</i></sup> spread symbol, <i>d</i><sub><i>i</i></sub> in the group), becomes:<maths id="math0014" num="(11)"><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">z</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>] = </mtext><msub><mrow><mtext mathvariant="italic">d</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><mtext>·</mtext><mtext mathvariant="italic">c</mtext><mtext>[</mtext><mtext mathvariant="italic">n</mtext><mtext>]·</mtext><mtext mathvariant="italic">v</mtext><mtext>[</mtext><mtext mathvariant="italic">SF</mtext><mtext>(</mtext><mtext mathvariant="italic">i</mtext><mtext> - 1) + </mtext><mtext mathvariant="italic">n</mtext><mtext>]·</mtext><mtext mathvariant="italic">j</mtext><msup><mrow><mtext>​</mtext></mrow><mrow><msub><mrow><mtext mathvariant="italic">P</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><mtext mathvariant="italic">SF</mtext><mtext>(</mtext></mrow></msup><msup><mrow><mtext>​</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msup><msup><mrow><mtext>​</mtext></mrow><mrow><mtext>-1)</mtext></mrow></msup><mtext>·</mtext><mtext mathvariant="italic">j</mtext><msup><mrow><mtext>​</mtext></mrow><mrow><mtext>(</mtext><msub><mrow><mtext mathvariant="italic">P</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><mtext>+</mtext><msub><mrow><mtext mathvariant="italic">M</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><mtext>)</mtext></mrow></msup><msup><mrow><mtext>​</mtext></mrow><mrow><mtext mathvariant="italic">n</mtext></mrow></msup></mrow></math><img id="ib0026" file="imgb0026.tif" wi="90" he="6" img-content="math" img-format="tif"/></maths> where <i>n</i> = 1 ... <i>SF</i> and <i>i</i> = 1, 2, ... <i>N</i>.</p>
<p id="p0040" num="0040">To complete the spreading process for a group, a multiplication of the intermediate code <i><u style="single">s</u></i> with a concatenation of all symbols in the group is required. The spreader 17 of the present invention obviates a plurality of multiplications by recognizing that each multiplication with the complex operator <i>j</i> is equivalent to an anticlockwise rotation of the multiplicand that varies in the number of degrees. The rotation involves an exchange of the real and imaginary parts with a change of sign. The <i>n</i><sup><i>th</i></sup> element of <img id="ib0027" file="imgb0027.tif" wi="5" he="6" img-content="character" img-format="tif" inline="yes"/> is obtained from a multiplication of its (<i>n</i> - 1)<sup><i>th</i></sup> element with the complex operator <i>j</i><sup>(<i>P</i><sub2>1</sub2>+<i>M</i><sub2>1</sub2>)</sup> and is defined as:
<maths id="math0015" num=""><img id="ib0028" file="imgb0028.tif" wi="124" he="10" img-content="math" img-format="tif"/></maths>
where the 0<sup><i>th</i></sup> element of <img id="ib0029" file="imgb0029.tif" wi="5" he="6" img-content="character" img-format="tif" inline="yes"/> is initialized as:
<maths id="math0016" num=""><img id="ib0030" file="imgb0030.tif" wi="98" he="11" img-content="math" img-format="tif"/></maths>
Equation 13 initializes <img id="ib0031" file="imgb0031.tif" wi="5" he="5" img-content="character" img-format="tif" inline="yes"/> [0] by imparting an initial phase <i>d</i><sub><i>i</i></sub>, which is a function of the spreading factor <i>SF</i>, the position <i>i</i> within the group of the symbols being spread<!-- EPO <DP n="14"> --> and the number of complex scrambling codes being <i>P</i><sub>1</sub>. Step 111 performs the first step of this initialization.</p>
<p id="p0041" num="0041">Invoking the equivalence between a multiplication with a complex operator <i>j</i> and an anticlockwise rotation of the multiplicand by 90 degrees, the real and imaginary components of the <i>n</i><sup><i>th</i></sup> element of <img id="ib0032" file="imgb0032.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> are derived from the imaginary and real components, respectively, of its <i>(n-1)</i><sup><i>th</i></sup> element. Since a group of <i>N</i> symbols is spread with <i>N</i> periods of the subchannel <i>k</i> spreading factor <i>SF</i> channelization codes <i><u style="single">c</u></i>, <i>i</i> takes the value from <i>i =</i> 1, ... <i>N.</i></p>
<p id="p0042" num="0042">After a symbol count <i>i</i> is initialized (step 109), a group of <i>N</i> symbols is processed and <i>d</i><sub><i>i</i></sub>[0] is initialized (step 111). When the spreading factor <i>SF</i> satisfies the following:<maths id="math0017" num="(14)"><math display="block"><mrow><mtext mathvariant="italic">SF</mtext><mtext> · </mtext><msub><mrow><mtext mathvariant="italic">P</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><mtext> = 4</mtext><mtext mathvariant="italic">p</mtext><mtext>, </mtext><mtext mathvariant="italic">for any integer p</mtext><mtext>,</mtext></mrow></math><img id="ib0033" file="imgb0033.tif" wi="62" he="5" img-content="math" img-format="tif"/></maths> Equation 12 reduces to <img id="ib0034" file="imgb0034.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> [0] = <i>d</i><sub><i>i</i></sub> since <i>j</i><sup>4<i>q</i></sup> = 1 for any integer q. For the case when <i>SF</i> does not satisfy the condition of Equation 14 (step 113), <img id="ib0035" file="imgb0035.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> [0] is obtained by imparting an initial phase of <img id="ib0036" file="imgb0036.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> [0] = <i>j</i><sup><i>SF</i>(<i>i</i>-1)<i>P</i><sub2>1</sub2></sup><img id="ib0037" file="imgb0037.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> [0] to the symbol <i>d</i><sub><i>i</i></sub> (step 115).</p>
<p id="p0043" num="0043">The method 97 proceeds with four tests to determine the amount of symbol rotation required depending upon the number of complex spreading codes in use. For the case when <i>M</i><sub><i>1</i></sub> + <i>P</i><sub><i>1</i></sub> = <i>4</i><sub><i>P</i></sub> (step 117), where <i>p</i> is any integer, the real and imaginary components of the <i>n</i><sup><i>th</i></sup> element of <img id="ib0038" file="imgb0038.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> are derived from the real and imaginary components, with the complex operator being <i>j</i><sup>(<i>P</i><sub2>1</sub2>+<i>M</i><sub2>1</sub2>)</sup> = <i>1</i>, and its (<i>n</i> - 1)<sup><i>th</i></sup> elements as shown by Equations 15 and 16 in step 119. The rotator 25 rotates the <i>(n - 1)</i><sup><i>th</i></sup> element of <img id="ib0039" file="imgb0039.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> by 0 degrees to obtain its <i>n</i><sup><i>th</i></sup> element.</p>
<p id="p0044" num="0044">For the case when <i>M</i><sub>1</sub> + <i>P</i><sub>1</sub> = 4<i>p</i> + 1 (step 135), where <i>p</i> is any integer, the real and imaginary parts of the <i>n</i><sup><i>th</i></sup> element of <img id="ib0040" file="imgb0040.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> are derived from the imaginary and real<!-- EPO <DP n="15"> --> parts with the complex operator being <i>j</i><sup>(<i>P</i><sub2>1</sub2>+<i>M</i><sub2>1</sub2>)</sup> = <i>j</i>, and its (<i>n</i> - 1)<sup><i>th</i></sup> elements as shown by Equations 17 and 18 in step 123. The rotator 25 rotates the (<i>n</i> - 1)<sup><i>th</i></sup> element of <img id="ib0041" file="imgb0041.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> by 90 degrees anti-clockwise to obtain its <i>n</i><sup><i>th</i></sup> element.</p>
<p id="p0045" num="0045">For the case when <i>M</i><sub>1</sub> + <i>P</i><sub>1</sub> = <i>4p</i> + 2 (step 125), where <i>p</i> is any integer, the real and imaginary parts of the <i>n</i><sup><i>th</i></sup> element of <img id="ib0042" file="imgb0042.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> are derived from the real and imaginary components with the complex operator being <i>j</i><sup>(<i>P</i><sub2>1</sub2>+<i>M</i><sub2>1</sub2>)</sup> = -1, and its (<i>n</i> - 1)<sup><i>th</i></sup> element as shown by Equations 19 and 20 in step 127. The rotator 25 rotates the (<i>n</i> - 1)<sup><i>th</i></sup> element of <i><u style="single">d</u></i><sub><i>i</i></sub> by 180 degrees anti-clockwise to obtain its <i>n</i><sup><i>th</i></sup> element.</p>
<p id="p0046" num="0046">For the remaining case when <i>M</i><sub>1</sub> + <i>P</i><sub>1</sub> = <i>4p</i> + 3 (step 129), where <i>p</i> is any integer, the real and imaginary parts of the <i>n</i><sup><i>th</i></sup> element of <img id="ib0043" file="imgb0043.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> are derived from the real and imaginary components with the complex operator being <i>j</i><sup>(<i>P</i><sub2>1</sub2>+<i>M</i><sub2>1</sub2>)</sup> = -<i>j</i> , and its (<i>n</i>-1)<sup><i>th</i></sup> element as shown by Equations 21 and 22 in step 131. The rotator 25 rotates the <i>(n - 1)</i><sup><i>th</i></sup> element of <img id="ib0044" file="imgb0044.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> by 270 degrees anti-clockwise to obtain its <i>n</i><sup><i>th</i></sup> element.</p>
<p id="p0047" num="0047">The resultant <i>SF</i> chip long intermediate chip sequence <img id="ib0045" file="imgb0045.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> is computed for the <i>i</i><sup><i>th</i></sup> symbol in the group of <i>N</i> symbols by employing SF rotations as described by Equations 15-22. Actual multiplication is replaced by the rotator 25 performing shift operations shown in Figures 7a-d that correspond to the aforementioned 0 degrees, 90 degrees, 180 degrees and 270 degrees rotations respectively to compute the <i>SF</i> chip long vector <img id="ib0046" file="imgb0046.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> .</p>
<p id="p0048" num="0048">As shown in the Figures 7a-d, at the <i>i</i><sup><i>th</i></sup> symbol interval, the 0<sup>th</sup> element of <img id="ib0047" file="imgb0047.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> is initialized from the new complex data symbol <i><u style="single">d</u></i><sub><i>i</i></sub> per Equation 13. If the determined amount of symbol rotation is 90 degrees, 180 degrees or 270 degrees, the<!-- EPO <DP n="16"> --> real and imaginary components of <img id="ib0048" file="imgb0048.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> [0] are loaded into a register holding the real<img id="ib0049" file="imgb0049.tif" wi="13" he="8" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] and imaginary <img id="ib0050" file="imgb0050.tif" wi="15" he="8" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] components of <img id="ib0051" file="imgb0051.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>]. The real and imaginary components of <img id="ib0052" file="imgb0052.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] are shifted around in the register at the chip rate. The register has two memory elements, which together with a feedback path accomplish the derivation of the real and imaginary components of the <i>n</i><sup><i>th</i></sup> element of <img id="ib0053" file="imgb0053.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> from the imaginary and real components, respectively, of its (<i>n</i> - 1)<sup>th</sup> element, (Equations 17-22). The multiplication with -1 accounts for required sign changes. Rotator 25 outputs <i>z</i><sub><i>real</i></sub>, <i>z</i><sub><i>imag</i></sub> tapped at the <i>n</i><sup><i>th</i></sup> chip interval as <img id="ib0054" file="imgb0054.tif" wi="10" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] and <img id="ib0055" file="imgb0055.tif" wi="11" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>]. Thus, the rotator outputs over <i>n</i> = 1, ... <i>SF</i> chip intervals to represent the <i>SF</i> chip long vector<img id="ib0056" file="imgb0056.tif" wi="5" he="6" img-content="character" img-format="tif" inline="yes"/> , <i>i.e</i>., the product of the data symbol <i>d</i><sub><i>i</i></sub> with the <i>j</i><sup><i>SF</i>(<i>i</i>-1)+<i>n</i></sup>, <i>n</i> = 1, ... <i>SF.</i></p>
<p id="p0049" num="0049">As one skilled in the art should realize, a phase rotation of 0 degrees on the complex plane (Figure 2) implemented by the rotator 25 shown in Figure 7a outputs the same real <img id="ib0057" file="imgb0057.tif" wi="10" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] and imaginary <img id="ib0058" file="imgb0058.tif" wi="11" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] component values of the data symbol input. The symbol does not undergo any phase change. A phase rotation of 90 degrees implemented by the rotator 25 shown in Figure 7b outputs as the imaginary symbol component <img id="ib0059" file="imgb0059.tif" wi="11" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] the real data symbol component input and outputs as the real symbol component <img id="ib0060" file="imgb0060.tif" wi="10" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] the imaginary symbol component input along with a change of sign. A phase rotation of 180 degrees implemented by the rotator 25 shown in Figure 7c outputs as the imaginary symbol component <img id="ib0061" file="imgb0061.tif" wi="11" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] the imaginary data symbol component input along with a change of sign and outputs as the real symbol component <img id="ib0062" file="imgb0062.tif" wi="10" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] the real symbol component input along with a change of sign. A phase rotation of 270 degrees implemented by the rotator 25 in Figure 7d outputs as the imaginary symbol component <img id="ib0063" file="imgb0063.tif" wi="11" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] the imaginary data symbol component input, and outputs as the real symbol component <img id="ib0064" file="imgb0064.tif" wi="10" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>] the real symbol component input along with a change of sign.<!-- EPO <DP n="17"> --></p>
<p id="p0050" num="0050">Referring to Figure 6d, after all remaining symbols in the group are similarly processed (step 133), their <img id="ib0065" file="imgb0065.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> , <i>i</i> = 1, ...<i>N</i> are concatenated to form <i>SF</i><sub><i>max</i></sub> long <img id="ib0066" file="imgb0066.tif" wi="6" he="8" img-content="character" img-format="tif" inline="yes"/> and then multiplied by the intermediate code <i><u style="single">s</u></i> to arrive at the final spread sequence <i><u style="single">z</u></i> of the group (step 135). The process is repeated for remaining groups (step 137) and the group index is incremented (step 139) if needed.</p>
<p id="p0051" num="0051">Alternative embodiments of spreader 17 may be realized when a specific number of codes are used and do not vary. For example, if the spreader 17 was deployed in transmitters for a communication system that only required two codes for separation, one real and one complex, the total number of complex codes equals one, satisfying the test <i>M</i><sub>1</sub> + <i>P</i><sub>1</sub> = 4<i>p</i> + 1 (<i>j</i><sup>(<i>number of complex codes</i>)modulo 4</sup>) (step 121) thereby requiring only a 90 degree rotation. The remaining tests for 0, 180 and 270 degree rotations (steps 117, 125, 129) and their associated rotations (steps 119, 127 and 131) are obviated. Any number of codes may be combined to spread the data assembled in the group <i>N</i> processor 19.</p>
<p id="p0052" num="0052">While the present invention has been described in terms of the preferred embodiments, other variations which are within the scope of the invention as defined in the claims below will be apparent to those skilled in the art.</p>
</description><!-- EPO <DP n="18"> -->
<claims id="claims01" lang="en">
<claim id="c-en-01-0001" num="0001">
<claim-text>A communication system having a spreader (17) for spreading a data signal (<u style="single">d</u>) comprising at least a plurality of data symbols (<u style="single">d</u><sub>i</sub>); the system assigning at least one of a plurality of spreading codes ((<img id="ib0067" file="imgb0067.tif" wi="5" he="5" img-content="character" img-format="tif" inline="yes"/> ···<img id="ib0068" file="imgb0068.tif" wi="7" he="6" img-content="character" img-format="tif" inline="yes"/> , <i><u style="single">c</u></i><sub><i>M</i><sub2>1</sub2>+1</sub>···<i><u style="single">c</u></i><sub><i>M</i></sub>) and
<maths id="math0018" num=""><img id="ib0069" file="imgb0069.tif" wi="41" he="9" img-content="math" img-format="tif"/></maths>
where at least one of said plurality of spreading codes is complex, the spreader <b>characterized by</b>:
<claim-text>a data input for receiving said data symbol;</claim-text>
<claim-text>a control input, for receiving an assigned spreading factor SF for the data signal;</claim-text>
<claim-text>a group N processor (19) for defining a group of N symbols (<u style="single">d</u><sub>i</sub>) for spreading based upon said assigned spreading factor SF;</claim-text>
<claim-text>an intermediate code generator (21) for computing a spreading code based upon said assigned spreading factor and at least one code from a plurality of real codes ((<i><u style="single">c</u></i><sub>1</sub>···<i><u style="single">c</u></i><sub><i>M</i><sub2>1</sub2></sub>,<i><u style="single">c</u></i><sub><i>M</i><sub2>1</sub2>+1</sub>···<i><u style="single">c</u></i><sub><i>M</i></sub>) and (<i><u style="single">v</u></i><sub>1</sub>···<i><u style="single">v</u></i><sub><i>P</i><sub2>1</sub2></sub>,<i><u style="single">v</u></i><sub><i>P</i><sub2>1+1</sub2></sub>···<i><u style="single">v</u></i><sub><i>P</i></sub>)) derived from said plurality of assigned spreading codes, said intermediate code generator outputting an intermediate code; and</claim-text>
<claim-text>a rotator (25) for performing a phase rotation of each symbol (<u style="single">d</u><sub>i</sub>) in said group to generate a complex quantity
<maths id="math0019" num=""><img id="ib0070" file="imgb0070.tif" wi="34" he="8" img-content="math" img-format="tif"/></maths>
; said complex quantity being spread with said intermediate code and output as a spread data signal (<u style="single">ẑ</u>).</claim-text></claim-text></claim>
<claim id="c-en-01-0002" num="0002">
<claim-text>The system of claim 1 wherein said group <i>N</i> processor is operable to define said group using the relationship:<maths id="math0020" num=""><math display="block"><mrow><mtext mathvariant="italic">N</mtext><mtext> = </mtext><mfrac><mrow><msub><mrow><mtext mathvariant="italic">SF</mtext></mrow><mrow><mtext>max</mtext></mrow></msub></mrow><mrow><mtext mathvariant="italic">SF</mtext></mrow></mfrac></mrow></math><img id="ib0071" file="imgb0071.tif" wi="22" he="10" img-content="math" img-format="tif"/></maths> where <i>N</i> denotes the number of data symbols in said group, <i>SF</i><sub><i>max</i></sub> denotes the maximum spreading factor of the communication system and <i>SF</i> is the assigned spreading factor of the data signal.<!-- EPO <DP n="19"> --></claim-text></claim>
<claim id="c-en-01-0003" num="0003">
<claim-text>The system of claim 2 wherein the amount of said phase rotation performed by said rotator is dependent upon the total number of assigned spreading codes.</claim-text></claim>
<claim id="c-en-01-0004" num="0004">
<claim-text>The system of claim 2 wherein said plurality of assigned spreading codes is further <b>characterized by</b> both channelization codes (<img id="ib0072" file="imgb0072.tif" wi="5" he="5" img-content="character" img-format="tif" inline="yes"/> ···<img id="ib0073" file="imgb0073.tif" wi="7" he="6" img-content="character" img-format="tif" inline="yes"/> , <i><u style="single">c</u></i><sub><i>M</i><sub2>1+1</sub2></sub>···<i><u style="single">c</u></i><sub><i>M</i></sub>) and scrambling codes
<maths id="math0021" num=""><img id="ib0074" file="imgb0074.tif" wi="33" he="7" img-content="math" img-format="tif"/></maths>
.</claim-text></claim>
<claim id="c-en-01-0005" num="0005">
<claim-text>The system of claim 4 further <b>characterized by</b> said channelization codes including complex and real codes and said scrambling codes including complex and real codes.</claim-text></claim>
<claim id="c-en-01-0006" num="0006">
<claim-text>The system of claim 5 wherein the amount of said phase rotation by said rotator is dependent upon the total number of complex channelization and complex scrambling codes assigned.</claim-text></claim>
<claim id="c-en-01-0007" num="0007">
<claim-text>The system of claim 6 wherein said phase rotation is further <b>characterized by</b> <i>j</i><sup>(<i>total number of complex codes</i>)modulo 4</sup> where a remainder of 0 results in 0 degrees of rotation, a remainder of 1 results in 90 degrees of rotation, a remainder of 2 results in 180 degrees of rotation and a remainder of 3 results in 270 degrees of rotation.<!-- EPO <DP n="20"> --></claim-text></claim>
<claim id="c-en-01-0008" num="0008">
<claim-text>A method of spreading a data signal (<u style="single">d</u>) comprising a plurality of data symbols (<u style="single">d</u><sub>i</sub>) for transmission in a communication system assigning at least one of a plurality of spreading codes ((<img id="ib0075" file="imgb0075.tif" wi="5" he="5" img-content="character" img-format="tif" inline="yes"/> ···<img id="ib0076" file="imgb0076.tif" wi="7" he="6" img-content="character" img-format="tif" inline="yes"/> , <i><u style="single">c</u></i><sub><i>M</i><sub2>1+1</sub2></sub>···<i><u style="single">c</u></i><sub><i>M</i></sub>) and
<maths id="math0022" num=""><img id="ib0077" file="imgb0077.tif" wi="39" he="8" img-content="math" img-format="tif"/></maths>
, where at least one of the assigned spreading codes from the plurality of spreading codes is complex, the method <b>characterized by</b> the steps of:
<claim-text>(a) computing a spreading factor SF;</claim-text>
<claim-text>(b) defining a group of said data symbols for spreading based upon said spreading factor SF;<!-- EPO <DP n="21"> --></claim-text>
<claim-text>(c) generating a plurality of real codes ((<i><u style="single">c</u></i><sub>1</sub>···<i><u style="single">c</u></i><sub><i>M</i><sub2>1</sub2></sub>,<i><u style="single">c</u></i><sub><i>M</i><sub2>1+1</sub2></sub>···<i><u style="single">c</u></i><sub><i>M</i></sub>) and (<i><u style="single">v</u></i><sub>1</sub>···<i><u style="single">v</u></i><sub><i>P</i><sub2>1</sub2></sub>,<i><u style="single">v</u></i><sub><i>P</i><sub2>1+1</sub2></sub>···<i><u style="single">v</u></i><sub><i>P</i></sub>)) derived from said plurality of spreading codes;</claim-text>
<claim-text>(d) generating an intermediate code based upon said spreading factor SF and at least one of said real codes ((<img id="ib0078" file="imgb0078.tif" wi="5" he="5" img-content="character" img-format="tif" inline="yes"/> ···<img id="ib0079" file="imgb0079.tif" wi="7" he="6" img-content="character" img-format="tif" inline="yes"/> , <i><u style="single">c</u></i><sub><i>M</i><sub2>1+1</sub2></sub>···<i><u style="single">c</u></i><sub><i>M</i></sub>) and
<maths id="math0023" num=""><img id="ib0080" file="imgb0080.tif" wi="33" he="7" img-content="math" img-format="tif"/></maths>
;</claim-text>
<claim-text>(e) rotating each of said symbols of said group to generate a complex spreading code; and</claim-text>
<claim-text>(f) mixing said complex spreading code with said intermediate code to generate an output spreading code.</claim-text></claim-text></claim>
<claim id="c-en-01-0009" num="0009">
<claim-text>The method according to claim 8 wherein said defining step is further <b>characterized by</b> the step of deriving the size of said group using the formula:<maths id="math0024" num=""><math display="block"><mrow><mtext mathvariant="italic">N</mtext><mtext> = </mtext><mfrac><mrow><msub><mrow><mtext mathvariant="italic">SF</mtext></mrow><mrow><mtext>max</mtext></mrow></msub></mrow><mrow><mtext mathvariant="italic">SF</mtext></mrow></mfrac></mrow></math><img id="ib0081" file="imgb0081.tif" wi="22" he="10" img-content="math" img-format="tif"/></maths> where <i>N</i> denotes the number of data symbols in a group, <i>SF</i><sub><i>max</i></sub> denotes the maximum spreading factor of the communication system and <i>SF</i> is the computed spreading factor.</claim-text></claim>
<claim id="c-en-01-0010" num="0010">
<claim-text>The method according to claim 9 wherein said rotating step is further <b>characterized by</b> differing degrees of rotation in dependence upon the number of complex spreading codes from said assigned codes.</claim-text></claim>
<claim id="c-en-01-0011" num="0011">
<claim-text>The method according to claim 10 wherein said rotating step is further <b>characterized by</b> the steps of:
<claim-text>(d1) rotating 0 degrees when <i>j</i><sup>(<i>total number of complex codes</i>)modulo 4</sup> remainder is 1;</claim-text>
<claim-text>(d2) rotating 90 degrees when <i>j</i><sup>(<i>total number of complex codes</i>)modulo 4</sup> remainder is j;</claim-text>
<claim-text>(d3) rotating 180 degrees when <i>j</i><sup>(<i>total number of complex codes</i>)modulo 4</sup> remainder is -1 ; and<!-- EPO <DP n="22"> --></claim-text>
<claim-text>(d4) rotating 270 degrees when <i>j</i><sup>(<i>total number of complex codes</i>)modulo 4</sup> remainder is -j.</claim-text></claim-text></claim>
<claim id="c-en-01-0012" num="0012">
<claim-text>The method according to claim 11 whereby said plurality of signal spreading codes is further <b>characterized by</b> channelization codes (<img id="ib0082" file="imgb0082.tif" wi="5" he="5" img-content="character" img-format="tif" inline="yes"/> ···<img id="ib0083" file="imgb0083.tif" wi="7" he="6" img-content="character" img-format="tif" inline="yes"/> , <i><u style="single">c</u></i><sub><i>M</i><sub2>1+1</sub2></sub>···<i><u style="single">c</u></i><sub><i>M</i></sub>) and scrambling codes
<maths id="math0025" num=""><img id="ib0084" file="imgb0084.tif" wi="33" he="7" img-content="math" img-format="tif"/></maths>
.</claim-text></claim>
<claim id="c-en-01-0013" num="0013">
<claim-text>The method according to claim 12 whereby said channelization codes further include complex channelization codes and said scrambling codes further include complex scrambling codes.</claim-text></claim>
<claim id="c-en-01-0014" num="0014">
<claim-text>The method according to claim 13 further <b>characterized by</b> the step of summing said number of complex channelization codes and complex scrambling codes from said assigned codes.</claim-text></claim>
</claims><!-- EPO <DP n="23"> -->
<claims id="claims02" lang="de">
<claim id="c-de-01-0001" num="0001">
<claim-text>Kommunikationssystem mit einem Spreizer (17) zum Spreizen eines Datensignals (<u style="single">d</u>), das zumindest mehrere Datensymbole (<u style="single">d</u>i) aufweist; wobei das System mindestens einen von mehreren Spreizkodes ((<img id="ib0085" file="imgb0085.tif" wi="5" he="5" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0086" file="imgb0086.tif" wi="7" he="6" img-content="character" img-format="tif" inline="yes"/> , <u style="single">c</u><sub>M1+1</sub>...<u style="single">c</u><sub>M</sub>) und (<img id="ib0087" file="imgb0087.tif" wi="5" he="6" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0088" file="imgb0088.tif" wi="6" he="6" img-content="character" img-format="tif" inline="yes"/> , <i>v</i><sub>P1+</sub>1...<i><u style="single">v</u></i><sub>P</sub>)) zuweist, wobei mindestens einer dieser mehreren Spreizkodes komplex ist, wobei der Spreizer <b>gekennzeichnet ist durch</b>:
<claim-text>einen Dateneingang zum Empfangen des Datensymbols;</claim-text>
<claim-text>einen Steuerungseingang zum Empfangen eines zugewiesenen Spreizfaktors SF für das Datensignal;</claim-text>
<claim-text>einen Prozessor (19) für die Gruppe N zum Definieren einer Gruppe aus N Symbolen (<u style="single">d</u>i) zum Spreizen auf der Basis des zugewiesenen Spreizfaktors SF;</claim-text>
<claim-text>einen Zwischenkodegenerator (21) zum Berechnen eines Spreizkodes auf der Basis des zugewiesenen Spreizfaktors und mindestens eines Kodes von mehreren realen Kodes ((<u style="single">c</u><sub>1</sub>...<u style="single">c</u><sub>M1</sub>,<u style="single">c</u><sub>M1+1</sub>...<u style="single">c</u><sub>M</sub>) und (<i><u style="single">v</u></i><sub>1</sub>...<i><u style="single">v</u></i><sub>P1</sub>,<i><u style="single">v</u></i><sub>P1+1</sub>...<i><u style="single">v</u></i><sub>P</sub>)), die aus den mehreren zugewiesenen Spreizkodes abgeleitet werden, wobei der Zwischenkodegenerator einen Zwischenkode ausgibt; und</claim-text>
<claim-text>einen Phasendreher (25) zum Durchführen einer Phasendrehung jedes Symbols (<u style="single">d</u><sub>i</sub>) in dieser Gruppe, um eine komplexe Größe (<img id="ib0089" file="imgb0089.tif" wi="10" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>], <img id="ib0090" file="imgb0090.tif" wi="11" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>]) zu erzeugen, wobei diese komplexe Größe mit dem Zwischenkode gespreizt und als ein gespreiztes Datensignal (<i>Ẑ</i>) ausgegeben wird.</claim-text></claim-text></claim>
<claim id="c-de-01-0002" num="0002">
<claim-text>System nach Anspruch 1, wobei der Prozessor für die Gruppe N derart betreibbar ist, daß er die Gruppe unter Verwendung der Beziehung:<maths id="math0026" num=""><math display="block"><mrow><mtext>N = </mtext><mfrac><mrow><mtext>SF max</mtext></mrow><mrow><mtext>SF</mtext></mrow></mfrac></mrow></math><img id="ib0091" file="imgb0091.tif" wi="25" he="9" img-content="math" img-format="tif"/></maths><!-- EPO <DP n="24"> --> definiert, wobei N die Anzahl von Datensymbolen in der Gruppe bezeichnet, SFmax den maximalen Spreizfaktor des Kommunikationssystems bezeichnet und SF der zugewiesene Spreizfaktor des Datensignals ist.</claim-text></claim>
<claim id="c-de-01-0003" num="0003">
<claim-text>System nach Anspruch 2, wobei die Größe der von dem Phasendreher durchgeführten Phasendrehung von der Gesamtanzahl der zugewiesenen Spreizkodes abhängt.</claim-text></claim>
<claim id="c-de-01-0004" num="0004">
<claim-text>System nach Anspruch 2, wobei die mehreren zugewiesenen Spreizkodes ferner sowohl durch Kanalteilungskodes (<u style="single">c</u><sub>1</sub>...<u style="single">c</u><sub>M1</sub>,<u style="single">c</u><sub>M1+1</sub>...<u style="single">c</u><sub>M</sub>) als auch Scramblingkodes (<img id="ib0092" file="imgb0092.tif" wi="5" he="6" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0093" file="imgb0093.tif" wi="6" he="6" img-content="character" img-format="tif" inline="yes"/> , <i>v</i><sub>P1+1</sub>...<i><u style="single">v</u></i><sub>P</sub>) gekennzeichnet sind.</claim-text></claim>
<claim id="c-de-01-0005" num="0005">
<claim-text>System nach Anspruch 4, das ferner <b>dadurch gekennzeichnet ist, dass</b> die Kanalteilungskodes komplexe und reale Kodes umfassen, und dass die Scramblingkodes komplexe und reale Kodes umfassen.</claim-text></claim>
<claim id="c-de-01-0006" num="0006">
<claim-text>System nach Anspruch 5, wobei die Größe der Phasendrehung durch den Phasendreher von der Gesamtanzahl zugewiesener komplexer Kanalteilungs- und komplexer Scramblingkodes abhängt.</claim-text></claim>
<claim id="c-de-01-0007" num="0007">
<claim-text>System nach Anspruch 6, wobei die Phasendrehung ferner durch j<sup>(Gesamtzahl komplexer Kodes)Modulo 4</sup> gekennzeichnet ist, wobei ein Rest von 0 zu 0 Grad Drehung führt, ein Rest von 1 zu 90 Grad Drehung führt, ein Rest von 2 zu 180 Grad Drehung führt und ein Rest von 3 zu 270 Grad Drehung führt.</claim-text></claim>
<claim id="c-de-01-0008" num="0008">
<claim-text>Verfahren zum Spreizen eines Datensignals (<u style="single">d</u>), das mehrere Datensymbole (<u style="single">d</u>i) aufweist, für die Übertragung in einem Kommunikationssystem, das mindestens einen von mehreren Spreizkodes ((<img id="ib0094" file="imgb0094.tif" wi="5" he="5" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0095" file="imgb0095.tif" wi="7" he="6" img-content="character" img-format="tif" inline="yes"/> , <u style="single">c</u><sub>M1+1</sub>...<u style="single">c</u><sub>M</sub>) und (<img id="ib0096" file="imgb0096.tif" wi="5" he="6" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0097" file="imgb0097.tif" wi="6" he="6" img-content="character" img-format="tif" inline="yes"/> , <i>v</i><sub>P1+1</sub>...<i><u style="single">v</u></i><sub>P</sub>)) zuweist, wobei mindestens einer der zugewiesenen Spreizkodes von den mehreren Spreizkodes komplex<!-- EPO <DP n="25"> --> ist, wobei das Verfahren durch die folgenden Schritte gekennzeichnet ist:
<claim-text>(a) Berechnen eines Spreizfaktors SF;</claim-text>
<claim-text>(b) Definieren einer Gruppe von Datensymbolen zum Spreizen auf der Basis des Spreizfaktors SF;</claim-text>
<claim-text>(c) Erzeugen mehrerer realer Kodes ((<u style="single">c</u><sub>1</sub>...<u style="single">c</u><sub>M1</sub>,<u style="single">c</u><sub>M1+1</sub>...<u style="single">c</u><sub>M</sub>) und (<i><u style="single">v</u></i><sub>1</sub>...<i><u style="single">v</u></i><sub>P1</sub>,<i><u style="single">v</u></i><sub>P1+1</sub>...<i><u style="single">v</u></i><sub>P</sub>)), die aus den mehreren Spreizkodes abgeleitet werden;</claim-text>
<claim-text>(d) Erzeugen eines Zwischenkodes auf der Basis des Spreizfaktors SF und mindestens eines der realen Kodes ((<u style="single">c</u><sub>1</sub>...<u style="single">c</u><sub>M1</sub>,<u style="single">c</u><sub>M1+1</sub>...<u style="single">c</u><sub>M</sub>) und (<i><u style="single">v</u></i><sub>1</sub>...<i><u style="single">v</u></i><sub>P1</sub>,<i><u style="single">v</u></i><sub>P1+1</sub>...<i><u style="single">v</u></i><sub>P</sub>));</claim-text>
<claim-text>(e) Drehen jedes der Symbole dieser Gruppe, um einen komplexen Spreizkode zu erzeugen; und</claim-text>
<claim-text>(f) Mischen des komplexen Spreizkodes mit dem Zwischenkode, um einen Ausgangsspreizkode zu erzeugen.</claim-text></claim-text></claim>
<claim id="c-de-01-0009" num="0009">
<claim-text>Verfahren nach Anspruch 8, wobei der Definitionsschritt ferner durch den Schritt zum Ableiten der Größe der Gruppe unter Verwendung der Formel:<maths id="math0027" num=""><math display="block"><mrow><mtext>N = </mtext><mfrac><mrow><mtext>SF max</mtext></mrow><mrow><mtext>SF</mtext></mrow></mfrac></mrow></math><img id="ib0098" file="imgb0098.tif" wi="25" he="9" img-content="math" img-format="tif"/></maths> gekennzeichnet ist, wobei N die Anzahl von Datensymbolen in einer Gruppe bezeichnet, SFmax den maximalen Spreizfaktor des Kommunikationssystems bezeichnet und SF der berechnete Spreizfaktor ist.</claim-text></claim>
<claim id="c-de-01-0010" num="0010">
<claim-text>Verfahren nach Anspruch 9, wobei der Drehungsschritt ferner durch unterschiedliche Drehungsgrade in Abhängigkeit von der Anzahl komplexer Spreizkodes von den zugewiesenen Kodes gekennzeichnet ist.</claim-text></claim>
<claim id="c-de-01-0011" num="0011">
<claim-text>Verfahren nach Anspruch 10, wobei der Drehungsschritt ferner durch die folgenden Schritte gekennzeichnet ist:
<claim-text>(d1) Drehen um 0 Grad, wenn der Rest bei j<sup>(Gesamtzahl komplexer Kodes)Modulo 4</sup> 1 ist;<!-- EPO <DP n="26"> --></claim-text>
<claim-text>(d2) Drehen um 90 Grad, wenn der Rest bei j <sup>(Gesamtzahl komplexer Kodes)Modulo 4</sup> j ist;</claim-text>
<claim-text>(d3) Drehen um 180 Grad, wenn der Rest bei j<sup>(Gesamtzahl komplexer Kodes)Modulo 4</sup> -1 ist;</claim-text>
<claim-text>(d4) Drehen um 270 Grad, wenn der Rest bei j<sup>(Gesamtzahl komplexer Kodes)Modulo 4</sup> -j ist.</claim-text></claim-text></claim>
<claim id="c-de-01-0012" num="0012">
<claim-text>Verfahren nach Anspruch 11, wobei die mehreren Signalspreizkodes ferner durch Kanalteilungskodes (<u style="single">c</u><sub>1</sub>...<u style="single">c</u><sub>M1</sub>,<u style="single">c</u><sub>M1+1</sub>...<u style="single">c</u><sub>M</sub>) und Scramblingkodes (<i><u style="single">v</u></i>1...<i><u style="single">v</u></i><sub>P1</sub>,<i><u style="single">v</u></i><sub>P1+1</sub>...<i><u style="single">v</u></i><sub>P</sub>)) gekennzeichnet sind.</claim-text></claim>
<claim id="c-de-01-0013" num="0013">
<claim-text>Verfahren nach Anspruch 12, wobei die Kanalteilungskodes ferner komplexe Kanalteilungskodes umfassen und die Scramblingkodes ferner komplexe Scramblingkodes umfassen.</claim-text></claim>
<claim id="c-de-01-0014" num="0014">
<claim-text>Verfahren nach Anspruch 13, das ferner durch den Schritt des Summierens der Anzahl komplexer Kanalteilungskodes und komplexer Scramblingkodes aus den zugewiesenen Kodes gekennzeichnet ist.</claim-text></claim>
</claims><!-- EPO <DP n="27"> -->
<claims id="claims03" lang="fr">
<claim id="c-fr-01-0001" num="0001">
<claim-text>Système de communication ayant un dispositif d'étalement (17) permettant d'étaler un signal de données (<u style="single">d</u>) comprenant au moins une pluralité de symboles de données (<u style="single">d</u>i) ; le système attribuant au moins un code d'étalement parmi la pluralité de codes d'étalement ((<img id="ib0099" file="imgb0099.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0100" file="imgb0100.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ,<u style="single">c</u><sub>M1 + 1</sub>...<u style="single">c</u><sub>M</sub>) et (<img id="ib0101" file="imgb0101.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0102" file="imgb0102.tif" wi="7" he="5" img-content="character" img-format="tif" inline="yes"/> ,v<sub>P1 + 1</sub>...<u style="single">v</u><sub>P</sub>)), dans lequel au moins un code d'étalement parmi la pluralité de codes d'étalement est complexe, le dispositif d'étalement étant <b>caractérisé par</b> :
<claim-text>une entrée de données permettant de recevoir ledit symbole de données ;</claim-text>
<claim-text>une entrée de commande, permettant de recevoir un facteur d'étalement attribué SF pour le signal de données ;</claim-text>
<claim-text>un processeur de groupe N (19) permettant de définir un groupe de N symboles (<u style="single">d</u>i) pour l'étalement, sur la base dudit facteur d'étalement attribué SF ;</claim-text>
<claim-text>un générateur de codes intermédiaires (21) permettant de calculer un code d'étalement sur la base dudit facteur d'étalement attribué et au moins un code provenant d'une pluralité de codes réels ((<u style="single">c</u><sub>1</sub>...<u style="single">c</u><sub>M1</sub>,<u style="single">c</u><sub>M1 + 1</sub>...<u style="single">c</u><sub>M</sub>) et (<u style="single">v</u><sub>1</sub>...<u style="single">v</u><sub>P1</sub>,<u style="single">v</u><sub>P1 + 1</sub>...<u style="single">v</u><sub>P</sub>)) dérivés de ladite pluralité de codes d'étalement attribués, ledit générateur de codes intermédiaires sortant un code intermédiaire ; et</claim-text>
<claim-text>un dispositif de rotation (25) permettant d'effectuer une rotation de phase de chaque symbole (di) dudit groupe afin de générer une valeur complète (<img id="ib0103" file="imgb0103.tif" wi="11" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>], <img id="ib0104" file="imgb0104.tif" wi="11" he="7" img-content="character" img-format="tif" inline="yes"/> [<i>n</i>]), ladite valeur complexe étant étalée avec ledit code intermédiaire et sortie sous la forme d'un signal de données étalé (<img id="ib0105" file="imgb0105.tif" wi="3" he="5" img-content="character" img-format="tif" inline="yes"/> ).</claim-text></claim-text></claim>
<claim id="c-fr-01-0002" num="0002">
<claim-text>Système selon la revendication 1, dans lequel ledit processeur de groupe N peut fonctionner pour définir ledit groupe en utilisant la relation :<maths id="math0028" num=""><math display="block"><mrow><mtext>N = </mtext><mfrac><mrow><mtext>SF max</mtext></mrow><mrow><mtext>SF</mtext></mrow></mfrac></mrow></math><img id="ib0106" file="imgb0106.tif" wi="25" he="9" img-content="math" img-format="tif"/></maths><!-- EPO <DP n="28"> --> où N désigne le nombre de symboles de données dans ledit groupe, SF<sub>max</sub> désigne le facteur d'étalement maximum du système de communication et SF correspond au facteur d'étalement attribué du signal de données.</claim-text></claim>
<claim id="c-fr-01-0003" num="0003">
<claim-text>Système selon la revendication 2, dans lequel le taux de ladite rotation de phase effectuée par ledit dispositif de rotation dépend du nombre total de codes d'étalement attribués.</claim-text></claim>
<claim id="c-fr-01-0004" num="0004">
<claim-text>Système selon la revendication 2, dans lequel ladite pluralité de codes d'étalement attribués est en outre caractérisée à la fois par des codes de multiplexage (<img id="ib0107" file="imgb0107.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0108" file="imgb0108.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ,<u style="single">c</u><sub>M1 + 1</sub>...<u style="single">c</u><sub>M</sub>) et des codes de brouillage (<img id="ib0109" file="imgb0109.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0110" file="imgb0110.tif" wi="7" he="5" img-content="character" img-format="tif" inline="yes"/> ,v<sub>P1 + 1</sub>...<u style="single">v</u><sub>P</sub>).</claim-text></claim>
<claim id="c-fr-01-0005" num="0005">
<claim-text>Système selon la revendication 4, <b>caractérisé en outre en ce que</b> lesdits codes de multiplexage comportent des codes complexes et réels et <b>en ce que</b> lesdits codes de brouillage comportent des codes complexes et réels.</claim-text></claim>
<claim id="c-fr-01-0006" num="0006">
<claim-text>Système selon la revendication 5, dans lequel le taux de ladite rotation de phase effectuée par ledit dispositif de rotation dépend du nombre total de codes de multiplexage complexes et de codes de brouillage complexes attribués.</claim-text></claim>
<claim id="c-fr-01-0007" num="0007">
<claim-text>Système selon la revendication 6, dans lequel ladite rotation de phase est en outre <b>caractérisée par</b> j <sup>(nombre total de codes complexes)modulo 4</sup>, où un reste égal à 0 donne une rotation nulle, un reste égal à 1 donne une rotation de 90 degrés, un reste égal à 2 donne une rotation de 180 degrés et un reste égal à 3 donne une rotation de 270 degrés.</claim-text></claim>
<claim id="c-fr-01-0008" num="0008">
<claim-text>Procédé d'étalement d'un signal de données (<u style="single">d</u>) comprenant une pluralité de symboles de données (<u style="single">d</u>i) pour une transmission dans un système de communication attribuant au moins un code d'étalement parmi une pluralité de codes d'étalement ((<img id="ib0111" file="imgb0111.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0112" file="imgb0112.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ,<u style="single">c</u><sub>M1 + 1</sub>...<u style="single">c</u><sub>M</sub>) et (<img id="ib0113" file="imgb0113.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0114" file="imgb0114.tif" wi="7" he="5" img-content="character" img-format="tif" inline="yes"/> ,v<sub>P1 + 1</sub>...<u style="single">v</u><sub>P</sub>)), dans lequel au moins l'un des codes d'étalement parmi la pluralité de codes d'étalement est complexe, le procédé étant <b>caractérisé par</b> les étapes consistant à :
<claim-text>(a) calculer un facteur d'étalement SF ;<!-- EPO <DP n="29"> --></claim-text>
<claim-text>(b) définir un groupe desdits symboles de données pour l'étalement sur la base dudit facteur d'étalement SF ;</claim-text>
<claim-text>(c) générer une pluralité de codes réels ((<u style="single">c</u><sub>1</sub>...<u style="single">c</u><sub>M1</sub>,<u style="single">c</u><sub>M1 + 1</sub>...<u style="single">c</u><sub>M</sub>) et (<u style="single">v</u><sub>1</sub>...<u style="single">v</u><sub>P1</sub>,ν<sub>P1 + 1</sub>...<u style="single">v</u><sub>P</sub>)) dérivés de ladite pluralité de codes d'étalement ;</claim-text>
<claim-text>(d) générer un code intermédiaire sur la base dudit facteur d'étalement SF et au moins l'un desdits codes réels ((<img id="ib0115" file="imgb0115.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0116" file="imgb0116.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ,<u style="single">c</u><sub>M1 + 1</sub>...<u style="single">c</u><sub>M</sub>) et (<img id="ib0117" file="imgb0117.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0118" file="imgb0118.tif" wi="7" he="5" img-content="character" img-format="tif" inline="yes"/> ,v<sub>P1 + 1</sub>...<u style="single">v</u><sub>P</sub>)) ;</claim-text>
<claim-text>(e) appliquer une rotation à chacun desdits symboles dudit groupe afin de générer un code d'étalement complexe ; et</claim-text>
<claim-text>(f) mélanger ledit code d'étalement audit code intermédiaire afin de générer un code d'étalement de sortie.</claim-text></claim-text></claim>
<claim id="c-fr-01-0009" num="0009">
<claim-text>Procédé selon la revendication 8, dans lequel ladite étape de définition est en outre <b>caractérisée par</b> l'étape consistant à déduire la taille dudit groupe à l'aide de la formule :<maths id="math0029" num=""><math display="block"><mrow><mtext>N = </mtext><mfrac><mrow><mtext>SF max</mtext></mrow><mrow><mtext>SF</mtext></mrow></mfrac></mrow></math><img id="ib0119" file="imgb0119.tif" wi="25" he="9" img-content="math" img-format="tif"/></maths> où N désigne le nombre de symboles de données dans un groupe, SF<sub>max</sub> désigne le facteur d'étalement maximum du système de communication et SF correspond au facteur d'étalement calculé.</claim-text></claim>
<claim id="c-fr-01-0010" num="0010">
<claim-text>Procédé selon la revendication 9, dans lequel ladite étape de rotation est en outre <b>caractérisée par</b> différents degrés de rotation en fonction du nombre de codes d'étalement complexes par rapport auxdits codes attribués.</claim-text></claim>
<claim id="c-fr-01-0011" num="0011">
<claim-text>Procédé selon la revendication 10, dans lequel ladite étape de rotation est en outre <b>caractérisée par</b> les étapes consistant à :
<claim-text>(d1) appliquer une rotation de 0 degré lorsque le reste de j <sup>(nombre total de codes complexes)modulo 4</sup> est égal à 1 ;<!-- EPO <DP n="30"> --></claim-text>
<claim-text>(d2) appliquer une rotation de 90 degrés lorsque le reste de j <sup>(nombre total de codes complexes)modulo 4</sup> est égal à j ;</claim-text>
<claim-text>(d3) appliquer une rotation de 180 degrés lorsque le reste de j <sup>(nombre total de codes complexes)modulo 4</sup> est égal à -1 ; et</claim-text>
<claim-text>(d4) appliquer une rotation de 270 degrés lorsque le reste de j <sup>(nombre total de codes complexes)modulo 4</sup> est égal à -j.</claim-text></claim-text></claim>
<claim id="c-fr-01-0012" num="0012">
<claim-text>Procédé selon la revendication 11, dans lequel ladite pluralité de codes d'étalement de signaux est en outre <b>caractérisée par</b> des codes de multiplexage (<img id="ib0120" file="imgb0120.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0121" file="imgb0121.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ,<u style="single">c</u><sub>M1 + 1</sub>...<u style="single">c</u><sub>M</sub>) et des codes de brouillage (<img id="ib0122" file="imgb0122.tif" wi="6" he="5" img-content="character" img-format="tif" inline="yes"/> ...<img id="ib0123" file="imgb0123.tif" wi="7" he="5" img-content="character" img-format="tif" inline="yes"/> ,v<sub>P1 + 1</sub>...<u style="single">v</u><sub>P</sub>).</claim-text></claim>
<claim id="c-fr-01-0013" num="0013">
<claim-text>Procédé selon la revendication 12, dans lequel lesdits codes de multiplexage comportent en outre des codes de multiplexage complexes et lesdits codes de brouillage comportent en outre des codes de brouillage complexes.</claim-text></claim>
<claim id="c-fr-01-0014" num="0014">
<claim-text>Procédé selon la revendication 13, <b>caractérisé en outre par</b> l'étape consistant à additionner ledit nombre de codes de multiplexage complexes et de codes de brouillage complexes desdits codes attribués.</claim-text></claim>
</claims><!-- EPO <DP n="31"> -->
<drawings id="draw" lang="en">
<figure id="f0001" num=""><img id="if0001" file="imgf0001.tif" wi="143" he="204" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="32"> -->
<figure id="f0002" num=""><img id="if0002" file="imgf0002.tif" wi="139" he="115" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="33"> -->
<figure id="f0003" num=""><img id="if0003" file="imgf0003.tif" wi="102" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="34"> -->
<figure id="f0004" num=""><img id="if0004" file="imgf0004.tif" wi="150" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="35"> -->
<figure id="f0005" num=""><img id="if0005" file="imgf0005.tif" wi="155" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="36"> -->
<figure id="f0006" num=""><img id="if0006" file="imgf0006.tif" wi="152" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="37"> -->
<figure id="f0007" num=""><img id="if0007" file="imgf0007.tif" wi="165" he="227" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="38"> -->
<figure id="f0008" num=""><img id="if0008" file="imgf0008.tif" wi="163" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="39"> -->
<figure id="f0009" num=""><img id="if0009" file="imgf0009.tif" wi="155" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="40"> -->
<figure id="f0010" num=""><img id="if0010" file="imgf0010.tif" wi="156" he="213" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="41"> -->
<figure id="f0011" num=""><img id="if0011" file="imgf0011.tif" wi="165" he="210" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="42"> -->
<figure id="f0012" num=""><img id="if0012" file="imgf0012.tif" wi="165" he="213" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="43"> -->
<figure id="f0013" num=""><img id="if0013" file="imgf0013.tif" wi="165" he="206" img-content="drawing" img-format="tif"/></figure>
</drawings>
</ep-patent-document>
