You are not logged in.
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
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
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
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