The present invention relates to the field of wireless communication and, more particularly, to multi-band wideband transmission methods and apparatus having improved user capacity.
Ultra Wideband (UWB) systems use base-band pulses of very short duration to spread the energy of transmitted signals very thinly from near zero to several GHz. “Multi-band” modulation techniques have been developed for use with UWB systems. In multi-band UWB (MB-UWB) systems, the UWB frequency band is divided into multiple sub-bands (i.e., band-1 to band-N) utilizing a waveform in each sub-band. A symbol-to-band mapping component in a transmitter maps a data stream to the multi-bands for transmission and a band-to-symbol mapping component in a receiver reverses the mapping. MB-UWB systems typically employ orthogonal frequency division multiplexing (OFDM). In such systems, the UWB frequency band is divided into sub-bands and OFDM modulation is applied to each sub-band.
A piconet, e.g., a personal area network, includes at least two devices (such as a portable PC and a cellular phone) that communicate with each other over a physical layer (which may be wired and/or wireless). Presently, MB-UWB systems are under consideration by the Institute of Electrical and Electronic Engineers (IEEE) as an alternative wireless physical layer technology. Proposed MB-UWB systems are limited to four or fewer simultaneously operating piconets due to collision between the piconets resulting from a limited number of sub-bands for initial MB-UWB systems, e.g., three sub-bands.
The wireless industry envisions a “wireless home” in which a large number of consumer audio/video devices and other electronic devices within a home (such as facsimile machines, printers, refrigerators, microwaves, thermostats, etc. . . . ) each communicate with one another. To realize this vision, physical layer technologies such as MB-UWB need to handle many more simultaneously operating piconets than those that presently exist. Accordingly, improved MB-UWB methods and apparatus are needed for accommodating more simultaneously operating piconets. The present invention addresses this need among others.
The present invention is embodied in methods and computer program products for transmitting and receiving encoded signals in a wideband communication system and for generating codes for encoding the encoded signals. The wideband communication system includes communication slots separated in frequency and/or time. The codes include components associated with each of the communication slots. A sub-carrier symbol is encoded by combining that symbol with each component of the code and modulating each symbol/component combination onto a wideband signal pulse in the communication slot corresponding to the respective component.
The invention is best understood from the following detailed description when read in connection with the accompanying drawings, with like elements having the same reference numerals. When a plurality of similar elements is present, a single reference numeral may be assigned to the plurality of similar elements with a small letter designation referring to specific elements. When referring to the elements collectively or to a non-specific one or more of the elements, the small letter designation may be dropped. The letter “n” may represent a non-specific number of elements. Included in the drawings are the following figures:
The devices 104 transmit each unit of data (e.g., a sub-carrier symbol within an OFDM symbol) in each of a plurality of communication slots that are separated in frequency (i.e., in different sub-bands of the multi-band wideband communication system 100) and/or time (i.e., in different time periods). An exemplary arrangement of nine (9) communication slots (i.e., Comm. Slots 1-9) arranged in 3 sub-bands over 3 separate time periods is illustrated in TABLE 1.
Although nine (9) communication slots are depicted in TABLE 1, essentially any number of communication slots may be employed that cover one or more sub-bands and one or more time periods.
Each communication slot includes one or more frequency channels. A sub-carrier symbol may be transmitted in each frequency channel by modulating a wideband signal pulse associated with that channel with the sub-carrier symbol. Each wideband signal pulse is associated with a frequency, i.e., a sub-carrier frequency. In an exemplary embodiment, each communication slot includes a channel for each sub-carrier symbol of an OFDM symbol. For example, if an OFDM symbol includes 128 sub-carrier symbols, each communication slot includes 128 channels for transmitting the 128 sub-carrier symbols at 128 sub-carrier frequencies.
The central controller 102 generates a plurality of semi-orthogonal codes, each code corresponding to a respective one of the devices 104. Each data symbol transmitted by a device is convolved with the respective code for that device so that data symbols from multiple devices may be transmitted concurrently to the central controller. Likewise, each data symbol transmitted by the central controller is convolved with one of these codes so that multiple data symbols may be transmitted concurrently to multiple devices 104. In the exemplary embodiment of the invention, each code includes a plurality of components with each component corresponding to one of the communication slots. In an exemplary embodiment, each data symbol is separately coded for each of the communication slots using a respectively different component of the semi-orthogonal code.
An exemplary embodiment of the present invention is now described in detail.
A mapper 204 coupled to the scrambler 202 receives the scrambled source data and generates data symbols responsive to the source data. In an exemplary embodiment, the mapper 204 maps source data bits to data symbols using a constellation mapping scheme such as, by way of non-limiting example, binary phase shift keying (BPSK), quadrature phase shift keying (QPSK), or quadrature amplitude modulation (QAM). The mapper 204 may perform additional known functions such as convolutional encoding, puncturing, and bit interleaving. The exemplary embodiment of the invention employs 128 QAM.
A serial-to-parallel (S/P) converter 206 converts serial data at an output port of the mapper 204 into parallel data for encoding by a coder/IFFT 208. In an exemplary embodiment, the S/P converter 206 converts the serial flow of data into parallel flow using a buffer. In this embodiment, an OFDM symbol, e.g., 128 sub-carrier symbols, may be stored in the buffer and sent concurrently to the coder/IFFT 208.
The coder/IFFT 208 is coupled to the S/P converter 206. The coder/IFFT 208 combines one or more data symbols (i.e., a sub-carrier symbol) with each component of a code 210 generated by a code generation unit 214 and performs a transformation to encode the sub-carrier symbol. In an exemplary embodiment, the transmitter 200 within the central controller 102 (
In an exemplary embodiment, the coder/IFFT 208 transforms data symbols from a frequency domain to one or more OFDM symbols in a time domain and maps them onto a set of orthogonal frequency sub-carriers where each constellation position is mapped to a different sub-carrier. Constellation positions mapped (or to be mapped) onto individual sub-carriers are referred to herein as “sub-carrier symbols” or “symbols.” Each OFDM symbol includes a plurality of sub-carrier symbols, e.g., 128, which corresponds to the number of sub-carriers in each communication slot of the multi-band communication system 100 (
In an exemplary embodiment, each device 104 (
A parallel-to-serial (P/S) converter 212 coupled to the coder/IFFT 208 converts the encoded sub-carrier symbols from parallel to serial for modulation by the modulator 216. In an exemplary embodiment, the P/S converter 212 serializes the coded parallel OFDM symbol, e.g., the 128 sub-carrier symbols, for transmission.
The modulator 216 is coupled to the P/S converter 212. The modulator 216 modulates the coded sub-carrier symbols onto sub-carrier waves for transmission via an antenna 218. In an exemplary embodiment, OFDM symbol pulses generated by the coder/IFFT 208 may be smoothed using an interpolation function and then up-converted to match the number of frequency sub-carriers in at least a portion of a communication slot. The modulator 216 then modulates the up-converted OFDM symbol pulses onto wideband pulses of the wideband signal such as UWB pulses of a UWB signal for communication via the antenna 218.
A correlator 410 coupled to the buffer 408 correlates the received data to the pulse shape used by the transmitting apparatus 102 to identify wideband signal pulses and convert them to digital pulses. In an exemplary embodiment, the correlator 410 is a matched filter correlator configured to identify and correlate incoming frames of OFDM wideband signal pulses such as OFDM UWB pulses. In an exemplary embodiment, the correlator 410 correlates the received data by multiplying the buffered samples corresponding to each of the sub-carriers by a respective code 412 received from the code generation unit 214 of the central controller 102 (
A channel estimator 504 estimates channel characteristics associated with the channels within the communication slots. In an exemplary embodiment, the channel estimator 504 estimates the channels of each data source (device 104) using pilot symbols within an OFDM symbol. A random binary generator 502 allocates random binary codes. Suitable channel estimators and random binary generators will be understood by one of skill in the art from the description herein.
A filter 506 and a total squared correlation (TSC) unit 508 refine the codes to improve transmission performance. The codes produced by the TSC unit 508 have minimal correlation and, thus, are semi-orthogonal. In an exemplary embodiment, the filter 506 is a minimum mean square error (MMSE) filter implemented using a Lanczos algorithm, which is described in further detail below. The filter 506 filters the code selected for the device and the existing code of the device is replaced with a modified code provided by the filter. A code buffer 510 buffers the new code for delivery to the transmitter and/or receiver. A suitable TSC unit 508 for use with the present invention will be understood by one of skill in the art from the description herein. This technique offers flexibility in assigning codes depending upon the extent of flat fading. Thus, channels experiencing deep fades can be assigned codes to overcome the fading effect.
Referring back to
A descrambler 308 coupled to the demapper 306 receives the scrambled source data. In an exemplary embodiment, the descrambler 308 reverses the scrambling introduced to the source data by the scrambler 202 (
At block 602, the transmitter 200 receives codes for encoding symbols across the communication slots of a wideband communication system. The codes each include a plurality of components where the individual components correspond to a respective communication slot. In an exemplary embodiment, each code is unique to the transmitter of the device for a single sub-carrier symbol to be transmitted on a wideband signal pulse at a particular frequency, e.g., channel within a communication slot. The code may be received from the central controller 102 (
At block 604, the transmitter 200 receives the source data for transmission. At block 606, the scrambler 202 scrambles the source data. In an exemplary embodiment, the source data is scrambled according to a predetermined scrambling function, e.g., using scrambling words.
At block 608, the mapper 204 generates data symbols responsive to the source data. In an exemplary embodiment, the data symbols are in a frequency domain and are generated from the source data using a BPSK, QPSK, QAM, or other such modulation scheme.
At block 610, the coder/IFFT 208 independently combines one or more data symbols (i.e., a sub-carrier symbol) with each component of a respective code 210 (see block 602) and performs a transformation to encode the sub-carrier symbols. The transformation transforms the data symbols, which are in the frequency domain, into OFDM symbols in the time domain. In an exemplary embodiment, the coder/IFFT 208 transforms N data symbols at a time into the frame of OFDM symbols where N is the number of sub-carriers in the system. In an exemplary embodiment, the S/P converter 206 converts parallel sub-carrier symbols of an OFDM symbol into a serial stream of symbols for combining with the code. In accordance with this embodiment, the P/S converter 212 converts the stream of symbols after combination back to parallel for modulation.
At block 612, the modulator 216 modulates the encoded sub-carrier symbols onto wideband pulses of a wideband signal such as UWB pulses of a UWB signal for transmission via antenna 218. In an exemplary embodiment, the modulator 216 modulates the combined sub-carrier symbols and components of the code onto wideband signal pulses of communication slots associated with the respective component.
At block 704, the wideband receiver/decoder 302 within the receiver 300 receives the transmitted wideband signal carrying the one or more encoded OFDM symbols (or sub-carrier symbols) through the antenna 302 and, at block 706, the demodulator 402 demodulates the wideband signal to covert the signal from the pass band to the base band.
At block 708, the wideband receiver/decoder 304 processes the encoded sub-carrier symbols of the demodulated wideband signal pulses for the plurality of communication slots using the codes associated with each of the one or more remote devices and perform a transformation to decode the sub-carrier symbols. The transformation converts the sub-carrier symbols from a time domain to a frequency domain. If the receiver 300 is positioned within a remote device 104, only the codes 412 for that remote device 104 are applied. If the receiver 300 is positioned within the central controller 102, the codes 412 for all of the remote devices are applied to decode the sub-carrier symbols for the respective devices.
In an exemplary embodiment, within the wideband receiver/decoder 304, the sample unit 404 samples at least one demodulated wideband signal pulse for each of the communication slots to obtain a data sample, the FFT 406 transforms the data sample from the time domain to the frequency domain, and the correlator 410 applies the codes associated with each of the one or more remote devices to the transformed data sample to detect the sub-carrier symbol for that device. The at least one demodulated wideband signal pulse may be a plurality of wideband symbol pulses such as the wideband symbol pulses associated with an OFDM signal, e.g., 128 wideband symbol pulses.
At block 710, the demapper 306 generates source data responsive to the one or more data symbols. In an exemplary embodiment, the source data is generated from the data symbols by reversing the BPSK, QPSK, QAM, or other such modulation scheme used by the mapper 204. At block 712, the descrambler 308 reverses the scrambling operation introduced by the scrambler 202 to derive the original source data.
At block 804, a decision is made to determine if this is a first pass through the logic or if channel conditions have changed. If this is a first pass through the logic, codes are initially generated for use by the remote devices to encode the sub-carrier symbols. If channel conditions have changed, e.g., due to the addition or removal of a remote device, new codes are generated to replace existing codes in the remote devices in order to optimize communications.
At block 806, the random binary code generator 502 generates binary codes as current codes associated with the remote devices for processing. The binary codes include a digit for each communication slot of the wideband communication system. Specifically, if there are nine communication slots, the binary code will be nine digits long. The random binary code generator 502 may generate a binary code in response to a signal generated by the channel estimator 504, e.g., if the estimated channels are outside of a predefined range.
At block 808, the TSC 508 generates a correlation value for the current codes. In an exemplary embodiment the correlation value is a total squared correlation value.
At block 810, the code generation unit 414 selects a particular remote device from a set of the one or more remote devices, e.g., a set of N devices. In an exemplary embodiment, the remote device may be selected based on the effectiveness of the filter 506 in generating the least TSC value using the current codes associated with that device. In an alternative exemplary embodiment, the remote device may be selected arbitrarily, randomly, or pseudo-randomly.
At block 812, the current code associated with the device selected at block 810 is filtered using the filter 506 to generate a new code for that device. An exemplary filter 506 is described in greater detail below.
At block 814, a counter for the number of devices is incremented. The first pass through block 814, the counter, k, is set to one. Thereafter, it is incremented by one for each pass.
At block 814, a decision is made regarding the value of the counter. If the counter, k, is less than or equal to N, i.e., the total number of devices,(indicating that all devices have not been processed) processing resumes at block 810 with another device being selected from the remaining group of devices that have not been processed. If the counter, k, is greater than N (indicating that all devices have been selected and processed) processing proceeds at block 818.
At block 818, a correlation value, e.g., a TSC value, is determined for the new codes generated by the filter 506. At block 820, the correlation value of the new codes is compared to the correlation value of the current codes. If the correlation values are approximately equal, processing proceeds to block 824 with the new codes being transmitted to the respective devices. In the correlation values are unequal, the current codes are set to equal the new codes and the steps of blocks 810-820 are repeated in an iterative fashion until the new and current correlation values are at least approximately equal.
Additional implementation details are now provided for the exemplary communication system 100 described above with reference to
A symbol synchronous multiband OFDM system with K users is considered. Let T, be the duration of each OFDM symbol transmitted. The symbols are transmitted in both time and frequency slots as described above with reference to TABLE 1. The symbol power in each of the slots is multiplied by certain factors, which in totality, over all the frequency time slots, forms a code. In other words, each of these coded symbols, transmitted in different slots, is collected at a receiver and decoded to obtain the actual symbol transmitted. Such a code, spread in frequency and time is used to distinguish between different users.
Let sj(t) be the OFDM symbol transmitted by the jth user ∀ t ε (0,T). Let the multipath channel h(t) be confined to finite interval[0,Tb]. Let the sequence h0h1 . . . hu denote the base band equivalent impulse response of the channel sampled at the rate 1/Ts, with the communication slot time period, Tb, calculated in accordance with equation 1:
Tb=(1+v)Ts (1)
where v equals the number of communication slots.
To continue with the discrete description of the system, let sj[n]=sj(nTs) and wj[n]=wj(nTs) denote samples of transmitted symbol and the sample of channel noise for the jth user, respectively. To overcome the effect of intersymbol interference, a cyclically extended guard interval is created to convert the linear convolution of symbols and channels into a circular convolution. Let the code for the jth user that is used to hide these symbols from others be cj. With everything in place, including the cyclic prefix, the matrix description of the channel as seen by the jth user is calculated using equation 2:
Yj=Hjcjsj (2)
where Hj is calculated using equation 3:
Hj=[Hj1 Hj2 . . . HjN
where Nf is the number of frequency slots and Nt is the number of time slots.
Hjk is then represented by expression 4:
where hjlk is the lth channel sample in the kth slot of the jth user.
The initial code vector spanning the entire time-frequency space for a single symbol is calculated using equation 5:
cj=[cj1 cj2 . . . cjN
cjk=αjkIn ∀αjtαj=1 (6)
where the symbol sj may be represented as shown in equation 7:
sj=[s(N−1)s(N−2) . . . s(0)]T×1N
Therefore, the transmitted symbol can be written as shown in equation 8:
If X is the received signal, then X can be represented as show in equation 9:
The discrete Fourier transform of N-by-1 vector X is defined by the N-by-1 vector shown in expression 10:
X=[X[N−1],X[N−2], . . . X [0]] (10)
where, as shown in equation 11,
The exponential term in equation 1 is referred to as a kernel of a DFT. Correspondingly, the inverse discrete Fourier transform (IDFT) of the N-by-1 vector X is defined by equation 12 as:
An important property of the circulant matrix exemplified by the channel matrix, Hjk, is that it permits spectral decomposition as shown in equation 13:
Hjk=QHΛjkQ (13)
where the superscript H stands for Hermitian transpose. The matrix Q is a square matrix defined in terms of a kernel of N-point DFT as shown in equation 14:
From the above it is clear that the kth element of the N-by-N matrix, Q, starting from the bottom right at k=0 and l=0 and counting up step by step is as shown in equation 15:
The matrix Q is a unitary matrix such as shown in equation 16:
QHQ=I (16)
where I is the identity matrix.
The matrix Λjk, shown in equation 17, is a diagonal matrix that contains the N discrete Fourier transform values of the sequences h0h1 . . . hu characterizing the channel.
When a receiver receives the transmitted signal, the modulated passband data is converted into baseband by process of demodulation. The transmitted symbols pass through a DFT block after having removed the cyclic prefix and hence the effect of multipath. Using the orthonormal matrix Q for recovering the original data shows the demodulation process. If the received signal vector is X then, X, is as shown in equation 18:
X=Qx (18)
Equation 19 is derived from equations 9 and 18:
It is known from equations 2 and 8 that:
Substituting this expression into equation 19 yields:
which simplifies to equation 20:
Using equations 6 and 13 in equation 20 yields equation 21:
which yields equation 22:
Equation 22 is then decomposed into its constituent elements as shown in equation 23:
If the number of users/piconets K>Nv, then the system is considered to be overloaded. On the other hand if K<Nv then the system is underloaded. In an overloaded system, transmissions cease to be orthogonal. As will be shown below, the central controller, which aids in co-ordination and synchronization along with other operations, also helps in decoding the sent data and transmitting it to its final destination. The central controller is therefore modeled along the same lines as the base unit of a cordless phone. In an exemplary embodiment, for decoding purposes, the final code matrix containing the code of each device in the system is placed on the central controller overlooking the communication in the Personal Area Network (PAN). By shifting the brunt of computation onto the central controller, the design of mobile and other communicating devices for such a short range wireless communication can be kept simple. In an exemplary embodiment, the central controller is a “master” and the remote devices are “slaves.”
A lower bound for maximum correlation among K users having unit energy sequences is set forth in equation 24:
The left hand side in the above expression is commonly referred to as Total Squared Correlation (TSC). When K<Nv then TSC=K, which is achieved by K orthonormal vectors. On the other hand, when K>Nv, the lower bound can be achieved. The set of signature sequences meeting the lower bound satisfy the properties shown in equations 25 and 26:
The number of users that can be admitted into this overloaded system, however, is upper bounded in accordance with equation 27:
K<Nv(1+1/μ) (27)
where μ is the signal-to-interference (SIR) threshold. The Mean Square Error (MSE) in the system relates to TSC. Assume that βi,i=1, . . . ,K, are the signature sequences of the users. Also, assume that the signals are received at the central controller with all signal processing capabilities (similar to base station in cellular network) by matched filters, and transmitted power for all users is assumed to be the same, i.e., pi=p. If the received signal is r then the MSE for the ith user is as shown in equations 28 and 29:
The total MSE in the system is as shown in equations 30 and 31:
Observing that the first term in equation 30 is the TSC from equation 24 and making use of the fact that the signature sequences are unit energy vectors, equation 32 shows direct relationship between MSE and TSC:
MSE=pTSC+(1+σ2−2√{square root over (p)})K (32)
Therefore the MSE of the system can be decreased by correspondingly reducing the TSC as shown in equation 33:
where, as shown in equation 34,
Since all signature sequences are assumed to be unit energy vectors, equation 33 reduces to yield equation 35:
TSC=2βkTAkβk+γk+1−2σ2 (35)
where, as shown in equation 36,
If the kth user's sequence is replaced in accordance with equation 37:
and the new set of sequences is given by equation 38:
{overscore (β)}=[β1 . . . βk−1 ck βk+1 . . . βK] (38)
ck is a normalized MMSE filter for user k. The MMSE filter can be regarded as a special matched filter holding lower cross correlation with signature sequences of different users. The revised TSC is as shown in equation 39:
Based on the above equation, an iterative algorithm whereby each user updates its sequence in a sequential manner until/unless no further reduction in TSC is possible, i.e., the algorithm converges.
The iterative procedure begins with K unit length vectors randomly selected, e.g., β(0)=[β1(0), . . . βK(0)]. After n iterations, the composite set of sequences is β(n)=[β1(n), . . . ,βK(n)]. In intermediate stages, e.g., at the k−1th stage of the n+1th iteration, the signature set will be as shown in equation 40:
βk−1(n+1)=[β1(n+1), . . . ,βk−1(n+1) βk(n) . . . βK(n)] (40)
Correspondingly, the signature sequence, βk is updated using the matrix shown in equation 41:
while updates are according to equation 42:
such that a vector set in accordance with equation 43 is yielded
βk(n+1)=[β1(n+1), . . . βk−1(n+1) βk(n+1), . . . βK(n)] (43)
Since each update decreases the TSC, TSCk+1(n)≦TSCk(n) and after the entire set of sequences has been updated recursively, TSC(n+1)≦TSC (n).
The fixed point denoted by the code vectors of each user is obtained when the iteratively determined code matrix converges, which in turn occurs when each code vector becomes the eigenvector of the correlation matrix in accordance with equation 44:
Ak−1βk=φkβk (44)
where φk is the eigenvalue of matrix Ak−1.
The iterative algorithm is now described for a synchronous Multiband-OFDM system. Recalling equation 23, a system can strive for optimality by using the iterative algorithm and simultaneously updating each sequence corresponding to the seemingly independent parallel channels in an equally independent fashion. Therefore, there will be N-simultaneous systems which will undergo iterative updates based on TSC reduction at each stage.
Placing βjkp=αjk λjpk in the above expression yields equation 45:
Therefore, code sequence for the pth data channel corresponding to the jth user will be as shown in equation 46:
βjp=[βj1p, . . . ,βjN
Each of these βjp for each of the K users and each of the N-channels is optimized to achieve the lowest TSC, which is lower bounded by equation 24. Although convergence always exists, there also may exist a suboptimal solution of the fixed points, (i.e., the final signature set of each user). If the initial sequence is randomly chosen then the simulations show always a convergence to the optimal set of fixed points. If the sequences are completely randomly chosen, then the choice of update, i.e., at a given time which one of the users whose sequence remains to be updated, is updated would affect the convergence.
Updating the device whose update results in greater reduction of TSC should lead to faster convergence towards the lower bound in equation 24. Therefore, the device to be updated should be chosen according to minimum TSC, as illustrated by expressions 47 and 48:
Therefore, user k will be updated before remaining users provided, as shown in equation 49:
where {overscore (K)}−1 are the number of users already updated.
Simplifying equation 46 using linear algebra yields equation 50,
The signal adaptation algorithms operate slowly as compared to those for multi-user interference suppression. Therefore, such a procedure is appropriate for a stable channel, which for the case of an indoor channel is a reasonable assumption.
The computations are assumed to be performed by a central controller which aids in co-ordination and overseeing the communication process involving synchronization, channel estimations, code generation, code assignment and power transmission control (e.g., within FCC regulation).
One of the key features of UWB, is that it does not cause unnecessary interference to the existing narrowband (NB) technologies present in certain portions of the operational bandwidth. The FCC imposed power constraints to check the interference from UWB to NB systems. Interference from the NB on UWB systems, however, is potentially problematic. The interference due to narrowband systems on the UWB can be overwhelming. First, the total power of a NB transmission generally will fall within the UWB passband. Second, a wide UWB passband (several hundred MHz or more) may span multiple NB transmitters, some of which may be very powerful and/or very near to the UWB receiver. This was one of the reasons which led to single band UWB giving way to a multiband approach in which the UWB's 7.5 GHz band is split into 14 multibands spanning 528 MHz each. This meant that a band having tremendous presence of narrowband systems could be shut off, thereby eliminating interference.
The multiband approach, however, does not completely solve the problem at hand. The multibands themselves span hundreds of MHz and pose similar problem as its parent single band approach. The combination of multiband with OFDM aims to effectively handle the multipath as well as narrowband interference issues. With OFDM splitting the broad frequency selective channel into several narrowband frequency flat channels, the NB interference would now affect the tones (approx. 4 MHz wide) and hence the data carried by those tones. The narrowband interference would therefore affect some of the tones thereby rendering the information on these tones unreliable. One can then employ error correction techniques to recover the lost data. The system proposed in the previous section is considered and its behavior is analyzed in the presence of narrowband interference. It will be shown that the system adapts well to such interference and can be further improved when error correction techniques are incorporated.
There are primarily two types of interference considered here:
Representing the total MSE in terms of Total Squared Correlation similar to the expression in equation 32, the total MSE can be determined in accordance with equation 54:
MSE=pTSC+(1+σ2−2√{square root over (p)})K (54)
Therefore, TSC can be calculated in accordance with equation 55:
where γm is the same as defined in equation 34. Equation 55 shows the role of each user, in this case the mth user, in the TSC. Finally, the TSC can be calculated using equation 56:
TSC=2βmTAmβm+γm+1−2σ2 (56)
where Am is determined according to equation 57:
The expression for TSC with constant interference is similar to that obtained without any narrowband interference. Consequently, the same iterative procedure for reduction of TSC is followed until it converges. The codes therefore adapt in such an interfering environment thereby providing extra protection against interference.
In the case of narrowband (NB) interference, where the exact signal may not be known precisely, but for the actual power in the interfering band, one can easily deduce equation 58 for TSC as set forth below:
TSC=2βmTAmβm+γm+1−2σ2 (58)
where
is the interference power, and GN
The effect of NB interference on user capacity of the system is now evaluated. Equation 27 above provided the number of users that can be admitted into the system based on desirable signal to interference ratio (SIR). This expression is a very general expression that does not take any power constraints into consideration. The upper bound on the user capacity with power constraint is now derived. To derive the upper bound on user capacity a single sub-carrier in all the slots is considered.
For the constant interference, which is assumed to be known precisely at the central controller, the interference is treated as a virtual additional user in the system. In such a case, {overscore (p)} will be modified as
where, p1=p2= . . . =pK=p are the powers associated with each user and pK+1 is the constant interference power. As a result, equation 59 is developed:
Equation 59 is a quadratic inequality in K which is the number of users admitted in the system.
As can be easily seen for pK+1=0, the case exists when there is no interference, and the number of users that can be admitted are shown by equation 60:
The narrowband interference which is not constant is shown by equation 61:
where σN2 is no longer simply Gaussian noise at the receiver but also contains the narrowband noise which could be present in some or all of the frequency time slots.
Therefore, as shown in equation 62:
where a+b=Nv, σ2 is power of Gaussian noise, σNB2 is narrowband interference power, present in b slots.
Evident from the proposed technique as well as the structure of the receiver, a large number of MMSE blocks are required. This can significantly increase computational requirements, primarily due to calculations involving the inverse of large correlation matrix. In order to circumvent this, various techniques have been put forth, most important of which has been the Multi Stage Nested Weiner Filter implementation, which significantly reduces the MMSE computations by obviating the need for calculating an inverse matrix through use of an elegant iterative subspace decomposition technique. An iterative algorithm (i.e., a Lanczos algorithm) is proposed for increasing computational efficiency by simplifying the treatment of a system of linear equations. The algorithm is employed in two different ways for minimizing the Mean Square Error of a system in an iterative fashion to eventually achieve the final code set vector.
In the proposed system technique, a large number of MMSE blocks may be needed. By employing a reduced rank space search filter, there is a further reduction in computations and hence decrease in cost. Reduced rank of subspace for finding the solution to an MMSE problem is of interest in the field of filter theory.
The signature sequences are unit energy vectors as set forth in equation 63:
MSE=pTSC+(1+σ2−2√{square root over (p)})K (63)
Equation 63 shows direct relationship between MSE and TSC. It therefore implies that the MSE of the system can be decreased by correspondingly reducing the TSC.
As set forth in equation 64:
where, as shown in equation 65:
Since all signature sequences are assumed to be unit energy vectors, equation 64 reduces to equation 66:
TSC=2skTAksk+γk+1−2σ2 (66)
where, as shown in equation 67:
Two ways of handling the issue of reducing the MMSE of the entire system include targeting the TSC directly or else the MMSE, which is equivalent to solving a Wiener Hopf equation.
The Total Squared Correlation (TSC) can be observed to be in a typical form such that if the signature waveform of the given user is the eigenvector corresponding to the minimum eigenvalue of the correlation matrix then the replacement of the old signature with the new eigenvector of the correlation matrix leads to decrease in TSC value for that particular iteration. This is shown in the following equation:
TSC=2skTAksk+γk+1−2σ2
Taking the first expression on the right hand side of the above equation, and assuming that the kth user replaces its current signature waveform with some vector z then the resulting difference in TSC is shown in equation 68:
Γ=tr((Ak+skskT)2)−tr((Ak+zzT)2) (68)
where tr( ) represents the trace of the matrix enclosed within the brackets.
After some algebraic manipulation, it can be shown that Γ≧0 under the following condition:
skTAksk+∥sk∥22≧zTAkz+∥z∥22
This implies the relationship shown in equation 69:
skTAksk≧zTAkz (69)
if ∥sk∥22=∥z∥22 which is what will be assumed henceforth. If the chosen vector replacement of the present signature is chosen as the eigenvector of the correlation matrix, then, according to the Rayleigh quotient theorem, if z=qi, leads to equation 70:
where qi is the eigenvector corresponding to the ith eigenvalue λi. If qiTqi=1, which leads to equation 71:
λi=qiTAkqi (71)
If the eigenvalue is the minimum eigenvalue of the correlation matrix, then replacing the signature waveform with eigenvector, η, corresponding to this minimum eigenvalue would result in the largest reduction in TSC or in other words the least TSC as set forth in equation 72:
Therefore, replacing the signature waveform with the eigenvector of the correlation matrix corresponding to the minimum eigenvalue would appear as the best solution to the problem at hand. However, the eigendecomposition of the entire matrix followed by search for the minimum eigenvalue can be computational intensive. Therefore an algorithm needs to be developed that reduces this search for the minimum eigenvalue over the entire subspace spanned by the eigenvectors of the matrix to a reduced subspace would be useful. At the same time the estimation of the minimum eigenvalue has to be good enough to avoid serious errors.
A Lanczos algorithm is an efficient way of handling the problem of reduced subspace search for the extremal eigenvalues of the correlation matrix. The method involves partial tridiagonalizations of the given matrix. Information about the given matrix's extremal eigenvalues tends to emerge long before tridiagonalization is complete which describes its usefulness when only the largest or smallest eigenvalues are desired.
A derivation of a Lanczos algorithm begins with considering the optimization of Rayleigh quotient as set forth in equation 73:
Replacing the correlation matrix Ak in equation 73 by a matrix A in general. From the minmax theorem it is known that the minimum and maximum values of r(y) are minimum eigenvalue λmin, and maximum eigenvalue λmax of the matrix respectively. Suppose {ui}⊂Rn is a sequence of orthonormal vectors and define the scalars as shown in equation 73:
where Uk=[u1, . . . uk]. The Lanczos algorithm can be derived by considering how to generate the uk so that Mk and mk are increasingly better estimates of λmax and λmin.
The above requirements can both be satisfied simultaneously as shown in equation 74:
K(A,u1,k)=span{u1,Au1 . . . , Ak−1u1} (74)
which is the range space as shown in equation 75:
K(A,u1,k)=[u1,Aui, . . . Ak−1u1] (75)
One can resort to directly computing the elements of tridiagonal matrixT=UTAU. Setting U=[u1, . . . un], equation 76 can be obtained:
and equating columns in AU=UT one arrives at the algorithm set forth in TABLE 2:
Let A ε Rn×n be symmetric and assume u1 ε Rn has unit 2-norm. Then Lanczos iteration runs until k=m, where m=rank(K(A,u1,n)). Moreover, for k=1:m as shown in equation 77:
AUk=UkTk+rkekT (77)
where, as shown in equation 78:
and Uk=[u1, . . . uk] has orthonormal columns that span K (A,u1,k).
Encountering a zero βk is a welcome event in that it signals the computation of an exact invariant subspace. However, an exact zero or even a small βk is a rarity in practice.
Suppose that k steps of Lanczos algorithm have been performed and that SkTTkSk=diag(θ1, . . . ,θk) is the Schur decomposition of the tridiagonal matrixTk. If Yk=[y1, . . . yk]=UkSk ε Rn×k, then for i=1:k ∥Ayi−θiyi∥2=|βk∥Ski| where if A be an n-by-n symmetric matrix with eigenvalues λ1≧λ2≧ . . . λn and corresponding orthonormal eigenvectorsz z1, . . . ,zn. If θ1≧θ2≧ . . . ≧θk are the eigenvalues of the matrix Tk obtained after k of the Lanczos iteration, then equation 79 can be obtained:
where cos(φ1)=|u1Tz1|, ρ1=(λ1−λ2)/λ2−λn), and ck−1(x) is the Chebyshev polynomial of degree k−1.
Equation 80 can be obtained:
where ρn=(λn−1−λn)/(λ1−λn−1) and cos(φn)=|unTzn|.
The above discussion provides valuable insights into convergence and convergence rates of the eigenvalues of matrix Tk to those of A. The Chebyshev polynomials that are found in the denominator of equations 79 and 80 are bounded by unity on [−1, 1], but grow very rapidly outside this interval. Therefore, the convergence rates of this technique involving the tridiagonalization through Lanczos method are very fast, providing an efficient solution to the parent problem by effectively reducing the dimensions of the subspace search.
Another approach to solving the search for the optimum code set involves minimization of error of each user in the system until the overall MMSE of the system is minimized and convergence is achieved resulting in optimal code set. This minimization which is in effect solving Weiner Hopf equations is a unique minimizer of the cost function shown below. It is known that the error J produced by a transversal filter is given by equation 81:
J=σb
where σb
The unique solution to equation 82 is contained in putting its gradient equal to zero. This results in finding the solution to the linear equation set forth in equation 83:
Ais=si (83)
It follows from equation 83,
s=Ai−1si (84)
When the current code vector of a particular user is replaced with normalized version then the iterative algorithm is obtained. However, in order to reduce complexity of computing the inverse of the given correlation, it is desirable to derive an approximate solution.
Suppose s(0) ε Rn is the initial guess. One way to produce a vector sequence {s(k)} that converges to s is to generate a sequence of orthonormal vectors {uk} which are the basis of the Krylov subspace and let s(k) minimize ψ over the set
s(0)+span{u1, . . . ,uk}=s(0)+span{u1,Aiu1 . . . ,Aik−1u1}
for k=1:n. If Uk=[u1, . . . ,uk], then this just means choosing ω ε Rk such that, as shown in equation 85:
is minimized. By taking the gradient with respect to ω equation 86 is obtained:
s(k)=s(0)+Ukωk (86)
where, as shown in equation 87:
(UkTAiUk)ωk=UkT(si−Ais(0)) (87)
When k=n the minimization is over all of Rn and so Ais(n)=si.
For a large sparse Ai it may be necessary to overcome two hurdles in order to make this effective solution process:
This leads to the algorithm shown in TABLE 3 for an MMSE implementation:
Simulations results for two cases are now described. For obtaining the sequences, IEEE 802.15.3a UWB channel type 2 (NLOS 4-10 m) was used. Channel impulse responses corresponding to different channels (1000 channels obtained) were generated and allotted to each user for transmission in different frequency bands. Channel impulse responses corresponding to a single sub-carrier class in each frequency band were then considered, for instance sub-carrier 1 in band 1, band 2, band 3, etc., for all the devices and an iterative TSC reduction MMSE algorithm was applied to obtain the final sequences as well as the power to be allocated to the given sub-carrier under consideration in different frequency bands. In order to circumvent allocation of large power for the channel in deep fade a simple power threshold was used in simulation to distribute the channel energy in other dimensions. The following tables show the code sequences and the normalized power which each user puts on the given sub-carrier. The codes were computed using algorithmic implementation for MMSE, Nv=9, and K=10
TABLE 4 contains the code for the 10 users at the remote devices.
TABLE 5 contains the code at the receiver side (central controller) after the signals pass through the channel.
The present invention enables increased user capacity and at the same time offers increased data capacity, e.g., if more than one code per user is allocated to allow transmission in all available slots along frequency and time axis. This can be done flexibly with power placed on sub carriers which use a strong channel. Since this is accomplished through a central controller, co-ordination in such a communication system which would involve a host of communication devices is simplified. Moreover, the computational complexity can be placed in this central receiver allowing simpler designs for the rest of the communicating devices.
Although the invention is illustrated and described herein with reference to specific embodiments, the invention is not intended to be limited to the details shown. Rather, various modifications may be made in the details within the scope and range of equivalents of the claims and without departing from the invention.