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.
© Copyright 2025 Paperzz