Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR CONFIGURING A DATA TRANSMISSION SYSTEM
Document Type and Number:
WIPO Patent Application WO/2018/234084
Kind Code:
A1
Abstract:
Embodiments relate to a method for configuring a data transmission system (1), executed by a configuration device (5), wherein the data transmission system (1) comprises at least one transmitter (22), at least one receiver (31), and a communication channel (4) between the transmitter and the receiver, the method comprising: - training (S1) a machine learning model (6) of the data transmission system (1), wherein the machine learning model (6) specifies at least a transmitter model (7), a channel model (8), and a receiver model (9) including a receiver neural network (10, 1), - configuring (S2) the transmitter and the receiver based on the trained machine learning model (6), then: - obtaining (S3) training data specifying a set of messages sent by the transmitter and the corresponding signals received by the receiver, - training (S4) the receiver model (9) based on the obtained training data, and - configuring (S5) the receiver based on the trained receiver model (9).

Inventors:
HOYDIS JAKOB (FR)
CAMMERER SEBASTIAN (DE)
DÖRNER SEBASTIAN (DE)
TEN BRINK STEPHAN (DE)
Application Number:
PCT/EP2018/065422
Publication Date:
December 27, 2018
Filing Date:
June 12, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NOKIA TECHNOLOGIES OY (FI)
International Classes:
G05B13/04
Foreign References:
US9681332B22017-06-13
Other References:
None
Attorney, Agent or Firm:
NOKIA BELL PATENT ATTORNEYS (BE)
Download PDF:
Claims:
CLAIMS

1 . Method for configuring a data transmission system (1 ), executed by a configuration device (5), wherein the data transmission system (1 ) comprises at least one transmitter (22), at least one receiver (31 ), and a communication channel (4) between the transmitter and the receiver, the method comprising:

- training (SI ) a machine learning model (6) of the data transmission system (1 ), wherein the machine learning model (6) specifies a relationship between input data (s) of the transmitter (22) and output data of the receiver (31 ), wherein the machine learning model (6) specifies at least a transmitter model (7), a channel model (8), and a receiver model (9) including a receiver neural network (1 0, 1 1 ),

- configuring (S2) the receiver based on the trained machine learning model (6), then:

- obtaining (S3) training data specifying a set of messages sent by the transmitter and the corresponding signals received by the receiver,

- training (S4) the receiver model (9) based on the obtained training data, and

- configuring (S5) the receiver based on the trained receiver model (9).

2. Method according to claim 1 , wherein training (SI ) said machine learning model (6) comprises training said machine learning model (6) as an autoencoder.

3. Method according to one of claims 1 and 2, wherein said transmitter model includes a transmitter neural network and said method comprises configured said transmitter based on the trained machine learning model. 4. Method according to one of claims 1 to 3, comprising repeating said obtaining (S3) training data, training (S4) the receiver model and configuring (S5) the receiver.

5. Method according to one of claims 1 to 4, comprising obtaining (S3) said training data from the receiver (31 ).

6. Method according to claim 5, wherein said training data has been determined by the receiver (31 ) by:

- determining a sequence of received messages,

- mapping said sequence of received messages to a received codeword (RCW),

- determining destination data (u) as a function of the received codeword (RCW), by decoding an error correction code,

- determining a sequence of transmitted messages in function of the destination data (0).

7. Method according to claim 6, comprising determining whether said destination data (u) is valid according to a cyclic redundancy check. 8. Method according to one of claims 1 to 7, wherein training said machine learning model comprises determining weights of the receiver neural network by applying a stochastic gradient descent algorithm.

9. Method according to one of claims 1 to 8, wherein the transmitter model includes a transmitter neural network, wherein the transmitter neural network includes multiple dense layers (1 2) followed by a normalization layer (1 3) configured for applying one of: a normalization to a predetermined norm, scaling to a unit absolute value, convolution with a filter. 1 0. Method according to one of claims 1 to 9, wherein the transmitter model includes a transmitter neural network and at least one other transmitter processing module, and/or the receiver model includes said receiver neural network at least one other receiver processing module. 1 1 . Computer program (P) comprising instructions for performing the method of one of claims 1 to 1 0 when said instructions are executed by a computer.

1 2. Source device (2) comprising a transmitter configured according to the method of one of claims 1 to 1 0.

1 3. Destination device (3) comprising a receiver (31 ) configured according to the method of one of claims 1 to 1 0.

