A device comprising: a non-transitory memory storing instructions; and one or more processors in communication with the non-transitory memory, wherein the one or more processors execute the instructions to: obtain a plurality of received signals transmitted by a user equipment from a plurality of antenna elements in a cellular network; calculate a plurality of complex channel values in an angle domain for a horizontal arrival angle and a vertical arrival angle per a received ray in a plurality of received rays in response to the plurality of received signals, calculate a frequency-offset estimation for the plurality of complex channel values; apply the frequency-offset estimation to the plurality of complex channel values to obtain a plurality of offset complex channel values for the horizontal arrival angle and the vertical arrival angle per the received ray; transform the plurality of offset complex channel values for the horizontal arrival angle and the vertical arrival angle per the received ray to a plurality of channel values in a time domain for the horizontal arrival angle and vertical arrival angle with a first time delay per the received ray; calculate a time-offset estimation for the plurality of channel values in the time domain; apply the time-offset estimation to the plurality of channel values in the time domain to obtain a plurality of channel values for the horizontal arrival angle and vertical arrival angle with a second time delay per the received ray; and calculate an expected value of the plurality of channel values to obtain a power value for the horizontal arrival angle and vertical arrival angle having a second time delay per the received ray; obtain a geographical location for the user equipment and store the power value, the horizontal arrival angle, vertical arrival angle and a second time delay per the received ray for the geographical location in another non-transitory memory. a non-transitory memory storing instructions; and one or more processors in communication with the non-transitory memory, wherein the one or more processors execute the instructions to: obtain a plurality of received signals transmitted by a user equipment from a plurality of antenna elements in a cellular network; calculate a plurality of complex channel values in an angle domain for a horizontal arrival angle and a vertical arrival angle per a received ray in a plurality of received rays in response to the plurality of received signals, calculate a frequency-offset estimation for the plurality of complex channel values; apply the frequency-offset estimation to the plurality of complex channel values to obtain a plurality of offset complex channel values for the horizontal arrival angle and the vertical arrival angle per the received ray; transform the plurality of offset complex channel values for the horizontal arrival angle and the vertical arrival angle per the received ray to a plurality of channel values in a time domain for the horizontal arrival angle and vertical arrival angle with a first time delay per the received ray; calculate a time-offset estimation for the plurality of channel values in the time domain; apply the time-offset estimation to the plurality of channel values in the time domain to obtain a plurality of channel values for the horizontal arrival angle and vertical arrival angle with a second time delay per the received ray; and calculate an expected value of the plurality of channel values to obtain a power value for the horizontal arrival angle and vertical arrival angle having a second time delay per the received ray; obtain a geographical location for the user equipment and store the power value, the horizontal arrival angle, vertical arrival angle and a second time delay per the received ray for the geographical location in another non-transitory memory. obtain a plurality of received signals transmitted by a user equipment from a plurality of antenna elements in a cellular network; calculate a plurality of complex channel values in an angle domain for a horizontal arrival angle and a vertical arrival angle per a received ray in a plurality of received rays in response to the plurality of received signals, calculate a frequency-offset estimation for the plurality of complex channel values; apply the frequency-offset estimation to the plurality of complex channel values to obtain a plurality of offset complex channel values for the horizontal arrival angle and the vertical arrival angle per the received ray; transform the plurality of offset complex channel values for the horizontal arrival angle and the vertical arrival angle per the received ray to a plurality of channel values in a time domain for the horizontal arrival angle and vertical arrival angle with a first time delay per the received ray; calculate a time-offset estimation for the plurality of channel values in the time domain; apply the time-offset estimation to the plurality of channel values in the time domain to obtain a plurality of channel values for the horizontal arrival angle and vertical arrival angle with a second time delay per the received ray; and calculate an expected value of the plurality of channel values to obtain a power value for the horizontal arrival angle and vertical arrival angle having a second time delay per the received ray; obtain a geographical location for the user equipment and store the power value, the horizontal arrival angle, vertical arrival angle and a second time delay per the received ray for the geographical location in another non-transitory memory.