WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2016-Jun-22 05:36:54

Edlmann
Member
Registered: 2015-Sep-09
Posts: 30

Phy under Interference

Hi,

we are still in the process of evaluating a TDMA based MAC under Interference.

Our setup is the following: 3 WarpV3 nodes setup on the same table (with distances < 1.5m between each other), with an interference system consisting of an 802.11a AP + Wlan stick in the next room over (currently running on 20 MHz bandwidth with iperf delivering  an 11 MBit/s UDP stream).

Our goal is to minimize the impact that the interference has on our TDMA MAC. After implementing an RX-Reset as discussed here (Thanks again for the Feedback), the performance of the system has increased, but is still nowhere near what we expected.

We can differentiate between Interference Traffic and Warp-Traffic based on the PLCP alone, since we can identify packets belonging to our system based on MAC and length alone. To filter out Interference packets ASAP we have the following code at the beginning of our frame_receive:

Code:

u32 frame_receive(u8 rx_pkt_buf, phy_rx_details_t* phy_details){

	if ((phy_details->mcs != system.mcs) ||
		phy_details->length < NUM_HEADER_BYTES ||
		phy_details->length > NUM_HEADER_BYTES + system.maxPakLength + WLAN_PHY_FCS_NBYTES ||
			phy_details->phy_mode == PHY_MODE_DSSS) {
		REG_SET_BITS(WLAN_RX_REG_CTRL, WLAN_RX_REG_CTRL_RESET);
		REG_CLEAR_BITS(WLAN_RX_REG_CTRL, WLAN_RX_REG_CTRL_RESET);
		return 0;
	}

        //Here, only transmissions we are actually interested in will be decoded. The reset above is executed for all Interference packets.
       //Process the packet
}

The filter implemented above is able to reliably filter out the Interference packets, and generates an rx-reset event for only the Interference packets. All packets belonging to our MAC get passed to our processing pipeline.
In this case, we do however see unreliable receptions for our own MAC-packets. As long as the (cancelled) Interference packet and our packets overlap in the time domain, we see upwards of 10% of transmissions not generating a reception event on the receiver side. From our measurements it does not matter where the interference packets overlap.

Our current theory is that the AGC and/or packet detector stay locked when the RX-PHY is reset. This is validated by the observation that all packets are received if we set the pktDetector threshold high enough using

Code:

wlan_mac_low_set_pkt_det_min_power();
wlan_phy_enable_req_both_pkt_det();

. This in combination with the different received powers between our & interfering system could lead to the gain-settings beeing incompatible with new incoming packets. To confirm this we tried to add a reset of the AGC anytime the rx phy is reset using

Code:

Xil_Out32(WLAN_AGC_REG_RESET, 1);
Xil_Out32(WLAN_AGC_REG_RESET, 0);

but the results stayed the same.

To further validate this assumption, we setup a dedicated test with only the 3 Warp Boards, where 1 board acts as Interferer, the 2nd acts as transmitter, and the 3rd logs received events (including execution of an rx-reset if a packet from board 1 is received). In this experiment, we saw that we could successfully overwrite the transmissions of board 1 if the difference in transmission power between boards 1 + 2 was around 15 dBm (board 1 operating at -55 dBm, board 2 at -45 dBm).

To sum it up, we are looking for the answer to two questions:
1.) Which other components of the receiver could stay active for the whole packet length, even if an RX_RESET event is issued, that could interfere with new packet receptions?
Are there ways to reset/unlock those components?

2.) Is the code above the correct way to reset the AGC + clear it up for new receptions?


Another only tangentially related question:
For the macro

Code:

#define wlan_phy_rx_pktDet_autoCorr_ofdm_cfg(corr_thresh, energy_thresh, min_dur, post_wait)

in what unit is the energy_thresh parameter? Is there any way to directly correlate this with received packet power?

Thanks

Last edited by Edlmann (2016-Jun-22 07:38:37)

Offline

 

#2 2016-Jun-22 13:00:56

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

Re: Phy under Interference

Our current theory is that the AGC and/or packet detector stay locked when the RX-PHY is reset. This is validated by the observation that all packets are received if we set the pktDetector threshold high enough using

I don't think this is the cause. Toggling the Rx PHY reset via the WLAN_RX_REG_CTRL_RESET register will de-assert the OFDM packet detection latch, thereby clearing the pkt det state and resetting the AGC.

