The Project

The project in the course TSKS05 Communication Systems CDIO has been to demonstrate the capabilities of Massive MIMO in an audio environment, building upon the work done by a previous project, Massive Audio Beamforming. Using the hardware built in the previous project we have designed and implemented communication and Zero Forcing capabilities to the already existing system. The Zero Forcing and MIMO technique can ultimately be demonstrated in the implemented system by sending different data to two different terminals, simultaneously and error-free.

Background

Brief introduction to the techniques used

Multiple Input Multiple Output (MIMO) is an essential element of wireless communication that uses multiple antennas at both the transmitter and receiver to enhance the capacity of the radio link. Massive MIMO is a new innovative version of MIMO which uses a very large number of transmitter antennas that are operated in a completely coherent and adaptive manner to focus the transmission of signal energy into small regions of space.

Beamforming is one of the techniques that can be used in a MIMO system. The concept is that signals from the multiple antennas are transmitted in such a way that the signal energy gets focused at certain points in space by constructive and combining. In the case of Zero Forcing beamforming, the signal energy is focused at the relevant user while the other users essentially receive no signal at all. In the ideal case this would lead to zero interference between the different users of the communication system, a very valuable property to have in a communication system.

Implementation

The code is implemented in MATLAB and consists of 5 main modules.

  • Controller: Responsible for the flow of the program and sending/receiving data from the Hardware.
  • Calibration: This module is only run once or when the hardware changes in order to account for differences in hardware. For example the outputted amplitude with the current hardware differ by a factor 5 between units.
  • Channel Estimator: Responsible for providing amplitude and phase shift estimations to the MIMO module. This is done by sending a known pilot and then comapre it with the recorded signals.
  • Channel Coder: Responsible for the channel coding which includes error control, data modulatoin, passband conversion and the MIMO combining technique using zero forcing.

Results

We have succesfully demonstrated the concept of Zero Forcing with a MIMO tehcnique based on audio. Simultaneous error-free data transmission to two terminals has been achieved. It is even possible to transmit data to four terminals at once if an error rate of a few percent is acceptable. The main reason for not achiveing better results is the inconsistency and low performance of the hardware, higher sampling frequencies of the A/D and D/A cards would make a clear improvement on the performance. The top figure shows the received symbols when one terminal is forced to zero while we are sending data to the other. In the bottom figure the received symbols are shown for the two terminals when data is sent simultaneously to both terminals. Note that the transmission is succesful if two clusters are distinguishable except when we force the signal to zero then we want all symbols in the origin.

Want more information?

More extensive information can be found in the documents section.