Está en la página 1de 3

function discretefourier(v,F,f,c,di,B)

%Serie discreta de fourier para (N) muestras por ciclo.(par e impar)


% sintaxis = discretefourier(v,F,f,c,di,B)donde:
% v = vector de mustras de la señal (utilize vector fila).
% F = frecuencia de muestreo de la señal.
% f = frecuencia fundamental de la señal muestreada.
% c = numero de ciclos de ventana de obcerbacion (asegurese de que este dentro
del rango de muestreo).
% di= porcentege de aproximación porcentual en comparacion con magnitud de
armonico fundamental;jem(di=50% me muestra amonicos mayores al la mitad de el
armonico fundamental),en p(t)se aconseja lo mas pequeño el di.
% B = numero de armonico basado en un ciclo correspondiente al ancho de banda de
transformadores de medida en el medidor.
syms t
xn=v;
fs=F;
fo=f;
N=fs/fo;
n=c;
d=di;
BW=B;

bk=fft(xn(1:n*N))/(n*N);
mbk=abs(bk(1:n*BW+1));
fbk=angle(bk(1:n*BW+1));
r=d*mbk(n+1)/100;

for i=1:n*BW+1;
if mbk(i)>=r;
my(i)=mbk(i);
fy(i)=fbk(i);
end
end

a=my(1);
for j=2:length(my)
a1=2*(my(j))*cos((2*pi*(fo/n)*t*(j-1))+ (180/pi)*(fy(j)));
a=a+a1;
end
xt=vpa(a,5)
V=(transpose(my))*sqrt(2)
fbk_deg=transpose(fy)*(180/pi)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;clc
syms t
F=1560;
f=60;
N=26;
c=1;
di=1;
B=12;

v=[-1.6593 47.2961 84.0534 108.2965 130.3638 155.4234 174.7436 175.6772


157.3537 131.6781 108.5905 84.7028 49.6284 1.6593 -47.2961 -84.0534 -
108.2965 -130.3638 -155.4234 -174.7436 -175.6772 -157.3537 -131.6781 -108.5905
-84.7028 -49.6284 -1.6593 47.2961 84.0534 108.2965 130.3638 155.4234
174.7436 175.6772 157.3537 131.6781 108.5905 84.7028 49.6284 1.6593
-47.2961 -84.0534 -108.2965 -130.3638 -155.4234 -174.7436 -175.6772 -157.3537 -
131.6781 -108.5905 -84.7028 -49.6284 -1.6593 47.2961 84.0534 108.2965
130.3638 155.4234 174.7436 175.6772 157.3537 131.6781 108.5905 84.7028
49.6284 1.6593 -47.2961 -84.0534 -108.2965 -130.3638 -155.4234 -174.7436 -
175.6772 -157.3537 -131.6781 -108.5905 -84.7028 -49.6284 -1.6593 47.2961
84.0534 108.2965 130.3638 155.4234 174.7436 175.6772 157.3537 131.6781
108.5905 84.7028 49.6284 1.6593 -47.2961 -84.0534 -108.2965 -130.3638 -
155.4234 -174.7436 -175.6772 -157.3537];

i=[-0.2100 0.4005 -0.5260 2.4071 7.3086 7.4444 5.4711 0.8885


-0.2297 0.0879 -0.2044 0.1211 -0.2602 0.2100 -0.4005 0.5260 -
2.4071 -7.3086 -7.4444 -5.4711 -0.8885 0.2297 -0.0879 0.2044 -
0.1211 0.2602 -0.2100 0.4005 -0.5260 2.4071 7.3086 7.4444
5.4711 0.8885 -0.2297 0.0879 -0.2044 0.1211 -0.2602 0.2100 -
0.4005 0.5260 -2.4071 -7.3086 -7.4444 -5.4711 -0.8885 0.2297 -
0.0879 0.2044 -0.1211 0.2602 -0.2100 0.4005 -0.5260 2.4071
7.3086 7.4444 5.4711 0.8885 -0.2297 0.0879 -0.2044 0.1211 -
0.2602 0.2100 -0.4005 0.5260 -2.4071 -7.3086 -7.4444 -5.4711 -
0.8885 0.2297 -0.0879 0.2044 -0.1211 0.2602 -0.2100 0.4005 -
0.5260 2.4071 7.3086 7.4444 5.4711 0.8885 -0.2297 0.0879 -
0.2044 0.1211 -0.2602 0.2100 -0.4005 0.5260 -2.4071 -7.3086 -
7.4444 -5.4711 -0.8885 0.2297];

discretefourier(v,F,f,c,di,B);

clear;clc
syms t
F=1560;
f=60;
N=26;
c=1;
di=1;
B=12;

v=[-1.6593 47.2961 84.0534 108.2965 130.3638 155.4234 174.7436 175.6772


157.3537 131.6781 108.5905 84.7028 49.6284 1.6593 -47.2961 -84.0534 -
108.2965 -130.3638 -155.4234 -174.7436 -175.6772 -157.3537 -131.6781 -108.5905
-84.7028 -49.6284 -1.6593 47.2961 84.0534 108.2965 130.3638 155.4234
174.7436 175.6772 157.3537 131.6781 108.5905 84.7028 49.6284 1.6593
-47.2961 -84.0534 -108.2965 -130.3638 -155.4234 -174.7436 -175.6772 -157.3537 -
131.6781 -108.5905 -84.7028 -49.6284 -1.6593 47.2961 84.0534 108.2965
130.3638 155.4234 174.7436 175.6772 157.3537 131.6781 108.5905 84.7028
49.6284 1.6593 -47.2961 -84.0534 -108.2965 -130.3638 -155.4234 -174.7436 -
175.6772 -157.3537 -131.6781 -108.5905 -84.7028 -49.6284 -1.6593 47.2961
84.0534 108.2965 130.3638 155.4234 174.7436 175.6772 157.3537 131.6781
108.5905 84.7028 49.6284 1.6593 -47.2961 -84.0534 -108.2965 -130.3638 -
155.4234 -174.7436 -175.6772 -157.3537];
i=[-0.2100 0.4005 -0.5260 2.4071 7.3086 7.4444 5.4711 0.8885
-0.2297 0.0879 -0.2044 0.1211 -0.2602 0.2100 -0.4005 0.5260 -
2.4071 -7.3086 -7.4444 -5.4711 -0.8885 0.2297 -0.0879 0.2044 -
0.1211 0.2602 -0.2100 0.4005 -0.5260 2.4071 7.3086 7.4444
5.4711 0.8885 -0.2297 0.0879 -0.2044 0.1211 -0.2602 0.2100 -
0.4005 0.5260 -2.4071 -7.3086 -7.4444 -5.4711 -0.8885 0.2297 -
0.0879 0.2044 -0.1211 0.2602 -0.2100 0.4005 -0.5260 2.4071
7.3086 7.4444 5.4711 0.8885 -0.2297 0.0879 -0.2044 0.1211 -
0.2602 0.2100 -0.4005 0.5260 -2.4071 -7.3086 -7.4444 -5.4711 -
0.8885 0.2297 -0.0879 0.2044 -0.1211 0.2602 -0.2100 0.4005 -
0.5260 2.4071 7.3086 7.4444 5.4711 0.8885 -0.2297 0.0879 -
0.2044 0.1211 -0.2602 0.2100 -0.4005 0.5260 -2.4071 -7.3086 -
7.4444 -5.4711 -0.8885 0.2297];
discretefourier(i,F,f,c,di,B)

p=sum(v(1:N).*i(1:N))/N

También podría gustarte