next up previous contents
Next: Potenza attiva e reattiva Up: Valutazione di , , Previous: Visualizzazione risultati   Contents

Listato

function [ z ] = es5(  )

%ES5 Valutazione parametri corrente Ic

 

%Caricamento dati

prn=load('s00.prn');

t=prn(:,1);

vr=prn(:,4);

dati=load('data.txt');

R1=dati(2);

 

%Tempo di salita

ic=vr/R1;

j=find(t<0.4e-3 & t>-0.4e-3);

tRise=t(j);

icRise=ic(j);

j=find(icRise>=0.1*max(icRise) & icRise<=0.9*max(icRise));

tR=tRise(j);

icR=icRise(j);

tr=(tR(length(tR))-tR(1))*1000;

 

%Tempo di discesa

j=find(t<0.9e-3 & t>0.2e-3);

tFall=t(j);

icFall=ic(j);

j=find(icFall>=0.1*max(icFall) & icFall<=0.9*max(icFall));

tF=tFall(j);

icF=icFall(j);

tf=(tF(length(tF))-tF(1))*1000;

 

%Selezione di un periodo del segnale

trigger=find(t==0);

estremi=find(vr==vr(trigger));

tPer=t(estremi(1):estremi(2)-1);

vrPer=vr(estremi(1):estremi(2)-1);

icPer=vrPer/R1;

 

%FFT

N=length(icPer);

ck=fft(icPer);

 

%Valor medio

ICmedia=sum(icPer)/N;

 

ICmediaFreq=ck(1)/N;

 

%Valore efficace

ICrms=sqrt(sum(icPer.2)/N);

 

ICrmsFreq=sqrt(sum(abs(ck).2))/N;

 

%Deviazione standard

sigmaIC=sqrt(ICrms2-ICmedia2);

 

%Fattore di cresta

ICmediaAbs=sum(abs(icPer))/N;

CF=max(icPer)/ICmediaAbs;

 

%Fattore di forma

FF=ICrms/ICmediaAbs;

 

%Calcolo incertezze

%Tempo di salita e tempo di discesa

Kt=0.2;

 

U=zeros(4,1);

U(1)=0.01/100;

U(3)=100e-9;

Tsa=10*Kt/500;

U(4)=Tsa/2;

incTr=incDiff(U,tr);

incTf=incDiff(U,tf);

 

%Incertezza campioni ic

RFS=500;

R1=R1*1000;

 

G=0.2;

P=-0.55;

 

U=zeros(4,1);

Q=G/64;

U(1)=1.9/100;

U(2)=2.56*Q+0.5*abs(P)/100;

U(4)=Q/2;

incVR=incDir(U,vrPer);

 

U=zeros(4,1);

U(1)=0.06/100;

U(3)=2*RFS/50000;

incR1=incDir(U,R1);

 

incIC=1000*(incVR*abs(R1)+incR1*abs(vrPer))/R12;

 

%Incertezza valor medio

incICmedia=sum(incIC)/N;

 

%Incertezza valore efficace

incAux=sum(incIC.*icPer)/N;

incICrms=incAux/ICrms;

 

%Incertezza deviazione standard

incSigmaIC=(incAux+incICmedia*ICmedia)/sigmaIC;

 

%Incertezza fattore di cresta

incAux=incICmedia/ICmediaAbs;

[ICmax,j]=max(icPer);

incICmax=incIC(j);

incCF=(incICmax/abs(ICmax)+incAux)*abs(CF);

 

%Incertezza fattore di forma

incFF=(incICrms/abs(ICrms)+incAux)*abs(FF);

 

%Visualizzazione risultati

plot(tRise,icRise);

hold on;

plot(tR,icR,'ro');

xlabel('t [s]');

ylabel('Ic [mA]');

title('Tempo di salita');

hold off;

 

stringa=['Tempo di salita: tr = ' num2str(tr,'%0.3f') ' \ensuremath{±} ' num2str(incTr,'%0.3f') ' ms'];

disp(stringa);

 

pause;

 

plot(tFall,icFall);

hold on;

plot(tF,icF,'ro');

xlabel('t [s]');

ylabel('Ic [mA]');

title('Tempo di discesa');

hold off;

 

stringa=['Tempo di discesa: tf = ' num2str(tf,'%0.3f') ' \ensuremath{±} ' num2str(incTf,'%0.3f') ' ms'];

disp(stringa);

 

pause;

close;

 

stringa=['Valor medio (formula nel tempo): ICmedia = ' num2str(ICmedia,'%0.2f') ' \ensuremath{±} ' \( _{\hookleftarrow } \)
num2str(incICmedia,'%0.2f') ' mA'];

disp(stringa);

 

stringa=['Valor medio (formula in frequenza): ICmedia = ' num2str(ICmediaFreq,'%0.2f') ' mA'];

disp(stringa);

 

stringa=['Valore efficace (formula nel tempo): ICrms = ' num2str(ICrms,'%0.1f') ' \ensuremath{±} ' \( _{\hookleftarrow } \)
num2str(incICrms,'%0.1f') ' mA'];

disp(stringa);

 

stringa=['Valore efficace (formula in frequenza): ICrms = ' num2str(ICrmsFreq,'%0.1f') ' mA'];

disp(stringa);

 

stringa=['Valore efficace ac (deviazione standard): sigmaIC = ' num2str(sigmaIC,'%0.2f') ' \ensuremath{±} ' \( _{\hookleftarrow } \)
num2str(incSigmaIC,'%0.2f') ' mA'];

disp(stringa);

 

stringa=['Fattore di cresta: CF = ' num2str(CF,'%0.2f') ' \ensuremath{±} ' num2str(incCF,'%0.2f')];

disp(stringa);

 

stringa=['Fattore di forma: FF = ' num2str(FF,'%0.2f') ' \ensuremath{±} ' num2str(incFF,'%0.2f')];

disp(stringa);


next up previous contents
Next: Potenza attiva e reattiva Up: Valutazione di , , Previous: Visualizzazione risultati   Contents
2001-10-22