0
$\begingroup$

Warning: I'm a bit of a noob with respect to this entire field, but I took some classes on it (a few years ago) and found it fascinating.

Anyhow, as far as I understand it, modulation is the process of converting data to a signal, using quite a fair bit of creativity in the process. For example QPSK can be presented in the complex domain in the following way:

Dual constellation diagram for π/4-QPSK. This shows the two separate constellations with identical Gray coding but rotated by 45° with respect to each other. (from wikipedia)

Timing diagram for π/4-QPSK. The binary data stream is shown beneath the time axis. The two signal components with their bit assignments are shown the top and the total, combined signal at the bottom. Note that successive symbols are taken alternately from the two constellations, starting with the "blue" one. (from wikipedia)

The resulting signal is also very confusing:

Timing diagram for π/4-QPSK. The binary data stream is shown beneath the time axis. The two signal components with their bit assignments are shown the top and the total, combined signal at the bottom. Note that successive symbols are taken alternately from the two constellations, starting with the "blue" one. (from wikipedia)

Timing diagram for π/4-QPSK. The binary data stream is shown beneath the time axis. The two signal components with their bit assignments are shown the top and the total, combined signal at the bottom. Note that successive symbols are taken alternately from the two constellations, starting with the "blue" one. (from wikipedia)

The actual question

Could an AI be used to generate better modulation/coding schemes? Perhaps kind of like the following AI "learned" to walk: https://www.youtube.com/watch?v=gn4nRCC9TwQ, we could create a "game" (really an advanced physics simulation) in which the AI has to modulate and demodulate a signal and try to achieve a very high data rate while keeping bit errors as low as possible in different conditions. These new standards would probably be even harder to explain to humans but more efficient.

Any help is welcome:

  • Has this already been done?
  • Has there been any research on this? If yes, how much more efficient could generated processes be?
  • Is this not possible yet because it would be complicated to create transmitters and receivers for the process?
$\endgroup$
  • $\begingroup$ Artificial intelligence is a vast field. I'm pretty sure that genetics algorithms have been used before to improve modulation and demodulation algorithms. $\endgroup$ – Ben Dec 17 '19 at 15:28
  • 2
    $\begingroup$ Some work has been done using auto encoder neural networks. The basic idea behind an auto encoder is that the neural network should "learn" (minimize a loss function) to output exactly what you input into it. This is what happens in communication systems: you want the receiver to output exactly what the transmitter sent. Check out this paper: arxiv.org/pdf/1608.06409.pdf, you can even see where the neural network beats QPSK for example $\endgroup$ – Engineer Dec 17 '19 at 18:54
  • $\begingroup$ @Engineer Good answer (I believe) why not post it below? $\endgroup$ – Dan Boschen Dec 18 '19 at 2:16
  • $\begingroup$ @Engineer this seems to be exactly what I was looking for, can you add it as an answer as @​Dan Boschen suggested? $\endgroup$ – Sandro Dec 18 '19 at 12:30
2
$\begingroup$

As per my knowledge, one of the recent papers on this topic can be found here, where the authors used machine learning algorithms to generate the optimal constellation shaping. Surprisingly, the results were in line with an old work: F. R. Kschischang and S. Pasupathy, "Optimal nonuniform signaling for Gaussian channels," in IEEE Transactions on Information Theory, vol. 39, no. 3, pp. 913-929, May 1993.

Moreover, autoencoders, neural networks, reinforcement learning and deep learning are being applied for end-to-end learning (especially in the case of wireless communications), where the mathematical model of the wireless communication channel is not very accurate. One such article can be found here.

Also, for the case of polar codes, deep-learning-based decoders are very popular nowadays at least in academia.

| improve this answer | |
$\endgroup$
1
$\begingroup$

Some work has been done using auto encoder neural networks. The basic idea behind an auto encoder is that the neural network should "learn" (minimize a loss function) to output exactly what you input into it. This is what happens in communication systems: you want the receiver to output exactly what the transmitter sent. Check out this paper: https://arxiv.org/pdf/1608.06409.pdf, you can even see where the neural network beats QPSK for example

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.