0
$\begingroup$

I have some test data for a battery (pulsed discharge curves), and I am attempting to fit a second-order RC model to those curves.

In many cases it looks like I can get a good fit, but the longest RC time constant I get can range from ~0.75 hours to ~5 hours. The test data I have is only the first 30 minutes of the discharge step response. Is that enough of a duration to adequately fit for a time constant that might be a few hours long?

My feeling is no... but where is the boundary between having enough test data to fit an exponential curve with some lengthy time constant?

EDIT FOR MORE CONTEXT: Here is a wikipedia link to an RC circuit, https://en.wikipedia.org/wiki/RC_circuit.

You can see an image of the RC exponential curve here, https://en.wikipedia.org/wiki/RC_circuit#/media/File:Series_RC_capacitor_voltage.svg.

My question is essentially, how much of the curve do you need to know (starting from t=0) to fit the exponential.

$\endgroup$
5
  • $\begingroup$ What are RC curves? Can you please phrase your question in terms someone not familliar with your domain knowledge may be able to understand?> $\endgroup$ Jul 27, 2020 at 23:15
  • $\begingroup$ edited for more context $\endgroup$
    – aosborne
    Jul 27, 2020 at 23:27
  • $\begingroup$ are you interested in predicted error, or are you more interested in the precision of the estimates of various coefficients? $\endgroup$ Jul 28, 2020 at 0:19
  • $\begingroup$ i'm interested in the precision of the estimates of the various coefficients. $\endgroup$
    – aosborne
    Jul 28, 2020 at 0:43
  • $\begingroup$ @aosborme. The wording of your question is not understandable. What function do you want to fit ? What are the measured variables ? What are the parameters to evaluate ? Can't you post an example of data ? $\endgroup$
    – JJacquelin
    Jul 30, 2020 at 8:43

1 Answer 1

1
$\begingroup$

This isn't an answer so much as a lengthy comment. I will edit as I get more information.

Because you're modelling an exponential phenomenon, you can do linear regression on the log outcomes. This allows you to leverage the rich theory of linear regression.

In OLS, the variability of the coefficients is given by

$$ \operatorname{Var}\left(\hat{\beta}_{j}\right)=\frac{\sigma_{y \mid \mathbf{x}}^{2}}{(n-1) \sigma_{x_{j}}^{2}} $$

Here $\sigma_{x_{j}}^{2}$ is the sample variance of the predictor (in your case, time), $n$ is the sample size, and $\sigma_{y \mid \mathbf{x}}^{2}$ is the noise in the outcome. There are then 3 ways to increase precision:

  • Use an outcome with lower noise
  • Increase your sample size
  • Use a more spread out predictor.

It sounds like all three are out of the question, am I right? You only have about a half hours worth of data to train any model? Can you sample as frequently as you like?

$\endgroup$
4
  • $\begingroup$ Thanks Demetri. All three are indeed out of the question. I have about 20 samples approximately uniformly spaced over a duration of 30 min (voltage vs. time). Your idea of doing a regression on the log is actually a great idea... though my model actually has two RC's cascaded, which I believe results in the sum of two exponentials. The time constants associated with those two exponentials are fairly different however, so a log plot still might be revealing. I'll look into it. $\endgroup$
    – aosborne
    Jul 28, 2020 at 2:58
  • $\begingroup$ If you only have data for the fist 30 mins, you may only have data for one time scale and not the other. Really depends on your problem, but usually when I work with the sum of to exponential, later data is better. $\endgroup$ Jul 28, 2020 at 3:35
  • $\begingroup$ @aosborne. They are some methods to estimate the parameters of a function made of two exponentials (or more). Post an example of your data so that it will be possible to check and propose the method convenient in your case. $\endgroup$
    – JJacquelin
    Aug 10, 2020 at 6:33
  • $\begingroup$ @DemetriPananos I just wanted to come back to this with an update and give you the check. I did look at my signals in the log domain and realized that the time duration I was trying to fit over was in fact too long (non-linear). I reduced the time duration and the fit became much tighter. $\endgroup$
    – aosborne
    Aug 18, 2020 at 1:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.