A computer-implemented method of estimating a temperature of an electrochemical battery, the method comprising: providing a series of electrical impedance measurements of an electrochemical battery, each electrical impedance measurement being measured at a respective measurement frequency (f s), the series being ordered according to the respective measurement frequencies, determining a temperature of the electrochemical battery using artificial neural network means configured to receive as inputs a series of electrical impedance values, wherein a series of electrical impedance values is provided to the artificial neural network means, the series of electrical impedance values corresponding to the provided series of electrical impedance measurements, wherein the artificial neural network means receives and processes the provided series of electrical impedance values to generate therefrom an output signal representing a temperature associated with the electrochemical battery, characterised in that the method further comprises: calculating electrical impedance gradients from the series of electrical impedance measurements to generate a series of electrical impedance gradients, wherein calculating the electrical impedance gradients includes calculating gradients of a real part and gradients of an imaginary part of the series of electrical impedance measurements, wherein the electrical impedance gradients are calculated with respect to one of the measurement frequency (f s), a logarithm of the measurement frequency (f s), or the index (s) of the elements of the series of electrical impedance measurements, wherein the artificial neural network means is configured to receive as further inputs the series of electrical impedance gradients, wherein the artificial neural network means receives and processes at least the provided series of electrical impedance values and the series of electrical impedance gradients to generate therefrom the output signal representing a temperature associated with the electrochemical battery. providing a series of electrical impedance measurements of an electrochemical battery, each electrical impedance measurement being measured at a respective measurement frequency (f s), the series being ordered according to the respective measurement frequencies, determining a temperature of the electrochemical battery using artificial neural network means configured to receive as inputs a series of electrical impedance values, wherein a series of electrical impedance values is provided to the artificial neural network means, the series of electrical impedance values corresponding to the provided series of electrical impedance measurements, wherein the artificial neural network means receives and processes the provided series of electrical impedance values to generate therefrom an output signal representing a temperature associated with the electrochemical battery, characterised in that the method further comprises: calculating electrical impedance gradients from the series of electrical impedance measurements to generate a series of electrical impedance gradients, wherein calculating the electrical impedance gradients includes calculating gradients of a real part and gradients of an imaginary part of the series of electrical impedance measurements, wherein the electrical impedance gradients are calculated with respect to one of the measurement frequency (f s), a logarithm of the measurement frequency (f s), or the index (s) of the elements of the series of electrical impedance measurements, wherein the artificial neural network means is configured to receive as further inputs the series of electrical impedance gradients, wherein the artificial neural network means receives and processes at least the provided series of electrical impedance values and the series of electrical impedance gradients to generate therefrom the output signal representing a temperature associated with the electrochemical battery. calculating electrical impedance gradients from the series of electrical impedance measurements to generate a series of electrical impedance gradients, wherein calculating the electrical impedance gradients includes calculating gradients of a real part and gradients of an imaginary part of the series of electrical impedance measurements, wherein the electrical impedance gradients are calculated with respect to one of the measurement frequency (f s), a logarithm of the measurement frequency (f s), or the index (s) of the elements of the series of electrical impedance measurements, wherein the artificial neural network means is configured to receive as further inputs the series of electrical impedance gradients, wherein the artificial neural network means receives and processes at least the provided series of electrical impedance values and the series of electrical impedance gradients to generate therefrom the output signal representing a temperature associated with the electrochemical battery.