There is a post-reset timeout during which new packet detection events are blocked (this is to avoid pkt det events on Rx signal transients caused by the Rx amplifiers resetting to the default high gain state). After this timeout the pkt det logic is ready to re-assert on the next pkt det event. Also keep in mind that each pkt det event lasts at least the duration of the standard preamble. The Rx PHY will auto-reset the pkt det state if the LTS correlator does not assert at the expected time. Together these factors can lead to missed receptions of your desired waveform if it happens to overlap the first part of an interfering waveform (anytime during the preamble, SIGNAL field, SIGNAL decoding time or post-pkt-det-reset timeout).

There is a non-zero chance of the pkt det logic asserting in the middle of a reception, if the incoming waveform happens to have auto-correlation properties similar to the preamble STS. With the default thresholds this should be rare.

Some Wi-Fi chipsets implement "message in message", which attempts to detect the arrival of a stronger waveform during a weaker one and resets its Rx PHY to attempt decoding the stronger waveform. Our PHY does not implement this.

...all packets are received if we set the pktDetector threshold high enough using
wlan_mac_low_set_pkt_det_min_power();
wlan_phy_enable_req_both_pkt_det();

This makes sense. Enabling the RSSI detector and/or requiring a min power will reduce the PHY's sensitivity and can effectively filter out lower-power waveforms before the Rx PHY pipeline. If your interfering nodes are further away, you can configure the WARP node's Rx PHY to be "deaf" to the interference.

wlan_phy_rx_pktDet_autoCorr_ofdm_cfg(corr_thresh, energy_thresh, min_dur, post_wait)

in what unit is the energy_thresh parameter? Is there any way to directly correlate this with received packet power?

The unit is arbitrary; the energy thresh is compared to sum(I^2 + Q^2) in the auto-correlation pkt det pipeline. It needs to be small to allow detection of low-SNR waveforms, where the Rx I/Q don't fill the ADC range even with the AGC's default high gains.

Offline

 

#3 2016-Jun-23 09:10:30

Edlmann
Member
Registered: 2015-Sep-09
Posts: 30

Re: Phy under Interference

With your feedback we devised some tests to further track down the issues we're seeing.
We tested two different setups:
First, we took 2 Warp Nodes in the same channel that the WLAN system is on, and both cancel the Interference packets when they receive them.
One node waits 10 usec after cancelling the Interference reception, and then transmits a small (20 byte) packet as illustrated below. This will be Node 1 from here on out.
http://i.imgur.com/u6rzMOv.png
The other node logs all packets it received along with the reception power. In the bottom table, each packet is sorted into a bucket: If it is a packet that has been cancelled based on PLCP, its sorted into the corresponding dBm bucket on the right, while packets from our system are sorted into the left.

We ran this test until the Node 1 had generated 20k packets.

With a transmission power of 21dBm for Node 1, we got the following results:
http://i.imgur.com/GyQHqVh.png
The top row contains the logged packet events. In this instance, 20k Interference packets were canceled (S1: cancel: 20000), and 14283 packets from Node 2, with the last received packet having the sequence Number 19919. A total of 5636 packets were lost, resulting in a PER of 28%.

In a second experiment, we moved to a free channel, and generated the long interference packet with a 3rd WARP Node.
The rest of the experiment stayed the same. The corresponding results are the following:
http://i.imgur.com/ojSsOu9.png

As you can see, the Received power of Interference and Our own packets are closer together, resulting in an overall lower SINR compared to the WLAN Interference above. We would expect this to result in a worse PER, but as you can see only 1233 packets of 20000 have been lost, resulting in a PER of 6% (18767 packets decoded + passed Checksum test, last packet had sequence number 20000).

We don't really have an explanation for this behaviour, we would have expected a higher SINR to lead to better performance of our system. Since the Preambles cannot overlap in this scenario (due to the alignment of our own transmissions with an RX_START event) that cannot be the cause of this high PER we are seeing with the WLAN interference.

Do you know any effect that might cause this?

Concerning the filtering of packets based on RX-Power: We have been experimenting with this, but the scenarios in which we can effectively distinguish interference packets and MAC packets for each participating node without hurting the systems performance are limiting the application scenarios too heavily.

Last edited by Edlmann (2016-Jun-23 09:30:39)

Offline

 

#4 2016-Jun-23 11:04:22

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

Re: Phy under Interference

Edlmann wrote:

In a second experiment, we moved to a free channel, and generated the long interference packet with a 3rd WARP Node.

...

would have expected a higher SINR to lead to better performance of our system.

What happens if you don't move to a different channel, but simply unplug the Wi-Fi equipment and replace it with the 3rd interfering WARP node? Could one explanation be that there are other sources of interference that you aren't accounting for? The tables you listed account for known signal powers and known interference powers (from the Wi-Fi link you control). But unknown interference powers could exist that wouldn't be tabulated there (e.g. a high power 802.11ac network, a microwave oven, etc.). Maybe the actual SINR isn't better in the WARP experiment but rather your experiment is blind to the other sources of interference.

