You are not logged in.
In warplab 5.2 , the demo code of read RSSI is like below
% Read stored RSSI data from radio 2 [Node2_Radio2_RawRSSIData] = warplab_readSMRO(udp_node2, RADIO2_RSSIDATA, ceil((TxLength+TxDelay)/8));
TxLength+TxDelay is equal to 2^14, which is the largest buffer of WARP. What confused me is why it is divided by 8? How about in WARPLAB 7?
Offline
RSSI data is 1/8 the size, in bytes, of IQ data for the same number of samples. IQ data is 32 bits of data (16 bits for I and 16 bits for Q) @ 40 MHz, while RSSI is 16 bits of data @ 10 MHz. Therefore, you can see that for a given amount of time collecting samples, RSSI is 1/8 the number of bytes of the IQ data. This is why you see the /8 in the code above.
This difference in data collection rates is still there in WARPLab 7 but it manifests in the code differently. You can see in the SISO example, that we set two different capture lengths based on the different sampling rates.
Offline
Thank you very much. Your answer exactly help me. But there is an other question about this. We know the AD is 12 or 14 bit, why I/Q data has 32 bit? And for RSSI, there exists different AD for RSSI data?
Last edited by chencheng (2015-May-09 21:04:20)
Offline
On WARP v3 the I/Q signals are sampled by 12-bit ADCs. WARPLab packs the 2 12-bit samples in one 32-bit word for transfer over-the-wire. This packing greatly simplifies address management in the C and M code.
The RSSI signal is sampled by a 10-bit ADC. WARPLab packs two 10-bit RSSI samples in one 32-bit word for transfer over-the-wire.
Offline