Ich entwickle gerade eine Android-Anwendung für meine Universität Forschungsprojekt. Diese App sollte in der Lage sein, die RSSI-Level der in der Nähe befindlichen GSM-Basisstationen zu lesen. Ich habe die folgende Funktion codiert, die die RSSI-Level der nahegelegenen Zellen erfolgreich liest. Ich rufe diese Funktion alle 200 ms auf, aber die RSSI-Werte ändern sich im Laufe der Zeit fast nicht. Ich vermute, dass der Basisband-Prozessor diese Werte nur alle x s aktualisiert, aber ich kann nichts über die Aktualisierungsrate finden. Weiß jemand, wie schnell die Info in getAllCellInfo() aktualisiert wird? Der Grund, warum ich das wissen möchte, ist, dass das Timing für mein Setup wirklich wichtig ist. Im Labor aktivieren und deaktivieren wir einen Störsender bei einer bestimmten Frequenz (größer als 1 Hz). Wenn der Störsender aktiviert ist, fällt der RSSI-Wert ab. Also würde ich gerne wissen, wie schnell der RSSI aufgefrischt werden kann, um diese Signalabfälle zu erkennen, wenn der Störsender beispielsweise bei 10 Hz aktiviert und deaktiviert wird.Android TelephonyManager GetAllCellInfo() Aktualisierungsrate RSSI
public HashMap<Integer,Integer> RSSI_values() {
HashMap<Integer,Integer> result = new HashMap<Integer,Integer>();
TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getNetworkType();
List<CellInfo> CellInfo_list = telephonyManager.getAllCellInfo();
if(telephonyManager.getNetworkType() == TelephonyManager.NETWORK_TYPE_EDGE) {
for (int i = 0; i < CellInfo_list.size(); i++) {
CellInfoGsm cellinfogsm = (CellInfoGsm) CellInfo_list.get(i);
int cid = cellinfogsm.getCellIdentity().getCid();
CellSignalStrengthGsm cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength();
int rssi = cellSignalStrengthGsm.getDbm();
result.put(cid,rssi);
}
}
return result;
}
Bei dieser Bildwiederholfrequenz ist gerätespezifisch ich auf einem Nexus bin 5 android 6.0.1
Hallo @GuilhermeP danke für Ihre Antwort. Leider ist das Timing für mein Setup sehr wichtig. Im Labor aktivieren und deaktivieren wir einen Störsender bei einer bestimmten Frequenz (größer als 1 Hz). Wenn der Störsender aktiviert ist, fällt der RSSI-Wert ab. Also würde ich gerne wissen, wie schnell der RSSI aufgefrischt werden kann, um diese Signalabfälle zu erkennen, wenn der Störsender beispielsweise bei 10 Hz aktiviert und deaktiviert wird. – mvanderreek
@mvanderreek Anfangs glaube ich, dass RSSI nicht so schnell aktualisiert wird. Normalerweise würde CP (Modem) die AP-Seite (Android) keine RSSI-Fluktuation mitteilen. Dies kann den Stromverbrauch drastisch reduzieren und die Batterielebensdauer verringern. Die obige Implementierung benachrichtigt Sie, sobald der RSSI-Wert aktualisiert wurde. Jedes rssi-Überprüfen vor einer neuen Benachrichtigung sollte denselben Status zurückgeben. Vielleicht sollten Sie herausfinden, wie Sie eine RSSI-Aktualisierung über eine RIL-Anfrage auf CP-Seite erzwingen können. Ich hoffe, Sie finden eine bessere Lösung. – W0rmH0le