Está en la página 1de 2

ESTE ES EL CÓDIGO QUE SE DEBE ANALIZAR Y

RECONSTRUIR PARA DILIGENCIAR LAS TABLAS DEL


TRABAJO DE LA FASE 2
% Electrónica de Potencia - Periodo 16-01-2021 - UNAD
% Profesor: Faver A. Amorocho
% Diseño de un Inversor SPWM Unipolar

% Algoritmo para el análisis de distorsión armónica total a partir


de la
% selección de los índices de modulación de frecuencia y de
amplitud

% FebreRo de 2021

close all; clear all; clc;


F_Senoidal=input ('Digite el valor de la frecuencia de la señal
senoidal de control [Hz]= ');

mA=input('Ingresse Indice de Modulación de Amplitud ma = ');


%Indice de modulación de amplitud; ma=Vctrl/Vtri
mF=input('Ingresse Indice de Modulación de Frecuencia mf = '); %
Indice de modulación de frecuencia; mf=Ftri/Fctrl

V_Senoidal =input('Ingresse Voltaje pico de la señal Senoidal de


control, V_Senoidal = ');
V_Triangular = V_Senoidal/mA;

F_Triangular = mF*F_Senoidal;

W_Senoidal=2*pi*F_Senoidal;
T_Senoidal = 1/F_Senoidal; %Periodo de la señal Senoidal de
control

T_Triangular = 1/F_Triangular; % Periodo de la señal triangular


T1 = T_Triangular; % Tiempo de duración de la señal combinada,
corresponde al tiempo de la mayor

t=linspace(0,T_Senoidal, 1000);

% Generacion de la señal Senoidal_A


Senal_Seno_A = V_Senoidal*sin(W_Senoidal*t);
figure, plot(t,Senal_Seno_A);

% Generacion de la señal Triangular


Senal_Triangular = V_Triangular*sawtooth(2*pi*F_Triangular*t,0.5);
figure, plot(t,Senal_Triangular)

% Generación de la señal Senoidal_B (desfasada 180°)


Senal_Seno_B = (-1)*Senal_Seno_A;
figure, plot(t,Senal_Seno_A,'b',t,Senal_Seno_B,'g',
t,Senal_Triangular,'r'); % Se debe cambiar la diente de sierre por
triangular

%%%%%%%%%%%%
% Primer Comparador: Señal_Seno_A > Señal_Triangular ?
N = length(Senal_Seno_A);

for i=1:N
if (Senal_Seno_A(i)<Senal_Triangular(i))
Comparador_A(i)=-1;
else
Comparador_A(i)=1;
end

end
figure, plot(t, Comparador_A), title('Señal Digital Comparador_A')

% Segundo Comparador: Señal_Seno_B > Señal_Triangular ?


N = length(Senal_Seno_B);

for i=1:N
if (Senal_Seno_B(i)<Senal_Triangular(i))
Comparador_B(i)=-1;
else
Comparador_B(i)=1;
end

end

figure, plot(t, Comparador_B), title('Señal Digital Comparador_B')

%% =========== %%%%
% Diferencia de las dos señales digitales
% Comparador_A - Comparador_B
SPWM = Comparador_A - Comparador_B;
figure, plot(t, SPWM), title('Señal SPWM Unipolar')
figure, plot(t,Senal_Seno_A, 'b',t,SPWM,'r')

%% /////////// %%%
% Cálculo de la Distorsión Armónica Total -> THD

Distorsion_Arm_Total=thd(SPWM,1/1000,5)

También podría gustarte