Assign complex uncertainties in magnitude and phase

76 views
Skip to first unread message

Karsten Kuhlmann PTB

unread,
Oct 5, 2015, 9:28:06 AM10/5/15
to METAS UncLib
Hello Michael,

Sorry, but I have to revisit the basics of unc.lib again, namely: how to assign complex uncertainties in magnitude and phase? This is needed, if e.g. manufacturers specify the uncertainties of their calibration standards in mag/phase and not real/imag
This seems a simple task, but I am cleary doing something wrong. See example:

value=0.8-0.5i;
u_abs=0.1;
u_angle=10*pi/180;
u_cmplx=u_abs*exp(1i*u_angle);
s11=unc(value,diag([real(u_cmplx) imag(u_cmplx)]).^2);
abs(s11)
180/pi*angle(s11)

Greetings, Karsten

Karsten Kuhlmann PTB

unread,
Oct 6, 2015, 2:27:36 AM10/6/15
to METAS UncLib
Hello again,

I think I just found a possible answer myself. One has to propagate value und uncertainty through the model, the model beeing the conversion from mag/phase to re/im.

v=0.3-0.4i;
u_abs=0.05;
u_angle=10*pi/180;

v_abs=abs(v);
v_angle=angle(v);
vu_abs=unc(v_abs,u_abs);
vu_angle=unc(v_angle,u_angle);

s11_re=cos(vu_angle)*vu_abs;
s11_im=sin(vu_angle)*vu_abs;
s11=s11_re+1i*s11_im;

abs(s11)
180/pi*angle(s11)

Greetings, Karsten

Michael Wollensack METAS

unread,
Oct 8, 2015, 12:34:00 PM10/8/15
to METAS UncLib
Hi Karsten,

I do it like that:

value=0.8-0.5i;
u_abs=0.1;
u_angle=10*pi/180;
s11=unc(abs(value),u_abs)*exp(1i*unc(angle(value),u_angle));
abs(s11)
180/pi*angle(s11)


Regards
Michael
Reply all
Reply to author
Forward
0 new messages