METHOD AND APPARATUS FOR TRANSMITTING AND RECEIVING SIGNALS OVER PAIRS OF WIRES
20170244446 · 2017-08-24
Assignee
Inventors
- Anas Al Rawi (London, GB)
- Leslie Humphrey (London, GB)
- Trevor LINNEY (London, GB)
- Ian HORSLEY (London, GB)
Cpc classification
H04L5/0007
ELECTRICITY
H04M11/062
ELECTRICITY
International classification
Abstract
A method of transmitting data from a transmitter device to a plurality of receiver devices each of which is connected to the transmitter device via a respective wire connection the method comprising transmitting a common signal onto all or both of the respective wire connections and using a multiple access technique to enable respective virtual data channels to be generated for transmitting data from the transmitter device to each of the receiver devices via its own respective virtual data channel.
Claims
1. A method of transmitting data from a transmitter device to a plurality of receiver devices, each of which is connected to the transmitter device via a respective wire connection, the method comprising: transmitting a common signal onto all or both of the respective wire connections; and using a multiple access technique to enable respective virtual data channels to be generated for transmitting data from the transmitter device to each of the receiver devices via its own respective virtual data channel.
2. A method according to claim 1 wherein the common signal is a discrete multi-tone signal in which the modulation level per tone may be varied.
3. A method according to claim 2 wherein the virtual data channels are formed by using a code division multiple access technique.
4. A method according to claim 2 wherein the virtual data channels are formed by using a frequency division multiple access technique.
5. A method according to claim 3 wherein different levels of modulation are used for data, destined for different receiver devices, transmitted within the common signal within a given tone in dependence upon differences in the received signal to noise ratio of signals received at the different receiver devices for the given tone.
6. A method according to claim 1 wherein the common signal transmitted onto all or both of the respective wire connections is employed in a predetermined upper portion of the available frequency spectrum available for use in communicating over the metallic pair connections and in a lower portion of the available frequency spectrum vectored discrete multitone transmission is used.
7. A transmitter for transmitting data, to at least a first and a second receiver device via respective first and second wire connections which directly connect each respective receiver device to the transmitter device, using a discrete multi-tone communication method employed at frequencies at which there is significant indirect coupling between the wire connections, the transmitter device comprising: a data combiner for combining a first set of data to be transmitted to the first receiver and a second set of data to be transmitted to the second receiver into a single common discrete multi-tone signal; and a line driver for driving both the first and second wire connections with the common signal.
8. A transmitter according to claim 7 wherein the transmitter is operable to transmit the common signal onto all or both of the respective wire connections in a predetermined upper portion of the available frequency spectrum available for use in communicating over the metallic pair connections and is further operable to transmit different respective vectored signals over each respective wire connection in a lower portion of the available frequency spectrum.
9. A receiver device for receiving data transmitted to it over a wire connection from a transmitter according to claim 7, the receiver comprising a receiver for receiving the common discrete multi-tone signal, and a data extractor for extracting from the common signal a first set of data transmitted by the transmitter for reception at the receiver device.
10. A receiver according to claim 9 wherein the data extractor comprises a de-spreader module for performing a de-spreading operation on the received signal in accordance with a code division multiple access technique.
11. A receiver according to claim 9 wherein the data extractor comprises a tone selector for selecting a sub-set of values detected by the receiver and associated with different tones based on a predetermined allocation of tones to the receiver as specified by the transmitter.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0025] In order that the present disclosure may be better understood, embodiments thereof will now be described, by way of example only, with reference to the accompanying figures in which:
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
DESCRIPTION OF EMBODIMENTS
[0032]
[0033] As will be apparent to a person skilled in the art, the illustrated deployment involving an optical fiber backhaul connection from a distribution point and a twisted metallic pair connection from the distribution point to the customers' premises is exactly the sort of deployment for which the G.FAST standard is intended to be applicable. In such a situation, the TMP connections may be as short as a few hundred meters or less, for example possibly a few tens of meters only and because of this it is possible to use very high frequency signals (e.g. up to a few hundred Megahertz) to communicate over the short TMP's because the attenuation of high frequency signals is insufficient to prevent them from carrying useful information because of the shortness of the lines. However, at such high frequencies cross-talk becomes a significant issue. This is clearly especially going to be the case where the cross-talking lines travel alongside each other for part of their extent (as in the situation illustrated in
First Embodiment
[0034] Referring now to
[0035] As shown, the AN 16 according to the embodiment illustrated in
[0036] Note also that because the present embodiment employs a Code Division Multiple Access (CDMA), each DSDESP module 1611,1612 generates a data value for each tone such that both modules 1611,1612 generate a data value for transmission over tone 1 (e.g. d.sub.1.sup.1 and d.sub.1.sup.2). These data values need not necessarily relate to the same number of bits as will be explained in greater detail below. For example, it is possible that modem 51 could determine that tone 1 is able to support 3 bits per symbol, whilst modem 52 could determine that tone 1 is only able to support 2 bits per symbol. In such a case, DSDESP 1611 could generate a 3 bit data value (e.g. a number between 0 and 7), d.sub.1.sup.1, whilst DSDESP 1612 could generate a 2 bit data value (e.g. a number between 0 and 3).
[0037] The data values leaving each DSDESP module 1611, 1612 are then passed (in an appropriate order) to respective Multiple bit level Quadrature Amplitude Modulation (M-QAM) modulators 1621, 1622 which convert each input data value to a respective complex number x.sub.1.sup.1 to x.sub.M.sup.1 and x.sub.1.sup.2 to x.sub.M.sup.2 each of which represents a complex point within a complex number constellation diagram. For example a data value d.sub.1.sup.1=7 (=111) might be mapped by the M-QAM modulator 1621 to the complex number 1−i for tone 1 where tone 1 has been determined (by modem 51) to be able to carry 3 bits of data each.
[0038] Each of these complex numbers x.sub.1.sup.1 to x.sub.M.sup.1 and x.sub.1.sup.2 to x.sub.M.sup.2 is then entered into a Spreader module 1630 (which in the present embodiment is a single common spreader module 1630) which performs a conventional CDMA spreading operation given by the following equation:
in order to generate a set of “chips” c.sub.m.sup.p, such that k complex numbers x.sub.m.sup.i (for all i from i=1 to i=k) are converted to P chips c.sub.m.sup.p (for all p from p=1 to p=P) where P is the length of the spreading code being used and k is the number of different data streams being multiplexed using the CDMA technique employed. This combining and spreading is performed for all M sets of K lots of x.sub.m.sup.i (for all m from m=1 to m=M and all i from i=1 to i=k) to generate a corresponding M sets of P combined and spreaded chips c.sub.m.sup.p (for all m from m=1 to m=M and for all p from p=1 to p=P). In the present embodiment, there are 2 such data streams (one for each end user modem 51, 52) such that k=2 and the spreading codes used are of length 2 such that P=2 (therefore M sets of pairs of complex numbers x.sub.m.sup.1 and x.sub.m.sup.i2 are converted into M sets of pairs of chips c.sub.m.sup.1 and c.sub.m.sup.2). Furthermore, in the present embodiment, the M sets of pairs of chips c.sub.m.sup.1 and c.sub.m.sup.2 are sent as 2 frames each containing M chips such that the original complex numbers are spread out over time, with the M chips being transmitted over a corresponding M tones in a conventional Discrete Multi-Tone (DMT) manner.
[0039] It will be appreciated that the effect of the combining and spreading is to both combine data intended for different end user modems together and to then spread it out again such that it can later be recovered by performing a de-spreading action. In this way virtual data channels are generated whereby data destined for the first modem 51 is transmitted from the first Data source, encoder and S/P module 1611 to the first modem 51 over a first virtual data channel and data destined for the second modem 52 is transmitted from the second Data source, encoder and S/P module 1612 to the second modem 52 over a second virtual data channel, even though in fact all of the same data is actually being transmitted over both TMPs 21,22 to both modems 51,52. The well-known CDMA principle by which this is achieved can be easily demonstrated with a simple numerical example (ignoring the effects of noise imparted to the transmitted signal during transmission over the channel for the time being) thus:
[0040] Consider in the present embodiment that the following spreading codes are used {1,1} and {1,−1}; in other words, s.sub.1.sup.1=1, s.sub.2.sup.1=1, s.sub.1.sup.2=1, s.sub.2.sup.2=−1; also consider that for a single tone, tone 1, we have a complex value 1+i to be transmitted to modem 51 (x.sub.1.sup.1=1+i) and a complex value −i to be transmitted to modem 52 (x.sub.1.sup.2=−i), after combining and spreading these are converted to two chips c.sub.1.sup.1=1+i+(−i)=1 and c.sub.1.sup.2=1+i+−(−i)=1+2i. These two chips are then transmitted (via the IFFT, Analogue front end channel, etc. discussed briefly below) in two separate frames and once they have both been received a de-spreading operation is performed within the modems 51, 52, with modem 51 using the spreading code {1,1} and modem 52 using the spreading code {1, −1} to recover the data using {umlaut over (x)}.sub.1.sup.1=Σ.sub.p=1.sup.ps.sub.m.sup.pc.sub.m.sup.p with m=i=1 (the first tone for the first receiver −modem 51) such that {umlaut over (x)}.sub.1.sup.1=1×1+1×(1+2i)=2+2i (or 1+i=x.sub.1.sup.1 after appropriate normalization) in modem 51, whilst, with m=1, i=2 (the first tone for the second receiver, modem 52) {umlaut over (x)}.sub.1.sup.2=1×1+−1×(1+2i)=−2i (or −i=x.sub.1.sup.2 after appropriate normalization) in modem 52.
[0041] Once the chips have been generated in the above described manner, the remaining processing is conventional and not relevant to the present disclosure. Thus the appropriately generated chips are passed from the spreader module 1630 to an Inverse Fast Fourier Transform (IFFT) module 1640 for converting the multiple chips for a single frame into a combined quadrature time domain signal in the normal manner in Orthgonal Frequency Division Multiplexing (OFDM)/DMT systems. Then the time domain signals are processed by a suitable Analogue Front End (AFE) module 1650 again in any suitable such manner including any normal conventional manner. It is just worth noting in passing that in this embodiment just a single AFE module 1650 is used, but of course it would be equally possible to use two distinct AFE modules, one for each TMP 21,22; note that in embodiments where the common signal to be sent over multiple TMP connections is processed by a single common AFE (as in the present embodiment) an advantage arises in that the resulting signals transmitted onto the separate TMP connections will tend to be more similar than if they had been pre-processed by separate AFE modules (due to unavoidable small differences in the analogue components making up the AFE modules). In any event, in the present embodiment, after processing by the AFE module 1650, the resulting analogue signal is commonly transmitted onto both TMP connections 21,22 via a coupler arrangement 2000 which simply couples both TMP connections 21,22 to the common AFE module 1650.
[0042] During transmission over the TMP connections 21,22, the signals will be modified in the normal way according to the channel response of the channel and due to external noise impinging onto the connections. In particular there will be cross-talking (and most particularly far-end cross-talking) between the two direct channels (the direct channels being one from the transmitter 16 to the modem 51 via the TMP 21 and one from the transmitter 16 to the modem 52 via the TMP 22) resulting in signals being received at the modems 51 and 52 from indirect channels (e.g. signals transmitted onto TMP 21 but received at modem 52 and signals transmitted onto TMP 22 but received at modem 51). However, since the same common signal is transmitted onto both TMP connections, the net effect at each receiver/modem 51,52 is that of a single combined (direct and indirect) channel and it can be estimated and accounted for by the receiver/modem 51,52 in the normal way as though there is no cross-talking interference. Indeed, in general, the indirectly received component of the (combined directly and indirectly) received signal may increase the SNR of the received signal for a given modem 51,52 compared to a case where there was no indirectly received component of the signal (i.e. where no signal was transmitted onto the direct channel 22,21 of the other modem 52,51) and only a single direct signal is transmitted onto the directly connected TMP 21,22.
[0043] After passing over the TMP connections 21,22, the signal is received (by both modems 51,52) at an Analogue Front End (AFE) module 5150,5250 which performs the usual analogue front end processing. The thus processed signals are then passed to a Fast Fourier Transform (FFT) module 5140,5240 which performs the usual conversion of the received signal from the time domain to the frequency domain. The signals leaving the FFT module 5140,5240 are then passed in the present embodiment to a Frequency domain EQualizer (FEQ) module 5160,5260. The operation of such frequency domain equalizer modules is well-known in the art and will not therefore be further described herein. It should be noted however, that any type of equalization could be performed here, such as using a simple time-domain linear equalizer, a decision feedback equalizer, etc. For further information on equalization in OFDM systems, the reader is referred to: “Zero-Forcing Frequency-Domain Equalization for Generalized DMT Transceivers with Insufficient Guard Interval” by Tanja Karp, Steffen Trautmann, Norbert J. Fliege, EURASIP Journal on Applied Signal Processing 2004:10, 1446-1459.
[0044] Once the received signal has passed through the AFE, FFT and FEQ modules, the resulting signal, y.sub.1.sup.1 to y.sub.M.sup.1 and y.sub.1.sup.2 to y.sub.M.sup.2 should be similar to the chips c.sub.1.sup.p-c.sub.M.sup.p presented to the IFFT module in the AN 16, except that there will be some degree of error resulting from imperfect equalization of the channel and the effect of external noise impinging onto the lines during transmission of the signals between the AN and the modems 51, 52. This error will in general differ from one receiving modem to the next. This can be expressed mathematically as y.sub.m.sup.1=c.sub.m.sup.p+e.sub.m.sup.1 and y.sub.m.sup.2=c.sub.m.sup.p+e.sub.m.sup.2 where e.sub.m.sup.1 is the difference between the value, generated by the combined processing of the AFE 5150, the FFT 5140 and the FEQ 5160 of the signal received at modem 51 and the chip, c.sub.1.sup.p, and is not necessarily equal to the corresponding error, e.sub.m.sup.2, of the second modem 52. These received values y.sub.1.sup.1 to y.sub.M.sup.1 for modem 51 and y.sub.1.sup.2 to y.sub.M.sup.2 for modem 52 are then passed to their respective de-spreading modules 5130 and 5230 where a de-spreading operation is performed. In the de-spreading operation each modem uses its own spreading code in order to recover the data destined for itself. In the present embodiment, the transmitted chips are spread in time such that it is necessary to perform the dispreading using a number of received signals received in different frames. Thus in the present embodiment, each de-spreading module 5130,5230 buffers the received values y.sub.1.sup.1 to y.sub.M.sup.1 and y.sub.1.sup.2 to y.sub.M.sup.2 until sufficient have been received to enable the de-spreading operation described mathematically by:
where in y.sub.m.sup.p,i the i superscript indicates which receiving modem is performing the de-spreading operation (since different modems use different spreading codes) and the p superscript indicates which chip (within a sequence of chips required together to reconstruct a desired complex value for detection by an M-QAM demodulator module 5120,5220) the value relates to (wherein different chips have, in the present embodiment, been transmitted at different times—i.e. within different frames). In the present embodiment, each complex value x is spread into two chips using a spreading code of length 2 and these are transmitted in adjacent frames such that after receiving a pair of frames the two received and processed values y.sub.m.sup.1,i and y.sub.m.sup.2,i for each tone, m, are multiplied by their respective spreading code values, namely s.sub.m.sup.1 and s.sub.m.sup.2 respectively and then summed together. The resulting de-spreaded signals {umlaut over (x)}.sub.1.sup.1 to {umlaut over (x)}.sub.M.sup.1 and {umlaut over (x)}.sub.1.sup.2 to {umlaut over (x)}.sub.M.sup.2 are then passed to each respective M-QAM demodulator module 5120,5220 where a corresponding constellation point is selected for each value {umlaut over (x)}.sub.m.sup.i in dependence on its value (e.g. by selecting the constellation point closest to the point represented by the value {umlaut over (x)}.sub.m.sup.i unless trellis coding is being used, etc.). The resulting data values {umlaut over (d)}.sub.1.sup.1 to {umlaut over (d)}.sub.M.sup.1 and {umlaut over (d)}.sub.1.sup.2 to {umlaut over (d)}.sub.M.sup.2 should mostly (apart from some small number of incorrectly detected values resulting from errors) correspond to the data values, d.sub.1.sup.1 to d.sub.M.sup.1 and d.sub.1.sup.2 to d.sub.M.sup.2 originally entered to the corresponding M-QAM 1621,1622 within the AN/transmitter 16. These values are then entered into a respective decoder (and received data processing) module 5110 which reassembles the detected data and performs any necessary forward error correction etc. and then presents the recovered user data to whichever service it is addressed to in the normal manner, thus completing the successful transmission of this data.
Variations of the First Embodiment
[0045] In the above described embodiment there are only two TMP connections between the AN 16 and a corresponding pair of end-user modems. However, it will be appreciated that the scheme can be applied to any number of TMP's and corresponding modems by simply extending the number of sets of data source, encoder and S/P 1611, 1621 and M-QAM modulator 1621, 1622 modules, which feed into the spreader module 1630, accordingly; in addition, it would of course be necessary to increase the number of orthogonal spreading codes employed accordingly to enable the different sets of data to be merged together in the spreading operation, as will be apparent to persons skilled in the art, as well as increasing the number of sets of frames required to be buffered before performing de-spreading at the modems, etc.
[0046] It will be apparent to skilled readers that the CCM mode described above can be considered a type of Multi-Carrier Code Division Multiple Access (MC-CDMA) technique. As such it will be apparent that having generated the “chips” it is possible to spread them either in time (as in the first embodiment described above) or in frequency. In order to spread the chips in frequency, instead of generating one chip for each tone in each frame, one generates fewer sets of data values d.sub.1.sup.1 to d.sub.M.sup.1 for each user/modem relative to the number of tones available. For example, in a two user case using a spreading code of 2 (as before) (and assuming that all tones can carry the same number of bits per tone, unlike in the first embodiment) one could generate half as many data values for each user per frame as there are tones available for carrying the data values. Once chips have been formed (two for each data value), there will then be exactly the same number of chips to carry as tones on which to carry them, and each chip is allocated to one tone. Since all chips are carried in one frame, there is no need in such an arrangement for received chips to be buffered prior to de-spreading and so latency is reduced in this arrangement.
[0047] On the other hand, one needs to ensure that so far as possible tones which are able to carry the same number of bits (from the perspective of all receiving modems (even though the actual number of bits which both tones can carry need not be the same for different modems—i.e. if modem 1 determines that tones 1 and 11 can both carry 3 bits each and modem 2 determines that tones 1 and 11 can both carry 2 bits each they would make a good candidate for carrying two chips associated with the same data vectors).
[0048] If it is necessary to use two tones which (for at least one receiving modem) the estimated number of bits which they can carry is not equal, then some decision must be made as to what level of modulation to perform. However, it may be that in some circumstances, e.g. where even though a given first tone could only reliably carry say 2 bits under a conventional DMT scheme, that the gain achieved using a CDMA approach may enable say 3 bits to be reliably carried over the combination of the first given tone when partnered with a second given tone (especially where that second given tone would be able to reliably carry 3 or more bits of data on its own in a conventional DMT approach).
Second Embodiment
[0049] It will be appreciated that the above-described embodiment with reference to
[0050] Thus in
Also shown explicitly in
[0051] From
[0052] The chips, c.sub.1 to c.sub.m, are generated in the same manner as in the first embodiment as described above with reference to
[0053] At each of the receivers, the received signals are processed in the normal manner by the AFE, FFT and FEQ modules to generate in the first modem 51 values y.sub.1.sup.1 to y.sub.M.sup.1 on tones 1 to M respectively and {umlaut over (x)}.sub.M+1.sup.1 to {umlaut over (x)}.sub.N.sup.1 on tones M+1 to N. Only the values y.sub.1.sup.1 to y.sub.M.sup.1 are passed to the dispreading module 5130 in this embodiment whilst values {umlaut over (x)}.sub.M+1.sup.1 to {umlaut over (x)}.sub.N.sup.1 are passed directly to the M-QAM demodulator module 5130. Thus it can be seen that in essence two distinct “channels” are being used in this embodiment with tones 1 to M being used in a CCM mode whilst tones M+1 to N are being used in a conventional vectored DSL mode (note these could also use a mode according to the currently proposed G.FAST draft standard employing vectored DMT in a Time Division Multiplex manner, etc.). One point to note is that if (as in the present embodiment) the chips are spread over time such that two (or more) frames need to be received and buffered before all of the chips required to perform the de-spreading action in order to recover the transmitted user data are available, as per the first embodiment, then there is a need for the AN 16 to schedule the data for the CCM mode to be transmitted at half (or less) the rate at which data to be transmitted over the vectored DMT mode channel is scheduled for transmission. In the present embodiment, this is handled by the data source, encoder and S/P modules 1611, 1612.
[0054] A further point to note is that the process of performing channel estimation which is required for both modes of operation (vectored DMT and CCM mode) needs to be done slightly differently for the two modes. Therefore, in the present embodiment, the controllers 1690, 5190 and 5290 co-operate in the manner described below with reference to
[0055] Before turning to
[0056] Turning now to
[0057] Having selected the CCM cut-off frequency/cut-off tone, the method proceeds to S30 in which a common training signal is generated and transmitted in the CCM mode over the tones allocated for use in the CCM mode. Each modem 51,52 again measures the channel at each of the respective tones in the CCM portion of tones. The method then proceeds to s40 in which each modem estimates, based on the channel measurements taken in the preceding step, the number of bits which each such tone can support in CCM mode per Frame (or per set of frames since there should be some coding gain resulting from the spreading and de-spreading action).
[0058] The method then proceeds to s50 in which chip to tone allocations are determined by the AN controller 1690 based on the estimated tone capacities. In the present embodiment this is trivial and can simply be performed on any arbitrary or convenient basis (e.g. numbering each generated chip for transmission in a single frame and allocating it to a similarly numbered tone) but in other embodiments this step could be less trivial (e.g. where an element of spreading in frequency is employed such that some chips encoding the same data are sent in the same frame as discussed above in relation to a variation of the first embodiment).
[0059] Finally, at s60 the system enters SHOWTIME with some data being transmitted over the portion of tones allocated to vectored DMT (which could include transmitting according to the currently proposed methods for transmitting downstream data according to G.FAST proposals/drafts) and the rest being transmitted in CCM.
[0060] Turning now to
[0061] From
[0062] In this embodiment, the M+N complex numbers generated by the first and second modulators 1621,1622 are all passed to the tone allocator 1680 which allocates each of these values to a corresponding tone and then forwards them on as (re-ordered but otherwise unchanged) complex values x′.sub.1 to x′.sub.M+N to the IFFT which accepts all M+N values. In other words there are M+N tones available and the complex values are each allocated to a single respective tone. In particular, some of the tones are thereby allocated to data from the first DSDESP module 1611 which data are destined for the first modem 51 whilst the remaining tones are allocated to data from the second DSDESP module 1612 which data are destined for the second modem 52. The complex numbers are then processed in the normal way by the IFFT and AFE modules 1640, 1650 and the resulting signals are coupled via coupler 2000 onto both TMPs 21,22 as in the first embodiment. At each modem 51,52 the signals are received and processed as in the first embodiment to generate (after the normal processing by the respective AFE, FFT and FEQ modules 5150,5250,5140,5240,5160,5260) to generate values y.sub.1.sup.1 to y.sub.M+N.sup.1 at the first modem 51 and values y.sub.1.sup.2 to y.sub.M+N.sup.2 at the second modem 52. As in the first embodiment, these values should be very similar but may differ slightly owing to differences in the channel between AN 16 and the first modem 51 and the channel between AN 16 and the second modem 52. At each modem 51, 52, these values y.sub.1.sup.1 to y.sub.M+N.sup.1 and y.sub.1.sup.2 to y.sub.M+N.sup.2 are then passed to a respective tone selector module 5180, 5280 which (under the control of its respective controller 5191, 5291) selects only the values coming from tones allocated to the modem of which it forms a part and forwards these on as values {umlaut over (x)}.sub.1.sup.1 to {umlaut over (x)}.sub.M.sup.1 (for the first modem 51), {umlaut over (x)}.sub.1.sup.2 to {umlaut over (x)}.sub.N.sup.2 (for the second modem 52) to its respective M-QAM demodulator 5120, 5220 for demodulation. By selecting the correct values corresponding to only the tones allocated to it, each modem recovers from the totality of the received data just the data destined for itself.
[0063] An important point to note is that (as mentioned earlier in this application) since the channels (as viewed from each respective modem) may differ slightly, it is possible that a particular tone may appear to be capable of supporting more bits from the perspective of one modem compared to another. In order to maximize the spectral efficiency of the transmission system as a whole it is advantageous to allocate such tones to the modem which can receive a greater number of bits from a particular tone than another modem. As well as maximizing the spectral efficiency, this also helps to reduce the risk of data intended for one modem being received and eavesdropped on by another modem. However, such risk is still present and with all of these CCM methods described in this specification, where there are security concerns of data intended for one modem being intercepted by another encryption techniques should be employed to reduce that risk.
[0064] As will be appreciated by the reader by this stage, the main function of the controllers 1691, 5191 and 5291 is to both decide on a suitable allocation of the tones to modems and to agree this between themselves so that the transmitted data is correctly allocated to the expected tones and then at the receiving modems that the correct data is recovered again. In order to perform this functionality, the method illustrated in
[0065] Thus, with reference now to
[0066] The method then proceeds to s30 in which the AN controller uses the assessment by each modem of the capacity of each tone to determine an intelligent allocation of tones to each modem 51, 52 in such a way as to attempt to maximize the spectral efficiency of the system by allocating tones to the modems for which those tones can support the greatest number of bits. An example algorithm for achieving this is set out in greater detail below. Having determined a suitable allocation in this way, the AN controller 1691 then informs each modem controller 5191, 5291 which tones have been allocated to it (or more accurately to its modem 51, 52).
[0067] The method then proceeds to s40 in which actual data is transmitted from the AN 16 to each of the modems in the FDMA CCM mode of operation. In one embodiment the channel may continually be measured and reported to the AN controller 1691 which may periodically determine that the allocation of tones should be changed and then co-ordinate the changing of the allocation with the modem controllers in order to continually optimize the transmission system despite changes in the noise environment.
[0068] Example Algorithm for Allocating Tones to Modems
[0069] Any algorithm which generates a reasonably efficient allocation of tones to modems based on the number of bits which the modems consider a tone can support can be used. Merely as an example of one such algorithm the following pseudocode is given below:
[0070] If we define the variable BPF.sub.r as the number of bits per Frame received by a receiver, r, and BPT.sub.t.sup.r as the number of bits that tone, t, can support for receiver, r, and δ.sub.r,t takes the value 1 if tone t is allocated to receiver, r, but takes the value 0 otherwise, then we specify that the algorithm seeks to maximize both min{BPF} and ΣBPF.sub.r (summed over all receivers) for all receivers, r (i.e. where 1≦r≦R, where R is the total number of receivers (or end user modems)).
[0071] set T=total number of tones;
[0072] set R=total no of receivers;
[0073] create integer array BPF[R] with all zero valued elements;
[0074] create 2 dimensional integer array BPT [R,T] with all zero valued elements;
[0075] create 2 dimensional binary array KDEL[T,R] with all zero elements;
[0076] create 1 dimensional Boolean array ALLOCATED[T] with all FALSE elements;
[0077] create temp integer variables rSEL and tSEL;
[0078] set BPT[r,t] for each r and each t from information provided to central controller from each receiver controller (as per s20 in
[0079] Start Loop;
[0080] select all r for which BPF[r] is a minimum value (compared to all values of BPF[r] for all values of r);
[0081] for all selected r and for all not yet allocated tones, t, (where ALLOCATED[t]=FALSE)
[0082] set rSEL=r and tSEL=t for which BPT[r,t] is a maximum (if more than one select any one by any arbitrary process—e.g. the lowest value oft and/or the lowest value of r);
[0083] set KDEL[tSEL,rSEL]=1, ALLOCATED[t]=TRUE and BPF[r]=BPF[r]+BPT[rSEL,tSEL];
[0084] set BPT[r,tSEL]=0 for all r rSEL;
[0085] repeat loop until ALLOCATED[t]=TRUE for all t.
[0086] Briefly stated, the above algorithm iteratively identifies the receiver (or receivers) with the (currently) lowest bits per frame and identifies for it (or them) the (or one of the) tones which can support the highest number of bits for that receiver and allocates it to the respective receiver, and then updates the number of bits per frame associated with that receiver and re-iterates.