At first you have to model the battery in state space. One of the states must be SOC. Then you have to measure one or more (or their combination) states. Now the model, measurements, noise characteristics etc will go the KF algorithm and the output will be provide you the estimates of all the states. You have to remember, to apply KF your model should be linear and noise characteristics should be Gaussian. If model turns out to be a nonlinear one, you may use linearization technique.