WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2016-Mar-31 21:58:20

Kevin20
Member
Registered: 2015-Aug-14
Posts: 21

simulating wlan_phy_rx_pmd

Hi,

I tried running simulations for wlan_phy_rx_pmd. (Reference Design version 1.4)
When I used inputs that are already there the rx_sig directory, it seems to work well (looking at the constellation diagram.)

Then, I created a signal file from PHY TX as guided in the README file. (Ran simulation and saved the wlan_tx_out variable to a .mat file.) But when I simulated wlan_phy_rx_pmd with that input file, the resulting XY plot doesn't seem right.

For example, when I run wlan_phy_rx_pmd with input file "wlan_tx_sig_Data_16Byte_Payload_6Mbps.mat", the XY plot has dots only at BPSK points.

But when I create a .mat file from PHY TX by setting Tx_Rate to 6 and MPDU_Data_short for the payload, the XY plot shows random points.

Could you tell me if I'm doing something wrong here?

Thanks in advance.

Offline

 

#2 2016-Apr-01 04:02:00

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

Re: simulating wlan_phy_rx_pmd

The process you describe sounds right. Have you compared the wlan_tx_out sample vectors generated by your Tx sim and the examples in rx_sigs? The first 320 samples (PHY preamble) should be identical, possibly scaled differently. You can plot the real/imag parts of wlan_tx_out directly from the MATLAB workspace.

Offline

 

#3 2016-Apr-01 08:31:40

Kevin20
Member
Registered: 2015-Aug-14
Posts: 21

Re: simulating wlan_phy_rx_pmd

Like you said, the first 320 samples were identical, but the custom file was approximately 2.3 times larger than the file in rx_sigs. In the wlan_phy_rx_init.m, I used the following two lines to load and scale the input signal.


load('rx_sigs/wlan_tx_sig_Data_16Byte_Payload_6Mbps_custom.mat');
wlan_tx_out = 2.*wlan_tx_out; % too small for non-zero energy thresh


This gave me the strange result. Now that I saw the custom file is 2.3x larger, I commented out the second line.
Now the result looks correct.

I guess there was a need to double the signal stored in rx_sigs, but it is not needed (and should not be done) for .mat files made from PHY TX.

I am still not sure why multiplying the signal by two gave me the wrong result (and why the scale of two signals are different), but at least I am getting the correct constellation diagram.

Thanks for the help!

Offline

 

#4 2016-Apr-01 08:58:35

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

Re: simulating wlan_phy_rx_pmd

Glad it's working.

Choosing the right scaling of the simulated Rx signal mimics the operation of the AGC in hardware. The peak Rx I/Q should be around 0.2 - 0.4. Larger amplitude causes overflow in the FFT; smaller waveforms experience more quantization error. I don't remember why the old signals in rx_sigs need the 2x factor.

Offline

 

Board footer