DATA COMMUNICATION USING MULTI-LEVEL SYMBOLS
The present invention relates to data communication and more particularly, to data communication using spread spectrum techniques. The invention also relates to communication applications using multilevel sequences.
Techniques of this type are used for information carrying signals in a variety of communication systems because of their ability to reduce the effects of certain transmission impairments including, but not limited to co-channel interference, multiple access interference and intersymbol interference. Cellular Mobile Networks are one area in which there is an increasing need for wireless access. This allows mobile users to remain in contact with a given network over relatively large distances. Data transmission rates and link performances achievable with known solutions are relatively low thus limiting the range of potential applications.
The International Telecommunications Union (ITU) has formalized the standard for a third generation mobile radio system which will help to improve and promote the growth of cellular radio products and services however, the difficulties of transmission rates, reliability and cost remain. Spread spectrum communication techniques using multilevel sequences represents one possible solution however, it is difficult to achieve high data rates and reliable transmission of data without the use of complex algorithms. Transmission difficulties include the need for a high signal-to-noise ratio, the effect of multipath propagation and the complexity of the receiver design.
There is therefore a need for a method and apparatus, which will overcome the aforementioned problems.
It is an object of this invention to provide a method and apparatus for data communication using spread spectrum techniques and multilevel sequences.
Accordingly, the present invention provides a method of performing data communications comprising using multi-level symbols having good correlation distance properties between
sequences belonging to the set of symbols or a plurality of sets of symbols wherein ideally, reception is performed by means of an M-ary receiver comprising a bank of M correlators, each matched to a respective multi-level sequence and the receiver includes a greatest peak detector of size M to detect the symbol transmitted. The multi-level sequences are partitioned into sets according to a correlation distance metric such that the respective sets can be processed in the receiver substantially independently. The multi-level symbol is detected by means of a plurality of banks of correlators, the correlators of each bank being of a predetermined length. Each correlator output is analysed in dependence on the correlation properties of the multi-level sequences.
The multi-level sequences are provided by an M-ary Bi-Code Keying (MBCK) scheme and the multi-level sequences are preferably provided by a Sequence Coded Modulation (SCM) scheme. The multi-level symbols of the SCM scheme are constructed from subsets of the multi-level sequence having the properties of low autocorrelation sidelobes and low intra-crosscorrelation and inter-correlation magnitudes.
The method may use orthogonal sequence multiplexing.
Ideally, the data is encoded using QAM (Quadrature Amplitude Modulation) and the data is encoded using constant amplitude phase shift keying (PSK).
The SCM sequences are based on the partition of a set of M multi-level sequences into Mlm orthogonal sequences
Preferably, Mlm > 2 and more preferably Mlm = 4.
The method uses an orthogonal spreading sequence comprising a set of Walsh-Hadamard codes their masked variants including the orthogonal variable spreading factor (ONSF) codes, such as those described in published International Patent Applications Νos. WO 99/33212, WO 01/56173, and WO 01/56208 and their masked variants including an ONSF arrangements.
In one arrangement, the M multi-level sequences are of equal power.
The data-to-symbol assignments preferably use a Gray code. Ideally the sequence set is an M-ary sequence set comprising a plurality of M-ary base sequence sets which can be independently detected and the sequence set is a quaternary sequence set and the plurality of M-ary base sequence sets is a pair of base sequence sets. Alternatively, the sequence set is a ternary sequence set and the plurality of M-ary base sequence sets is a pair of base sequence sets. In a further alternative, the sequence set is a quaternary sequence set and the plurality of M-ary base sequence sets is a pair of base sequence sets.
An outer sequence is constructed by appending short sequence blocks to each other in an order which maintains large correlation distances between outer sequences.
The method of the invention maybe a transmitting method or a receiving method. The invention also provides a data communication system, for a data transmitter, or a data receiver performing the method of the invention.
Preferably, the method utilises symbols, the said symbols being multilevel.
Ideally, distinct multilevel sequences are selected for use which possess good correlation distance properties between sequences belonging to the set or a number of sets. #
In one arrangement of the invention, detection of a symbol for demodulation is achieved using an M-ary receiver provided by a bank of M correlators wherein each correlator is matched to a multilevel sequence.
Preferably, a greatest peak detector of size Mis formed to detect the symbol transmitted.
Preferably, by partitioning the multilevel sequences into sets according to a correlation distance metric produces a substantial reduction in receiver complexity.
In a particularly preferred embodiment, a mulitlevel symbol is detected using a plurality of banks of correlators, each correlator being of a predefined length.
Ideally, each correlator output is analysed to determine which multilevel symbol was transmitted. The analysis is based on the correlation distance properties of the multilevel sequences used thus providing a significant reduction in the number of correlators used. In addition to reducing complexity, the new scheme is readily amenable to increasing the order of the modulation scheme and thereby enhancing the bandwidth efficiency and bit error rate performance of the communication system.
In one arrangement, the multilevel symbols are provided by an M-ary Bi-Code Keying (MBCK) scheme as described in patent application P8435.
In another arrangement, the multilevel symbols are provided by a Sequence Coded Modulation (SCM) scheme. The details of SCM are presented for the first time in this document.
According to another aspect of the invention, the multilevel symbols used in SCM are constructed by finding the subsets of multilevel sequence for a given sequence length that have the following properties:
possess low autocorrelation sidelobes; possess low intra-crosscorrelation magnitudes; and possess low inter-crosscorrelation magnitudes.
The invention will now be described more particularly with reference to the accompanying drawings, which show, by way of example only, one embodiment of the data communication method and apparatus according to the invention. In the drawings:
Figure 1. shows a Quadrature MBCK Vector Multiplexing scheme.
Figure 2. shows a Quadrature MBCK Component Multiplexing scheme.
Figure 3. shows an Orthogonal Sequence Multiplexing Transmitter. Figure 4. shows an Orthogonal Sequence Multiplexing Receiver.
Figure 5. shows an ONSF Code Tree for an Extended Downlink Shared Channel using MBCK.
Figure 6. shows an MBCK Vector Multiplexing scheme for OFDM.
Figure 7. shows an MBCK Component Multiplexing scheme for OFDM.
Contents List:
1. The MBCK Modulation Concept
1.1 MBCK Component Vector 1.2 MBCK Gray Coding
1.3 Generalised MBCK Gray Coding
1.4 Examples of MBCK Signal Sets
2. Maximum Likelihood Decoding of MBCK Signal Sets
2.1 Minimum Distance Decoding of MB CK 2.2 Minimum Distance Decoding of MBCK using the BSS
2.3 Minimum Distance Decoding of MBCK using the BSS 1 and 2
2.4 Minimum Distance Decoding of MBCK using a TSS
3. Soft Decision Metrics for MBCK 3.1 An SDM with Full-Search 3.2 A Modified SDM with Full-Search
3.3 A Modified SDM with Pre-assigned Nearest Neighbours
3.4 A Modified SDM with 1 -Bit Corrupted Neighbours
3.5 SDM Approximations
3.6 Alternative Distance Metrics 4. Multiplexing MBCK Vectors
4.1 Quadrature Multiplexing
4.2 Orthogonal Sequence Multiplexing
4.3 OFDM Multiplexing
5. Extended MBCK Binary Signal Sets 6. Further examples of MBCK Signal Sets
Glossary of Terms: xD x-dimension
BSS Binary Signal Set CDMA Code Division Multiple Access
CSS Constellation Signal Set
DS Direct Sequence as in DS/CDMA
FDM Frequency Division Multiplexing
LSB Least Significant Bit
LUT Look Up Table
MBCK M-ary Bi-Code Keying
MSB Most Significant Bit
OFDM Orthogonal Frequency Division Multiplexing
PAM Pulse Amplitude Modulation
QAM Quadrature Amplitude Modulation
QPSK Quadrature Phase Shift Keying
QAM Quadrature Amplitude Modulation
SDM Soft Decision Metric
SSS Sign Signal Set
TDM Time Division Multiplexing
TSS Ternary Signal Set
{R} The set of all real numbers
{R+} The set of all real positive numbers
{Z} The set of all real integers
{Z } The set of all real positive integers
1. The MBCK Modulation Concept
M-ary Bi-Code Keying (MBCK) is a multidimensional modulation method that uses an n- dimensional PAM component vector u = (u\, ' " , u„) where each vector component ut e {R} for i = 1, " n. That is, each component of the multidimensional PAM vector is an element of the set of all real numbers. An MBCK component vector may take the form of a binary sequence where ut s {+1,-1} or an integer multilevel sequence where ut e {Z} depending on the order of the PAM alphabet.
1.1 The MBCK Component Vector
The length of an MBCK vector corresponds to the dimension of the PAM vector. In theory, the MBCK vector may be of any length and hence the PAM constellation may be of any dimension. In practice, the length of an MBCK vector is limited by a combination of the implementation complexity and, more importantly, the system design constraints. The latter imposes a given level of performance improvement that can be obtained for a given length of an MBCK vector. The mapping of data bits onto a set of MBCK vectors
may be done according to a number of mapping rules. In general, a block of A: data bits can be mapped onto anyone of 2k MBCK vectors where the set of 2k vectors consists of 2k unique vectors and their complements. The set of MBCK component vectors is called the MBCK signal set and is denoted by {«}. The mapping of data bits to vectors may be done either arbitrarily or by following a simple binary count or by following a constellation set- partition rule or by Gray coding. The Gray code bit-to-vector mapping is particularly beneficial because it ensures that the corruption of an MBCK vector into its nearest neighbour results in a single bit change. Furthermore, a Gray code mapping is well suited to bit interleaved coded modulation (BICM) methods that use a soft decision metric to represent the reliability of individual data bits.
1.2 MBCK Gray Coding
An n-dimensional MBCK signal set can be obtained by taking the Cartesian product of "n/m" m-dimensional PAM signal sets where l ≤ m ≤ n . The numbers m and n are integers and m must divide n an integer number of times. A block of k data bits is mapped on to an MBCK vector by applying the Gray mapping in each of the m-dimensional PAM signal sets. The most common mappings include:
1. the Cartesian product of n one-dimensional (ID) PAM signal sets where each 1D- PAM signal set is Gray coded for n even or odd; 2. the Cartesian product of nil two-dimensional (2D) PAM signal sets where each
2D-PAM signal set is Gray coded for n even. In the case when n is odd, the MBCK signal set can be obtained by taking the Cartesian product of "(«- LV2" 2D-PAM signal sets and one 1D-PAM signal set where each signal set is Gray coded.
This mixing of different dimensional PAM signal sets can be further generalised by partitioning n into q integers {n\, n2, '" nq) according to the constraint
where the integers n
x- for / = 1, " q may be all different, all the same or a mixture of both. Then an MBCK signal set can be obtained by taking.the Cartesian product of the "q" n~ dimensional PAM signal sets for i = 1, " q where each rø
r dimensional PAM signal set is
Gray coded. Note that an n,-dimensional PAM signal set can be Gray coded by using any of the above techniques making the overall Gray coding process an iterative one.
This method of Gray coding the MBCK signal set not only ensures that the corruption of an MBCK vector into its nearest neighbour results in a single bit change, but also ensures that the corruption of an MBCK vector to a more distant neighbour results in a minimal number of bit changes. In general, the mapping ensures that the number of bit changes between MBCK vectors is proportional to the Euclidean distance between the vectors in the t2-dimensional MBCK signal set.
1.3 Generalised MBCK Gray Coding
The method of Gray coding presented in Section 1.2 produces a large number of useful MBCK signal sets. However, the method does not generate all the cases and in particular does not generate an important class of MBCK signal sets that have inherent coding gain. Such classes of MBCK signal sets may be generated using the generalised MBCK Gray coding method described in this section.
A generalised Gray coded MBCK signal set consists of a constellation signal set (CSS) {c} and a sign signal set (SSS) {s}. The CSS is a set of "2/" ^-dimensional PAM constellation vectors of the form c = (ci, " , c„) where each vector component a e {R+} for i = 1, '" n. The SSS is a set of "2n" ^-dimensional binary vectors of the form s = (si, "' , sn) where each vector component st e {+1,-1} for i = 1, " n. That is, {s) is the set of all the binary tuples of length n. A block of /-bits is mapped to {c} using a Gray code rule while a block of «-bits is mapped to {s} using the same binary tuple pattern because the natural binary count is inherently Gray coded.
A component vector of the MBCK signal set is obtained by talcing the component wise product of c and s as denoted by u = (s\c\, s%c-ι, ' ' , snc„). The complete MBCK signal set {«} is obtained by taking the component wise product of every vector in {c} with every vector in {s}. The MBCK signal set consists of 2* = 2l+n component vectors since k = l+n ox l = k-n. The assignment of from k data bits to the CSS and n from k data bits to the SSS can follow any interleaving pattern.
The properties of the MBCK signal set are determined by the properties of the CSS. Desirable properties of the CSS include large Euclidean distances, low cross-correlation values and low average powers between the component vectors.
1.4 Examples of MBCK Signal Sets
1.4.1 4D MBCK Signal Set using ut e {-3, -1, 1, 3}
A 4D MBCK signal set is obtained by taking the Cartesian product of two 2D-PAM signal sets. Table 1 shows a 2D-PAM signal set and Tables 2(a),(b),(c) and (d) show the corresponding 4D MBCK signal set.
Table 2 (a)
Table 2 (b)
Table 2 (c)
Table 2 (d)
1.4.2 4D MBCK Signal Set using u,- e {-3, -1, 1, 3}
A 4D MBCK signal set is obtained by the generalised MBCK Gray code method using the CSS and SSS shown in Table 3. Table 4 shows the corresponding 4D MBCK signal set. In Tables 3 and 4 a block of k = 6 bits is mapped by mapping the / = 2 MBS to the CSS and the n = 4 LSB to the SSS. The mapping of data bits is arbitrary and any other order can be used without any loss of generality. The MBCK signal set defined in Table 4 is called the {1 1 1 3} MBCK signal set.
Table 3
Tab e
For this example, an MBCK component vector is formed by taking the component wise product of the CSS vector selected by the di-bits {b6b5} and the SSS vector selected by the
quad-bits {b4b3b2bι}. However, since the selected SSS vector is the bipolar representation of the quad-bits {b4b3b2bi}, then a bipolar version of these bits may be used directly to take the component wise product. Again there is no loss in generality if other data bit orders are used. For example, the CSS vector could be selected by the di-bits {bιb } and the SSS vector could be selected by the quad-bits {b6b b b3} or any other order.
2. Maximum Likelihood Decoding of MBCK Signal Sets
The maximum likelihood decoding of an MBCK signal set estimates the transmitted MBCK component vector with the minimum probability of error. The most common maximum likelihood decoding method is minimum distance decoding. For certain kinds of MBCK signal sets the conventional minimum distance decoding algorithm can be enhanced by way of substantially reducing its complexity.
2.1 Minimum Distance Decoding of MBCK Let z denote the received MBCK component vector impaired by the communication channel. The most common channel impairment is additive white Gaussian noise denoted by the noise vector w = (w\, w2, '" w„). Then z = u + w in the absence of any other channel impairment and the maximum likelihood detection criterion imposes the minimisation of the squared Euclidean distance metric
H 1 t d - min l|2
1 min ue{ itinj ∑|z, -κ,| min(|« - ιι|
where the search is carried out over the set of the 2k hypothesised MBCK component vectors {«}. The search gives the detected MBCK component vector u from which the detected bits b can be extracted according to the bit-to-vector mapping rule used.
2.2 Minimum Distance Decoding of MBCK using the BSS
All MBCK signal sets can be decomposed into a constellation signal set {c} and a sign signal set {s} as defined earlier. This property means that the data bits mapped onto the transmitted vector s can be detected in a maximum likelihood sense by taking the correlation of z with every vector in {s} and selecting the peak correlation value. That is, the maximum likelihood detection criterion imposes the maximisation of the correlation metric
where the search is carried out over the set of 2" hypothesised SSS vectors {s}. The search gives the detected SSS vector s from which the detected sign bits can be extracted. Since {s} consists of 2
nΛ bipolar binary tuples and their complements it is sufficient to define the binary signal set (BSS) { s' } which consists of the 2
nΛ bipolar binary tuples only without their complements. Then the maximum likelihood detection criterion imposes the maximisation of the correlation metric
where the search is carried out over the set of 2
nΛ hypothesised BSS vectors { s' }. The search together with the polarity of the peak gives the detected SSS vector s from which the detected sign bits can be extracted.
The final step is to detect the transmitted constellation vector. This is obtained by taking the component wise product of s with each vector in {c} to create a sign modulated version of the CSS denoted by { c' }. The maximum likelihood detection criterion imposes the minimisation of the squared Euclidean distance metric
where the search is carried out over all vectors in { c' }. The search gives the detected constellation vector c from which the detected constellation bits can be extracted. The bits obtained by detecting c and s combine to give the detected bits b . Since correlation is less complex to implement than minimum distance decoding, the advantage of this method is that the complexity of the maximum likelihood detection algorithm is substantially reduced when the number of vectors in the SSS exceeds that in the CSS.
2.3 Minimum Distance Decoding of MBCK using the BSS 1 and 2
The minimum distance decoding of an MBCK signal set using the BSS method described earlier can be further refined for the specific case of the {1 1 1 3} MBCK signal set defined in Table 4. The method, which exploits the underlying correlation properties of
this signal set, gives a substantial reduction in the implementation complexity of the maximum likelihood detection algorithm.
The BSS for the {1 1 1 3} MBCK signal set is partitioned into two independent binary signal sets called BSS-1 and BSS-2 as illustrated in Table 5.
Table 5 The received MBCK vector z is correlated with each vector in BSS-1 and BSS-2. Two estimates of the transmitted vector are obtained. The first estimate is obtained by searching for the greatest peak magnitude and its polarity produced by BSS-1 and the smallest peak magnitude produced by BBS-2. The second estimate is obtained by searching for the smallest peak magnitude produced by BSS-1 and the greatest peak magnitude and its polarity produced by BBS-2. The positions of the maximum and minimum peak magnitudes can be used by LUT-1 to extract the two estimates of the transmitted constellation vector. A negative polarity greatest peak magnitude indicates that the complement of the vector given in Table LUT-1 was transmitted. The final detection step is to select one of the two estimated vectors that has the minimum squared Euclidean distance from z as given by the metric
where {e} is the set consisting of the two estimated vectors. The search gives the detected
MBCK vector u from which the detected bits b can be extracted according to the bit-to- vector mapping rule used in Table 4. There is no loss in generality when other bit orders are used. For example, the CSS vector could be selected by the di-bits {b2bι} and the SSS vector could be selected by the quad-bits {b6b5b4b3} or any other bit order.
Since all the vectors belonging to the {1 1 1 3} MBCK signal set have the same average power, then a correlation metric, rather than a minimum distance metric, can be used to discriminate between the two estimated vectors.
The same maximum likelihood detection algorithm can be used to decode both the { 1 3 3 3} and {0 2 2 2} MBCK signal sets with some minor modifications. The first modification is that always the position of the greatest peak magnitude is searched in BSS-1 and BSS-2. The second modification is in the use of the greatest peak magnitude polarities to determine if a complement vector was transmitted.
2.4 Minimum Distance Decoding of MBCK using a TSS
In a manner similar to the use of BSS 1 and 2, the {1 1 1 3} MBCK signal set can be decoded by the ternary signal sets shown in Table 6. Again, this method, which exploits the underlying correlation properties of this signal set, gives a substantial reduction in the implementation complexity of the detection algorithm.
The received MBCK vector z is correlated with each vector in TSS-1, TSS-2 and TSS-3. A single estimate of the transmitted vector is obtained by searching for the greatest peak magnitudes and their polarities produced by TSS-1, TSS-2 and TSS-3. The positions of the greatest peak magnitudes and their polarities can be used to extract the detected MBCK vector. The {1 1 1 3} MBCK signal set does not occupy all of the possible positions at the correlator outputs. If the positions of the three greatest peak magnitudes do not correspond to a valid {1 1 1 3} MBCK vector then the search continues until the three greatest peak magnitudes that do correspond to a valid MBCK vector is found.
3. Soft Decision Metrics for MBCK
Gray coded MBCK signal sets are well suited to bit interleaved coded modulation (BICM) methods that use a soft decision metric to represent the reliability of individual data bits. Over certain types of channels, in particular Rayleigh fading channels, the code diversity, and hence the reliability of coded modulation, can be improved by making the code diversity equal to the smallest number of distinct bits along an error event. This is achieved by bit-wise interleaving at the channel encoder output, and by using an appropriate soft decision metric (SDM) as an input to a channel decoder. Commonly used channel decoders are the Viterbi decoder and the iterative Turbo decoder. A SDM for MBCK can be obtained by approximating the log-likelihood ratio of they'-th bit of an MBCK component vector.
3.1 An SDM with Full-Search
An approximation to the log-likelihood ratio of they'-th bit of an MBCK component vector can be calculated from the minimum squared Euclidean distance metric as
or, when applicable, from the correlation metric as
Λ
W(z) = ma Ϋ \z
■ u. I > - ■ u
where/ = 1, 2,
"• k, u is the hypothesised transmitted MBCK vector and sets Qt^ and Q
{]. are given as
Q{l) = {PAM vectors whosey'-th bit b, = 0}
QU) = {PAM vectors whose -th bit bj = 1} and the search is carried out over all of the 2k MBCK component vectors.
3.2 A Modified SDM with Full-Search
If the detected MBCK vector u is obtained first by the minimum distance metric search
then an approximation to the log-likelihood ratio of they
'-th bit of an MBCK vector can be calculated as
where b is they
'-th detected bit extracted from the detected MBCK vector u .
3.3 A Modified SDM with Pre-assigned Nearest Neighbours
A component vector « of an MBCK signal set has at least one MBCK vector «(,) which differs in they'-th bit and is a nearest neighbour in the minimum squared Euclidean distance sense. Then {«(,)} is a set of the nearest neighbour vectors to u for y = 1, 2, " k. Each component vector u of {u} has its own set of pre-defined nearest neighbour vectors giving rise to the set {{«(/)}}. When a nearest neighbour vector is not unique then anyone of the minimum distance vectors may be included in the set {«(;)}.
If the detected MBCK vector ii and the detected bits b are obtained first by the minimum distance metric search
then an approximation to the log-likelihood ratio of they
'-th bit of an MBCK vector can be calculated as
Λ
ω(z) = b; - ||z - « *(
(/)ii
~ z - u\\ where ) is the nearest MBCK vector to ϋ , in a squared Euclidean distance sense, which differs in they
'-th bit and b = 2b - 1 is the bipolar form of b
; .
The benefit of this technique is that it can enhance the performance of the SDM full-search method by substantially reducing the processing time required to obtain the SDM. The benefit is clearly demonstrated when considering the decoding of the {1 1 1 3} MBCK signal set. For the {1 1 1 3} MBCK signal set the detected MBCK vector ϋ and the detected bits b = (be, b5, b , b3, b2, bi) can be obtained first by the minimum distance decoding method using BSS-1, BSS-2 and LUT-1. The SDM can be obtained using the above algorithm where the set {{«(,)}} is defined in Table LUT-2.
Table LUT-2
LUT-2 is used in the following manner. If the detected vector ϋ belongs to the BSS-1 MBCK vectors then the nearest neighbours for bits b] 3 b2, and b3 are extracted from the BSS-2 MBCK vectors whilst the nearest neighbours for bits b4, b5, and b6 are extracted from the BSS-1 MBCK vectors according to the nearest neighbour vector identies given in LUT-2. Conversely, if the detected vector u belongs to the BSS-2 MBCK vectors then the nearest neighbours for bits bh b2, and b3 are extracted from the BSS-1 MBCK vectors whilst the nearest neighbours for bits b4, b5, and b6 are extracted from the BSS-2 MBCK
vectors according to the nearest neighbour vector identies given in Table LUT-2. If « is a complement of the BSS-1 and BSS-2 MBCK vectors then the nearest neighbours are also complemented.
3.4 A Modified SDM with 1-Bit Corrupted Neighbours
Instead of using minimum squared Euclidean distance neighbours which differ in the y'-th bit, and therefore can differ in other bit positions, a set of neighbours to u is used which differ in they'-th bit only and do not differ in any other bit positions. That is, the neighbours of u are chosen to have a Hamming distance of unity. Such a set of neighbours are not always minimum distance in the Euclidean sense but they are minimum distance in the Hamming sense and as such only one such neighbour exist per y'-th bit.
Let { «(,) } denote a set of neighbour vectors to u fory = 1, 2, k each having a minimum Hamming distance of one. Each component vector u of {«} has its own set of neighbour vectors giving rise to the set { { u{j) } } .
If the detected MBCK vector u and the detected bits b are obtained first by the minimum distance metric search 2,„ = minjk - «||2 then an approximation to the log-likelihood ratio of they'-th bit of an MBCK vector can be calculated as
where «
(/) is the nearest MBCK vector to u, in a Hamming distance sense, which differs in they
'-th bit only and b'
f = 2b
7 - 1 is the bipolar form of b .
The benefit of this technique is that it can enhance the performance of the SDM full-search method by substantially reducing the processing time required to obtain the SDM. As illustrated in Table 7, which is an example based on the {1 1 1 3} MBCK signal set, the neighbours of ϋ can be extracted by taking the 1-bit corruptions of b which gives the data vectors of the minimum Hamming neighbours and hence the neighbour vectors.
Table 7
The principle of using minimum Hamming distance neighbours may be generalised to neighbours with Hamming distances of -bits where l ≤ x ≤ k . When x = k then the method defaults to the full-search SDM method. When an Hamming distance of -bits is used, an approximation to the log-likelihood ratio of the '-th bit of an MBCK component vector can be calculated as
Λ^(z) = min | ||z - «|| }- min \\z - «| ) where β(/> = {neighbour vectors of ύ with Hamming distance x whosey'-th bit bs = 0} Q{l) = {neighbour vectors of ύ with Hamming distance x whosey'-th bit b} = 1} for l ≤ x ≤ k .
3.5 SDM Approximations
Based on the above methods, a number of approximations to the log-likelihood ratio of the y'-th bit of an MBCK component vector can be made which reduces the computational complexity of the calculation. If the detected MBCK vector u and the detected bits b are obtained first by the minimum distance metric search
then the following approximations can be used.
where
Q(l) = {PAM vectors whosey'-th bit b} = 0} Q ) - {PAM vectors whosey'-th bit b} = 1).
where b = 2^ - 1 is the bipolar form of b . In the approximations, the substitution z = u has the effect of hard limiting or quantising the norm values to the distances between points in the MBCK signal set. If the MBCK signal set is densely packed, for example when the dimension n and the PAM alphabet size are large, then the quantisation effect does not degrade the quality of the SDM. Instead, the SDM is made more uniform which can enhance the quality of the SDM in certain types of channels, such as Rayleigh fading or erasure channels, as well as reducing the SDM calculation complexity.
3.6 Alternative Distance Metrics
So far the minimum distance metrics used both in the maximum likelihood detection of an MBCK vector and the approximation of the log-likelihood ratio have used the square Euclidean distance metric. The square Euclidean distance metric is obtained from the square of the norm of the difference vector between z and the hypothesised transmitted vector given as
Other distance metrics are just the Euclidean distance metric given as
and the absolute distance metric given as
» d = y - u, i ι=l and each metric may be used interchangeably in all of the aforementioned calculations of the minimum distance metric and the log-likelihood ratio. For example, for the approximation of the log-likelihood ratio using unity Hamming Distance neighbours we can write the squared Euclidean, Euclidean and absolute distance metric versions as, respectively dl„ = min{||z-«||2 and Λω(z) = b' ■ ,
d
mm = mm{ \\z - u\\ and Λ
ω(z) = b
■
«
ω|]
without any loss of generality.
4. Multiplexing MBCK Vectors
In general, an MBCK component vector as obtained from a PAM component vector with alphabet A is a real vector of dimension n. The components of an MBCK vector can be multiplexed onto a variety of different modulation methods. Some of the most common modulation methods that can be used with MBCK include FDM, TDM, quadrature modulation methods such as QPSK and QAM, DS/CDMA modulation methods and OFDM modulation methods.
An MBCK vector is multiplexed in frequency by allocating each component of the vector u, to a frequency channel of an FDM method. An MBCK vector is multiplexed in time by allocating each component of the vector u, to a time slot of a TDM method.
4.1 Quadrature Multiplexing
Quadrature modulation is a complex modulation method consisting of an in-phase branch, the I branch, and a quadrature-phase branch, the Q branch. Both branches are orthogonal. An MBCK component vector can be multiplexed to the I and Q branches according to two multiplexing rules. Figure 1 illustrates the first rule referred to as quadrature MBCK vector
multiplexing. In this rule alternate MBCK vectors ** are multiplexed onto the I and Q branches, respectively. Figure 2 illustrates the second rule referred to as quadrature MBCK component multiplexing. In this rule alternate MBCK vector components u,- are multiplexed onto the I and Q branches, respectively. When n is even this results in an even number of complex symbols per MBCK vector. When n is odd, then one of the complex symbols is split between the first and second MBCK vectors. Without loss of generality, arrangements other than using either alternate vectors or vector components are possible.
4.2 Orthogonal Sequence Multiplexing In an orthogonal sequence multiplexing method each MBCK vector component modulates an unique orthogonal spreading sequence. The orthogonal spreading sequences are then summed in order to produce a multilevel signal for transmission. Figure 3 illustrates the orthogonal sequence multiplexing of an MBCK vector using quadrature modulation. The multilevel signal vector m in either the I or Q branches can be written as
where s
t N denotes the /-th orthogonal spreading sequence of length N and n is both the number of orthogonal sequences summed and the MBCK vector length.
Figure 4 illustrates receiver for the orthogonal sequence demultiplexing of the quadrature MBCK vectors. A scaled versions of the MBCK vector components ut are obtained by correlating the vector m with the same set of n orthogonal spreading sequences {sN) used at the transmitter. The sampled signal values obtained at the correlator outputs constitute the MBCK component vector which is subsequently processed using any of the detection algorithms given earlier. The receiver architecture in Figure 5 is general in the sense that the demultiplexing function can take other arrangements but the same underlying principle applies.
Suitable orthogonal spreading sequences include the sets of Walsh-Hadamard codes and their masked variants including the orthogonal variable spreading factor (ONSF) codes. Another suitable set of orthogonal spreading sequences are Supergold's O'Farrell Sequences and their masked variants including an OVSF arrangement.
An orthogonal sequence multiplexing scheme using MBCK signal sets can be used advantageously in a cellular mobile radio system in order to multiplex a number of high data rate users onto a shared communication channel. Figure 5 illustrates how this can be accomplished using orthogonal variable spreading factor (ONSF) sequences in a downlink shared channel configuration. The advantage of MBCK is that it can support high data transmission rates while maintaining a good transmission link performance. Figure 5 illustrates a configuration that uses three MBCK sub-channels for a spreading factor of 16 and an MBCK vector length of 4. This configuration leaves 4 length 16 orthogonal spreading sequences available for the multiplexing of data from other modulation methods.
4.3 OFDM Multiplexing
OFDM transmits multiple channel symbols simultaneously on orthogonal carriers. The channel symbols denoted by qt are complex and are grouped into a block of size P. These P symbols will be transmitted in parallel on the P subchannels that are created by modulating each channel symbol by a discrete time complex exponential.
An MBCK component vector can be multiplexed onto the P subchannels of an OFDM signal according to two multiplexing rules. The first rule, as illustrated in Figure 6 for a length 4 MBCK signal set, is based on quadrature MBCK vector multiplexing. In this rule alternate MBCK vectors u of length n are multiplexed onto the subchannel I and Q branches, respectively, such that the components of the first vector occupy the I-branches of the first n sub-channels while the components of the second- vector occupy the Q- branches of the first n subchannels and so on until all P subchannels are occupied.
The second rule, as illustrated in Figure 7 for a length 4 MBCK signal set, is based on quadrature MBCK component multiplexing. In this rule alternate MBCK vector components ut are multiplexed onto the subchannel I and Q branches, respectively, until all P subchannels are occupied.
In order to fit an integer number of MBCK vectors into P subchannels for both multiplexing rules, it is required that n divides P an integer number of times.
5. Extended MBCK Binary Signal Sets
A variant of MBCK that uses binary signal sets, and is referred to as extended MBCK, is obtained by extending the dimension of an MBCK binary signal set by concatenating short binary vectors in a predefined order that maintains a large minimum Euclidean distances between the extended vectors. Bit detection is obtained by first decoding the short binary vectors and then decoding the extended binary vectors. The method of coding and decoding an extended MBCK binary signal set is illustrated by way of example below. Short binary vectors of length 4 are obtained from BSS-1 and BSS-2 as illustrated in Table 5 and reproduced in Table 8.
Table 8
Extended MBCK binary signal sets of dimensions 8, 12 and 16 are obtained by concatenating binary vectors according to the set order defined in Tables 9, 10 and 11.
Table 9
Table 10
Using Table 9, an extended MBCK signal set of 64 length 8 binary vectors is obtained by concatenating any vector or it complement from set (1,1) with any vector or its complement from set (1,2). A second extended MBCK signal set of 64 length 8 binary
vectors is obtained by concatenating any vector or it complement from set (2,1) with any vector or its complement from set (2,2). Both sets are combined to give an extended MBCK signal set of 128 length 8 binary vectors capable of encoding 7 bits.
Using Table 10, an extended MBCK signal set of 512 length 12 binary vectors is obtained by concatenating any vector or it complement from set (1,1) with any vector or its complement from set (1,2) with any vector or its complement from set (1,3). The same method is applied to the sets from rows 2, 3 and 4 to produce 3 more sets of 512 length 12 binary vectors. The four sets are combined to give an extended MBCK signal set of 2048 length 12 binary vectors capable of encoding 11 bits.
Using Table 11, an extended MBCK signal set of 4096 length 16 binary vectors is obtained by concatenating any vector or it complement from set (1,1) with any vector or its complement from set (1,2) with any vector or its complement from set (1,3) with any vector or its complement from set (1,4).. The same method is applied to the sets from rows 2 to 8 to produce 7 more sets of 4096 length 16 binary vectors. The eight sets are combined to give an extended MBCK signal set of 32J68 length 16 binary vectors capable of encoding 15 bits.
An extended MBCK binary vector is decoded by partitioning the received vector z of length n into nl4 short binary vectors each of length 4. Each received short vector is correlated with the sets BSS-1 and BSS-2, respectively. For each received short vector, the correlator in BSS-1 with the greatest peak magnitude and its polarity give an estimate of the short binary vector transmitted conditioned on that vector belonging to BSS-1 while the correlator in BSS-2 with the greatest peak value and its polarity give an estimate of the short binary vector transmitted conditioned on that vector belonging to BSS- 2.
L estimates of the extended binary vector are obtained by concatenating the estimated short binary vectors according to the set orders defined in the L rows of Tables 9, 10 or 11. The final decoding step is to detect the extended binary vector by correlating z with each of the
L estimated extended binary vectors. The estimated vector which gives the greatest peak
magnitude is extracted as the detected vector ύ from which the detected transmitted bits b can be extracted according to the bit-to-vector mapping rule used.
The extended MBCK method presented applies to any length binary vector and as such is not limited to the examples given. The benefit of the extended MBCK method is that it substantially reduces the implementation complexity of the decoding algorithm. For example, to decode the 11 bits carried by 211 length 12 vectors using a conventional decoder requires 210 length 12 correlators while using the extended MBCK method requires just the BSS-1 and BSS-2 correlators and the correlation of 4 length 12 estimated extended vectors with z.
6. Examples of MBCK Signal Sets 6.1 {1 3} MBCK Signal Set
The {1 3} MBCK signal set shown in Table 13 is obtained by the generalised MBCK Gray code method shown in Table 12. Again there is no loss in generality if other data bit orders are used.
Table 12
Table 13
6.2 {1 3 3 3} MBCK Signal Set
The {1 3 3 3} MBCK signal set shown in Table 15 is obtained by the generalised MBCK Gray code method shown in Table 14. Again there is no loss in generality if other data bit orders are used.
6.3 {0 2 2 2} MBCK Signal Set
The {0 2 2 2} MBCK signal set shown in Table 17 is obtained by the generalised MBCK Gray code method shown in Table 16. Again there is no loss in generality if other data bit orders are used. Due to the "0" component in the CSS, this method generates two identical MBCK signal sets. One set is discarded giving a total of 32 unique MBCK component vectors as shown in Table 18 and the redundant data bit corresponding to the "0" component is removed from the bit vector.
Table 18
6.4 {0 V2 1 1} MBCK Signal Set
The {0 2 1 1} MBCK signal set shown in Table 20 is obtained by the Cartesian product of the two 2D-PAM signal sets shown in Table 19. Again there is no loss in generality if other data bit orders are used.
Table 19
6.5 {0 1 0 1} MBCK Signal Set
The {0 1 0 1} MBCK signal set shown in Table 22 is obtained by the generalised MBCK Gray code method shown in Table 21. Again there is no loss in generality if other data bit orders are used. Due to the two "0" components in the CSS, this method generates four identical MBCK signal sets. Three sets are discarded giving a total of 16 unique MBCK component vectors as shown in Table 23 and the redundant data bits corresponding to the two "0" components are removed from the bit vector.
Table 21
The CSS shown in Table 24 can also be used with the above method in order to obtain alternative ternary MBCK signal sets.
Table 24
The above method can be further refined to include using a sub-set of the SSS to generate an MBCK signal set. For example, the above {0 1 0 1} MBCK signal set can be obtained using the generalised MBCK Gray code method shown in Table 25.
Table 25 A particularly useful variant of the {0 1 0 1} MBCK signal set is shown in Table 27 and is obtained using the generalised MBCK Gray code method shown in Table 26. In Table 26 a sub-set of only 2 sign vectors is used. Again there is no loss in generality if other data bit orders are used. Also, the ternary sets shown in Table 24 can be used with this method.
Table 27
6.3 {0 Λ/2 1 3} MBCK Signal Set
The {0 2 1 3} MBCK signal set is obtained by the generalised MBCK Gray code method shown in Table 28. Again there is no loss in generality if other data bit orders are used. Due to the "0" component in the CSS, this method generates two identical MBCK signal sets. One set is discarded giving a total of 64 unique MBCK component vectors and the redundant data bit corresponding to the "0" component is removed from each bit vector.
Table 28
It will of course be understood that the invention is not limited to the specific details described herein which are given by way of example only, and that various modifications and alterations are possible within the scope of the invention as defined by the appended claims.