Está en la página 1de 2

% Frec=input('frecuencia de la Fundamental '); % Frecuencia

de la ventana de muestreo
% tm=1/Frec % Tiempo de muestreo
tm=input('Tiempo de muestreo en segundos '); % Tiempo de
muestreo
Frec=1/tm; % Frecuencia de la
ventana de muestreo

% Número de ciclos de 60 Hz
NC=floor(tm*60); % Ciclos de 60Hz considerados
if NC==0;
NC=1;
end

%------------------------------------------------------------------------
---------------------------
% Descomente de acuerdo a la utilidad la líneas 15 y 16 si va a utilizar
un archivo del Osciloscopio o la 22 si es una variable del command
% ********************Archivo del Osciloscopio
*******************************************

% Nombre=input('Nombre del archivo entre comillas simples ');


% % Archivo de datos del osciloscopio recuerde comentar las 15 primeras
líneas con % para que no las lea matlab
% a1=load(Nombre);

% ********************* Variable
*******************************************************
% La variable debe ser tipo matriz la primera columna corresponde al
tiempo y la segunada al muestreo de la señal
a1=input('Variable ');

%------------------------------------------------------------------------
---------------------------------------

largo=length(a1); % Largo del vector


Deltat=a1(2,1)-a1(1,1); % Delta de Tiempo
Np=round((1/Frec)/Deltat); % Número de puntos que corresponde
a la ventana
a=a1(largo-Np+1:largo,2); % Onda en la última ventana de
muestreo
t=(0:Np-1)*Deltat; % tiempo de una ventana
figure (3)
plot(t,a,'r'); % Señal en la ventana de muestreo
grid
xlabel('Tiempo (s)');
ylabel('Magnitud')
b=fft(a)*2/(Np); % Transformada Rápida de Fourier
b(1)=b(1)/2; % Correción del valor medio
figure (1)
NA=input('Numero de armónicas a considerar ');
ax=(0:NC:(NA-1)*NC)/NC;
ay=abs(b(1:NC:NA*NC))/abs(b(NC+1))*100;
ay(1)=ay(1)*sqrt(2);
bar(ax,ay,'r') % Espectro corregido en función de la fundamental
xlabel('Armonica de la fundamental')
ylabel('Magnitud en % de la fundamental')
grid;

disp('Valores Efectivos')
RMS_1=abs(b(NC+1))/sqrt(2) % Efectivo 1º Armónica
RMS=sqrt(sum((abs(b(2:NC:NA*NC))).^2/2)+abs(b(1))^2) % Efectivo total
Valor_medio=abs(b(1)) % Valor Medio
THD=sqrt(RMS^2-RMS_1^2)/RMS_1 % Factor de distorsión
Armónica total
FR=sqrt(RMS^2-Valor_medio^2)/Valor_medio % Factor de rizado

También podría gustarte