Admittance estimation from Admittance measurement

1 Ansicht (letzte 30 Tage)
Paolo
Paolo am 30 Okt. 2012
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

Antworten (0)

Kategorien

Mehr zu Linear Model Identification finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by