Computer-implemented method for configuring a data transmission system, 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 a relationship between input data (s) of the transmitter and output data ( ŝ) of the receiver, wherein the machine learning model specifies at least a transmitter model, a channel model, and a receiver model including a receiver neural network (10, 11), wherein the machine learning model is trained as an auto-encoder, - configuring the transmitter and the receiver based on the trained machine learning model, characterized in that it comprises, after configuring the transmitter and the receiver based on the trained machine learning model: - obtaining, from the receiver, training data specifying a set of messages sent by the transmitter and the corresponding signals received by the receiver, wherein said training data has been determined by the receiver by: - receiving successive signals (y), - determining a sequence of received messages ( ŝ) corresponding to the received successive signals, - 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, and - determining a sequence of transmitted messages (s) as a function of the destination data (û), - training the receiver model based on the obtained training data, and - configuring the receiver based on the trained receiver model. - training a machine learning model of the data transmission system, wherein the machine learning model specifies a relationship between input data (s) of the transmitter and output data ( ŝ) of the receiver, wherein the machine learning model specifies at least a transmitter model, a channel model, and a receiver model including a receiver neural network (10, 11), wherein the machine learning model is trained as an auto-encoder, - configuring the transmitter and the receiver based on the trained machine learning model, - obtaining, from the receiver, training data specifying a set of messages sent by the transmitter and the corresponding signals received by the receiver, wherein said training data has been determined by the receiver by: - receiving successive signals (y), - determining a sequence of received messages ( ŝ) corresponding to the received successive signals, - 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, and - determining a sequence of transmitted messages (s) as a function of the destination data (û), - receiving successive signals (y), - determining a sequence of received messages ( ŝ) corresponding to the received successive signals, - 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, and - determining a sequence of transmitted messages (s) as a function of the destination data (û), - training the receiver model based on the obtained training data, and - configuring the receiver based on the trained receiver model.