Extraction of 4G/LTE RF parameters

Hi!

I recently got a Parrot’s ANAFI AI drone and started to experiment with. After I performed some test flights (controlled over 4G/LTE cellular network) I am able to access the flight logs. These file types are .gutma and support the logging type ‘GUTMA_DX_JSON’ file format. From the ‘flight_logging_keys’ I can see the following parameters are recorded: ‘timestamp’, ‘gps_lon’, ‘gps_lat’, ‘gps_altitude’, ‘speed_vx’, ‘speed_vy’, ‘speed_vz’, ‘battery_percent’, ‘battery_voltage’, ‘battery_cell_voltage_0’, ‘battery_cell_voltage_1’, ‘battery_cell_voltage_2’, ‘battery_current’, ‘wifi_signal’, ‘product_gps_available’, ‘product_gps_position_error’, ‘product_gps_sv_number’, ‘angle_phi’, ‘angle_psi’, ‘angle_theta’, ‘gps_amsl_altitude’.

However, for my needs I want to get the 4G/LTE parameters recorded during the flight in data logs. I am specifically looking for the key RF parameters such as: rat, mcc, mnc, cell id, eNodeB, eCGI, pci, earfcn, RSRP (serving cell), RSRQ (serving cell), SINR (serving cell), neighboring cell data, etc.

According to the documentation link below:

“connectivity” data are embedded into “telemetry” data. In this link no 4G parameters are provided but rather only WiFi related parameters (e.g. ‘wifi_signal’ aka. WIFI RSSI). Similarly, the link below:
https://developer.parrot.com/docs/airsdk/telemetry/telemetry_list.html
provides only WiFi details in Section “WiFi”.

As connectivity parameters are fed into the system, either for optimizations-, tuning- or any other purpose, my guess is that 4G/LTE data are available in a way or another.

Can anyone explain if it’s possible to extract 4G/LTE RF parameters, and if yes how to do that?


Details:
Controller: Skycontroller 4 (firmware version: 7.7.2; hardware revision: HW_04)
Drone: Anafi AI 002898 (firmware C.H.A.R.L.E.S 7.7.1; hardware revision: HW_04)
App: Freeflight7 v7.7.1 installed in IOS device

Hi @berishat,

Sorry for the delay. It is possible to obtain telemetry data from the cellular process. There are 3 telemetry sections available:

  • cellulard_0

  • fdr_cellulard_0

  • dbg_cellulard_0

You can list the data available in each telemetry section with this command (to be executed in the drone shell):

tlm-shm-dump [TELEMETRY NAME SECTION]
# For example:
tlm-shm-dump cellulard_0
tlm-shm-dump fdr_cellulard_0
tlm-shm-dump dbg_cellulard_0

Regards,
Axel

Hi Axelm,

Thanks! I have additional questions.

I understand that I need to gain access on drone shell in order to apply the commands. It seems that for some reason I cannot gain access on drone shell. After I copy/paste the adb public key in Freeflight7, “Shell access” indicates to switch to the enabled state but after a few seconds later it switches back again to the disabled state. It doesn’t display any error though.
Q1: Is it a bug or is it indicating something else?
Q2: Is there any other way of gaining access on drone shell? E.g. drone-PC connection via cable (similarly to the procedure to retrieve the logs)?
Q3: Is there any detailed step-by-step procedure to follow (additional to the one explained in Air SDK “Shell access” section)?
(Note: “Direct connection from PC or smartphone” and “Activate AirSDK missions logs” are already enabled in Freeflight7)
While I try to resolve this, the initially posted questions still remain:
Q4: In which log files are LTE/4G data saved, in FDR folder?
Q5: Which LTE/4G KPIs are really recorded?

Other issue - often I encounter an unpleasant situation. After I connect the drone to PC via cable to get the logs, the drone doesn’t power off/on as expected and at the same time the fan continues running. I’ve tried battery hard reset, but it seems it doesn’t help.
Q6: Is it a battery issue, any security measure, or something else?
Q7: Is there any solution with regards to that except waiting several hours to pass and try again and again over :slight_smile: ?

Hi @berishat,

I don’t know if it’s a bug, but it’s not the correct behavior. Did you use the correct key? It needs to be the public key and not the private key (as in the documentation).

There are no way to access on drone shell via USB cable.

No, there are only the procedure in the Air SDK “Shell access” section.

I’m not sure if you can see any log about any LTE/4G data saved. These data are only available in the drone telemetry.

All the data available in these telemetries sections:

  • cellulard_0
  • fdr_cellulard_0
  • dbg_cellulard_0

Do you provide more details about that? After this problem, your drone start normally again? This problem appears when you plug the usb cable before/during/after the boot?

Regards,
Axel

Hi Axel,

Thanks!

I was able to resolve the authentication issue. Now I can access the drone shell.

The other issue related to power on/off is still present. This happens once I plug the usb cable to PC. Then, after I power on the drone again it enters onto this unexpectedly strange mode.

Concerning the rf parameters:

  • Based on the commands you provided I’m able to see the following parameters being logged:
    – “ts” (timestamp);
    – “rsrp_rssi” (RSRP) → can be cross-correlated to parameter “access_tech” recorded via tlm-shm-dump dbg_cellulard_0 process;
    – “frequency” (center frequency in Hz) → dl earfcn can be derived from this;
    – “spread” (bandwidth? in Hz).
    Q1: My understanding is that apart from what is being recorded with the commands you provided, any other parameter, i.e." cell id, eNodeB id, ECI, PCI is not available. Is my understanding correct? Do you plan to add them in the next releases? It would be great if you can add them. Note: without having any of them it’s impossible to identify an LTE cell uniquely during a real flight. Having only PCI would help at some extent. Typcally, the LTE module/chipset measure/record ECI and PCI.

Concerning the logging:

  • I can clearly do something like e.g.:
    tlm-shm-dump -t 1000000 fdr_cellulard_0
    to record parameters defined in fdr_cellulard_0 process for a logging duration (starting from the time the drone powered on) of 1000 seconds. I wonder about the following:
    Q2: In order to perform the logging live (via CLI) I must be connected via Wi-Fi to the drone so that I have access to the drone shell. Is there any way to automatize this so the connectivity no longer relies on Wi-Fi conditions between my PC and the drone? This can interrupt the logging if Wi-Fi condition becomes poor. I am thinking rather to set the logging as an initializer, e.g. run on boot or something like this? I do not see any logs related to LTE parameters being saved by default in mission-logs/FDR. If you know more about this please let me know.

Cheers,
Taulant

This topic was automatically closed after 30 days. New replies are no longer allowed.

Hi @berishat,

You right, cell id, eNodeB id, ECI, PCI is not available and there is no plan th add them in the next release.

I think you can do that in an Air SDK mission. You can execute your code directly in the drone.

There’s another command to get more information on cells:

$ cellulard-cli monitor

You can execute this command in a mission and parse the result.

Regards,
Axel