modulación pwm pulso unico
Publicado por cristhian fernandez (1 intervención) el 22/08/2012 22:17:33
Buenas
estoy trabajando en programa por gui de inversores, donde la programación la hago por codigo y no por simulink
Estoy trantando de lograr la modulación por un pulso donde tengo que comparar una señal triangular con una señal cuadrada he logrado un codigo pero nesecito urgente lograr como lo muestro en la imagen. http://a1.sphotos.ak.fbcdn.net/hphotos-ak-ash3/542495_10151195783254750_634330824_n.jpg
./\ . /|
/..\/ .| __
.......| /\ |
.......|/ .\|
___
| ... |......|
..... |___|
fs=1000;
t=[0:100]/fs;
vs=10;
Ar=vs;
Ac=0.5*vs;
mm= Ar.*sawtooth(2*pi*60*t+pi,0.5);
ss=Ac.*square(2*pi*30*t);
n=length(ss);
for i=1:n
if (mm(i)>=ss(i))
pwmm(i)=vs;
elseif (mm(i)<=ss(i))
pwmm(i)=-vs;
end
end
plot(t,pwmm,'-k',t,mm,'--r',t,ss,'--b');
ylim([ -2*vs 2*vs]);
xlim([ 0 0.1]);
title('PWM wave');
Muchas gracias
cristhian
estoy trabajando en programa por gui de inversores, donde la programación la hago por codigo y no por simulink
Estoy trantando de lograr la modulación por un pulso donde tengo que comparar una señal triangular con una señal cuadrada he logrado un codigo pero nesecito urgente lograr como lo muestro en la imagen. http://a1.sphotos.ak.fbcdn.net/hphotos-ak-ash3/542495_10151195783254750_634330824_n.jpg
./\ . /|
/..\/ .| __
.......| /\ |
.......|/ .\|
___
| ... |......|
..... |___|
fs=1000;
t=[0:100]/fs;
vs=10;
Ar=vs;
Ac=0.5*vs;
mm= Ar.*sawtooth(2*pi*60*t+pi,0.5);
ss=Ac.*square(2*pi*30*t);
n=length(ss);
for i=1:n
if (mm(i)>=ss(i))
pwmm(i)=vs;
elseif (mm(i)<=ss(i))
pwmm(i)=-vs;
end
end
plot(t,pwmm,'-k',t,mm,'--r',t,ss,'--b');
ylim([ -2*vs 2*vs]);
xlim([ 0 0.1]);
title('PWM wave');
Muchas gracias
cristhian
Valora esta pregunta


0