Spectrum Control by Means of the TH Code in UWB

Spectrum Control by Means of the TH Code in
UWB Systems
L. Piazzo*, J. Romme**
*INFOCOM dept., University ”La Sapienza”, V. Eudossiana 18, Rome, Italy. lorenz@infocom.uniroma1.it
**IMST GmbH, Carl-Friedrich-Gauss-Str. 2, D-47475, Kamp-Lintfort, Germany. romme@imst.de
Abstract– An important class of Ultra-WideBand (UWB)
systems employs a Time-Hopping (TH) code to construct the
transmitted signal. Impulse Radio (IR) is the best known
example. For these systems the problem of controlling the
spectrum shape by means of the TH code is addressed. Several code construction methods that allow to place a notch
or a zero in a selected frequency are introduced. Simulations
results are presented that confirm our analysis and allow to
asses the extent to which the spectrum can be controlled by
means of the TH code.
I. Introduction
Ultra-WideBand (UWB) is an emerging technology.
UWB systems were exploited in radar applications where
they yield high resolution positioning and ground penetrating capabilities [1]. More recently UWB is being considered
for communications since its resilience to multipath fading
and to interference are important advantages [2]. Due to
their wide band UWB devices have to coexist with other
systems occupying the same band. The control of the mutual interference is a critical issue where the UWB spectrum
plays a key role [3]. Indeed given a narrowband signal occupying the UWB band, the mutual interference can be suppressed by zeroing the UWB spectrum in the band of the
narrowband signal. Thus it is of practical interest to control the UWB spectrum shape. In the paper we address this
problem for an important subclass of UWB systems, namely
those UWB systems employing a Time Hopping (TH) code
in the construction of the transmitted signal, like the well
known Impulse Radio (IR) system [2]. The TH code affects the spectrum shape and can be employed to control
it to some extent. An important advantage of controlling
the spectrum by means of the TH code is that the spectrum
can be changed via software even during the transmission.
In the paper we analyse the impact of the TH code on the
spectrum and present a range of specific codes that produce
a spectral notch in a selected frequency. We focus on IR
because this scheme is important and well known but the
approach can be extended to other TH UWB systems.
II. System description
IR transmits a symbol of duration Ts sec by transmitting
a sequence of Ns short pulses, called monocycles and denoted by w(t). The symbol time is divided into Ns frames
of duration Tf = Ts /Ns sec and a monocycle is placed in
each frame. The position of the monocycle inside the frame
is varied ”randomly”. Specifically, the frame is divided into
This work was partially funded by the European Union in the framework
of the IST-2000-25197 Whyless.com project. The authors would like to
thank Giuseppe Durisi of the IMST for fruitful suggestions and comments.
Nh chips each lasting Tc = Tf /Nh sec and a pseudo-random
TH code is used to place the monocycle in one of the chips.
It is convenient to consider the TH code a sequence of code
vectors (one for each transmitted symbol) of Ns elements.
Thus we denote the n-th element of the k-th code vector
by cn,k n = 0, 1, ..., Ns − 1 where cn,k ∈ {0, 1, ..., Nh − 1}
specifies the chip where the n − th monocycle of the k − th
transmitted symbol is to be placed. While classical IR [2]
transmits information by means pulse position modulation
(PPM) we consider a pulse amplitude modulation (PAM) IR
scheme. PAM is simpler to analyse but the approach can be
extended to PPM IR. Finally note that the TH code, being
pseudorandom, will be periodic. We assume that Nb code
vectors are produced in every period. In summary the PAM
IR signal can be written as follows in every code period:
Nb −1
u(t) =
3
3
Ns −1
ak
k=0
n=0
w(t − cn,k Tc − nTf − kTs )
(1)
where ak ∈ {−1, 1} are information bits modulating the
monocycle’s amplitude.
III. Signal spectrum
The spectrum of the PAM IR signal was computed by the
authors in a previous work [4]. When ak takes with equal
probability its two possible values the spectrum shape1 is
given by
(2)
Pu (f ) = |W (f )|2 Pc (f )
where W (f ) is the Fourier Transform (FT) of the monocycle
and the term Pc (f ) is termed the code spectrum and is given
by
Nb −1
3
|Tk (f )|2
(3)
e−j2πf (cn,k Tc +nTf +kTs ) .
(4)
Pc (f ) =
k=0
where
3
Ns −1
Tk (f ) =
n=0
The above equations show that the TH code can be
exploited to control the spectrum by means of the code
spectrum. In the following we will present several methods to put a notch at a selected frequency in the code
spectrum. In order to validate these methods we need a
way to measure the code spectrum by means of a simulation. The measurement need to be done only in the band
1 The actual spectrum can be obtained by scaling to the average power.
[−1/(2Tc ) : 1/(2Tc )] since Pc (f ) of (3) is periodic with period 1/Tc . The code spectrum can be measured by measuring the spectrum of an IR signal constructed with a monocycle w(t) = sin(πt/Tc )/(πt/Tc ). In fact, since the FT of
that monocycle is zero except that in the band [−1/(2Tc ) :
1/(2Tc )] where it is 1, from (2) we have Pu (f ) = Pc (f ) in
the band of interest. In order to measure the spectrum we
employ a standard periodogram analysis [5]. To this end
we have firstly to sample u(t). The sequence of samples of
u(t) is obtained by replacing w(t) = sin(πt/Tc )/(πt/Tc ) in
(1) and sampling at t = iTc . It is easy to verify that the
sequence can be written as
Nb −1
ui = u(iTc ) =
3
k=0
3
Ns −1
ak
n=0
δ(i − cn,k − nNh − kNh Ns ) (5)
where δ(k) is the discrete impulse function, defined by
δ(0) = 1 and δ(k) = 0 for k = 0. The sequence ui can
easily be produced by means of a simulation. Next the signal spectrum can be estimated by grouping the samples in
blocks of N, taking the Discrete Fourier Transform (DFT)
of the blocks and averaging the squared magnitude of the
DFT over many blocks. All the spectra presented in the
paper were measured as just described, averaging over 2000
blocks.
IV. Spectrum shaping
Consider equation (3). In order to zero the code spectrum
at a given frequency f0 we have to zero |Tk (f0 )| for every
value of k. Let us write the generic Tk (f ) at frequency
f0 by neglecting the term kTs in the exponent, which is a
simple rotation not affecting the magnitude, by replacing
Tf = Nh Tc and by dropping the pedix k for the sake of
simplifying the notation. We obtain
3
Ns −1
T (f0 ) =
n=0
Ns −1
. 3
e−j2πf0 (cn Tc +nNh Tc ) =
vn .
(6)
n=0
From the last equation we see that at any given frequency
T (f ) is the sum of Ns unitary vectors
vn = e−j2πf0 (cn Tc +nNh Tc ) .
(7)
The phase of these vectors is controlled by the TH code. For
the particular case f0 = 1/(KTc ), where K is an integer, we
have
2π
(8)
vn = e−j K (cn +nNh ) .
Since (cn + nNh ) is integer the last equation shows that the
vectors take values on the points of a K-ary Phase Shift
Keying (PSK) constellation. And as long as K ≤ Nh we
can drive every vector in every point of the constellation by
properly choosing the corresponding cn . These observations
yield the following methods for zeroing the code spectrum.
A. Method 1
Consider a frequency f0 = 1/(KTc ) where K is even and
2 ≤ K ≤ Nh . Assume Ns is even. The Ns vectors that
sum up to form T (f0 ) belong to a K-ary PSK constellation.
Since K is even every point of the constellation has a corresponding point in phase opposition. We can zero T (f0 )
by grouping the vectors in couples and by posing the second
vector of every couple in phase opposition with the first one.
Specifically consider, without loss of generality, the couples
formed by the vectors v2n and v2n+1 for n = 0, 1, 2, .... From
(8) the two vectors will have a phase difference of π provided
that
[c2n + 2nNh − c2n+1 − 2nNh − Nh ]K = K/2
(9)
where [x]y denotes x modulo y. Manipulating the last equation yields
[c2n+1 ]K = [c2n − Nh − K/2]K .
(10)
As long as (10) is verified the two vectors will add up to 0.
Thus we can propose the following method for producing
the TH code2 , where we denoted by S = Nh /K the integer
division of Nh by K:
Method 1
1) For n = 0, 1, 2, ..., Ns /2 − 1
2) Choose c2n randomly in [0..Nh − 1].
3) Choose an integer s randomly in [0..S − 1].
4) Compute c2n+1 = [c2n − Nh − K/2]K + sK.
Computing c2n+1 like in step 4) guarantees that (10) is satisfied. Therefore the code spectrum will have a zero at the
frequency f0 = 1/(KTc ). However also other frequencies
will be zeroed. Specifically all the frequencies
fm =
2m + 1
for any m integer
KTc
(11)
will be zeroed. To see why consider again the phases of v2n
and v2n+1 and assume that they have a difference of π at
frequency f0 . From (7) this means that
2πf0 Tc (c2n +2nNh )−2πf0 Tc (c2n+1 +(2n+1)Nh ) = π (12)
By multiplying the last equation by (2m + 1) it is immediately seen that the two vectors will have a phase difference
of (2m + 1)π (i.e. they will be in phase opposition) at all
the frequencies (2m + 1)f0 , for any value of m.
In order to validate and further investigate the method we
now present simulation results. In all the simulations of the
paper Tc = 1 nsec was assumed. The code spectrum is thus
periodic with period 1GHz. Furthermore it is symmetric.
Thus the spectra measured in the simulations are reported
only in the band [0..500M Hz], like in figure 1. In all the
figures the horizontal axis reports the frequency in M Hz
while the vertical axis reports the spectrum in dB. Since
three spectra are reported per figure, in order to facilitate
the viewing the first spectrum is normalised to an average
of 0 dB, the second to an average of −20 dB and so on. The
frequency resolution is approximately 500KHz.
In figure 1 we report three spectra obtained when Method
1 with K = 4 is employed. In the upper plot Ns = 16 and
Nh = 16. In the middle one Ns = 128 and Nh = 16. And
in the bottom one Ns = 16 and Nh = 128. As expected
2
In the method we describe how to produce a generic code vector cn .
Evidently the method has to be repeated Nb times to fill all the TH code
vectors.
20
This is a general observation that can be repeated for all
the methods yet to be presented.
In summary by means of Method 1 we can zero the frequencies (11). By properly choosing K and Tc we can therefore zero any selected frequency. Method 1 is very simple.
In practice c2n and s of step 2) and 3) can be produced
by a pseudo-random generator, while c2n+1 in step 4) is
computed with a few integer arithmetic operations. Finally
note that one could find other ways of computing c2n+1 in
order to satisfy (10). For example we could set s = 0 in
step 4). However doing so the value of c2n+1 would take on
less possible values. This has the effect of increasing the ill
conditioning of the spectrum. This is a general observation,
valid also for the methods yet to be presented: the more
randomness we are able to inject in the TH code the better
conditioned the resulting spectra.
Ns=16, Nh=16
Ns=128, Nh=16
Ns=16, Nh=128
10
0
Spectrum (dB)
−10
−20
−30
−40
−50
−60
0
50
100
150
200
250
300
frequency (MHz)
350
400
450
500
B. Method 2
Fig. 1. Spectra obtained with Method 1 for K = 4, varying Ns and
Nh .
20
K =10, Ns=16, Nh=128
K =20, Ns=16, Nh=128
K =50, Ns=16, Nh=128
10
0
Spectrum (dB)
−10
−20
[cn + nNh ]K = pn for n = 0, ..., K − 1.
−30
(13)
all the points of the constellation are touched once. Thus
we can propose the following method for producing the TH
code, where we denoted by S = Nh /K the integer division
of Nh by K:
−40
−50
−60
Consider a frequency f0 = 1/(KTc ) where 2 ≤ K ≤ Nh .
Assume Ns is a multiple of K. The Ns vectors that sum up
to form T (f0 ) belong to a K-ary PSK constellation. The
sum of all the points of a PSK constellation is 0. Therefore
we can zero T (f0 ) by grouping the vectors vn in groups of
K and by guaranteeing that all the K points of the constellation are touched once and only once in every group.
Specifically consider, without loss of generality, the first
group, formed by the vectors v0 , ..., vK−1 . Consider a vector
[p0 , ..., pK−1 ] obtained by taking a random permutation of
the vector [0, 1, 2, ..., K − 1]. From (8) if we guarantee that:
0
50
100
150
200
250
300
frequency (MHz)
350
400
450
500
Fig. 2. Spectra obtained with Method 1 for varying K.
a spectral zero is there at 250 M Hz in all the plots. Let
us discuss the effect of Nh . This parameter has a direct
effect on the bandwidth of the zero. Indeed for Nh = 16 we
have a −10 db band on the order of ten M Hz and a −20 db
band on the order of one M Hz. When Nh = 128 the bandwidth is reduced roughly by a factor ten. Furthermore for
low values of Nh the spectrum exhibits peaks that disappear for high values of Nh . On the contrary, as seen from
the figures, the parameter Ns has little effect on the notch
bandwidth. In figure 2 we report three spectra obtained by
freezing Ns = 128 and Nh = 16 and varying K. Specifically
K = 10, K = 20 and K = 50 in the upper, middle and
lower plot respectively. It can be seen that the frequencies
predicted by (11) are zeroed. The shape of the notches is
not affected by K. Finally note that if we repeated the simulations with a different value of Tc , we would obtain the
same spectrum, scaled to the new bandwidth. The bandwidth of the notches is thus inversely proportional to Tc .
Method 2
1) For every group:
2) Produce the permutation pn
3) For every vector in the group
4) Choose an integer s randomly in [0..S − 1].
5) Compute cn = [pn − nNh ]K + sK.
Computing cn like in step 5) guarantees that (13) is satisfied. Therefore the code spectrum will have a zero at the
frequency f0 = 1/(KTc ). However, like for Method 1, also
other frequencies will be zeroed. Specifically all the frequencies
m
for any m integer
(14)
fm =
KTc
will be zeroed. To see why one can do a reasoning similar
to the one done for Method 1, but we skip the analysis for
the sake of the brevity.
In figure 3 we report three spectra obtained when Method
2 with K = 3 is employed. In the upper plot Ns = 15
and Nh = 16. In the middle one Ns = 120 and Nh =
16. And in the bottom one Ns = 15 and Nh = 128. As
expected a spectral zero is there at 333 M Hz in all the
plots. Comments similar to those made for Method 1 can be
repeated. Namely, the bandwidth of the zero is essentially
20
C. Method 3
Ns=15, Nh=16
Ns=120, Nh=16
Ns=15, Nh=128
We now present a method that does not zeroes the spectrum at frequency f0 but simply reduces the spectrum at
that frequency. Assume that 0 < f0 < 1/(2Tc ) is given.
In order to reduce the spectrum at f0 remember that, from
(6), T (f ) is the sum of the Ns vectors vn which can take on
Nh different values depending on the TH code cn . Suppose
we have produced the first m vectors and TH code samples.
The (m + 1)-th vector, vm , can be chosen in order to minimise the partial sum of the vectors up to the (m + 1)-th,
given by
10
0
Spectrum (dB)
−10
−20
−30
−40
|
−50
−60
0
50
100
150
200
250
300
frequency (MHz)
350
400
450
500
Fig. 3. Spectra obtained with Method 2 for K = 3, varying Ns and
Nh .
m
3
n=0
vn | = |
m
3
n=0
e−j2πf0 (cn Tc +nNh Tc ) |.
(15)
In order to perform the minimisation we can evaluate (15)
for all the possible values of cm and choose the minimising one. Based on this observation we can devise several
methods to reduce the spectrum at a given frequency. For
example we can propose the following method:
Method 3
1) For m = 0, 1, 2, ..., Ns − 1
2) If ([m]2 = 0) choose cm randomly in [0..Nh − 1].
3) If ([m]2 = 1) choose cm as to minimise (15).
20
K =5, Ns=60, Nh=60
K =10, Ns=60, Nh=60
K =15, Ns=60, Nh=60
10
0
Step 3) of the method keeps low the value of the spectrum at
f0 . The final spectrum will have a notch at that frequency.
−20
20
−30
10
−40
0
−50
−10
−60
Ns=16, Nh=16
Ns=128, Nh=16
Ns=16, Nh=128
0
50
100
150
200
250
300
frequency (MHz)
350
400
450
500
Spectrum (dB)
Spectrum (dB)
−10
−20
−30
Fig. 4. Spectra obtained with Method 2 for varying K.
−40
controlled by Nh while Ns has little effect on the spectrum.
Low values of Nh yield peaky spectra. In figure 4 we report
three spectra obtained by freezing Ns = 60 and Nh = 60
and varying K. Specifically K = 5, K = 10 and K = 15
in the upper, middle and lower plot respectively. It can be
seen that the frequencies predicted by (14) are zeroed. The
bandwidth of the zeroes is reduced for increasing values of
K.
In summary by means of Method 2 we can zero the frequencies (14). By properly choosing K and Tc we can therefore zero any selected frequency. Method 2 is slightly more
complex than Method 1 but still simple. The permutation of
step 2) can be computed by performing 2K random switches
on the vector [0, ..., K−1], which requires producing 2K random numbers. Another random number is required for s of
step 4) while cn in step 5) is computed with a few integer
arithmetic operations.
−50
−60
0
50
100
150
200
250
300
frequency (MHz)
350
400
450
500
Fig. 5. Spectra obtained with Method 3 for f0 = 280 M hz, varying
Ns and Nh .
In figure 5 we report three spectra obtained when Method
3 with f0 = 280 M Hz is employed. In the upper plot
Ns = 16 and Nh = 16. In the middle one Ns = 128 and
Nh = 16. And in the bottom one Ns = 16 and Nh = 128.
As expected a spectral notch is there at 280 M Hz in all
the plots. Like for Method 1 and 2 the notch bandwidth is
inversely proportional to Nh . However in Method 3 also Ns
affects the notch. Specifically higher values of Ns deepen
the notch. The attenuation reaches −10 dB for Ns = 16
and −20 dB for Ns = 128. In figure 6 we report three
20
20
Ns=16, Nh=16
Ns=128, Nh=16
Ns=16, Nh=128
10
10
0
0
−10
−10
Spectrum (dB)
Spectrum (dB)
f0=.05 Ns=128 Nh=16
f0=.26
f0=.45
−20
−20
−30
−30
−40
−40
−50
−50
−60
0
50
100
150
200
250
300
frequency (MHz)
350
400
450
500
Fig. 6. Spectra obtained with Method 3 for varying f0 .
D. Method 4
Let us now present a method that reduces the spectrum at two frequencies f0 and f1 belonging to the interval
[0, 1/(2Tc )]. The method is a straightforward extension of
Method 3. We simply need to keep low the magnitude of
the partial sum at two different frequencies. Therefore we
consider the partial sum at frequency f1 given by
m
3
n=0
vn | = |
m
3
n=0
100
150
200
250
300
frequency (MHz)
350
400
450
500
In figure 7 we report three spectra obtained when Method
4 with f0 = 280 M Hz and f1 = 350 M Hz is employed. In
the upper plot Ns = 16 and Nh = 16. In the middle one
Ns = 128 and Nh = 16. And in the bottom one Ns = 16 and
Nh = 128. The two notches are clearly visible. Compared
to the results of figure 5 we see that the notch deepness
is reduced. We also see that, with respect to the system
parameters, Method 4 behaves like Method 3 and all the
comments that were made can be repeated.
V. Conclusions
We presented a range of methods for zeroing or reducing
the spectrum at selected frequencies thereby showing that
it is possible to shape the UWB spectrum by means of the
TH code and thus realise a form of software spectral shaping. The proposed methods allow to shape the spectrum
with a varying degree of complexity and flexibility. Naturally higher flexibility and better control of the notch deepness and bandwidth would be desirable. Since the proposed
methods are only a fraction of those that can be devised,
further research is needed to understand what are the intrinsic limits of the spectrum control by means of the TH
code.
References
(16)
in addition to the partial sum of (15) and propose the following:
Method 4
1) For m = 0, 1, 2, ..., Ns − 1
2) If ([m]3 = 0) choose cm randomly in [0..Nh − 1].
3) If ([m]3 = 1) choose cm as to minimise (15).
50
4) If ([m]3 = 2) choose cm as to minimise (16).
[1]
e−j2πf1 (cn Tc +nNh Tc ) |
0
Fig. 7. Spectra obtained with Method 4 for f0 = 280 M Hz and
f1 = 350 M Hz, varying Ns and Nh .
spectra obtained by freezing Ns = 128 and Nh = 16 and
varying f0 . Specifically f0 = 50 M Hz, f0 = 260 M Hz
and f0 = 450 M Hz in the upper, middle and lower plot
respectively.
In summary by means of Method 3 we can reduce any
given frequency f0 . Method 3 is more flexible than methods
1 and 2. In fact we can select the notch frequency and Tc
independently. In addition note that with methods 1 and
2, in order to notch a frequency near the origin, we are
forced to use high values for K which in turn force high
values for Nh , yielding a small bandwidth for the notch.
In Method 3 the notch frequency does not forces Nh to be
high. The price to pay for the increased flexibility is that we
are no more able to zero the spectrum but only to reduce
it. In addition the computational complexity is increased.
In fact Step 3) requires complex floating point operations.
Finally note that Method 3 employs a simple but suboptimal
minimisation strategy. By accepting a further complexity
increase a number of better methods could be devised.
|
−60
[2]
[3]
[4]
[5]
Hussain, M.G.M.: Ultra-wideband impulse radar-an overview of the
principles. IEEE Aerospace and Electronics Systems Magazine , Volume: 13 Issue: 9 , Sept. 1998 Page(s): 9 -14.
Win, M.Z.; Scholtz, R.A.: Ultra-wide bandwidth time-hopping
spread-spectrum impulse radio for wireless multiple-access communications. Communications, IEEE Transactions on , Volume: 48 Issue:
4 , April 2000 Page(s): 679 -689.
Scholtz, R.A.; Weaver, R.; Homier, E.; Lee, J.; Hilmes, P.; Taha, A.;
Wilson, R.: UWB radio deployment challenges. Personal, Indoor and
Mobile Radio Communications, 2000. PIMRC 2000. The 11th IEEE
International Symposium on , Volume: 1 , 2000, Page(s): 620 -625.
J. Romme, L. Piazzo: ”On the power spectral density of Time hopped
impulse radio”, Proc. of the IEEE Conference on Ultra Wideband
Systems and Technologies (UWBST2002), Baltimora, USA, May 2002.
Marple S. L.: ”Digital spectral analysis”, Prenctice-Hall, 1987.