MATLAB Answers

Fitting impedance of simple randles circuit to Fourier transform formula

41 views (last 30 days)
Frizstyler Friz
Frizstyler Friz on 19 Apr 2021 at 14:54
Answered: Frizstyler Friz on 23 Apr 2021 at 11:37
I have this simple circuit that i want to find parameters of,
and its real-world magnitude frequency response derived from impedance spectroscopy.
(magnitude frequency response.Frequency is 10-10000Hz with 10Hz step.)
Now, i have derived the fourier transform of this impedance:
Whose magnitude i found:
However trying to fit this last equation with matlab CFTOOL gives nonsense. What am i doing wrong??

Answers (2)

David Goodmanson
David Goodmanson on 19 Apr 2021 at 17:09
Hi F^2
I believe you are trying to fit an incorrect magnitude, which can of course lead to nonsense. The correct expression is
absZ = sqrt( ((r1+r2)^2 + r1^2*r2^2*w^2*c^2)/(1 + r2^2*w^2*c^2) );
If you plug some numbers into your expression and compare to
absZ = abs((r1+r2 +i*w*c*r1*r2)/(1+i*w*c*r2)) (a)
there is going to be disagreement.
When using fctool, is there any reason you can't do this an easier way and just fit (a) above?
  1 Comment
Frizstyler Friz
Frizstyler Friz on 19 Apr 2021 at 19:31
Well, i had used a sketchy formula indeed. Anyway, tried your formulas and the same result comes out. I changed the frequencies to rad/s ,too.
Here i supply the measurements too in excel sheet, if anyone's interested i'd highly appreciate.

Sign in to comment.


Frizstyler Friz
Frizstyler Friz on 23 Apr 2021 at 11:37
The problem was solved by tweaking the fitting options. Constraining the lower limits and startpoint values was important. Scaling the capacitor with 1e-7 or less in front worked. I also reduced function termination tolerance to 1e-10, seems to affect the fit somewhat?

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!