14. Configuration device (5) for a data transmission system, wherein the data transmission system (1 ) comprises at least one transmitter (22), at least one receiver

(31 ), and a communication channel (4) between the transmitter and the receiver, the configuration device (5) comprising means configured for:

- training (SI ) a machine learning model (6) of the data transmission system (1 ), wherein the machine learning model (6) specifies a relationship between input data (s) of the transmitter (22) and output data of the receiver (31 ), wherein the machine learning model (6) specifies at least a transmitter model (7), a channel model (8), and a receiver model (9) including a receiver neural network (1 0, 1 1 ),

- configuring (S2) the receiver based on the trained machine learning model (6), then: - obtaining (S3) training data specifying a set of messages sent by the transmitter and the corresponding signals received by the receiver,

- training (S4) the receiver model (9) based on the obtained training data, and

- configuring (S5) the receiver based on the trained receiver model (9).

1 5. Data transmission system (1 ), comprising at least one source device according to claim 1 2, at least one destination device according to claim 1 3 and a configuration device (5) according to claim 14.

Description:
Method and device for configuring a data transmission system

FIELD OF THE INVENTION

The present invention relates to the field of telecommunication. In particular, the present invention relates to a method and a device for configuring a data transmission system.

BACKGROUND

In known transmission systems, the transmitter is composed of multiple processing blocks that carry out well-defined and isolated functions, such as source and channel coding, modulation, pulse shaping, digital-to-analog conversion (DAC), mixing on a radio/optical carrier, and amplification. Likewise, the receiver consists of similar blocks in reverse order, namely amplification, down conversion, analog-to- digital conversion (ADC), matched filtering, decimation, equalization, demodulation, channel and source decoding. In such transmission systems, each functional block is designed and optimized individually, which may not result in the best end-to-end performance.

From a high-level perspective, each of the transmitter, channel and receiver of a transmission system transforms an input vector into an output vector, and can hence be modeled as a neural network. Since a chain of neural networks is again an even larger neural network, it has been proposed to model an entire transmission system as a neural network autoencoder. Such a system can be trained from end-to-end in a supervised manner, to achieve a better end-to-end performance.

Although end-to-end training of communications systems is quite appealing from a theoretical point of view, it suffers from the fundamental practical problem that during the learning process the gradient of the communications channel must be computed, i.e., if one slightly changes the input, what would be the effect on the output. Known solution consists of training the neural network for a stochastic channel model for which the gradient can be computed. However, if the resulting learned transceiver is used on real hardware and communications takes place over a real channel, the performance is generally unsatisfactory due to the mismatch between the channel model used during training and the real channel.

SUMMARY

It is thus an object of embodiments of the present invention to propose methods and devices for configuring a data transmission and processing system, which do not show the inherent shortcomings of the prior art. Accordingly, embodiments relate to a method for configuring a data transmission system, executed by a configuration device, wherein the data transmission system comprises at least one transmitter, at least one receiver, and a communication channel between the transmitter and the receiver, the method comprising:

- training a machine learning model of the data transmission system, wherein the machine learning model specifies at least a transmitter model, a channel model, and a receiver model including a receiver neural network,

- configuring the transmitter and the receiver based on the trained machine learning model, then:

- obtaining training data specifying a set of messages sent by the transmitter and the corresponding signals received by the receiver,

- training the receiver model based on the obtained training data, and

- configuring the receiver based on the trained receiver model.

Correlatively, embodiments relates to a configuration device for a data transmission system, comprising means configured for performing this method.

In some embodiments, training said machine learning model comprises training said machine learning model as an autoencoder.

In some embodiments, said transmitter is configured for transmitting one out of M possible messages, wherein an input of said machine learning model is an one-hot input vector of M dimensions, a binary input vector of log2(M) dimensions, or an integer specifying a transmitted message.

The method may comprise repeating said obtaining training data, training the receiver model and configuring the receiver.

In some embodiments, the method comprises obtaining said training data from the receiver. In that case, the training data may have been determined by the receiver by:

- determining a sequence of received messages,

- mapping said sequence of received messages to a received codeword,

- determining destination data as a function of the received codeword, by decoding an error correction code,

- determining a sequence of transmitted messages in function of the destination data.

The method may comprise determining whether said destination data is valid according to a cyclic redundancy check.