If your Wi-Fi interfering equipment has external SMA antennas, you could control for external interference by switching away from an over-the-air experiment in favor of an over-the-wire experiment with RF cabling, attenuation, and a power splitter:

Code:

                 Interferer
                    |
                    A
                    |
TDMA1 ----A---- Power Splitter ----A----  TDMA2


A: Attenuator

The "interferer" here could be either the commercial Wi-Fi equipment or the WARPv3 interferer. This would let you repeat the same experiment but be much more confident about the source of the interference on the TDMA link.

Offline

 

#5 2016-Jun-23 12:41:50

Edlmann
Member
Registered: 2015-Sep-09
Posts: 30

Re: Phy under Interference

chunter wrote:

What happens if you don't move to a different channel, but simply unplug the Wi-Fi equipment and replace it with the 3rd interfering WARP node? Could one explanation be that there are other sources of interference that you aren't accounting for? The tables you listed account for known signal powers and known interference powers (from the Wi-Fi link you control). But unknown interference powers could exist that wouldn't be tabulated there (e.g. a high power 802.11ac network, a microwave oven, etc.). Maybe the actual SINR isn't better in the WARP experiment but rather your experiment is blind to the other sources of interference.

The Measurements were taken on a channel we frequently utilize for long term measurements where no Interference has been observed before (over the course of dozens of long term measurements in the past weeks). Of course I cannot guarantee 100% that there was no burst of some unknown system during the measurements taken, but its highly unlikely.
Additionally, we have seen comparable results over the course of multiple days on different channels. All logging we do point to the Interference situation beeing exclusively as described.

Last edited by Edlmann (2016-Jun-23 12:42:49)

Offline

 

#6 2016-Jun-24 09:13:23

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

Re: Phy under Interference

I agree your observations suggest some difference in SINR vs PER between interference from your WARP vs commercial Wi-Fi equipment. But Chris' point is valid- confirming this observation requires controlling the experiment better than over-the-air. Measurements of PER vs SINR would be more compelling without random fading, unintended interference from other Wi-Fi devices, non-Wi-Fi interference, etc.

Another factor to consider would be differences in the waveforms transmitted by the interfering WARP and Wi-Fi devices. In a previous post you described the Wi-Fi devices as using "802.11a on 5GHz channel 3, bandwidth 40MHz with raw bitrates of up to 130Mbit/s". This must be an 11n waveform (11a doesn't support 40MHz or 130Mbps) right? The HTMF waveform structure has a 'midamble' (mid-preamble) which includes an HTSTF symbol. Maybe this symbol is re-triggering packet detection in the brief window after your code resets the Rx PHY following the SIGNAL (L-SIG for 11n) field processing? Attaching an oscilloscope to the OFDM PKT DET debug signal would be one way to see this.

Offline

 

#7 2016-Jun-24 09:36:23

Edlmann
Member
Registered: 2015-Sep-09
Posts: 30

Re: Phy under Interference

With the Equipment we have here, we sadly cannot switch over to RF cabling. Using only WARP nodes it would be possible, but connecting the Commercial system is not possible. The only way we can better control this is by further repeating the measurements on different channels, but we are bound to over-the-air measurements.

We will check the OFDM PKT DET debug signal and compare it to the actual number of generated software events, thanks for the hint.
We are switching between two Interference Setups - one beeing the you quoted, running on 40 MHz bandwidth with 135 MBit/s to prevent triggering of packet events on the Nodes themselves, the measurements above were however taken with a bandwidth of 20MHz (still at 130 MBit/s, so your point about 802.11a vs n is valid, my mistake. Its a 802.11n system. The 40MHz setup is 802.11ac).

Offline

 

#8 2016-Jun-24 11:26:20

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

Re: Phy under Interference

running on 40 MHz bandwidth with 135 MBit/s to prevent triggering of packet events on the Nodes themselves

Important point here- an HT40 waveform will still trigger packet detection in the 802.11 ref design Rx PHY if either half of the HT40 waveform is centered in the same channel as the WARP node. The 40MHz HTMF waveform uses the legacy STF/LTF/SIGNAL in both halves of the spectrum in order to trigger reception and deferral by legacy nodes.

Offline

 

#9 2016-Jun-24 11:30:07

Edlmann
Member
Registered: 2015-Sep-09
Posts: 30

Re: Phy under Interference

Thanks for the Info, we concluded as much from the tests we executed with the 40 MHz configuration, which is why we went back to the 20 MHz bandwidth.

Offline

 

Board footer