GB2462432A - UWB OFDM Modified Dual Carrier Modulation (MDCM) Decoding - Google Patents

UWB OFDM Modified Dual Carrier Modulation (MDCM) Decoding Download PDF

Info

Publication number
GB2462432A
GB2462432A GB0814295A GB0814295A GB2462432A GB 2462432 A GB2462432 A GB 2462432A GB 0814295 A GB0814295 A GB 0814295A GB 0814295 A GB0814295 A GB 0814295A GB 2462432 A GB2462432 A GB 2462432A
Authority
GB
United Kingdom
Prior art keywords
bit
mdcm
terms
signals
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0814295A
Other versions
GB0814295D0 (en
Inventor
William Stoye
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Artimi Inc
Original Assignee
Artimi Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Artimi Inc filed Critical Artimi Inc
Priority to GB0814295A priority Critical patent/GB2462432A/en
Publication of GB0814295D0 publication Critical patent/GB0814295D0/en
Priority to US12/462,537 priority patent/US8953696B2/en
Publication of GB2462432A publication Critical patent/GB2462432A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/06Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection
    • H04L25/067Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection providing soft decisions, i.e. decisions together with an estimate of reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2649Demodulators

Abstract

A vending machine 1 has a hatch 3 for receiving a receptacle into which a product is vended. The machine 1 can condition the received receptacle and dispense a product into the received receptacle. Conditioning the receptacle may include the steps of flushing the receptacle, washing the receptacle using a cleaning fluid, rinsing the receptacle and drying the receptacle, with the receptacle being conveyed through the machine 1. The integrity of the receptacles may also be checked by the vending machine 1 so broken or damaged receptacles are not re-used. The vending machine 1 can detect an indicator on the receptacle which indicates that the receptacle is suitable for recycling in the machine 1. The vending machine 1 may also seal the receptacle once the product has been dispensed and record information, such as a use-by date, on the receptacle. Windows 9 can be provided so users can see the interior of the machine 1. The vending machine of the present invention reduces waste as receptacles can be re-used and fewer are used overall. The receptacles may be glasses, bottles, cups, mugs or other containers or vessels.

Description

Signal Decoding Systems
FIELD OF THE iNVENTION
This invention relates to apparatus, methods and computer program code for decoding MDCM (modified dual carrier modulation) modulated signals, in particular MDCM modulated OFDM (orthogonal frequency division multiplexed) signals such as those proposed to be used in UWB (ultra wideband) communications systems.
BACKGROU1'JD TO THE INVENTION The MultiBand OFDM (orthogonal frequency division multiplexed) Alliance (MBOA), more particularly the WiMedia Alliance, has published a standard for a UWB physical layer (PHY) for a wireless personal area network (PAN) supporting data rates of up to 480 Mbps. This document was published as, "MultiBand OFDM Physical Layer Specification", release 1.1, July 14, 2005; release 1.2 is now also available. The skilled person in the field will be familiar with the contents of this document, which are not reproduced here for conciseness. However, reference may be made to this document to assist in understanding embodiments of the invention. Further background material may be found in Standards ECMA-368 and ECMA-369.
Broadly speaking a number of band groups are defined, one at around 3GHz, a second at around 6GHz, each comprising three bands; the system employs frequency hopping between these bands in order to reduce the transmit power in any particular band. The OFDM scheme employs 112-122 sub-carriers including 100 data carriers (a total FFT size of 128 carriers) which, at the fastest encoded rate, carry 200 bits using DCM (dual carrier modulation). A 3/4 rate Viterbi code results in a maximum data under the current
version of this specification of 480Mbps.
Broadly speaking, in DCM two carriers are employed each using points of a 16 QAM (quadrature amplitude modulation) constellation, but only sixteen combinations of the points are used to encode data -that is, there are only certain allowed combinations of the constellation points on the two carriers.
Details of the UWB DCM modulation scheme can be found in the "MultiBand OFDM physical layer specification" (ibid), in particular at section 6.9.2, which section is hereby incorporated by reference into the present specification.
In detail, a group of two hundred coded and interleaved binary data bits is converted into one hundred complex numbers by grouping the two hundred coded bits into fifty groups of 4 bits each.
Bach group is represented as (b[g(k)], b[g(k)+1], b[g(k)+50], b[g(k)+51]), where k E [0,49] and 1 2k kE[0,24] g(k) 2k+50 kE[25,49] Each group of 4 bits is mapped onto a four-dimensional constellation and converted into two complex numbers, d[k] and d[k+50], using the mapping shown in Figure la. The complex numbers are normalised using a normalisation factor of 1/J1O. The constellations shown in Figure 1 a can also be expressed using Table 1 below: Input Bits d[k] d[k] d[k]+50 d[k]+50 I-out Q-out I-out Q-out 0000 -3 -3 1 1 0001 -3 -1 1 -3 -3 1 1 3 0011 -3 3 1 -1 -1 -3 -3 1 0101 -1 -1 -3 -3 -1 1 -3 3 0111 -1 3 -3 -1 1000 1 -3 3 1 1001 1 -1 3 -3 1010 1 1 3 3 1011 1 3 3 -1 1100 3 -3 -1 1 1101 3 -1 -1 -3 1110 3 1 -1 3 1111 3 3 -1 -1
Table 1
We have previously described, in GB0703969.6 and in US 11/715,363 (both hereby incorporated by reference), some improved approaches for decoding DCM modulated data.
An extension to the Wimedia OFDM physical layer (PHY) specification has been proposed which supports data rates of up to 1024Mbps. For data rates above 48OMpbs (64OMbps-lO24Mbps) an LDPC (Low Density Parity Check) forward error correcting code is proposed with coding rates of 1/2, 5/8, 3/4 and 4/5, and the coded data is mapped onto a four-dimensional constellation using modified dual carrier modulation (MCDM).
Details of the planned UWB MDCM modulation scheme can be found in the WiMedia PHY Data Rate Extension Working Text of June 18, 2008, in particular at section 6.9.3, which section is hereby incorporated by reference into the present specification. This material may in future appear at section 6.9.3 of the ??MultiBand OFDM physical layer specification! (ibid), which would be an additional section in this document.
In detail, the LDPC coded data is grouped into sets of 400 bits and each of these sets is converted into a set of 100 complex numbers using MCDM and modulated onto a symbol.
The 400 bits modulated on each symbol are grouped into 50 groups of 8 bits. Each group is represented as b{8 x k],b[8 x k + l],...,b[8 x k + 7] where k E [0,491, and each group of 8 bits is converted into two complex numbers (d[k], d[k+50]). These values are generated by means of two intermediate values Xa and xi, which are determined by the values in Table 2 below. The values Xa and xb are generated as Gray coded 16QAM constellation points, selected for Xa by the input bits b[8x k],..., b[8 x k + 3] and for xb by bits b[8xk+4],...,b[8xk+7]. The (complex OFDM subcarrier) values d[k] and d[k+50] are then generated using: ( d[k] (4 1 (x I 1=1 lxi a xi/,ji7, d[k+50]) 1 -4) Xb) where 1 / JT7 is a normalisation factor.
input bits I-out Q-out input bits I-out Q-out 0000 3 3 1000 3 -3 0001 1 3 1001 1 -3 -3 3 1010 -3 -3 0011 -1 3 1011 -1 -3 3 1 1100 3 -1 0101 1 1 1101 1 -1 -3 1 1110 -3 -1 0111 -1 1 1111 -1 -1 -
Table 2
There is a need for decoding techniques for MCDM coded data.
SUMMARY OF THE INVENTION
According to the present invention there is therefore provided a modified dual carrier modulation (MDCM) decoder for MDCM decoding of an orthogonal frequency division multiplexed (OFDM) signal, the decoder comprising: first and second inputs to input first and second signals dependent on signals from respective first and second carriers of said OFDM signal; third and fourth inputs for respective third and fourth signals responsive to respective first and second channel quality estimates for said first and second carriers; a set of arithmetic units coupled to said first, second, third and fourth inputs to form a set of intermediate terms comprising integer multiples of signals derived from said first, second, third and fourth signals; a first set of adders coupled to said set of arithmetic units to form first and second sets of combinations of said intermediate terms, one set for each binary value of a bit of MDCM coded data encoded on said first and second carriers; at least one compare-select stage coupled to said set of adders to select a first minimum valued said combination of said intermediate terms from said first set and to select a second minimum valued said combination of said intermediate terms from said second set; and a subtractor to determine a log likelihood ratio (LLR) value for said bit from said first and second minimum valued combinations.
Broadly speaking, MCDM modulation is a modulation scheme in which more than four bits are simultaneously encoded across two carriers. In embodiments of the decoder each of the first and second inputs receives real and imaginary components of a complex valued signal but derived from the respective first and second carriers of a received OFDM signal. In some embodiments the first and second signals comprise a (scaled) product of a received signal derived from the carrier and a respective channel quality estimate for the carrier -that is in embodiments the OFDM sub carriers are corrected by respective channel quality estimates prior to decoding. However in other embodiments a channel deformed version of the expected constellation points may instead be employed. In still other embodiments a rotated version of the first and second carriers may be employed and compared against a rotated version of the constellation points. In this latter case the first and second signals may comprise a product of a (complex) received signal for a carrier and the corresponding squared channel quality estimate.
In embodiments the first and second sets of combinations of intermediate terms each define a set of distances from a set of MDCM constellations points in which the decoded bit has respective binary values of one and zero. In embodiments the modified DCM signal comprises a signal in which each carrier encodes a set of bits and in which a fraction of the energy of each carrier is added to the other carrier. In this way the effective number of constellation points is squared since each constellation point of one carrier is represented as a set of constellation points representing the fractional addition of the other carrier.
In some preferred embodiments each arithmetic unit comprises a set of adders. Each of these sets of adders is configured to provide a plurality of outputs comprising a plurality of different integer multiples of the respective input (first, second, third or fourth signal). As explained later, the various input signals will in general will be pre-scaled.
Depending upon the configuration of input signals -for example, whether or not rotated input signals and a rotated constellation is employed -these outputs may comprise odd integer multiples of the first and second (received) signals, and squared odd integer multiples of the third and fourth (channel quality estimate) signals. In embodiments eight bits are decoded in parallel and each set of adders provides eight outputs (counting multiplication by unity as an output).
It has been recognised that when a plurality of bits is decoded in parallel many of the intermediate terms which are employed are the same. Thus in some preferred implementations a partial or complete set of the intermediate terms used in the various combinations of the intermediate terms employed for decoding the different bits of the plurality of bits is generated and then combined as needed for determining the log likelihood ratios of the decoded bits.
In embodiments a combination of intermediate terms comprises a combination of first and second channel intermediate terms and first and second signal intermediate terms.
The former are derived from (squared) integer multiples of the third and fourth (channel quality estimate) signals. The latter are derived from integer multiples of the first and second signals; more particularly a first said signal intermediate term may be derived from a product of a real of imaginary received signal component on a first carrier and a signal-to-noise ratio (SNR) or channel power of the carrier, and likewise for the second signal intermediate term. In embodiments a further set of adders then combines pairs of channel and pairs of signal intermediate terms to provide combinations of intermediate terms for use in determining bit LLR values.
More particularly each combination of intermediate terms in effect defines a distance of (signals on two carriers of) a received signal from a pair of constellation points for which the bit has the value of either zero or one. Thus in embodiments there are eight combinations of intermediate terms for a bit value of zero, and eight combinations of intermediate terms for a bit value of one and the LLR value of a bit can be detennined by identifying the minimum value of each group of combinations of intermediate terms corresponding to a bit value and then subtracting one from the other.
In the above described aspects and embodiments of the invention a channel quality estimate may comprise, for example, a signal level or signal-to-noise ratio of a respective OFDM carrier.
In embodiments of the decoder four or eights bits are decoded substantially in parallel, depending upon how much of the decoding hardware is shared. Decoding hardware which is shared between one or more bits may include one or more of: the arithmetic units, the adders, and the compare-select stage hardware employed to select minimum value combinations for bit LLR determination.
In a related aspect there is provided an OFDM MDCM decoder for decoding at least one bit value from a DCM OFDM signal, the decoder comprising: a first input to receive a first signal dependent on a product of a received signal from a first carrier of said MDCM OFDM signal and a channel quality estimate for said first carrier; a second input to receive a second signal dependent on a product of a received signal from a second carrier of said MDCM OFDM signal and a channel quality estimate for said second carrier; an arithmetic unit coupled to said first and second inputs and configured to form a plurality ofjoint distance metric terms including a first pair ofjoint distance metric terms derived from both said first and second signals and a second pair ofjoint distance metric terms derived from both said first and second signals, said first pair of joint distance metric terms corresponding to a first binary value of said bit value for decoding, said second pair ofjoint distance metric terms corresponding to a second binary value of said bit value for decoding; at least one selector coupled to receive said first pair ofjoint distance metric terms as inputs and to select one of said first pair of joint distance metric terms having a minimum value, and coupled to receive said second pair ofjoint distance metric terms as inputs and to select one of said second pair of joint distance metric terms having a minimum value; and an output coupled to said at least one selector and configured to output a likelihood value defining a likelihood of said at least one bit value having either said first or said second binary value responsive to a difference between said selected one of said first pair ofjoint distance metric terms and said selected one of said second pair ofjoint distance metric terms.
The invention further provides a UWB receiver, and a UWB transceiver, incorporating a MDCM decoder as described above.
In a further related aspect there is provided a method of decoding an MCDM OFDM signal, the method comprising: inputting first and second signals dependent on signals from respective first and second carriers of said OFDM signal; inputting third and fourth signals responsive to respective first and second channel quality estimates for said first and second carriers; generating a set of intermediate terms comprising integer multiples of signals derived from said first, second, third and fourth signals; generating first and second sets of combinations of said intermediate terms, one set for each binary value of a bit of MDCM coded data encoded on said first and second carriers; selecting a first and second minimum valued said combination of said intermediate terms respectively from each of said first and second sets; and determining a log likelihood ratio (LLR) value for said bit from said first and second minimum valued combinations.
The invention further provides a method of determining a bit log likelihood ratio, LLR for an MDCM (modified dual carrier modulation) modulated OFDM signal, the method comprising calculating a value for LLR(b,) = k -4 P2 0r2 -4)-min(pi P2 k x12) where x1 E SO represents a set of MDCM constellation points for which b has a first binary value and E Si represents a set of MDCM constellation points for which b has a second, different binary value; x and x and x and x represent constellation points for x1 and x in different first and second constellations of said MDCM modulation respectively, the superscripts labelling constellations; Pi and P2 representing signal levels or signalto-noise ratios of first and second OFDM carriers modulated using said first and second constellations respectively; r1 and r2 representing equalised received signal values from said first and second OFDM carriers respectively; mm () representing determining a minimum value; and representing a distance metric.
The invention still further provides a method of decoding an MDCM (modified dual carrier modulation) modulated OFDM signal, the method comprising: inputting first received signal data representing modulation of a multibit data symbol onto a first carrier of said OFDM signal using a first constellation; inputting second received signal data representing modulation of said multibit data symbol onto a second, different carrier of said OFDM signal using a second, different constellation; determining a combined representation of said first and second received signal data, said combined representation representing a combination of a distance of a point representing a bit value of said multibit data from a constellation point in each of said different constellations; and determining a decoded value of a data bit of said multibit data using said combined representation; wherein said determining of a decoded value comprises determining a log likelihood ratio (LLR) for said data bit, wherein said determining of said combined representation comprises determining combined distance data representing a sum of distances of a point representing a first binary value of said bit from corresponding constellation points in said first and second constellations at which said bit has said first binary value, said corresponding constellation points representing the same symbol in said different constellations, further comprising performing said detennining for a plurality of said corresponding constellation points and selecting minimum combined distance data representing a minimum sum of said distances, performing said determining of said combined distance data for said plurality of corresponding constellation points for a second binary value of said bit and selecting minimum combined distance data representing a minimum sum of said distances, and determining a difference between said minimum combined distance data for said first and second binary values of said bit to determine said LLR.
The invention further provides a decoder including means to implement a method as described above in accordance with an aspect or embodiment of an aspect of the invention.
The invention still further provides processor control code to implement the above- described protocols and methods, in particular on a carrier such as a disk, CD-or DVD-ROM, programmed memory such as read-only memory (Firmware), or on a data carrjer such as an optical or electrical signal carrier. Code (and/or data) to implement embodiments of the invention preferably comprises code for a hardware description language such as Verilog (Trade Mark) or VHDL (Very high speed integrated circuit Hardware Description Language) or SystemC, although it may also comprise source, object or executable code in a conventional programming language (interpreted or compiled) such as C, or assembly code, or code for setting up or controlling an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
As the skilled person will appreciate such code and/or data may be distributed between a plurality of coupled components in communication with one another.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other aspects of the invention will now be further described, by way of example only, with reference to the accompanying figures in which: Figures 1 a and lb show, respectively, first and second constellations for UWB DCM OFDM, and a schematic illustration of a joint max-log DCM decoding technique; Figures 2a to 2d show, respectively, a block diagram of a DCM max-log decoder, a pre-processing module for the decoder of Figure 2a, an SNR determination module for the decoder of Figure 2a,and a multi-carrier joint max-log QPSK decoder; Figures 3 a to 3 c illustrate the relative positions of thermal and quantisation noise levels as received signal strength varies (not to scale); Figure 4 illustrates, schematically, variation of bit/packet error rate with received signal strength illustrating the effect of the changing relative quantisation noise level shown in Figures 4a to 4c; Figures 5a and 5b show, respectively, a block diagram of an MDCM decoder according to an embodiment of the invention, and an MCDM constellation; Figure 6 shows a block diagram of a digital OFDM UWB transmitter sub-system; Figure 7 shows a block diagram of a digital OFDM UWB receiver sub-system; and Figures 8a and 8b show, respectively, a block diagram of a PHY hardware implementation for an OFDM UWB transceiver and an example RF front end for the receiver of Figure 8a.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
If we assume no ISI/ICI and no phase noise then in an OFDM receiver the output of the FFT (Fast Fourier Transform) for each carrier, k, is given by, Yk = hkxk + Where xk is the transmitted constellation point, hk is complex channel response and k is complex white Gaussian noise of zero mean and variance u2/2 per dimension. The k subscript will be dropped to simplify the following equations but it should be assumed to be present.
Since interleaving is used on the coded bits prior to the QAM modulator then maximum likelihood decoding would require joint demodulation and convolutional decoding which makes it almost impossible to perform in practice. However the Maximum A- Posterior Sequence Estimation (MAPSE) is possible. In this instance the data is de-mapped into soft-bits, de-interleaved and decoded with a Viterbi decoder. Rather then estimate the most likely symbol sequence it attempts to estimate the most likely bit sequence for a given interleaving function. Using this approach the log-likelihood ratios (LLR) for an M-ary QAM for bit b, i=0,1, ... M on carrier k, is defined as, (P(b. =ly) LLR(b.)=logI P(b =Oy) It is this metric that the Viterbi decoder is trying to minimise for a given bit sequence.
For any given constellation, separate it into two disjoint sets. One set, Si, is the set of all constellation points for which b1 =1 and the other SO is the set of all points for which b =0. For example for 16QAM there will be eight points in 51 and the other eight in SO. The LLR is now, P(s =ay) LLR(b,)= log aeSl P(s = /3y) flESO Assuming all constellation points are equally likely (which should be true since the data is scrambled) and using Bayes' rule then, f(ys=a) LLR(b)= log aS1 f(ys=fl) /kSO Now since we assume that the noise is AWGN then, f(ys = a) = -=exp(y -ahj2) And so the LLR can be written as, exp(y xh2) / \ xeS1 LLRb.)= log exp(y -xh)
X ESO
Note that the LLRs above are the optimum soft decisions in the MAPSE sense for the Viterbi decoder (i.e. we can't do any better). The above equation is difficult to implement in hardware since it requires exponentials and logs and sums over several constellation points. A simplification, known as the max-log approximation can be made. Namely, lo[exP(-xi)Jmax(_xi)=-min(xi) This simplifies the LLR to, LLR(b) = {minD --minVy -xh2} cr XJESO XES1 The term (y-xh) can be re-written as, h(y/h -x1). This gives an equivalent LLR formulation of, LLR(b.) 2 min -x. 2 -mm -2 a2 [xEsO h x,eSl h This form implies that the received signal, y, is first corrected by the channel estimate h. A sofl decision is then generated by comparing to nearest constellation points and then this value is weighted by the SNR of the carrier.
OPSK modes In the MultiBand OFDM Physical Layer Specification, the 53.3Mbps and 80Mbps rates use QPSK for the data carriers but in addition the same information is carried on 4 separate calTiers. Thus in this case we use LLRs for the bits given by, ex[ hk2 -x 2 x1S1 k=1 °k k LLR(b1)= log 2 2 exp hk Oh -x x11ES1 k=1 Uk k Using the max-log approximation this reduces to, LLR(b,, ) = in(pi r1 -1 2 + 2 r2 -X + -X1 + p4 r4 -x1 V2) -m'(p1 r1 -+ p2 r2 -x1 + p3 r3 -+ p4 -) Note that: = y/h is the corrected constellation point of the 1st QPSK carrier wherey1 is the FFT output and h1 is the channel estimate.
= 2 /h is the corresponding constellation point of the corresponding 2' QPSK carrier and so on.
Here p,1 = is the SNR of the nth carrier (or channel power if SNR not available) The QPSK encoding table is as given below, with a normalisation factor of 1/.
Input Bit I-out Q-out (b[2k], b[2k+1J) 00 -1 -1 01 -1 1 1 -1 11 1 1 Note that each bit is constant in the I or Q direction. This means that we can separate real, , and imaginary, , parts without any loss in generality, (that is, there is no loss in the possibilities represented). This simplifies the resulting LLR to, LLR(b0)= PkR(i) 1J iJ = (p1() + p(r) + p3(r3) + LLR(bl)=pkZ(rk)+=rIJ Pk()_'J = (p1('j) + p(r) + p3(i) + Note that the above means that the soft decision can be generated individually for each carrier and then added to generate the overall LLR for a bit spread across 4 carriers.
The other QPSK rates use the same principle except that only two carriers are used instead of four.
Note that here P,1, = 2 whereh1 is the channel estimate andy1 is the FFT a, h,, a,, output (optionally cr may be omitted, that is set to unity). This form of the expression removes the need to perform a vector divide to generate i = , and allows the final LLR expressions to be rewritten as: LLR(b)= _I24 + i +4J a1 °2 a3 a4 °1 °2 °3 a4 Hence for QSPK the soft decisions are just the real or imaginary part of the corrected constellation weighted by their respective SNR, albeit preferably expressed in the above form (in which equalised constellation points are not explicitly determined).
It can be seen from the above that rather than separately equalising the received signal data to determine a corrected received signal value (y/h) which may be plotted on a constellation diagram and then demodulating the corrected received signal value by, say, determining a nearest constellation point, in preferred embodiments of our technique we do not generate a constellation but instead work with modified or intermediate signal values which, in particular, do not require a division by a channel estimate.
OPSK mode SNR calculation The expression for SNR is given by (noise power SNRfl=-1O.log10 - signal -power QPSK modulation uses up to four carriers which contribute to joint the encoding quality. The resulting expression for the joint SNR is given by: -*l PIi +p2 Xd +3fr +p4fr4 -Xdll og10 p1 + P2 + + Given the normalisation i2 = = 1 the above expression can be rewritten in terms of the LLR expressions: p1 + p2 + p3 + p4 + kM2 + p2IHI2 + M'M + p4Mr --=ABSLLRb0)--=ABSLLRb1)) SNR,4(y1,y,,y3,y4)=-1O.1og10 2 2 2 2 p1 +p2 +p3 +p4 It can then be seen that the SNR is a function of LLR(bo) and LLR (b1), more specifically of a difference between absolute values of LLR(bo) and LLR (b1),, together with an SNR term (pr2), summed over carriers.
DCM modes For DCM modes the situation is more complex. In this instance 4 bits are transmitted on two separate 16 QAM carriers with different mappings. The fact that the mappings are different and that the reliability of each bit in a single 16 QAM constellation is not equally weighted means that we cannot just demodulate the bits separately (as in the QPSK case) but must perform a joint decode. In this instance we must treat the received vectors for a DCM carrier pair as a 4-dimensional point and find the LLR in this 4 dimensional space.
The LLR for the bit-i is given by, + 2 LLR(b.)= log exp[ 2 + H2 x1ESO h a2 Using the max-log approximation this reduces to, LLR(b,,) = rnñi(i k x2 P2 k x2)m(pi k x2 +p k x12) Where r1 yi/h1 identifies the corrected constellation point on the 1st DCM carrier and r2=y2/h2 is the corresponding constellation point of the corresponding 2IX1 DCM carrier.
Here p,, = h,j2/o is the SNR of the nth carrier (or channel power if SNR not available) and x,-,1 and x,-,2 are corresponding Tx constellation points for each of the two DCM carriers. Note that for DCM each bit is constant in the I or Q direction. This means that we can separate real, R, and imaginary, Z, parts without any loss in generality (as shown below). For bit 0 this simplifies the resulting LLR to, LLR(b) mill -mm + pR(ij) +) + (() 1J2 3J +p1(r2) 1J Consider the first (mm) term: Referring back to Figure 1 a and the DCM constellation table, the real (I) values for x1 = 0 are -3 and -1 in the first constellation and -3 and + 1 in the second constellation (also noting the 1/V1O normalisation factor and the minus sign before xi).
Consider now the example of Figure lb. The ringed columns show all values of xo = 0; in each constellation only two virtual columns have zeros. Thus the distance to X = 0 can be measured in one dimension. If the dark spot represents and equalised received signal value the left hand (mm) term in the above equation can be seen to be (p1A+p2A' mini p1B + p2B' The right hand mm () term corresponds for xo 1. In practice, however (as noted previously and explained further below) the position of an equalised received signal value need not be determined explicitly.
Note that in the above equation p1 R(i 2 and p2 �R(r2 2 will always cancel. In addition as far as finding the mm of both comparisons these terms are present in both and so are not required. This gives, LLR(b +1J + P2[9(t) -mm p(r1) +1] +P2(91(r2) +) p1-R(r1) +J +p2-?=(r2) +jJ p1-=R(ij) +1) + p2-=B(r2) +jLJ A similar analysis can be performed for the other 3 bits of the DCM constellation. Bit 2 is the same as bit 0 except that the real parts of the received points are replaced by the imaginary parts. The LLR for the remaining bits are shown below,
- -
LLR( )_min mm 2 pl=cR(rl)+2_I +p2[_=R(r2)+jL) - +--J -LLR( 2)_mm mm 2 +J pi[3(r)+iJ +p2[(r2)+iJ
- -
LLR(3)_nnn 2 Pi(3()+J +2((r2)+iJ By factoring such that 2'JipR(r1) is present gives the final form of the DCM decoder as shown in Figure 2a: LLR(b = 1.12(piR(/) + 3p291(r2)) + (p1 + 9p2) -1 (2Ji-p(r1) -3p2R(r2)) + + 9p2) 2(3p1R(i) -p2R(i)) + (9p, + p2)) 10 12Ji(-3p1fl(r1) + p2R(i)) + (9p1 + p2) This form is still optimum in the max-log sense of MAPSE. Note that pR(r,) = R (yh) where h1 is the channel estimate and y is the FFT output (omitting the a2) This form of the expression removes the need to perform a vector divide to generate i = DCM mode SNR calculation The expression for SNR is given by SNRdB = -1Olog10 noise_power signal_power DCM modulation uses two carriers which contribute jointly to the encoding quality. As a result the expression for the SNR of a DCM joint carrier pair is as follows: 12 22 PIIXd +P2JXd SNR(1,1)=-1O.log1Q p1 +p2 Where x is the vector associated with the hard-decision output of the DCM decoder for carrier n. The sum is performed over all symbols in the frame.
The numerator of the above expression is identical to the distance function used by the DCM decoder. Some rearranging achieves considerable simplification: SNRdB(rI,r2) = _10.loio[ p1((i -x)2 +Z( -x)2)+p2((r2 -x)2 +(r2 -x)2) p1+p2 SNRdB(1,1) = -10. log10 + -x))2 + p1 ((r1 -x))2 + p2(Z(r2 -x))2 + p1(R(i1)2 SNRdB(i' , r2) = -10 log10 1 -2Z(ii)(x) + + p2((r2)2 -2(r2)3(x) + (x)2) + P2 p1(R(i)2 + + p1 (-21(i)R(x) + R(x)2) + p2(-2R(r2)R(x) + R(x)2) + SNR(10(r1, r) = -10 log10 + Z(r2)2) + + + p2(-2(r2)(x) + P1 + P2 + p1 (-2l(ij)91(x) + 1(x)2) + p2 (-2(r2)R(x) + 1(x)2) + SNRIB (i,r) = -10. log10 PJ1M + p1(-2Z()(x) + + p2(-2Z(i)3(x) + (x)2) P1 + P2 Given p = Ji = 2L where h, is the channel estimate andy1 is the FFT output gives: -2R(y1h)91(x1) + Dh1 2 91(x)2 -2R(y2h)91(x) + h2M2 R(x)2 + SNR111 (i, = -10 log10 -23(y1h(x) + 2 (x)2 -2Z(y2h)Z(x) + h22 (x2)2 p1 + p2 For the hard-decision b0 =0 b, =0 b2 = 0 b, = o the SNR is given by: 10pr2 + (-6Jip91(i) + 9p1 -6Jip2R(r2) + 9p2)+ SNR ____ -10p22 +(_2p1z(r1)+p1 -2p2(,)+p2) dB( )-og10 10(p1+p2) Each of the terms in the above equation is already computed when calculating the DCM soft-decision metric. Based on the hard-decision output of the DCM demodulator the appropriate terms can be selected. The general expression for SNIP. thus becomes: 10. (1 12+ p2 0 02) + inoi + rn23 SNR,r2)=-10.1og10 10.(,o1+p2) Where rn0 and rn23 are the distance metrics calculated in Figure 1 associated with the hard-decision decode of b0,b1 and b2,b, respectively. In the above equation, broadly speaking the two distance terms (m), one from each of the real and imaginary components, represent a squared error component of the joint SNR.
Thus although the optimum soft decisions for use by the Viterbi are not easily implementable, by using a max-log approximation it is possible to derive nearly optimum soft decisions that are implementable for both QPSK and DCM modes of operation. An implementation of such a near-optimum DCM decoder 200 is shown in Figure 2a.
Referring to Figure 2a, first and second inputs 202, 204 receive pre-processed data generated from received signal data and channel estimate data, preferably combined with noise level data, from a pre-processor 206 of the general type shown in Figure 2b.
Other inputs 208 receive values of p which broadly defines a signal power or signal-to-noise ratio for a carrier. Arithmetic processing blocks 210 are coupled to inputs 202, 204, 208 to implement the above-described DCM LLR calculations; the skilled person will appreciate that other configurations than those in Figure 2a are possible. The outputs 212 of the arithmetic processing blocks 210 comprise the terms given above for DCM OFDM demodulation minimum values of which are to be selected (that is the terms within the brackets in mm ()). As illustrated; these separate implementations may comprise serial or parallel implementations of separate and/or shared hardware. A selection of the minimum terms is performed by two pairs of selectors 21 4a, b and 21 4c, d. Bit LLR values are determined by calculating a difference between the selected minimum values using summers 216a, b. A hard decision on the most likely bit values is made on the LLR data by hard decision unit 21 8a, b and these provide inputs to a multiplexer 220 which selects from amongst outputs 212 to provide a minimum distance metric (one for each of the real and imaginary components processed).
Figure 2c shows an SNR determination module 222 configured to implement the above-described DCM mode SNR calculation and to provide an SNR output 224. This SNR output may be employed to provide per carrier SNR data to pre-processor 206 to provide a feedback loop to obtain a better estimate of the SNR associated with a particular carrier, and hence of an associated bit LLR (the confidence in the bit value decreasing with decreasing SNR for the carrier or pair of DCM carriers).
Figure 2d illustrates, schematically, a decoder 250 to implement the above-described 4-carrier QPSK mode signal decoding. Noise
Referring now to Figures 3a to 3c, these illustrate, schematically, the effect of a changing signal level on the relative importance of thermal noise and quantisation noise (the illustrations are not to scale). It can be seen that for larger received signals the quantisation noise is relatively more important. In a receiver the designer will know where the thermal noise should be (the precise value is not important) and thus the AGC level can be used as an estimate of the thermal noise T* Referring now to Figure 4, this shows the effect of quantisation noise on bit or packet error rate as the received signal level is varied. As can be seen, unexpectedly the result of the quantisation noise is that with apparently good signals the bit or packet error rate is higher than expected.
Referring back to Figure 3, the distance to the quantisation noise is substantially fixed. Thus the quantisation noise a may be modelled by, say, a register value and taken into account when determining a signal-to-noise ratio. More particularly, in the above-described expressions the noise o may be replaced by: cr11 = °n,T + This helps to correct for the effects of quantisation noise, and hence further improve the LLR. Optionally a level of interference may also be included in the above expression for o.
DCM decoding summary
We have thus described a method of decoding a DCM (dual carrier modulation) modulated OFDM signal, the method comprising: inputting first received signal data representing modulation of a multibit data symbol onto a first carrier of said OFDM signal using a first constellation; inputting second received signal data representing modulation of said multibit data symbol onto a second, different carrier of said OFDM signal using a second, different constellation; determining a combined representation of said first and second received signal data, said combined representation representing a combination of a distance of a point representing a bit value of said multibit data from a constellation point in each of said different constellations; and determining a decoded value of a data bit of said multibit data using said combined representation.
Employing a combined distance representation enables the two different constellations on the different OFDM carriers to be jointly decoded, thus providing a significant improvement in performance. Broadly speaking the combined distance is a sum of distances in the different first and second constellations; this is used to determine a soft, more particularly log likelihood ratio (LLR) value of a decoded data bit. Thus preferably first and second binary values of the bit, for example 1 and 0, are considered and for each binary value a summed distance is determined representing a distance of a received signal for the bit to corresponding correlation points in the different constellations. More particularly a set of such summed distances is determined and the minimum summed distance is selected. The difference between the two minimum summed distances for the two different bit values is then used to determine the log likelihood ratio for the bit.
Corresponding constellation points in the two different constellations comprise points representing the same symbol in the two different constellations, but preferably the distance comprises a one-dimensional distance in the I or Q (real or imaginary) direction since a full Euclidean distance need not be determined. This can be understood by inspection of Figure la. Consider, for example, the symbol point for 0110. This can be found in the second column of the upper constellation and the first column of the lower constellation, but in each case each entry in each of the columns has a zero in the first bit position and therefore, in this example, only the distance along the I axis need be determined. This simplifies the distance determination.
Further, although the method can determine combined distance data representing a sum of distances as described above, preferably this is not done by determining a point on.
the constellation representing a value of the received signal: The calculation can be further simplified by, counter-intuitively, combining the mathematics involved in equalisation and demodulation without explicitly deriving a value which would correspond to an equalised received signal value (and hence which could be plotted on a constellation diagram). Instead a combination of a received signal value and a channel estimate is employed in distance determination but without dividing the received signal by the channel estimate.
Referring again to the basic equation for the LLRs given above, this can be expressed in two equivalent forms, as shown below: LLR(b1)= {miny -x1h2 -minDy -x1h2} Q-X1ESO x1ESl
OR
21 2 2 LLR(b.)=___rnin�_x. -min-x.
I o.2 [xJESO h X1ESI h With the latter form each sub-carrier out of the FFT is first corrected then dc-mapped into soft-bits which are then weighted by the SNR of the sub-carrier from which the bit came. The former form does not require channel correction or SNR weighting. Instead the sub-carrier out of the FFT is compared against a channel deformed version of the expected constellation points. Similar reasoning can be employed with MCDM decoding, described below.
The skilled person will appreciate that in a DCM decoder as described above, and in an MCDM decoder as described below, the calculations performed may be based upon either form of the LLR. Thus embodiments of the invention are not restricted to the precise formulation of the decoder as described later but may instead use a different form of the decoder depending, for example, upon whether or not each subcarrier from the FFT stage is corrected, as well as on other implementation details as described later.
MCDM decoding Modulation: As previously described, the modulation operation can be summarized as: 1. convert 8 bits into two 16-QAM grey-coded constellations, xl and x2 2. constellations to send, [yl y2]' A[xl x2]' where A=(l/sqrt(17))*[4 l;1 4] 3. send yl and y2 on two separate subcarriers.
Conceptually, each carrier encodes 4 bits, and then adds to this the other carrier at 1116th of the energy. Thus, each of the 16 constellation points turns into a tiny cluster of 16 points, representing the constellation of the other paired carrier.
The QAM constellation, which is used for the channel estimate, has a coordinate value of +1-1 / h. The 16QAM constellation has coodinate values that are +1-1 / Ji5 and 3 / Jiö. Any difference in rounding error between this and the channel estimate at the input to the iFFT is important, as this difference comes up as a permanent addition to EVM (Error Vector Magnitude). For instance, for QAM and 16QAM good values to use are 38 and 17 given, say, a 7-bit (S2.4) input to the iFFT stage. Consider, for example the Matlab (Trade Mark) list of values for sqrt(5)*(1:20); item 17 is 38.013, and has the smallest fractional part of the listed values.
For MDCM there are 16 possible coordinate values: (+1-) (4or12) (+ I-) (lor3) j10x17 l0x17 (lor3or5or7or9orl ion 3orl 5) -(+ / -) These are the 256QA1\4 constellation points.
For an S2.4 iFFT input these are best coded as 4 x (1,3,5.. 15), up to a maximum range of +1-60 (7 bits, approx +1-64). The best corresponding QPSK value for the channel estimate is 37. Ideally this value would be 36.878. This value keeps the matrix regular but may not minimise the average error compared to the channel estimate. Further routine experimentation may be employed to determine the optimum for EVM purposes.
Demodulation: Referring again to the equation used to generate MDCM modulation values, ( d[k] (4 1 (x I 1=! lxi a lxi/Ji d[k+50]) 1 -4) xb) where Xa and Xb are Gray coded 16QAM constellation points selected by the input bits b[8 x k],..., b[8 x k + 3], it can be seen that the Gray coded value used has a real part determined by selection bits 2 and 3, and imaginary part determined by bits 0 and 1.
Thus it can be seen that bits 0,1,4,5 are encoded on Jm(d[k]) and Im(d[k+50J), and bits 2,3,6,7 are coded on bits Re(d[k]) and Re(d[k+50]), as follows: Re(d[k]) = 4xg(b2, b3) + g(b6, b7) Re(d[k+50]) = g(b2, b3) -4 X g(bo, b7) Irn(d[k]) = 4xg(bo,b1) + g(b4,b5) Irn(d[k+50] = g(bo, b1) -4xg(b4, b5) where g(0,0) 3, g(0,1) 1, g(1,0)=-3, g(1,1)=-1.
In the receiver, just as with DCM, the two incoming values and their chaimel estimates can be represented using r1 = y1/h1 and r2 = y2/h2.
As an example, for b0, the 8 points corresponding to b0 = 0 (b1, b4, b5 = 0, 1) are: Pi X (4xg(0,bi)+g(b4,b5))+j xp2 x (g(0,bi)-4xg(b4,b5)) /sqrt(170) and the 8 points corresponding to bitO 1 are: Pi X (4xg(1,bi) + g(b4,b5)) +j x P2 x (g(1, hi) -4xg(b4, b5)) / sqrt(170) We should find the closest match of these to p1 x(r1)+jxp2 xZ(r2) So, LLR(bO) = mm of (showing bits b0 b1 b4 b5 in that order, at the start of each line): 0000 Pi x ((4x3 + 3)/sqrt(170) -Jm(rl))**2 + P2 X ((3 -4x3)/sqrt(l70) -Im(r2))**2 Pi x ((4x1 + 3)/sqrt(170) -Im(rl))**2 + P2 X ((1 -4x3)/sqrt(170) -Im(r2))**2 Pi X ((4x3 -3)/sqrt(170) -Im(rl))**2 + P2 x ((3 -4x_3)/sqrt(170) -Im(r2))**2 Pi x ((4>1 _3)/sqrt(170)_Im(rl))**2 + P2 x ((1 -_4x_3)/sqrt(170)_Im(r2))**2 0001 Pi x ((4x3 + 1)/sqrt(170)_Jm(rl))**2 + P2 x ((3_4x1)/sqrt(170)_Im(r2))**2 0101 Pi x ((4x1 + 1)/sqrt(170) -Im(rl))**2 + P2 x ((1 -4x1)/sqrt(170) -Im(r2))**2 0011 P' x ((4x3 -1)/sqrt(170) -Im(rl))**2 + P2 x ((3 -4x_1)/sqrt(170) -Im(r2))**2 0111 Pi x ((4x1 -1)/sqrt(170)_Jm(rl))**2 + P2 x ((1 _4x_1)/sqrt(170)_Im(r2))**2 minus mill of 1000 Pi x ((4x_3 + 3)/sqrt(170) -Im(rl))**2 + P2 x ((-3 -4x3)/sqrt(170) -Im(r2))**2 1100 Pi X ((4x_1 + 3)/sqrt(170) -Im(rl))**2 + P2 X ((-1 -4x3)/sqrt(170) -Irn(r2))**2 1010 Pi X ((4x_3 -3)/sqrt(170) -Im(rl))**2 + P2 X ((-3 -4x_3)/sqrt(170) -Im(r2))**2 1110 Pi x ((4x_1 _3)/sqrt(170)_Jm(rl))**2 + P2 x ((-1 _4x_3)/sqrt(170)_Im(r2))**2 1001 Pi x ((4x3 + 1)/sqrt(170) -]im(rl))**2 + P2 x ((3 -4x1)/sqrt(170) -Im(r2))**2 1101 x ((4x_1 + 1)/sqrt(170)_Im(rl))**2 + P2 x ((-1 _4x1)/sqrt(170)Im(r2))**2 1011 Pi X ((4x_3 -1)/sqrt(170) -Irn(rl))**2 + P2 x ((-3 -4x_1)/sqrt(170) -Im(r2))**2 1111 Pi x ((4x_1 -1)/sqrt(170) -Im(rl))**2 + P2 X ((-1 -4x_1)/sqrt(170) -Im(r2))**2 Each expression p -(r), where n is the integer multiplier in brackets -for example in the first term of 0000, (4x3 + 3) -can be re-expressed as ( n2 2n(r) 2 p1--All the p1(r)2 and p2Z(r2)2 terms cancel, so we can rewrite this as (n2 2nZ(r) Pj jj-We aim to get closer to a form that shares any multiply activity between the decode of many bits, and preferably therefore this is rearranged as: p 2 __ -xn -i2p-i(r)x xn. Ji5
Here Jp(r) is shared, the value n is in each case a small integer, and a wide range of values for n is used, so that these multiplications can be done efficiently using adders, with a great deal of sharing and reuse (for example, given xn an add can be used to generate x(n + 1)).
We can now re-express the determination of LLR(bO) as follows: LLR(b0) = minof p1 x (1/170)x152 -Ip1(i1)x (/Ji)x15 + p2 x (1/170)x 92 -Ip2(r2)x (ift)x -9 p1 x(1/170)x92 -p1(i)x i-/i7 x9+p2x(1/170)x152 x(i/i7O)x1 -p13(ij)x xi+p2 x(1/170)x132 _p2(r2)x(I)xl3 p1 x(1/170)x132 -p1(i)x x13+p2 x(1/170)x12 p1 x(1/170)x52 -p1(i)x x5+p2 x(1/170)x32 -p23(r2)x(I)x_3 p1 x(1/170)x112 -p1(i)x xii+p x(1/170)x72 p1 x(1/170)x32 -p1)x x3+p2 x(1/170)x52 -mm of p,x(1/17O)x92_fp1(ij)x Jiji7 x_9+p2x(1/17O)x152_,Jp2(r2)x J/'Jii x-15 p1x(1/17O)x12_sJp1(1)x,f/,Ji7 x_1+p2x(1/17O)x132_Jpz(r2)x //.Ji/ x-13 p1 x (1/170)x 152 -Jp3(ij)x (/Ji)x -15 + P2 X (1/170)x92 _p2(i)x (J/*Ji7)x 9 p1 x(1/17o)x72_p1(,)x J/Ji7 x_7+p2x(1/17O)x112_*Jp2(r2)x /Ji xli p1x(1/i7o)x112_]p(1i)x -..//-..Jii x_11+p2x(i/17O)x72_Jp23fr)x J/'[fi x-7 p1 x(1/170)x32 -p1(i)x iJi7 x-3+p2 x(1/170)x52 p x(1/170)x 132 -Jp1(1)x /Ji x-13+p2 x(1/170)x12 p1 x(1/170)x52 -Ip1(i)x /iJi7 x_5+p2x(1/170)x32 -p2Z()x(hII)x3 Each of the other 3 bits b1, b4, b5 have similar expressions. The bits b2, b3, b6, b7 are constructed in the same way, using the real parts of the incoming coordinate values.
Broadly speaking, each line of the above expression corresponds to a combined distance function of received signals on a pair of carriers from a pair of MCDM constellation points. Inspection of the above expression and of the full set of expressions reveals that only 16 combinations of the constants ever appear, corresponding to the 16 constellation points of the precode values.
Hardware implementation: In embodiments the hardware decodes 55 carrier pairs (including the guard carriers) in each symbol time (the LDPC code may be extended to use the guard tones of the UWB OFDM signal to carry additional parity check bits). A symbol time is 41 cycles at 132MHz, or 83 cycles at 264MHz.
In order to demodulate one carrier pair 8 demodulated bits -the channel equalisation (CEQ) block passes to the decoder the values p1 and p2, and the values JoR(i') Ip2(r2) and hp2(r2). The multiplications by 1, 3, 5, 7, 9, 11, 13, 15 are preferably performed with 7 adders. Figure 5a shows an embodiment of decoder hardware 500 for demodulating an MCDM coordinate pair.
Referring to Figure 5a, first and second inputs 502a,b, 504a,b each receive real and imaginary components of complex valued data generated from received signal data for first and second respective OFDM carriers and corresponding channel estimate data, preferably combined with noise level data, for example from a pre-processor 206 of the general type shown in Figure 2b. Third and fourth inputs 506, 508 receive values of p for the respective first and second carriers; as previously mentioned in embodiments p broadly defines a signal power or signal-to-noise ratio for a carrier. The first and second inputs are scaled by respective multipliers 512a,b, 514a,b multiplying by and the third and fourth inputs are scaled by respective multipliers 516, 518 multiplying by.
Each multiplier 51 2a,b, 51 4a,b, 516, 518 provides an output to a respective integer arithmetic unit 522a,b, 524a,b, 526, 528, preferably each configured as a set of adders.
Each of these sets of adders provides eight outputs in parallel (seven if not counting a xl pass-though output), for the signal derived data from inputs 502, 504 x 1,3,5, 7,9,11,13,15, and for the channel quality estimate derived data from inputs 506, 508 x12,32,52,72,92,112,132,152. Forexample,x3isashift(x2)andanadd(ofaxl value); x5 is a shift (x4) and an add (ofxl); x7 is a shift (x8) and a subtract (ofxl); x9 is a shift (x8) and an add (ofxl); xli is x9 and an add (of x2); x13 is xiS and a subtract (of x2); and x15 is a shift (x16) and a subtract (of xl). The squared terms may be generated similarly, for example, x9 is a shift (x8) and an add (of xl); x25 is a shift (x16) and an add (of xl), and so forth. Thus in embodiments an arithmetic unit may consist essentially of shift unit(s) and add/subtract unit(s). The skilled person will understand that many variants of this implementation are possible depending, for example, on hardware speed/size trade-offs.
Outputs from the arithmetic units are paired to provide a pair of inputs to sets of adders 530, 532, 534; these generate the intermediate terms which are used in combination in the distance expressions in the bit LLR calculations (minimum (joint carrier) distances being selected for use in bit LLR determination). In more detail each arithmetic unit 522a, 524a processing real signal data from a pair of carriers provides a set of parallel inputs to a set of adders 530; each multiply unit 522b 524b processing imaginary signal data from the same pair of carriers provides a set of parallel inputs to a set of adders 534; and each multiply unit 526, 528 processing carrier channel quality data from the pair of carriers provides a set of parallel inputs to a set of adders 532.
A first further set of adders 536 then combines the intermediate terms from adders 530 and 532; and a second further set of adders 538 combines the intermediate terms from adders 532 and 534. Adders 536, which process the real signal data, generate distance terms for bits b2 b3 b6 b7 and adders 538, which process the imaginary signal data, generate distance terms for bits b0 b1 b4 b5. (The skilled person will recognise that, depending on trade-offs for example between layout area and speed/power, the hardware for processing real and imaginary signal components may be shared or in parallel the hardware of Figure 5a is substantially symmetrical for bits b2 b3 b6 b7 and bitsb0b1 b4b5).
Outputs from adders 536, 538 provide combinations of intermediate terms representing joint carrier-constellation point distances for pairs of carriers. Each bit LLR is determined from two groups of 8 distance terms, and for each bit decoded in parallel these two groups of 8 distance terms are provided to two respective compare select stages 540a,b. The outputs from each of these compare select stages 540a,b provides an input to a subtracter 542 which calculates an LLR value for the respective bit. Again.
the skilled person will recognise that depending on trade offs, some or all of the compare-select stages may be shared.
In embodiments the decoder hardware may employ two or three (or even more) units of the type illustrated in Figure 5a, depending on clock speed. A faster clock speed could increase the pipelining required, although a pipeline stage in the middle of the diagram of Figure 5a would be extremely wide, employing around eight times as many flip-flops as a pipeline stage at the start or end.
In a variant the inputs 502-508 to the MCDM decoder may all be prescaled. For example if prescaled by 170 multipliers 516, 518 may be omitted and multipliers 51 2a,b, 51 4a,b multiply by JiJi3. In general the inputs may all be scaled in a consistent manner for efficient hardware implementation.
Referring again to Figure 5a it can be seen that, apart from the initial scaling, no multipliers are needed. There are, however, many addition operations. Counting all add/subtract/compare operations equally there are approximately 6 x 7+3 x 16+2 x 16 +8 x 5 = 242 such operations, or around 32 per output LLR soft value. In embodiments the comparison stages may share some of the mm-select operations. The multiply-by-constant (scaling) operations are not accounted for in the above estimate, but do not have a significant impact. This compares with around 10 additions per bit for DCM demodulation. As the hardware processes twice as many bits as DCM, the absolute hardware requirement is around six times greater. Suitable fixed-point bit accuracy and range have yet to be determined but initial work on LDPC suggests that 4-bit or 5-bit output LLR values will be suitable.
In a similar manner to that described above for DCM, once bit LLRs have been detennined a (combined) distance from a @air of) constellation point(s) may be determined by making a hard decision for each bit, for example on the bit LLR values output from the MDCM decoder. From this an estimate of the noise on each carrier may be determined and used to determine an improved estimate of p and P2 for input to the MCDM decoder (by analogy with Figures 2b and 2c, described above).
Variant: Figure 5b shows an MCDM constellation with the constellation points the system is trying to hit, labelled with the corresponding values of b0, b1, b4, b5. This is strongly related to the decoding of a 16QAM Gray-coded constellation, except that the constellation has been distorted by the Pi in the real axis and P2 in the imaginary axis; and also rotated. The inventors have recognised that some techniques for decoding 16QAM may therefore be adapted to decoding MCDM.
Multiplication by (4pi-j P2) will derotate these constellation points. If this is done both to the constellation points and to the incoming data then demodulation becomes more like 16QAM, with only distortion by Pi and P2t0 consider.
In the previous form, and considering bit b0 (for example), the 8 points corresponding to b0 0 are: Pi X (4xg(0,bi) + g(b4,b5)) +j x P2 x (g(0, b1) -4xg(b4, b5)) / sqrt(170) and the 8 points corresponding to b0=1 are: Pi x (4xg(1,bi) + g(b4,b5)) +j x P2 X (g(1, b1) -4xg(b4, b5)) / sqrt(170) We should find the closest match of these to x(r2) In general: (a + bj)(4p1 -jp2) = (4ap1 + bp2) + j(4bp1 -ap2) The 16 constellation points are: ((p x(4xg(b0,b1)+g(b4,b5))+j(p2 x(g(b0,b1)-4xg(b4,b5)))/Ji This can be expressed as: (p1N11 +jp2N21)//i7 where the N values are integer constants relevant to each constellation point i. When rotated these become: (4p1p1N1,1 + p2p2N21 + j(4p1p2N2 -p2p1N1))i v'i7i = (4p12N1. +p22N2 + jp1p2(4N21 -N1,1))/ We therefore aim to find the closest match of these to the rotated target: (4p2fr)� p 2fr)) jp1p2(4(r2)-Z(ij)) The max-log representation can be derived in a similar manner to the examples given previously. This leads to the decoder 550 of Figure 5c which, in embodiments, may result in a reduced hardware cost, in particular with some multiplies (for the rotation) but fewer additive operations.
UWB Transceivers Figures 6 to 8 below show functional and structural block diagrams of an OFDM UWB transceiver which may incorporate a decoder as described above. Depending upon the implementation, as previously noted, the demodulator may replace both channel equalisation and demodulation blocks following the FFT unit.
Thus refelTing to Figure 6, this shows a block diagram of a digital transmitter sub-system 800 of an OFDM UWB transceiver. The sub-system in Figure 6 shows functional elements; in practice hardware, in particular the (I) FFT may be shared between transmitting and receiving portions of a transceiver since the transceiver is not transmitting and receiving at the same time.
Data for transmission from the MAC CPU (central processing unit) is provided to a zero padding and scrambling module 802 followed by a encoder 804 for forward error correction and bit interleaver 806 prior to constellation mapping and tone nulling 808.
In embodiments the encoder 804 comprises is able to perform both convolutional encoding and LDPC encoding. At this point pilot tones are also inserted and a synchronisation sequence is added by a preamble and pilot generation module 810. An IFFT 812 is then performed followed by zero suffix and symbol duplication 814, interpolation 816 and peak-2-average power ratio (PAR) reduction 818 (with the aim of minimising the transmit power spectral density whilst still providing a reliable link for the transfer of information). The digital output at this stage is then converted to I and Q samples at approximately 1 Gsps in a stage 820 which is also able to perform DC calibration, and then these I and Q samples are converted to the analogue domain by a pair of DACs 822 and passed to the RF output stage.
Figure 7 shows a digital receiver sub-system 900 of a UWB OFDM transceiver.
Referring to figure 7, analogue I and Q signals from the RF front end are digitised by a pair of ADCs 902 and provided to a down sample unit (DSU) 904. Symbol synchronisation 906 is then performed in conjunction with packet detectionlsynchronisation 908 using the preamble synchronisation symbols. An FFT 910 then performs a conversion to the frequency domain and PPM (parts per million) clock correction 912 is performed followed by channel estimation and correlation 914.
After this the received data is demodulated 916, dc-interleaved 918, decoded 920, de-scrambled 922 and the recovered data output to the MAC. In embodiments the decoder 920 is able to perform both Viterbi decoding and LDPC decoding. An AGC (automatic gain control) unit is coupled to the outputs of a ADCs 902 and feeds back to the RF front end for AGC control, also on the control of the MAC.
Figure 8a shows a block diagram of physical hardware modules of a UWB OFDM transceiver 1000 which implements the transmitter and receiver functions depicted in figures 6 and 7. The labels in brackets in the blocks of figures 8 and 9 correspond with those of figure 8a, illustrating how the functional units are mapped to physical hardware.
Referring to figure 8a an analogue input 1002 provides a digital output to a DSU (down sample unit) 1004 which converts the incoming data at approximately 1 Gsps to 528Mz samples, and provides an output to an RXT unit (receive time-domain processor) 1006 which performs sample/cycle alignment. An AGC unit 1008 is coupled around the DSU 1004 and to the analogue input 1002. The RXT unit provides an output to a CCC (clear channel correlator) unit 1010 which detects packet synchronisation; RXT unit 1006 also provides an output to an FFT unit 1012 which performs an FFT (when receiving) and IFFT (when transmitting) as well as receiver 0-padding processing. The FFT unit 1012 has an output to a TXT (transmit time-domain processor) unit 1014 which performs prefix addition and synchronisation symbol generation and provides an output to an analogue transmit interface 1016 which provides an analogue output to subsequent RF stages. A CAP (sample capture) unit 1018 is coupled to both the analogue receive interface 1002 and the analogue transmit interface 1016 to facilitate debugging, tracing and the like. Broadly speaking this comprises a large RAIVI (random access memory) buffer which can record and playback data captured from different points in the design.
The FFT unit 1012 provides an output to a CEQ (channel equalisation unit) 1020 which performs channel estimation, clock recovery, and channel equalisation and provides an output to a DEMOD unit 1022 which performs QAM demodulation, DCM (dual carrier modulation) demodulation, and time and frequency de-spreading, providing an output to an ll\IT (interleave/de-interleave) unit 1024. The TNT unit 1024 provides an output to a decoder VIT (Viterbi decode) unit 1026 which also performs de-puncturing of the code, this providing outputs to a header decode (DECHDR) unit 1028 which also unscrambles the received data and performs a CRC 16 check, and to a decode user service data unit (DECSDU) unit 1030, which unpacks and unscrambles the received data. Both DECHDR unit 1028 and DECSDU unit 1030 provide output to a MAC interface (MACIF) unit 1032 which provides a transmit and receive data and control interface for the MAC.
In the transmit path the MACIF unit 1032 provides outputs to an ENCSDU unit 1034 which performs service data unit encoding and scrambling, and to an ENCHDR unit 1036 which performs header encoding and scrambling and also creates CRC 16 data.
Both ENCSDU unit 1034 and ENCHDR unit 1036 provide output to a convolutional encode (CONY) unit 1038 which also performs puncturing of the encoded data, and this provides an output to the interleave (lINT) unit 1024. The INT unit 1024 then provides an output to a transmit processor (TXP) unit 1040 which, in embodiments, performs QAM and DCM encoding, time-frequency spreading, and transmit channel estimation (CHE) symbol generation, providing an output to (I)FFT unit 1012, which in turn provides an output to TXT unit 1014 as previously described.
The decoder unit 1026 preferably comprises an LDPC decoder (as described, for example, in our co-pending applications GB0810901.9 and US 61/073,265, hereby incorporated by reference), and also a Viterbi decoder, VIT (which in addition performs de-puncturing of the code), to provide backwards/lower data rate compatibility and for the headers. Similarly the encoder unit 1038 comprises an LDPC encoder and also a convolutional encoder, CONY (which in addition performs puncturing of the encoded data). The ENCHDR and DECHDR units thus still feed to and from CONV and VIT units. When using the LDPC coding interleave is not required as interleaving is effectively perforn-ied as part of the LDPC coding. In this case the interleave unit 1024 may operate in a pass-through mode when LDPC coding is being employed; similarly interleaver/de-interleaver units 806, 918 described above may operate in a pass-through mode when LDPC coding is used.
Referring now to figure 8b, this shows, schematically, RF input and output stages 1050 for the transceiver of figure 8a. The RF output stages comprise VGA stages 1052 followed by a power amplifier 1054 coupled to antenna 1056. The RF input stages comprise a low noise amplifier 1058, coupled to antenna 1056 and providing an output to further multiple VGA stages 1060 which provide an output to the analogue receive input 1002 of figure 8a. The power amplifier 1054 has a transmit enable control 1054a and the LNA 1058 has a receive enable control 1058a; these are controlled to switch rapidly between transmit and receive modes.
No doubt many other effective alternatives will occur to the skilled person. For example, although we have described some specific examples using (weighted) Euclidean distance metrics (an L2 norm) the skilled person will appreciate that many other (weighted) distance metrics may be employed, including, but not limited to, metrics measured by an L1 norm and an L cc norm.
It will be understood that the invention is not limited to the described embodiments and encompasses modifications apparent to those skilled in the art lying within the spirit and scope of the claims appended hereto.

Claims (16)

  1. CLAIMS: 1. A modified dual carrier modulation (MDCM) decoder for MDCM decoding of an orthogonal frequency division multiplexed (OFDM) signal, the decoder comprising: first and second inputs to input first and second signals dependent on signals from respective first and second carriers of said OFDM signal; third and fourth inputs for respective third and fourth signals responsive to respective first and second channel quality estimates for said first and second carriers; a set of arithmetic units coupled to said first, second, third and fourth inputs to form a set of intermediate terms comprising integer multiples of signals derived from said first, second, third and fourth signals; a first set of adders coupled to said set of arithmetic units to form first and second sets of combinations of said intermediate terms, one set for each binary value of a bit of MDCM coded data encoded on said first and second carriers; at least one compare-select stage coupled to said set of adders to select a first minimum valued said combination of said intermediate terms from said first set and to select a second minimum valued said combination of said intermediate terms from said second set; and a subtractor to determine a log likelihood ratio (LLR) value for said bit from said first and second minimum valued combinations.
  2. 2. An MDCM decoder as claimed in claim 1 wherein said first and second sets of combinations of said intermediate terms each define a set of distances from a set of constellation points in which said bit has a respective first and second said binary value.
  3. 3. An MDCM decoder as claimed in claim 1 or 2 wherein said first and second signals are dependent on a product of signals from said respective first and second carriers and said respective first and second channel quality estimates.
  4. 4. An MDCM decoder as claimed in claim 1, 2 or 3 wherein each said arithmetic unit comprises a second set of adders each said set coupled to a respective one of said first, second, third and fourth inputs, and wherein each set of said second set of adders is configured to provide on a set of outputs a set of said intermediate terms comprising a set of odd integer multiples or a set of squared odd integer multiples of signals derived from said first, second, third and fourth signals.
  5. 5. An MDCM decoder as claimed in any preceding claim configured to decode LLR values for a plurality of said bits in parallel, and wherein said first set of adders is configured to form a plurality of pairs of said sets of combinations of said intermediate terms, one said pair of said sets for each said decoded bit LLR value.
  6. 6. An MDCM decoder as claimed in claim 5 wherein a said combination of intermediate terms comprises a combination of first and second channel intermediate terms and first and second signal intermediate terms, and wherein said first and second channel intermediate terms are dependent on said first and second channel quality estimates respectively, and wherein said first and second signal intermediate terms are dependent on a product of signals from said respective first and second carriers and said respective first and second channel quality estimates.
  7. 7. An MDCM decoder as claimed in claim 6 wherein said first set of adders includes a third set of adders to form said first and second channel intermediate terms and said first and second signal intermediate terms and a fourth set of adders coupled to said third set of adders to combine pairs of said channel intermediate terms and said signal intermediate terms to provide said combinations of intermediate terms.
  8. 8. An MDCM decoder as claimed in claim 2 further comprising a multiply unit to rotate said first and second signals by a factor, and wherein said constellation points comprise points rotated by substantially the same factor.
  9. 9. An MDCM decoder as claimed in claim 8 wherein said first and second signals are dependent on a product of signals from said respective first and second carriers and squared said respective first and second channel quality estimates, and wherein said third and fourth signals are derived from squared said respective first and second channel quality estimates.
  10. 10. An OFDM MDCM decoder for decoding at least one bit value from a DCM OFDM signal, the decoder comprising: a first input to receive a first signal dependent on a product of a received signal from a first carrier of said IVIDCM OFDM signal and a channel quality estimate for said first carrier; a second input to receive a second signal dependent on a product of a received signal from a second carrier of said MDCM OFDM signal and a channel quality estimate for said second carrier; an arithmetic unit coupled to said first and second inputs and configured to form a plurality ofj oint distance metric terms including a first pair ofjoint distance metric terms derived from both said first and second signals and a second pair ofjoint distance metric terms derived from both said first and second signals, said first pair ofjoint distance metric terms corresponding to a first binary value of said bit value for decoding, said second pair ofjoint distance metric terms corresponding to a second binary value of said bit value for decoding; at least one selector coupled to receive said first pair ofjoint distance metric terms as inputs and to select one of said first pair ofjoint distance metric terms having a minimum value, and coupled to receive said second pair ofjoint distance metric terms as inputs and to select one of said second pair ofjoint distance metric terms having a minimum value; and an output coupled to said at least one selector and configured to output a likelihood value defining a likelihood of said at least one bit value having either said first or said second binary value responsive to a difference between said selected one of said first pair ofjoint distance metric terms and said selected one of said second pair of joint distance metric terms.
  11. 11. An ultrawideband (UWB) receiver or transceiver including an MCDM decoder as claimed in any preceding claim.
  12. 12. A method of decoding an MCDM OFDM signal, the method comprising: inputting first and second signals dependent on signals from respective first and second carriers of said OFDM signal; inputting third and fourth signals responsive to respective first and second chaimel quality estimates for said first and second carriers; generating a set of intermediate terms comprising integer multiples of signals derived from said first, second, third and fourth signals; generating first and second sets of combinations of said intermediate terms, one set for each binary value of a bit of MDCM coded data encoded on said first and second carriers; selecting a first and second minimum valued said combination of said intermediate terms respectively from each of said first and second sets; and determining a log likelihood ratio (LLR) value for said bit from said first and second minimum valued combinations.
  13. 13. A method of determining a bit log likelihood ratio, LLR for an MDCM (modified dual carrier modulation) modulated OFDM signal, the method comprising calculating a value for LLR(b,,) = k x2 P2 k k P2 x12) where SO represents a set of MDCM constellation points for which b has a first binary value and Si represents a set of MDCM constellation points for which b has a second, different binary value; x and and x, and x, represent constellation points for x1 and x in different first and second constellations of said MDCM modulation respectively, the superscripts labelling constellations; Pi and P2 representing signal levels or signal-to-noise ratios of first and second OFDM carriers modulated using said first and second constellations respectively; r1 and r2 representing equalised received signal values from said first and second OFDM carriers respectively; mm () representing determining a minimum value; and representing a distance metric.
  14. 14. A method of decoding an MDCM (modified dual carrier modulation) modulated OFDM signal, the method comprising: inputting first received signal data representing modulation of a multibit data symbol onto a first carrier of said OFDM signal using a first constellation; inputting second received signal data representing modulation of said multibit data symbol onto a second, different carrier of said OFDM signal using a second, different constellation; determining a combined representation of said first and second received signal data, said combined representation representing a combination of a distance of a point representing a bit value of said multibit data from a constellation point in each of said different constellations; and determining a decoded value of a data bit of said multibit data using said combined representation; wherein said determining of a decoded value comprises determining a log likelihood ratio (LLR) for said data bit, wherein said determining of said combined representation comprises determining combined distance data representing a sum of distances of a point representing a first binary value of said bit from corresponding constellation points in said first and second constellations at which said bit has said first binary value, said corresponding constellation points representing the same symbol in said different constellations, further comprising performing said determining for a plurality of said corresponding constellation points and selecting minimum combined distance data representing a minimum sum of said distances, performing said determining of said combined distance data for said plurality of corresponding constellation points for a second binary value of said bit and selecting minimum combined distance data representing a minimum sum of said distances, and determining a difference between said minimum combined distance data for said first and second binary values of said bit to determine said LLR.
  15. 15. A method as claimed in any one of claims 12 to 14 wherein said MIDCM modulated OFDM signal is a UWB signal.
  16. 16. A carrier carrying processor control code to implement the method of any one of claims l2to 15.
GB0814295A 2008-08-05 2008-08-05 UWB OFDM Modified Dual Carrier Modulation (MDCM) Decoding Withdrawn GB2462432A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB0814295A GB2462432A (en) 2008-08-05 2008-08-05 UWB OFDM Modified Dual Carrier Modulation (MDCM) Decoding
US12/462,537 US8953696B2 (en) 2008-08-05 2009-08-04 Signal decoding systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0814295A GB2462432A (en) 2008-08-05 2008-08-05 UWB OFDM Modified Dual Carrier Modulation (MDCM) Decoding

Publications (2)

Publication Number Publication Date
GB0814295D0 GB0814295D0 (en) 2008-09-10
GB2462432A true GB2462432A (en) 2010-02-10

Family

ID=39767534

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0814295A Withdrawn GB2462432A (en) 2008-08-05 2008-08-05 UWB OFDM Modified Dual Carrier Modulation (MDCM) Decoding

Country Status (1)

Country Link
GB (1) GB2462432A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020181991A1 (en) * 2019-03-08 2020-09-17 华为技术有限公司 Joint decoding method and related device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2447080A (en) * 2007-03-01 2008-09-03 Artimi Inc DCM OFDM Signal Decoding Systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2447080A (en) * 2007-03-01 2008-09-03 Artimi Inc DCM OFDM Signal Decoding Systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Practical Algorithms for Soft-Demapping of Dual-Carrier Modulated Symbols" - SRIVASTAVA, Communication systems, 2006. ICCS 2006. 10th IEEE Singapore International Conference on Oct. 2006 Page(s):1 - 5. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020181991A1 (en) * 2019-03-08 2020-09-17 华为技术有限公司 Joint decoding method and related device

Also Published As

Publication number Publication date
GB0814295D0 (en) 2008-09-10

Similar Documents

Publication Publication Date Title
US8953696B2 (en) Signal decoding systems
WO2008104801A2 (en) Signal decoding systems
US7567635B2 (en) Single antenna interference suppression in a wireless receiver
JP5896320B2 (en) Transmission device, reception device, transmission method, reception method, and multidimensional constellation generation method
JP4399466B2 (en) Data detection for hierarchically encoded data transmission
US7684479B2 (en) Methods and systems for soft-bit demapping
WO2008022170A2 (en) Blind interference mitigation in a digital receiver
AU2005219932A1 (en) Iterative channel and interference estimation and decoding
EP1420531A1 (en) MOBILE BODY COMMUNICATION SYSTEM, MULTI−CARRIER CDMA TRANSMISSION APPARATUS, AND MULTI−CARRIER CDMA RECEPTION APPARATUS
EP2293483B1 (en) Method and device for soft-output detection in multiple antenna communication systems
JP2007074618A (en) Wireless communication apparatus and wireless communication method, and computer program
JP4641233B2 (en) Demodulator and demodulation method
EP1583271A2 (en) System and method for spreading on fading channels
JP6183983B2 (en) Wireless communication apparatus and method
EP1530335A2 (en) Apparatus and method for cancelling interference signal in an orthogonal frequency division multiplexing system using multiple antenna
EP2680520B1 (en) Method and apparatus for efficient MIMO reception with reduced complexity
JP2010119070A (en) Phase noise compensation receiver
GB2462432A (en) UWB OFDM Modified Dual Carrier Modulation (MDCM) Decoding
JP2008259065A (en) Error vector evaluating method and adaptive sub-carrier modulating method, and frequency-division communication method
JP2006203835A (en) Digital ssb turbo transceiver
JP4980121B2 (en) Receiver
KR101040606B1 (en) Apparatus and method for demodulating spatial modulation signal
Goodman et al. Communications Applications
Zhang et al. Digital Baseband Processing
Xu Joint detection and decoding of high-order modulation schemes for CDMA and OFDM wireless communications

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20120913 AND 20120919

732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20120927 AND 20121003

WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)