WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2008-Sep-28 11:45:50

SRS
Member
From: Poly
Registered: 2008-Jan-11
Posts: 37

Snr

Hi

Can i take RSSI values as a measure of SNR in BER experiments? Can it be converted to dB?

Thanks

Offline

 

#2 2008-Sep-29 10:48:32

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

Re: Snr

RSSI is a good proxy for received power, which (assuming noise is additive at the receiver) corresponds to SNR. You can convert the RSSI reading to received power in dB. The RSSI output is linear in DB and is a 10-bit number. The RSSI is measured after the Rx RF amplifier, so the digital RSSI -> Rx Power conversion depends on the Rx RF gain setting.

The numbers below are approximate, based on plots from the MAX2829 datasheet. For a more precise mapping, you would need to take measurements using a transmitter with known output power (like an RF signal generator).

For high gain (RxRF gain = 0x3), RSSI=0 is -100dBm; RSSI=1023 is -30dBm.
For medium gain (RxRF gain = 0x2), RSSI=0 is -85dBm; RSSI=1023 is -15dBm.
For low gain (RxRF gain = 0x1), RSSI=0 is -70dBm; RSSI=1023 is 0dBm.

Offline

 

#3 2009-Jan-13 08:12:15

domenique
Member
Registered: 2009-Jan-07
Posts: 47

Re: Snr

I think the PA is not considered in these values. +30dB have to be added if PA is on. Is this right?

Thanks,

Last edited by domenique (2009-Jan-13 17:24:51)

Offline

 

#4 2009-Jan-13 20:30:14

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

Re: Snr

RSSI is measured in the Rx path. The PA is part of the Tx path and has no impact on RSSI.

Offline

 

#5 2009-Jan-14 16:41:08

domenique
Member
Registered: 2009-Jan-07
Posts: 47

Re: Snr

murphpo wrote:

pktdetthresh and csmathresh are thresholds relative to the packet detector's sum of RSSI values. By default, the core sums the 16 most recent samples, so a threshold of 9000 corresponds to an instantaneous RSSI value of 562 (9000/16).

Is it possible to read out this sum of RSSI values that the packet detector builds?
I'm interested in the received power in dBm. According to your 'formula' above / the Max2829 datasheet, the RSSI can be converted to received power in dBm. Therefore I would like to take the average RSSI during the packet reception (i.e. divide the sum build by the core by 16), and not take the WarpRadio_RSSIData value after the packet detection.

The calculated totalGain by using the AGC gains has only a range from 0 to 92. It seems not possible to convert this one to dBm without taking own measurements with a signal generator. Thus I can't take this value.

If there is no function to read this sum of RSSI values the core builds, is it possible to modify the packet detector so that this sum is written into a register and can be read later just after a packet reception? If it is possible, where and how do I have to make these modifications?

Thanks,

Offline

 

#6 2009-Jan-15 16:19:21

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

Re: Snr

The packet detector doesn't write a copy of the computed average to a register. But adding this would be straightforward. The source for the packet detector pcore is a Sysgen model in the repository. The processor for exporting a Sysgen model as a pcore and integrating it in an XPS design is described in our tutorials.

Offline

 

#7 2009-Jan-20 08:32:00

domenique
Member
Registered: 2009-Jan-07
Posts: 47

Re: Snr

I tried to export the pktdetector as pcore but I get the following error message even if I don't change anything : "one or more output arguments not assigned during call to evalin".

What is reason?

Offline

 

#8 2009-Jan-21 06:46:27

domenique
Member
Registered: 2009-Jan-07
Posts: 47

Re: Snr

Ok, it works. Thank you.

In the ports list, there are already the entries: avgRSSI1 to avgRSSI4, but they are not connected. Is it enough to just connect these ports. Or is it really neccessary to add registers for writing into the memmory to the pcore?

Offline

 

#9 2009-Jan-22 02:42:43

domenique
Member
Registered: 2009-Jan-07
Posts: 47

Re: Snr

In a previous post you wrote:

murphpo wrote:

Average is sort of a misnomer- the pkt detector model just adds together the last N samples (an average without the division). N is programmed with the ofdm_pktDetector_mimo_WriteReg_pktDet_avgLen() function from the ofdm_pktDetector_opbw driver. The various RSSI-based thresholds in the pkt detector are set relative to this sum. So in the reference design, where we set N to 16 and the pkt detection threshold to 7000, this corresponds to a threshold of 438 (7000/16) of actual average RSSI, which is a little shy of half of the RSSI's peak value of 1023.

What does 'last N samples' mean? One packet is a whole frame (Frame Format), isn't it?
Does this mean the packet detector uses the first 16 samples of the fixed preamble to detect a packet? If not, which samples are used from this frame?

Thanks,

Offline

 

#10 2009-Jan-23 10:31:16

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

Re: Snr

The packet detector model implements a running sum; it bases its decision on the sum of the most recent 16 samples of RSSI. For each new sample (every 10MHz), the sum is re-computed. The calculation of this sum is free-running; its output is used to signal a packet detection event.

Offline

 

#11 2009-Jan-28 14:41:36

domenique
Member
Registered: 2009-Jan-07
Posts: 47

Re: Snr

Sorry, but I still don't understand when the packet detector computes this sum.
If I send packets without payload I have:
480 (Preamble + Training) + 160 (Header, QPSK) + 27 (CRC, QPSK) = 667 samples/per packet. (I'm not sure if the CRC is send even if there's no payload, otherwise we only have 640 samples/per packet)

Now how does the packet detector work on this concrete packet consisting of 667 (640) samples? Which samples does it take to build the sum? When does it decide the packet detection, at the end of the packet?

Thanks,

Offline

 

#12 2009-Jan-28 19:26:30

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

Re: Snr

The packet detector core simply implements a running sum of the past N RSSI samples received. This sum is calculated with every new RSSI sample, independent of whether a packet is arriving or not. When the sum of RSSI sample exceeds some threshold, the core declares a packet detection event. The OFDM transceiver then starts monitoring for a long training symbol (using its correlator) to confirm or reject the packet detection.

Offline

 

#13 2009-Jan-29 03:41:37

domenique
Member
Registered: 2009-Jan-07
Posts: 47

Re: Snr

I modified the packet detector in that way that it now writes the computet sum into a register. Reading works well. But that means, that if I read this register after a goodHeader callback I only have the sum of the last 16 samples of the packet, i.e. the CRC of the packet.

How would I have to modify the packet detector to get the sum of all samples of the entire packet? My idea is to add not only the last 16 samples but all. Therefore I would only need to take a second adder that adds all RSSI values from the beginning to the end. But the problem is, how do I now when to start adding and when to end?

Thanks,

Offline

 

#14 2009-Apr-28 06:53:27

HT
Member
Registered: 2008-May-12
Posts: 31

Re: Snr

Hi.
Just wondering how the  SNR on sysgen channel model in ofdm_txrx_mimo.mdl relates to real measured SNR on the channel ?

Offline

 

Board footer