NRF7002 RX IQ Capture bandwidth

I'm evaluating the NRF7002 WiFi chipset. One key RX test feature that the NRF7002 supports is baseband and packet triggered post-AGC IQ logging, as documented here: 
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/wifi/radio_test/sample_description.html

I tested a NRF7002 DK board with a LimeSDR v2.0 SDR. I injected a signal with carrier of 2.402GHz, and then added 6 sinusoidal signals on top of that, to emulate the upper most and lower most sub-carriers of a typical 20MHz OFDM signal. These are the sinusoidal frequencies I injected.

  • First Three Subcarrier Offsets (relative to 2.402 GHz):

    • +1,875,000 Hz (or +1.875 MHz)
    • +2,187,500 Hz (or +2.1875 MHz)
    • +2,500,000 Hz (or +2.5 MHz)
  • Last Three Subcarrier Offsets (relative to 2.402 GHz):

    • +17,500,000 Hz (or +17.5 MHz)
    • +17,812,500 Hz (or +17.8125 MHz)
    • +18,125,000 Hz (or +18.125 MHz)


I computed the amplitude of the signal by taking the upper 12-bits of each entry as a signed 12-bit I value, and the lower 12-bits of each entry as a signed 12-bit Q value.

I then took an FFT of this amplitude signal using python and matplotlib.

After doing this, I only see three sub-carriers, so it looks like the sub-carriers are aliasing on top of each other.

I did further experiments with just a single tone at a time, and see aliasing. For example, an unmodulated carrier at 2.403GHz looks identical in FFT domain as 2.421GHz.


Is this an expected limitation of the RX IQ radio test configuration for NRF7002? If so, you can't fully capture all 20MHz bandwidth of a WiFi packet right? Or am I missing a step.

Here's how I configured the radio test , basically the same as the documentation except I set it to channel 1 to use 2.4GHz instead of 5GHz example on the documentation.

Thank you!

wifi_radio_test init 1
wifi_radio_test rx_lna_gain 2
wifi_radio_test rx_bb_gain 10
wifi_radio_test rx_capture_length 10000
wifi_radio_test rx_cap 1

Related