Admittance estimation from Admittance measurement
3 views (last 30 days)
Show older comments
Hi. Here's my problem: I need to identify the admittance of an electronic device given its measured admittance; I have two vectors of data: w and dataY, where w is frequency [rad/s] and dataY is the measured admittance modulus (dataY = Y) measured per each frequency w.
I know (from theory), that the admittance of my device must be:
Y(s) = V(s)/I(s) = s*C_DC + s/(1/C_eq+s^2*L_eq+s*R_eq).
Y(jw) = V(jw)/I(jw) = jw*C_DC + jw/(1/C_eq-w^2*L_eq+jw*R_eq).
The problem is to find the 4 parameters (C_DC, C_eq, L_eq, R_eq) that best identify the admittance that I have measured.
I started with a "standard" least squares method:
err = intmax;
for ind_C_DC = C_DC
for ind_R_eq = R_eq
for ind_L_eq = L_eq
for ind_C_eq = C_eq
fittingY = 1i*w*ind_C_DC + 1i*w./(1/ind_C_eq-w.^2*ind_L_eq+1i*w*ind_R_eq);
curr_err = mean((dataY-abs(fittingY)).^2);
if curr_err < err
C_DC_fit = ind_C_DC;
R_eq_fit = ind_R_eq;
L_eq_fit = ind_L_eq;
C_eq_fit = ind_C_eq;
err = curr_err;
end
end
end
end
end
where C_DC, R_eq, L_eq, C_eq are 4 vectors of length N with a number N of possible parameters and C_DC_fit, R_eq_fit, L_eq_fit, C_eq_fit are the best fitting parameters.
Unfortunately, this doesn't work. Or better, it works (quite good) only if I let the simulation run for hours and hours (with N very very big).
Can you please suggest a smarter solution?
Thank you! Paolo
0 Comments
Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!