You can't do anything else with the RF calibration then to clean the flash area where it is stored. There are two reason for doing it:
First is reason to delete the RF calibration area is, if it was written by different version of Espressif SDK, including changing between AT firmware and Arduino. Then it is almost always wrong. I think they changed the data structure so some values are swapped.
Second reason is if the SDK did the calibration in wrong conditions like without antenna.
There is not much information about RF calibration. The FAQ has "Please erase the RF parameters to trigger overall calibration."
The AT firmware reference has (addresses for 4MB-C1):
- blank.bin 0x3FB000 Initializes RF_CAL parameter area.
- esp_init_data_default.bin 0x3FC000 Stores default RF parameter values, has to be downloaded into flash at least once. If the RF_CAL parameter area is initialized, this bin has to be downloaded too
The esp8266 Arduino core writes the data of esp_init_data_default.bin as part of the sketch's binary.
EDIT: the SDK does the 'digital calibration' at boot. it takes some microseconds. it is not done at every boot, but after some count of resets. this can be configured in the init section