FreeCalypso > hg > freecalypso-reveng
diff pirelli/rssi @ 279:a7707c174510
pirelli/{rssi,txcal}: results of the Pirelli to CMU200 experiment
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 16 Feb 2019 18:30:11 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pirelli/rssi Sat Feb 16 18:30:11 2019 +0000 @@ -0,0 +1,50 @@ +I have been wondering for a long time now how the RSSI bars displayed in end +user phone UIs correspond to actual Rx signal levels; Pirelli's RSSI icon on +the left side of the home screen can go up to 6 bars, but it was not clear at +all what these bars actually correspond to. I just did an experiment to shed +some light on this issue: I took a decased Pirelli motherboard and connected it +to our CMU200 instrument via the RF test port which Pirelli's mobo has like +most phones. Pirelli's RF test port is of the Murata SWD/SWF type, same as +Openmoko GTA0x and Motorola C139, and we have a test probe for these ports with +precisely known insertion loss numbers, thus combined with the properly +calibrated CMU200 instrument and our "main" SMA cable for which we also have +precisely known insertion loss numbers (it is the setup we use to calibrate our +FCDEV3B modem boards), it is a very trustworthy setup. I varied the downlink +signal level put out by the CMU200 and observed the bars displayed by Pirelli's +fw on the home screen, and this is what I got: + +transition from 5 to 6 bars at -75 dBm +transition from 6 to 5 bars at -80 dBm + +transition from 4 to 5 bars at -85 dBm +transition from 5 to 4 bars at -90 dBm + +transition from 3 to 4 bars at -92 dBm +transition from 4 to 3 bars at -97 dBm + +transition from 2 to 3 bars at -97 dBm +transition from 3 to 2 bars at -102 dBm + +transition from 1 to 2 bars at -104 dBm +transition from 2 to 1 bars at -105 dBm + +at -110 dBm it is marginal: sometimes 1 bar, sometimes 0 bars, sometimes no srvc + +Looking at TI's reference firmware which Pirelli's fw must be based on, the Rx +signal strength is passed from L1 to the G23M PS in the form of RxLev numbers +that go into GSM 05.08 measurement reports (the standard [0,63] range with 0 +corresponding to -110 dBm), ALR does no transformation, and RR passes these +RxLev numbers to the Rx driver in the Condat drivers layer, which then converts +them to the "bars" numbers for the UI. Pirelli's fw most likely retains this +architecture, and their modified version of the Rx driver appears to have the +following thresholds or somewhere around there: + +RxLev >= 35: 6 bars +RxLev >= 25: 5 bars +RxLev >= 15: 4 bars +RxLev >= 10: 3 bars +RxLev >= 5 or maybe 6: 2 bars +RxLev abysmally low: 1 bar + +The 5 dB hysteresis seen in my CMU200 experiment is probably caused by the +RSSI_MIN_DIFFERENCE logic seen in rr_csf.c in our TCS3-sourced version.