In some embodiments, training said machine learning model comprises determining weights of the transmitter neural network and/or of the receiver neural network by applying a stochastic gradient descent algorithm. The transmitter neural network may include multiple dense layers followed by a normalization layer configured for applying one of: a normalization to a predetermined norm, scaling to a unit absolute value, convolution with a filter.

In some embodiments, the transmitter model includes said transmitter neural network and at least one other transmitter processing module, and/or the receiver model includes said receiver neural network at least one other receiver processing module.

Embodiments also relate to a computer program comprising instructions for performing the method mentioned before when said instructions are executed by a computer. The computer program may be stored on a non-transitory computer readable medium.

Embodiments also relate to a source device comprising a transmitter configured according to the above method, to a destination device comprising a receiver configured according to the above method, and to a system comprising a configuration device, a source device and a destination device.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and features of the invention will become more apparent and the invention itself will be best understood by referring to the following description of embodiments taken in conjunction with the accompanying drawings wherein:

Figure 1 is a block diagram of a data transmission system,

Figure 2 is a block diagram of a machine learning model of the system of

Figure 1 ,

Figure 3 is a flowchart of a method for configuring the system of Figure 1 , Figure 4 is a functional view of an embodiment of the data transmission system of Figure 1 , configured for recovering of labelled training data, and

Figure 5 is structural view of the configuration device of the system of

Figure 1 .

DESCRIPTION OF EMBODIMENTS

Figure 1 is a block diagram of a data transmission system 1 . The data transmission system 1 comprises a source device 2, a destination device 3, a communication channel 4 connecting the source device 2 to the destination device 3, and a configuration device 5. The system 1 allows transferring data from the source device 2 to the destination device 3.

The source device 2 comprises a data source 21 and a transmitter 22. The data source 21 is configured for providing data that is used by the system 1 . The data source 21 may include for example at least one of: a sensor, a user interface, a local memory, a network interface... The data provided by the data source 21 may include at least one of: digital images, video and audio files, data coming from sensors, radars, telescopes, radio receivers... The transmitter 22 is configured for processing the data provided by the data source 21 and for outputting the processed data to the communication channel 4 for transmission to the destination device 3. The transmitter 22 comprises a configurable part which may be configured by the configuration device 5 according to the method described hereafter with reference to Figures 2 to 4.

The source device 2 may present the hardware architecture of a computer and may be for example one of: a user device (laptop, smart phone, wearable activity tracker...), a network equipment (cellular radio station, router, cloud server...), a monitoring device (camera, Internet of Things sensor...).

The destination device 3 comprises a receiver 31 and a data sink 32. The receiver 31 processes the data received from the source device 2 through the communication channel 4 to produce an output for the data sink 33. The receiver 31 comprises a configurable part which may be configured by the configuration device 5 according to the method described hereafter with reference to Figures 2 to 4. The data sink 3 receives the output of the receiver 31 and may include for example one of: a user interface (display, audio speaker...), a local memory, a network interface...

The destination device 3 may present the hardware architecture of a computer and may be for example one of: a user device (laptop, smart phone...), a network equipment (cellular radio station, router, cloud server...), a monitoring device (camera, Internet of Things sensor...).

The communication channel 4 provides a physical link between the transmitter 22 of the source device 2 and the receiver 31 of the destination device 3. The communication channel 4 is for example a radio link, a coaxial cable, a twisted pair cable, and optical fiber... In some embodiments, the communication channel 4 comprises multiple orthogonal channels (in time/frequency/space) that are used in parallel.

The configuration device 5 is configured for training a machine learning model 6 of the system 1 and for configuring the system 1 according to the trained machine learning model 6. Training the model and configuring the system 1 may occur for example during an initial setup of the system 1 and/or after the system 1 has already been setup and functioning. The configuration device 5 is configured for communication with the source device 2 and/or the destination device 3.

Figure 2 is a block diagram of a machine learning model 6 of the system 1 , used by the configuration device 5. From a high-level perspective, each of the transmitter 22, communication channel 4 and receiver 31 of Figure 1 transforms an input vector into an output vector, and can hence be modeled, at least partially, as a neural network. Since a chain of neural networks is again an even larger neural network, the configuration device 5 can model the entire system 1 by a neural network-based machine learning model 6. The machine learning model 6 can be trained from end-to-end as an auto- encoder, for example via stochastic gradient descent (SGD) for any differentiate loss function. By doing so, the configuration device 5 jointly optimize all of the individual components with respect to an end-to-end metric. This is fundamentally different from traditional system design where each component is individually optimized for its own sub-task.

