WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2017-Dec-07 03:32:25

vutran
Member
Registered: 2017-Jul-01
Posts: 35

802.11 Reference Design Multiple Antennas

Hi,

I'm trying to use the Experimental Framework in 802.11 Reference Design (the python package). But I notice that the design supports only 1 receiving antenna at a time (RF_A or RF_B). So I have 2 questions:
(1) Can you please advise me if it is possible to use the framework with multiple antennas? (4 antennas including the extension slot)
(2) Can I synchronize 2 boards and extended antennas to use 8 antennas in total? (I've been able to sync 2 board using my own Tx and Rx scheme, but not the 802.11)

Thank you.
Vu

Offline

 

#2 2017-Dec-09 12:42:32

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 4924

Re: 802.11 Reference Design Multiple Antennas

(1) Can you please advise me if it is possible to use the framework with multiple antennas? (4 antennas including the extension slot)

The current 802.11 Reference Design for WARP v3 (v1.7.4) implements SISO Tx and Rx PHYs. The PHY cores can use either RF interface on the WARP v3 board (RF A or RF B). The Rx PHY also supports selection diversity, choosing RF A or RF B for each packet based on a received power estimate for that packet. You can extend the design to access 4 RF interfaces when using WARP v3 + FMC-RF-2X245 hardware. In this configuration the Tx and Rx PHY cores are still SISO but can choose between four RF interfaces per packet. An overview of the required changes is given in this app note

(2) Can I synchronize 2 boards and extended antennas to use 8 antennas in total? (I've been able to sync 2 board using my own Tx and Rx scheme, but not the 802.11)

In theory this is possible, but would require extensive customization of the design. The 802.11 Tx and Rx PHY cores are implemented in the fabric of the FPGA and assume direct connections to the digital I/Q interfaces of the radio DACs/ADCs and direct connections to the radio control interfaces. Connecting the RF interfaces on one board to the Tx/Rx PHY cores on another board would require a custom (and complicated) FPGA design using some form of high-speed connection (MGTs?) between the boards. An alternative would be implementing Tx/Rx PHYs on both FPGAs, then coordinating PHY behaviors across boards. Again, this would require major changes to the overall design.

Offline

 

#3 2017-Dec-10 22:22:07

vutran
Member
Registered: 2017-Jul-01
Posts: 35

Re: 802.11 Reference Design Multiple Antennas

Thank you very much.
It looks complicated. Because I just want to receive and process the preamble of incoming packets. However, I couldn't find the function to receive packets in real-time using WARPLab. It's like the transmitter and receiver should start at almost the same time to receive the I/Q data.
I would explain my goal: for each incoming packet, the software/hardware on the WARP detect the packet, compute CSI matrix and send it back to my application (e.g. Python); or the WARP stores the CSI matrix in its memory, and my application reads those matrices later.
Do you have any suggestion for me to start? Should I use the 802.11 Reference Design and modify it or any simpler solution?

Offline

 

#4 2017-Dec-11 10:08:02

chunter
Administrator
From: Mango Communications
Registered: 2006-Aug-24
Posts: 1171

Re: 802.11 Reference Design Multiple Antennas

vutran wrote:

It looks complicated. Because I just want to receive and process the preamble of incoming packets. However, I couldn't find the function to receive packets in real-time using WARPLab. It's like the transmitter and receiver should start at almost the same time to receive the I/Q data.

This behavior depends on the PHY algorithm being implemented in M. The Rx node needs to capture the transmitted waveform in order to decode anything. In situations where the Tx node is another WARPLab instance, you can just use the same Ethernet trigger to start the Tx and start the Rx capture at the same time. In situations where the Tx node is some other RF source or a WARPLab node that isn't on the same wired subnet, you could use the Trigger Manager to start an Rx capture on something else like an increase in Rx energy or an external input connected to the debug header of the board. Once the waveform is captured, it's up to the underlying PHY algorithm to find the relevant samples within the capture to start processing. The OFDM Example we provide does this by correlating for the known long training symbols in the preamble.

vutran wrote:

I would explain my goal: for each incoming packet, the software/hardware on the WARP detect the packet, compute CSI matrix and send it back to my application (e.g. Python); or the WARP stores the CSI matrix in its memory, and my application reads those matrices later.
Do you have any suggestion for me to start? Should I use the 802.11 Reference Design and modify it or any simpler solution?

As murphpo mentioned, getting the 802.11 Reference Design to access >1 radio interface for Tx and Rx is straightforward, but actually building the extensions to the design for MIMO processing is quite challenging. If you can get away with an implementation that isn't real-time (i.e. capturing CSI from every single packet), then I'd recommend building the parts of the MIMO receiver that you need in WARPLab. Even if you do eventually need a real-time implementation, you'd probably want to start with a WARPLab implementation first. Note: WARPLab supports very large Rx buffers. It can capture a full 3.35 seconds of data sampled at 40MSPS before transferring everything to the host PC for processing. So, you could conceivably build something that gives you CSI for every reception in a 3.35 second window. It isn't "realtime," but it might be sufficient for your purposes.

Offline

 

#5 2017-Dec-21 01:04:57

vutran
Member
Registered: 2017-Jul-01
Posts: 35

Re: 802.11 Reference Design Multiple Antennas

Thank you for your suggestion. I found the WarpLab with large buffer is easier for me to start.

Offline

 

#6 2017-Dec-26 22:18:55

Nipz
Member
Registered: 2017-Dec-05
Posts: 1

Re: 802.11 Reference Design Multiple Antennas

Hi, I am also trying to do the same thing for my project using a warp v3. When I tried to extend the rx length to the maximum length as stated in the Buffer Size, I ended up with a memory limitation error.  Is there any special requirement when extending the receiving buffer size?

Offline

 

#7 2017-Dec-27 10:19:26

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 4924

Re: 802.11 Reference Design Multiple Antennas

You'll have to tell us what the "memory limitation error" was. In general WARPLab sample vector lengths are limited by your MATLAB installation's maximum array size. You can run 'memory' on the MATLAB command line (and read the the related MATBLAB docs) to understand what these limitations are.

Offline

 

Board footer