discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] (GSoC) MIMO system


From: YiZiRui Zhou
Subject: [Discuss-gnuradio] (GSoC) MIMO system
Date: Mon, 24 Feb 2014 00:33:45 +0800

Hello everyone,


I’m a graduate student from China. I major in Computer Science and my research focus on wireless networks. Today, I’m glad to share some of my ideas on MIMO with you. (maybe a little pleonastic)


Definitely, MIMO is not a new terminology since it has been studied for many years. But it was not until 2009 that MIMO really come to us. Now, it is much closer. MIMO is widely deployed in both cellular networks and WLANs, with multiple antennas it can increase the performance of wireless systems significantly. The good news is, with the help of GNU Radio and USRPs, we can also enjoy the benefits brought by MIMO. Now, I’m on a project to build a simple MIMO system. 


Basically, this system works a bit like a micro MIMO WLAN. The AP in this WLAN has two antennas and all of the Clients have only one antenna. Apparently, such a system should support both uplink and downlink transmission.


Uplink: Clients can transmit frames to the AP. With two antennas, the AP will receive two copies of the same symbols transmitted by the Client. The only difference is that these symbols traverse different channels and experience different degrees of channel attenuation. With the CSI(Channel State Information) which can be acquired by the preamble, the AP leverages some decoding techniques to combine the signals received by the two antennas and decode the corresponding symbols. When there is only one Client transmit to the AP, decoding can be done by MRC(Maximal-ratio combining) algorithm. Multiply the symbols received by the antennas with the conjugate complex of channel attenuation value h respectively, the total SNR in this transmission can be increased. If there are two clients transmit to the AP simultaneously, decoding can be done by ZF or ZF-SIC(zero-forcing Successive Interference Cancellation) algorithm. Multiply the symbols received by the antennas with the orthogonal vector of the channel attenuation vector H, the contribution of corresponding Client can be eliminated. Thus, the symbols transmitted by the two clients can be separated and decoded. (ZF-SIC is *difficult* to implement due to the synchronization issues between different Clients).


Downlink: AP can also transmit to the Clients. The biggest advantage is that the AP can transmit to up to two different Clients simultaneously with two antennas.  MIMO node can utilize Beamforming techniques to pre-code the symbols transmitted by the two antennas. If the AP transmit to only one Client, it just need to adjust the signal transmit on the two antennas according to the channel attenuation h. Thus the total power received by the Client is increased. The AP can also transmit to two Clients concurrently, as long as the two Client's channel attenuation coefficient is linearly independent. Through transmitting linearly combination of symbols to different receivers on separate antennas simultaneously, the Clients can decode the symbols for them as if other signals do not exist. the total capacity is thus increased. 


So, here is my basic proposal (which might be added to the “Signal Processing” section of GR GSoC website?)


MIMO system


MIMO is a great technology which utilizes multiple antennas at both transmitter and receiver to improve communication performance. It is more and more prevalent now. But MIMO is not a standard application in GNU Radio yet. Creating an OOT module (gr-mimo) that implements some of the basic encoding and decoding algorithms would be great for the research beginners and engineers. 


Objectives


1. Build a MIMO system with one AP and several Clients, the AP has two antennas and all of the Clients has one antenna only.

2. On the uplink, implement the MRC decoding algorithm at the AP. The Clients transmit to the AP randomly based on standard OFDM PHY.

3. On the downlink, implement the Beamforming encoding algorithm at the AP. Upon receiving the frame from the Clients, the AP encodes the frames to two(one) of the clients and transmits the frames to them(it) simultaneously. Also based on OFDM PHY.


Notes: the channel state information (CSI) used in encoding and decoding algorithms can be acquired by OFDM preambles (Sync words).


Requirements


Decent understanding of OFDM and MIMO. Algorithms would be coded in both C++ and Python. 


Potential mentor(s)


*********************


PS: I work on this project for both study and research purpose, before it I have gone through many relative papers and tutorials on how to build a MIMO system in GNU Radio. So I feel that implementing a MIMO system in GNU Radio is feasible. Nevertheless, I have to treat it cautiously since it is really complicated to make it work. Now, I have already built an elementary MIMO node with two USRPs (figure of the AP is attached to the end of the Email) and I’m working on a new module (gr-mimo) based on tx_ofdm.grc and rx_ofdm.grc to implement uplink transmission. The next step is to debug and test the uplink transmission. Since there is no gr-mimo standard module in GNU Radio, I guess this project might be useful to GNU Radio beginners. If it has the honor of being involved in Google Summer of Code(GSoC) 2014, that would be fantastic. Anyway, I am eager to get some insights from you. :-)


Thanks,

Zhou YiZiRui

Attachment: IMAG.jpg
Description: JPEG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]