Indeed, in the system 1 , the transmitter 22 wants to communicate one out of M possible messages denoted by "s" to the receiver 31 making "n" uses of the channel 4. To this end, it applies the transformation "f(s)" to the message "s" to generate the transmitted signal "x" which is a vector of "n" dimensions. The hardware of the transmitter 22 may impose certain constraints on "x", e.g., the squared norm of "x" must be smaller than "n". The communication rate of the system 1 is "R = k/n" bit/channel use, where "k = log2(M)". The channel 4 is described through the conditional probability density function "p(y | x)", where "y" denotes the received signal. Upon reception of "y", the receiver 31 applies the transformation "g(y)" to produce an estimate of the transmitted message. From a machine learning point of view, the communications system 1 can be seen as an auto-encoder. The goal of the auto-encoder is to find a representation "x" of "s" which is robust with respect to the perturbations created by the channel, so that it can reconstruct "s" based on "y".

More specifically, the machine learning model 6 comprises a transmitter model 7, a channel model 8 and a receiver model 9.

The input of the machine learning model 6 comprises input data s which specifies the message provided by the data source 21 . The input data s may be encoded in any format allowing to specify one of M possible messages. Example format include a "one-hot" vector, i.e., an "M"-dimensional vector whose "s"th element is equal to 1 and all other elements are equal to zero, a binary vector or real vector.

The transmitter model 7 transforms an input data s into a vector x:

x = f(s)

The transmitter model 7 comprises a neural network which includes multiple dense layers 1 0 followed by a normalization layer 1 1 . The multiple dense layers 1 0 include for example rectified linear unit (relu) activations. The normalization layer 1 1 is used to normalize the vector x in a way so that it is suitable for transmission by the transmitter hardware, e.g., comply with a maximum amplitude, power limit, etc. Accordingly, the normalization layer 1 1 applies a known transformation to its inputs, such as normalization to a predetermined norm, scaling of the elements to have not more than unit absolute value or unit absolute value, or convolution with a known filter. This layer has no trainable parameters but is used to satisfy the hardware constraints of the hardware transmitter 22. If the machine learning model 6 uses an integer input, the first layer of the transmitter neural network is for example an embedding, followed by the dense layers 1 0.

The channel model 8 represents the relation between the transmitted vector x and the received signal y, for example based on a probability density function p(y | x). In some embodiments, the channel model 8 includes a sequence of stochastic regularization layers 1 2, e.g., addition of Gaussian noise, convolution with a random channel impulse response. These layers 1 2 have no trainable weights. The channel model 8 may include also at least one of: a random phase offset, frequency offset, sampling-frequency offset, quantization, and clipping. The channel model 8 provides a received signal y as a function of the vector x. The received signal y may be for example an IQ sample.

The receiver model 9 transforms a received signal y into output data s which is an estimate of the input data s: s = g(y). The receiver model 9 comprises a neural network with multiple dense layers 1 3 followed by a formatting layer 14. The multiple dense layers 1 3 include for example rectified linear unit (relu) activations. The formatting layer 1 4 provides the output data s in a format matching the format of the input data. For example, in the case of a "one-hot" vector, the formatting layer 14 has a softmax activation whose output "p_s" can be interpreted as a probability distribution over all possible messages, i.e., the elements of "p_s" are positive and sum-up to one. The decoded message corresponds then to the index of "p_s" with the highest probability. For binary inputs, the output vector may be generated by a formatting layer 14 with sigmoid activations that ensure that each element lies within the range from 0 to 1 . Alternatively, tanh-activations can be used to ensure output values within the range from - 1 to 1 .

In some embodiments, the transmitter model 7 comprises, in addition to a neural network, other processing modules such as source coding, upsampling and pulse shaping, digital to analog conversion, mixer and amplifier...

Similarly, in some embodiments, the receiver model 9 comprises, in addition to a neural network, other processing modules such as amplifier and down conversion, analog to digital conversion, filtering and decimation, source decoding...

For example, at the transmitter 22, the neural network generates complex modulated symbols that are then upsampled and filtered as in a traditional system. Similar options are possible for the receiver. This is useful for multi-carrier systems, such as OFDM, where neural networks could be used to generate complex symbols that are mapped to subcarriers with the help of an inverse Fourier transform (FFT). At the receiver 31 , the neural network would then begin after the FFT (and cyclic prefix removal).

