Note: Descriptions are shown in the official language in which they were submitted.
CA 02313672 2000-07-07
TITLE OF THE INVENTION
OFDM System with Simple Terminals
S FIELD OF THE INVENTION
This invention relates to OFDM communication systems.
BACKGROUND OF THE INVENTION
This invention applies to wireless networks with a central base station and a
number of
terminals. There are several ways that the terminals can share the radio
resources of the base
station 'including frequency division multiplexing (FDM) time division
multiple access
(TDMA) and code division multiple access (CDMA). A special type of FDM known
as
orthogonal frequency division multiplexing (OFDM) has a number of desirable
properties
including the ability to handle large capacity networks and good spectral
efficiency. The
major problem with OFDM is that it requires a large amount of digital signal
processing
hardware to implement, which makes OFDM more costly and power consuming than
other
types of multiple access. This invention is an adaptation of OFDM where only
the base station
requires the complex OFDM hardware. The terminals use much simpler hardware,
which
makes them less expensive and more power efficient.
SUMMARY OF THE INVENTION
This invention is a wireless network that is based on the principles of
orthogonal
frequency division multiplexing (OFDM). The network divides its radio
bandwidth into a
large number of smaller radio channels called sub-carriers. Each sub-carrier
is centered at a
different frequency and is independent of all the other sub-carriers. The
network's base station
transmits information to all the terminals at once by placing information
destined for different
terminals on different sub-carriers. Each terminal receives the entire OFDM
signal and then
uses special signal processing algorithms to separate its sub-carriers from
the unwanted sub-
carriers belonging to the other terminals. When the terminals transmit their
signals back to the
CA 02313672 2000-07-07
2
base station, each terminal transmits on only a few of the available sub-
carriers. Since each
terminal in the network is assigned a different set of sub-carriers, they can
all communicate
with the base station simultaneously. When the signals arrive at the base
station's antenna
they combine into a single OFDM signal that can be separated within the base
station using an
OFDM receiver.
Sending information on a single sub-carrier is not a reliable method of
communication. Radio channels have high attenuation at certain frequencies due
to a process
called multipath fading. If the sub-carrier happens to land at one of these
faded frequencies
then its information will not arrive at the destination. A more reliable
method is to transmit
the same information on several sub-carriers. This way if one sub-carrier is
lost to a multipath
fade, the other sub-carriers will still get the information through. This
invention uses multiple
sub-carriers to carry information both to and from the terminals.
OFDM transceivers process their signals using Fourier transform techniques. A
discrete Fourier transform (DFT) is used in the receiver to separate the
different sub-carriers,
and an inverse discrete Fourier transform (IDFT) is used in the transmitter to
generate the
OFDM signals. These operations are fairly complex and require a large amount
of signal
processing hardware to implement. In the base station this is usually not a
problem since the
costs of base station hardware are shared among the entire network, and the
base station
usually has access to an external power source. Terminal hardware
implementations are more
restrictive. Since wireless terminals are usually mobile and battery powered,
power
consumption is a critical design concern. Removing hardware from the terminal
and reducing
its power consumption allows it to operate for longer periods on smaller
batteries. Removing
complex hardware also makes the terminal smaller, lighter, and less expensive.
In this invention, the terminals use very simple hardware to communicate with
the
complex hardware in the base station. Instead of using an IDFT in the
transmitter to generate
sub-carriers, the terminal sends a sequence of QPSK symbols that make up an
OFDM-code.
These codes are designed so that they appear as several sub-carriers to the
base station's
OFDM receiver. Other terminals in the network transmit the same OFDM-codes but
modulate
them with slightly different radio frequencies so that their codes arrive at
the base station on
different sub-carriers. As long as all the terminals use different sets of sub-
carriers, their
signals will not interfere with each other.
CA 02313672 2000-07-07
3
Two simple devices, a decimator and an accumulator, replace the DFT-based OFDM
receiver in the terminal. The base station sends information to the terminal
on several sub-
Garners. The signal is sampled at the terminal and then passed to the
decimator. The
decimator discards certain specific samples, which causes the sub-carriers
destined for this
terminal to combine into a single sub-Garner. The accumulator, which adds up
the remaining
samples, separates this combined sub-carrier from the other terminals' sub-
carriers. From the
output of the accumulator, the terminal extracts the information from the base
station. For this
decimator-accumulator structure to work, the base station must first prepare
the signal by
adjusting the phases of the sub-carriers so that they arrive at the terminal
in-phase and
combine constructively during decimation.
Further summary of the invention is contained in the claims, which are
incorporated
here by reference.
BRIEF DESCRIPTION OF THE DRAWINGS
There will now be described preferred embodiments of the invention, by
reference to
the drawings by way of illustration only, in which like reference characters
denote like
elements, and in which:
Figure 1 is a schematic of the base station in the preferred embodiment;
Figure 2 is a schematic of the terminal in the preferred embodiment;
Figure 3 shows an example of how sub-carriers are distributed among terminals;
Figure 4 shows the format of the signals in the time domain;
Figure 5 is a schematic showing details of the OFDM transmitter;
Figure 6 shows the difference between FDM and OFDM signals;
Figure 7 is a schematic showing details of the OFDM receiver;
Figure 8 shows a flow chart for the controller's program;
Figure 9 shows a flow chart for the receive OFDM packet subroutine;
Figure 10 shows a flow chart for the transmit OFDM packet subroutine;
Figure 11 illustrates how the decimator combines sub-carriers;
Figure 12 is a schematic of the code generator;
Figure 13 shows the spectrum of an expanded signal;
Figure 14 shows the relationship between the components of an OFDM-code;
CA 02313672 2000-07-07
4
Figure 15 shows the spectrum of an OFDM-code in the preferred embodiment;
Figure 16 is a schematic of the terminal in the alternate embodiment;
Figure 17 shows the spectrum of an OFDM-code in the alternate embodiment.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Figure 1 shows the preferred embodiment of the base station. The base station
contains a standard OFDM transmitter 10 to generate the OFDM sub-carriers sent
to the
various terminals, and a standard OFDM receiver 12 to demodulate the signals
from the
terminals. Both transmitter and receiver are connected to a.microcontroller 14
by a common
data bus. The microcontroller handles the multiplexing and demultiplexing of
the different
terminals' information into a common OFDM signal, the allocation of sub-
carriers to different
terminals, channel estimation, data encoding and decoding, and diversity
combining. The
microcontroller sends and receives its information from a network interface
16, which
interfaces the terminals' data to outside voice and/or data networks.
A radio frequency synthesizer 18 outputs a carrier wave at the center
frequency of the
base station. A quadrature modulator 20 converts the baseband signal from the
OFDM
transmitter 10 to a radio frequency signal centered at the frequency
established by the
synthesizer 18. The signal is amplified by a linear power amplifier 22. A
duplex switch 24
(shown in the transmit position - TX) connects the power amplifier signal to a
bandpass filter
26 and radio antenna 28 to be transmitted.
When the base station is receiving signals from the terminals, the controller
14
changes the duplex switch 24 to the receive position (RX). This connects the
antenna 28 and
bandpass filter 26 to a low noise amplifier 30. This signal is then passed to
a quadrature
demodulator 32 to be converted from the radio frequency to baseband. This
signal is passed to
the OFDM receiver 12 to be converted into individual sub-carriers.
Figure 2 shows the preferred embodiment of the terminal. The code generator 50
receives data from the terminal and generates a signal that contains a number
of sub-carriers
by using an OFDM-code. This signal is passed to quadrature modulator 52 which
converts the
baseband sub-carriers to radio frequency sub-carriers centered at the
frequency generated by
the synthesizer 54. The frequency of the synthesizer is adjusted so that the
sub-carriers
CA 02313672 2000-07-07
generated by the code generator 50 line up with the sub-carrier frequencies
that the base
station has allocated this particular terminal. The signal is amplified by a
power amplifier 56.
A duplex switch 58 (shown in the transmit position - TX) connects the power
amplifier signal
to a bandpass filter 60 and radio antenna 62 to be transmitted.
5 The terminal changes the duplex switch 58 to the receive (RX) mode to
receive signals
from the base station. This connects the antenna 62 and bandpass filter 60 to
a low noise
amplifier 64. The amplified signal is passed to a quadrature demodulator 66 to
be converted
from the radio frequency to baseband. The continuous signal from the
demodulator is
converted to a discrete-time signal by an analog sample and hold device 68. A
decimator 70
passes only every M samples and discards the rest. This, as will be shown
later, combines all
of the sub-carriers destined for this terminal into a single sub-carrier. By
adjusting the
frequency of the synthesizer 54, this sub-carrier can be made to fall directly
at frequency zero.
This particular sub-carrier is then extracted from the rest using the analog
accumulator 72.
The result is passed to a DQPSK decoder 74 to be converted into data bits for
the terminal.
The base station divides radio resources among terminals by allocating
different
terminals different sets of sub-carriers. Figure 3 shows an example of this in
the frequency
domain. Each sub-Garner available to the base station is represented by a
vertical line. In this
example, terminals A and B are each allocated four sub-carriers and terminal C
is allocated
two. When the terminal and base station exchange information, the same data
symbol is sent
through each of the assigned sub-carriers. Since no two terminals share a
common sub-carrier,
the base station can send information to or receive information from all of
the terminals
simultaneously. It is possible to allocate a terminal a single sub-carrier,
but this would not
produce very reliable communication. A single sub-carrier is susceptible to
multipath fading
in the radio channel which may attenuate the signal so much that it can't be
decoded. When
the signal is spread across more than one sub-carrier and these sub-carriers
are spaced far
apart in frequency, the chances are not likely that all the sub-carriers will
experience
multipath fading simultaneously. The more sub-carriers that carry any given
terminal's signal,
the less likely that the signal will be lost. However, the total number of sub-
carriers is limited
so there is tradeoff between the number of sub-carriers available to each
terminal and the total
number of terminals allowed in the system.
CA 02313672 2000-07-07
6
In the time domain, the base station divides the network time into discrete
OFDM
packets as shown in Figure 4. In each OFDM packet, represented as a rectangle,
one data
symbol is transmitted to or received from each terminal. The packets are N
samples long and
have a guard time of N~ samples between packets to prevent interference from
one packet to
the next. The first series of uplink packets are sent from the terminals to
the base station. Then
the duplex switches 26 and 58 are changed and the downlink packets are sent
from the base
station to the terminals through the same radio channel. The duplex switches
are then changed
again and the process repeats itself.
While several variations of OFDM modulators are known in the art, Figure 5
shows
the preferred embodiment for the OFDM transmitter 10. The key feature of OFDM
modulation is the efficiency in which it packs together very narrow channels
in the frequency
domain. A standard frequency division multiplexing (FDM) spectrum is shown in
Figure 6a.
The different channels are filtered to a narrow bandwidth and then modulated
to different
frequencies by a set of sub-carriers. To keep the signals independent, guard
bands are inserted
between the sub-channels so that the receiver can filter out individual sub-
channels for
decoding. While effective, FDM is not a very efficient use of radio spectrum,
mainly because
of the waste caused by the guard bands.
Figure 6b shows the spectra of three OFDM sub-carriers defined by
x (n)- 1 0<_n<N
0 otherwise 1
e;z~,~N 0 ~ n < N
x~ (n) = 0 otherwise 2
e;am,iN O~n<N
xz (n ) 0 otherwise
The zeroth sub-carrier xo (n ) is a rectangular pulse N samples long, sub-
carrier one x~ (n) is
one cycle of a complex sinusoid, and sub-carrier two xz (n) is two cycles of a
complex
sinusoid. Note that between the spectra of these three sub-carriers, there are
no guard bands
and the signals are packed so closely in frequency that the spectra actually
overlap. It is the
specific shape of the signal spectra that makes this possible. Each of the
three OFDM signals
CA 02313672 2000-07-07
has a spectrum with one main lobe and N 1 zeros spaced at intervals of 2~ l N
radians around
the unit circle. By positioning the signals as in Figure 2b, the main lobe of
each sub-carrier
lines up with the zeros of all the other nodes. Therefore at those
frequencies, there is no
interference between sub-carriers and they are perfectly orthogonal.
Using this method, it is possible to pack up to N independent sub-carriers
around the
unit circle and modulate a different piece of information on each one. Sub-
carrier k with
information symbol mk is expressed as
mk e;z~lN 0 ~ n < N
xk(n)= . 4
0 otherwise
When all the sub-carriers are combined together, the result is
N-I
x(n) _ ~ xk (n S
k=0
N-1
~mk~2nlrnlN O<n<N
x(n) = k=o
6
0 otherwise
1 N_ I
N -~mkWN~' 0<_n<N
x(n) = N k=o
0 otherwise'
where WN = e-'z'~lN
In the final form of the OFDM signal (Equation 7) the part within the brackets
is the inverse
discrete Fourier transform (DFT) of the information sequence. Therefore, the
OFDM signal is
calculated by applying an inverse-DFT to the set of message symbols and
multiplying by N.
Again referring to Figure 5, the data symbols mk are transferred from the
controller 14
to a memory buffer 100 in preparation for processing. Once the memory buffer
is full, the real
and imaginary components of the sub-carriers are transferred to an inverse-DFT
calculating
unit 102, which calculates the first N samples of the OFDM packet using the
fast Fourier
transform algorithm. The result is transferred to another buffer 104, where an
additional N~
CA 02313672 2000-07-07
8
zero samples are appended that make up the guard time. At the start of the
packet, the
contents of this buffer are clocked out through digital-to-analog converters
106 and lowpass
antialiasing filters 108 to produce the analog OFDM output signal.
Figure 7 shows the preferred embodiment for the OFDM receiver 12. The main
element in the OFDM receiver is the DFT calculating unit 128, which computes
the frequency
spectrum of the signal at the points around the unit circle where the sub-
carriers are
orthogonal. The output of the DFT is a set of complex numbers representing the
amplitude
and phase of each of the sub-carriers. Before the DFT can be applied, the
analog signal is
filtered by lowpass antialiasing filters 120, sampled with analog-to-digital
converters 122, and
the result stored in a memory buffer 124. The total length of an OFDM packet
(including the
guard band) is N+ N~ samples, but the DFT algorithm will only accept N samples
as an input.
The folding unit 126 passes the information from the buffer 124 to the DFT
unit 128. To
reduce the signal to N samples, it removes the last N~ samples from the end of
the sequence
and adds them to the first N~ samples. This effectively folds any signal that
may have been
dispersed into the guard band by the radio channel back around to the start of
the signal. Once
the DFT unit 128 completes the transform, the resulting complex sub-carrier
amplitudes are
stored in another buffer 130 where they can be accessed by the controller 14.
The procedure that the controller 14 follows is shown in Figure 8. At 140, it
sets the
duplex switch 24 to the receive position in order to accept the uplink packets
shown in Figure
4. A single uplink packet is loaded and decoded at 142, and this step is
repeated until all the
uplink packets are received. The duplex switch 24 is then changed to the
transmit position at
144 to prepare the base station for the downlink packets. A single downlink
packet is
transmitted at 146, and this is repeated until all of the downlink packets
have been sent. The
procedure repeats indefinitely. As it is running, the controller 14 maintains
three tables. The
first contains one entry for each terminal connected to the base station. Each
entry is a list of
the indices of the sub-carriers that are assigned to that terminal. The second
table has one
entry P, for each sub-carrier that represents the phase shift imposed on that
carrier by the
OFDM-codes (described later). The third table has one complex entry C; for
each sub-carrier
that represents the complex gain (amplitude and phase) of the radio channel.
As the radio
channel is dynamic, this table must be continually updated by the controller.
CA 02313672 2000-07-07
9
The details of the procedure to receive an OFDM packet 142 are shown in Figure
9.
The first terminal's sub-carrier list is loaded at 160. The controller must
take each of the sub-
carriers in this list and combine them using maximal ratio combining before
recovering the
data. To do this, the phases of the sub-carriers are rotated so that they
combine constructively,
and the amplitude of each sub-Garner is weighted by the magnitude of the
corresponding
channel gain. The phase of any given sub-carrier is made up of three
components: the phase
of the QPSK data symbol which is the same in each of the terminal's sub-
carriers, the phase
imposed by the OFDM-code which is different for each sub-carrier, and the
phase shift caused
by the radio channel which is different for each sub-carrier. Before the
signals can be
combined, the code phase shift and the channel phase shift must be removed.
The maximal
ratio combining procedure starts by initializing an accumulator to zero at
162. At 164, each of
the sub-carriers in the terminal's list is fetched from the OFDM receiver's
output buffer 130,
the phase imposed by the code P, is removed, this is multiplied by the complex
conjugate of
the channel gain C; to remove the channel phase and apply the weighting
factor, and the
result is added to the accumulator. After all of the sub-carriers have been
processed, the
symbol in the accumulator is decoded using a QPSK decoder at 166. This results
in two bits
of information that is passed to the network interface 16 at 168.
The next step 170 is to update the channel coefficients C; . Now that the data
symbols
are known from step 166, the phase shifts caused by both the OFDM-code and the
data can be
removed from the sub-carriers, leaving only the complex channel gain. This new
channel gain
estimate C; is incorporated into the channel gain table with the following
formula
aC; +(1- a)C; ~ C; 8
The constant a should be small enough that the noise in C~,k does not
seriously
contaminate the channel set and large enough so that the base station can
track the changes in
the channel. The controller fetches the list of sub-carriers for the next
terminal at 172 and
continues processing the sub-carriers until the data from all of the terminals
has been
recovered.
Figure 10 shows the details of the procedure 146 used by the controller 14 to
transmit
an OFDM packet to the terminals. The first terminal's sub-carrier list is
loaded at 180. Two
CA 02313672 2000-07-07
bits of data destined for this terminal are loaded from the network interface
16 at 182, and
then are encoded into a DQPSK symbol at 184. The DQPSK symbol is transmitted
simultaneously on each of the sub-carriers in the terminal's list so that they
can be
recombined within the terminal using maximal ratio combining. To make this
happen, the
5 magnitude of each sub-carrier must be weighted by the magnitude of the
corresponding
channel gain, and the phase of each sub-carrier must be rotated so that they
add up
constructively. Both the weighting and phase shift operations are done in step
186 by
multiplying the DQPSK symbol by the complex conjugate of the channel gain C;
corresponding to each sub-carrier in the list. The resulting sub-carriers are
sent to the OFDM
10 transmitter's memory buffer 100. The complex channel gains C; are already
known from
receiver step 170, and this same information is reused in step 186. Once all
the sub-carriers
are generated for this terminal, the controller fetches the list of sub-
carriers for the next
terminal at 188 and continues processing until the sub-carriers for all of the
terminals are
generated.
The processing done on the transmitted signal allows each terminal to recover
and
combine its sub-carriers with only the decimator 70 and accumulator 72 shown
in Figure 2.
The decimator (.~M) is a simple device that passes through every Mth sample
and discards the
rest. For a given input x(n), the decimated output y(n) is given by
y(n) = x(Mn).
The frequency spectrum of the decimated sequence is given by
l,~e;~~= ~X~e;~~~ - 1 ~X~e~d-2A~>~M>. 10
l ' ly.M _ MM ~L-. 'o
Notice that the new frequency spectrum is made up of M frequency-scaled and
frequency-
shifted copies of the original spectrum. This property makes decimation an
ideal operation for
recombining sub-carriers within the terminal.
Say that the base station simultaneously transmits the terminal's message on
the four
sub-carriers shown in bold in Figure 11. The sub-Garners are numbered
according to their
DFT index. The sub-carriers intended for this terminal are located at indices
0, 16, 32, and 48.
CA 02313672 2000-07-07
11
After the terminal samples the signal, it decimates it by four (M 4).
Decimation causes the
spectrum to be divided into four parts, spread in frequency, and shifted in
frequency. The four
parts then combine to create a new spectrum with only 16 sub-carriers. The
desired four sub-
carners, marked in bold, all combine at the zeroth sub-carrier. Since the
phase of the sub-
s carriers was adjusted at the base station, the sub-carriers will combine
constructively. The
zeroth sub-carrier is trivial to recover since its discrete-time Fourier
transform is given by
N~_I
M
Xo = ~ x(n). 11
n=0
This-is calculated by the terminal's accumulator 72.
Figure 12 shows the details of the code generator 50. QPSK encoder 200
receives two
bits of data from the terminal for each OFDM packet and converts them to a
single QPSK
symbol. For each OFDM packet, code table 202 outputs a pre-calculated series
of QPSK
symbols whose frequency spectrum contains one or more OFDM sub-carriers.
Complex
multiplier 204 combines the two signals to form the OFDM-code. The OFDM-code
is passed
though digital-to-analog converters 206 and lowpass antialiasing filters 208
to produce the
analog OFDM output signal.
The specific code in table 202 depends on the application. There are two
variables that
can be controlled: N is the total length of the code, and R is the number of
active sub-carriers
in the code. To construct the code, start with the zeroth sub-carrier of
length N/R as defined by
Equation 4. For convenience, the signal is represented by its z-transform
NCR-~
Xo(z)=m ~ z ". 12
n-0
The signal defined by Equation 12 contains one active sub-carrier at the
zeroth position and
N/R-1 vacant sub-carrier locations. Message m, the output of the QPSK encoder
200, is
modulated on that sub-carrier. To create a signal with R active sub-carriers,
replace the z in
Equation 12 with zR to produce the following new signal
NCR-1
X(z) = Xo ~zR ~= m ~ z-R" . 13
"=0
CA 02313672 2000-07-07
12
What this does is the multirate signal processing operation of expansion,
which has the effect
of creating R copies of the original spectrum in the frequency domain. Now
there is a total of
R active sub-carriers and N R vacant sub-carrier locations. For example, the
coefficients of
X(z) for N 64 and R=4 are
x (n) _ {m, 0, 0, 0, m, 0, 0, 0, m, 0, 0, 0, m, 0, 0, 0,
m,O,O,O,m,0,0,0,m,0,0,0,m,0,0,0,
14
m,0,0,0,m,0,0,0,m,0,0,0,m, 0, 0, 0,
m, 0, 0, 0, m, 0, 0, 0, m, 0, 0, 0, m, 0, 0, 0}
and the spectrum of the signal is shown in Figure 13. As expected, there are
four occupied
sub-carriers and sixty vacant ones for other terminals to use.
The problem with the method above is power. OFDM signals get their processing
gain
by repeating the same information over again for many samples. In the code
defined by
Equation 14, three out of every four samples are zero and therefore the code
only has one
quarter of the power of a code where all the symbols are filled. This drop in
power can be
avoided by using a base code of length R, as defined by
R-1
B(z ) _ ~ b( n)z n , 1 S
n =0
where the coefficients b(n) belong to the set {1, j, -1, j}. When the base
code polynomial is
multiplied by the polynomial defined in Equation 13, the base code fills in
the empty space in
the OFDM signal to produce the following
N/R-1 R-1 N/R-1R-1
X~(z) =X(z)B(z) = m ~ i ~ ~ b(p)z-p =m ~ ~b(p)z-~~+p~ . 16
n_-0 ~p=0 n=0 p=_0
The coefficients of the OFDM-code x~(n) are the base code coefficients b(n)
multiplied by
the message symbol m and repeated N/R times. The spectrum of the OFDM-code is
a product
of the spectra of the OFDM signal X~e'~' ~ and the base code B~e'~'~ and is
shown in Figure
14 (for N--32, R=4). The OFDM signal spectrum X~e'~' ~ defines the shape of
the OFDM-code
spectrum with its R occupied sub-carriers and N-R null sub-carriers. The base
code spectrum
CA 02313672 2000-07-07
13
B~e'~'~ amplifies the power of the occupied sub-carriers. In most cases it is
desirable to boost
the magnitude of all of the diversity carriers by the same amount, therefore
the base code
coefficients are chosen so that the magnitude of B~e'~'~ is the same at the
frequency of each of
the occupied sub-carriers. The phase of B~e'~'~ at each of the sub-carrier
frequencies defines
the code phase shift parameters P, used by the controller 14 during
demodulation.
An example OFDM-code is derived for N--64 and R=4 as follows. Since the result
has
four sub-carriers at frequencies 0, ~/2, ~, and -~/2, the base code should
have equal amplitude
at each of these frequencies, i.e.
I B(eio )~ _ I B(eim2 ~ _ (B(ei~ )~ _ I B(e im2 )~ _ 17
The length four Frank-Heimiller code given by
b( n) _ {l, l, l, -1} 1 g
meets these specifications and has a constant magnitude of two at the sub-
carrier frequencies.
The code phase shifts P, for the four sub-carriers are 0, ~c/2, 0, and 3~t/2
radians
respectively. The OFDM-code is evaluated from Equation 16 to return the
following
coefficients
x~ ( n) _ {m, m, m, - m, m, m, m, - m, m, m, m, - m, m, m, m, - m,
m, m, m, - m, m, m, m, - m, m, m, m, - m, m, m, m, - m,
. 19
m, m, m, - m, m, m, m, - m, m, m, m, - m, m, m, m, - m,
m, m, m, - m, m, m, m, - m, m, m, m, - m, m, m, m, - m}
Figure 15 shows the frequency spectrum of this signal. The result is an OFDM
signal with a
total of 64 sub-carriers and, as predicted, four of the sub-carriers are
occupied with equal
amplitude signals and the remainder are empty and available for use by other
terminals. The
spectral shape of the signal in Figure 15 is identical to that in Figure 13,
however the code that
generated it has four times as much energy.
2S Table 1 shows perfect base codes for R values of one, two, four, eight, and
sixteen. To
generate the symbols for code table 202, choose a base code of length R and
repeat it a total of
N/R times. A perfect base code is defined as a code whose spectrum has the
same amplitude at
CA 02313672 2000-07-07
14
each of the sub-carrier locations. The table lists all the fundamental perfect
base codes. Other
perfect codes can be generated from these fundamental codes by applying one or
more of the
following operations:
1. Multiplying every element of the code by -1, j, or j.
2. Rotating the elements of the code by any amount. For example turning {b(0),
b(1), b(2), b(3)} into {b(3), b(0), b(1), b(2)}.
3. Time reversing the elements of the code. For example turning {b(0), b(1),
b(2),
b(3)} into {b(3), b(2), b(1), b(0)}
4. Taking the complex conjugate of each element in the code.
An alternate embodiment of the terminal is shown in Figure 16. This particular
embodiment is useful when the value of N is very large. Within the receiver's
quadrature
demodulator 32, some of the synthesizer's signal can leak into the signal
input and be
downconverted to dc. This is known as carrier-feedthrough. The result of this
is a small do
offset at the output of the mixer. Under normal circumstances, the offset is
negligible,
however when many samples are summed to calculate the zeroth sub-carrier, the
errors
accumulate and may overpower the actual signal.
The solution is to change the position of the sub-carriers so that they arrive
at a
frequency other than dc. Sub-carrier N/2 - which is at the Nyquist frequency -
is almost as
trivial to recover as the zeroth sub-carrier. The DFT formula at the Nyquist
frequency is
N-1 N-l
XNm - ~x(n)WNnl2 - ~x(n -1 . 20
n=0 n-_0
Therefore, XN, Z is calculated by alternately adding and subtracting samples.
The terminal in
Figure 16 contains two accumulators 72 instead of the one shown in Figure 2. A
switch 80
routes all the even index samples to one accumulator and all the odd index
samples to the
other. The difference of the two accumulators calculated by 82 is the output
of Equation 20,
which is the sub-carrier at the Nyquist frequency. This method avoids the do
sub-carrier
completely, so carrier-feedthrough is not a factor.
CA 02313672 2000-07-07
Since the position of the sub-carriers have changed, the OFDM-codes used for
the
alternate embodiment are also different. These codes are generated by
following the same
procedure as above. First the z-transform of the Nyquist frequency sub-carrier
of length N/R
N/R-1
XNl zR(Z) m 1 z 21
n=0
is expanded by R
N/R-I
X(Z)- XNl2R(ZR> m ~ ( 1)nZ Rn 22
n=0
to form an OFDM signal with R active sub-carriers and N R null sub-carriers.
That
10 polynomial is then multiplied by the base code B(z) defined in Equation 15
N/ R-1 R-1
C Z) =X(Z)B(Z) = m ~ (-1)nZ ~ ~ b~)Z P
n=0 p=0 23
NlR-1R-1
m 1 b(p)z ~R"'p)
n=0 p=0
to generate the OFDM-code. Note that the coefficients of the OFDM-code
described by
Equation 23 are identical to those described by Equation 16 except that when
the base code is
15 repeated, every alternate base code is negative. The base codes will also
be different since the
frequencies that the sub-carriers occupy are different.
Repeating the example from the previous section with N--64 and R=4 results in
the
following. Since the four sub-carriers now appear at frequencies Tcl4, 3 ~c/4,
-3 ~/4, and -~c/4,
the base code should have equal amplitude at each of these frequencies, i.e.
~B(e;m<)~ _ ~B(e;sm<~~ _ ~B~e_~sma)~ _ I B(e_;xia)~. 24
The code given by
b(n) _ {l, l, j, -~~ 25
meets these specifications. The OFDM-code is evaluated from Equation 23 to get
the
following coefficients
CA 02313672 2000-07-07
16
x~(n) _ {m, m, jm, - jm, - m, - m, - jm, jm, m, m, jm, - jm, - m, - m, - jm,
jm,
m, m, Vim, - Vim, - m, - m, -Vim, Vim, m, m, Vim, - Vim, - m, - m, - Vim, Vim,
26
m, m, jm, - jm, - m, - m, - jm, jm, m, m, jm, - jm, - m, - m, - jm, jm,
m, m, jm, - jm, - m, - m, - jm, jm, m, m, jm, - jm, - m, - m, - jm, jm}
The frequency spectrum of this code is shown in Figure 17, and clearly shows
the four
occupied sub-carriers, all shifted away from dc, and the sixty null sub-
carriers.
The fundamental perfect base codes for the alternate embodiment are shown in
Table
2 for values of R of one, two, and four. No perfect codes exist for R of eight
and sixteen so
near-perfect base codes are shown for these values. To generate the symbols
for the code table
202 in this embodiment, choose a base code of length R and repeat the positive
base code,
followed by the negative of the base code, followed by the positive base code,
etc. a total of
N/R times.
Immaterial modifications may be made to the preferred embodiment disclosed
here
without departing from the essence of the invention.
CA 02313672 2000-07-07
17
Table 1
R Base Code b(n)
1 {1}
2 { 1, j }
4 { 1, 1, 1, -1 }
{ l~j~ 1~ J }
8 { 1, 1, 1, j, -1, 1, -1, j }
{ 1, 1, j, 1, 1, -1, j, -1 }
16 { 1, 1, 1, 1, 1, j, -1, j, 1, -1, 1, -1, 1,
-j, -1, j }
{ 1, 1, 1, 1, 1, j j -1, 1 -1 -1, 1, 1 j,
j -1 }
{ l, 1, 1, 1, j, 1 j -1 -1, 1 -1, 1 j, 1,
j -1 }
{ 1, 1, 1, 1, j, 1 -1 -j -1, 1, 1 -1 j, 1
-1, j }
{ 1, 1, 1, 1, j -j, 1 -1 -1 -1, 1, 1 j, j,
1 -1 }
{l, l,l,j,l,j-j-j,l-1-l,j,l-j,j j}
{ 1, 1, 1, j, l, j -1, 1, 1 -1, 1 j, 1 j -1
-1 }
{l, l,l,j,l-j,j-j,l-1-l,j,l,j-j j}
{l, l,l,j,l-l,j,l,l,l-1 j,l-1-j-1}
{ 1, 1, 1, j, j, 1 -j j -1, 1 -1, j -j, 1,
j j }
{ 1, 1, 1, j, j, 1, -1, 1, -1, 1, 1, j, -j,
1, -1, -1 }
{ 1~ 1~ l~j~j> >> -l~j~ -1~ -1~ l~j~ -I~j~
-l~j }
{ 1, 1, 1, j, j, -1, 1, 1, -1, 1, 1, j, -j,
-1, 1, -1 }
{ 1~ 1~ l~j~j~ -1~ -l~j~ -1~ 1~ -l~j~ -1~
-l~j~j }
{ 1~ 1~ l~j~ :I~j~ -l~j~ -1~ -1~ l~j~j~ :I~
-l~j }
{ 1~ 1~ l~j> >> -l~j~j~ -1~ 1~ -l~j~j~ -1~
J~j }
{ 1, 1, 1, j, -1, j, 1, 1, 1, -1, 1, j, -1,
j, 1, -1 }
{ 1, 1, 1, -1, j, -1, -j, -1, -1, 1, -1, -1,
-j, -1, j -1 }
{ 1, 1, j, 1, 1, j, 1, -1, 1, -1, -j, 1, 1,
j, -1, -1 }
{ 1~ l~j~ 1~ l~j~ J~ l~ 1~ -l~j~ -1~ 1~ :1~
J~j }
{ 1~ l~j~ 1~ 1~ J> j~j~ 1~ -l~j~ -1~ l~j~
-I~ -I }
CA 02313672 2000-07-07
Ig
{ l, 1, j, 1, 1, j, -l, -1, 1, -1, -j, 1, 1, j, l, -1 }
{ 1, 1, j, 1, j, 1, 1, -1, -1, 1, j, 1, j, 1, -1, -1 }
{ 1~ l~j~ l~j~ 1~ :I~ -1~ -1~ l~j~ -1~ J~ 1~ J~j }
{ l~ l~j~ l~j~ -l~j~ -1~ -1~ l~j~ -1~ :I~ -l~j~j }
{ 1~ l~j~ l~ J~ 1~ J~j~ -l~ l~j~ -l~j~ 1~ J~ -1 }
{ 1~ l~j~ 1~ :I~ -l~j~j~ -1~ 1~.1~ -l~j~ -l~j~ J }
{ 1~ l~j~ 1~ -l~j~j~ -I~ 1~ -l~j~ -l~ -1~ J~j~j }
CA 02313672 2000-07-07
19
Table 2
R Base Code b(n)
1 {1}
2 { 1, 1 }
{ 1, -1 }
4 { 1, 1, j, j, }
{ l~j~j~ 1 }
{ l~j~ -I~ -1 }
8 { 1, 1, 1, 1, j, -1, 1, j }
16 { 1, 1, 1, l, j, j, -1, 1, j, -1, 1, j, -1,
1, j, -j }