Admittance estimation from Admittance measurement

1 view (last 30 days)
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

Answers (0)

Categories

Find more on Linear Model Identification in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!