Importantly, even if only sub-parts of the transmitter 22 and receiver 31 are replaced by neural network layers, the system 1 is always optimized from end-to- end. This is very different from individual learning/training of sub-components.

Figure 3 is a flow chart of a method for configuring the data transmission system 1 , executed by the configuration device 5, by using the machine learning model 6.

First, the configuration device 5 trains the machine learning model 6 (step SI ). The machine learning model 6 can be trained end-to-end as an auto-encoder. The training data is the set of all possible messages. Training the machine learning model 6 may comprises determining weights by applying the stochastic gradient descent technique for a given differentiate loss function. Examples of suitable loss functions include the binary cross-entropy, the mean squared error, categorical cross- entropy... depending on the format of the input data.

Then, the configuration device 5 configures the transmitter 22 and the receiver 31 according to the trained machine learning model 6 (step S2). Configuring a transmitter 22 may including deploying the neural network of the transmitter model 7, with its trained weights, in the configurable part of the transmitter 22. This may include for example the use of FPGA and/or a computer program and a processor. Similarly, configuring the receiver 31 may including deploying the neural network of the receiver model 9, with its trained weights, in the configurable part of the receiver 31 . This may include for example the use of FPGA and/or a computer program and a processor.

Then, the transmitter 22 sends a plurality of messages, specified by input data s, to the receiver 31 . For example, the transmitter 22 generates a plurality of messages as a function of random data. The receiver 31 stores the corresponding received signals y.

The configuration device 5 obtains training data representative of the sent messages (e.g. the input data s) and of the corresponding received signals y (step S3). For example, information about the sent messages is obtained from the transmitter 22, and information about the corresponding received signals y is obtained from the receiver 31 . In some embodiments, such as described hereafter with reference to Figure 4, techniques are used for identifying the sent messages at the receiver 31 . Accordingly, the configuration device 5 may obtain the whole training data from the receiver 31 , and communication with the transmitter 22 is not necessary at this step. Then, the configuration device 5 trains the receiver model 9 according to the obtained training data (Step S4). More specifically, the receiver model 9 is trained based on the received signals y and corresponding messages or input data s. Training the receiver model 9 may comprises determining weights by applying the stochastic gradient descent technique for a given differentiate loss function.

Then, the configuration device 5 configures the receiver 22 according to the trained receiver model 9. As before, configuring the receiver 31 may including deploying the neural network of the receiver and application model 9, with its trained weights, in the configurable part of the receiver 31 . This may include for example the use of FPGA and/or a computer program and a processor.

It should be noted that the weights of the transmitter model 7 remain unchanged during steps S3 to S5.

Steps S3 to S5 may be repeated to take varying channel condition (e.g. due to temperature changes, fog, movement of the transmitter and/or receiver, changes in the radio environment due to additional/less scatterers or blocking obstacles...) into account.

In some embodiments, the transmitter model 7 does not include a neural network. The transmitter 22 does not include a configurable part configured in function of a transmitter neural network. Accordingly, the transmitter 22 may be referred to as a "traditional" transmitter. Nevertheless, the machine learning model 6 is trained end-to-end at step SI .

In the system 1 , the transmission of data is optimized end-to-end by training a machine learning model 6. This improves the efficiency of the data transmission.

During the initial training of the machine learning model 6 as an autoencoder (step SI ), a channel model 8 is used. This allows determining the gradient of the channel model 8 for training. However, the channel model 8 may not represent the channel 4 perfectly, and this impacts the performance of the data transmission system 1 .

Accordingly, the configuration device 5 performs a receiver fine-tuning process (Steps S3 to S5). This improves the performances of the data transmission system 1 by taking the real channel 4 into account. Repeating the receiver fine-tuning process allow taking varying channel condition into account, for example in real time.

Also, the concept has significant implications for physical layer security as it is very difficult for an eavesdropper to extract useful information from the transmitted signal because it does not correspond to any known modulation/coding scheme. Figure 4 is a functional view of the data transmission system 1 , in an embodiment wherein the receiver 31 is configured for recovering labelled training data for the receiver fine-tuning process.

Indeed, after the initial configuration of the data transmission system 1 based on steps SI to S5, the receiver 31 is susceptible to channel alterations over time, because the receiver model 9 was trained for the exact channel conditions at the time of training data measurements. To ensure that the receiver 31 can handle channel alterations over time it is helpful to perform the fine-tuning process periodically.

Therefore, this embodiment proposes a method to fine-tune the receiver model 9 adoptively in real-time such that it can handle fluctuating channel conditions (e.g., fog in a wireless backhaul channel). Thus, slightly drifting channel parameters (e.g., temperature drift) can be compensated via fine-tuning parallel to the data transmission. The configuration device 5 can do the fine-tuning training of the receiver model 9 in parallel without interrupting the data transmission. Whenever new weights are available for the receiver model 9, the receiver 31 can be configured with these values and therefore the receiver 31 is adapted to the current channel conditions.

As supervised training always requires a labeled training dataset (i.e., the originally transmitted message (bits or IQ-samples) that must be known at the receiver side, which is typically not the case due to the presence of noise), the present embodiment proposes a method to circumvent this problem and to acquire labeled training data during runtime directly from the received signal.

Accordingly, in this embodiment, the transmitter 22 comprises an error correction module 23, a mapping module 24 and a transmission module 25, and the receiver 31 comprises a reception module 33, a mapping module 34, an error correction module 35 and a recovering module 36.

The data source 21 provides source data u to the transmitter 22.

The error correction module 23 determines a codeword CW of N bits as a function of the source data u, by applying an error correction code (ECC). Examples of suitable ECC include LDPC, turbo codes, polar codes...

The mapping module 24 maps the codeword CW to a sequence of successive messages. For example, a unique binary number (labeling) can represent each of the M possible messages. The mapping module 24 maps respective groups of "log2(M)" bits to a corresponding message. As powerful error correction codes (e.g., LDPC codes) require long codewords of length "N" (typically "N> > log2(M)"), one codeword CW is divided into "N/log2(M)" messages. The successive messages are specified by successive input data s and processed by the transmission module 25, which has been configured according to the trained transmitter model 7, to determine a transmitted signal x.

The successive received signals y are processed by the reception module 33, which has been configured according to the trained receiver model 9, to determine respective output data s identifying the received messages.

The mapping module 34 maps the received messages to their binary labelling to produce a received codeword RCW. The sequence of messages at the receiver 31 may be different from the sequence of messages at the transmitter 22, due to transmission errors. Thus, the received codeword RCW may be different from the codeword CW.

Accordingly, the error correction module 35 determines the destination data ΰ by decoding the error correction codes applied by the error correction module 23 to the received sequence of messages.

In most case, the error correction code can correct any error and the source data u and the destination data ΰ are identical.

Accordingly, the recovering module 35 can recover the transmitted messages (specified by input data s) associated with the respective received signals y. This is done by applying the same processing as the error correction module 23 and the mapping module 24 to the destination data u.

By using training data comprising the recovered input data s and corresponding received signals y for labelled training, the configuration device 5 determines an updated received model 9 (e.g. including new weights) and configures the receiver 31 according to the updated received model 9.

If the channel conditions are very bad, the error correction code may fail to recover the correct destination data u. One way how this can be determined at the receiver is by adding a cyclic redundancy check (CRC) around u which lets the receiver determine if ΰ is valid. Only messages sequences for which the CRC is positive can then be included in the training data for fine-tuning to avoid training on erroneous data.

The embodiment of Figure 4 allows obtaining training data for the receiver fine-tuning process, without the need of a communication between the configuration device 5 and the transmitter 22. Obtaining the training data does not requires interruption of the communication between the transmitter 22 and the receiver 31 and does not requires the transmission of pilot symbols which would cause rate loss.

Figure 5 is a structural view of the configuration device 5, which present the general architecture of a computer. The configuration device 5 comprises a processor 51 and a memory 52. The memory 52 stores a computer program P which, when executed by the processor 51 , causes the configuration device 5 to execute the method described above with reference to Figure 2 to 4.

In some embodiments, the configuration device 5 is collocated with or part of the source device 2 or destination device 3.

It is to be remarked that the functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared, for example in a cloud computing architecture. Moreover, explicit use of the term "processor" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.

It should be further appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention. Similarly, it will be appreciated that any flow charts represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.

Embodiments of the method can be performed by means of dedicated hardware and/or software or any combination of both.

While the principles of the invention have been described above in connection with specific embodiments, it is to be clearly understood that this description is made only by way of example and not as a limitation on the scope of the invention, as defined in the appended claims.