hi; i want to generate i pwm signal for an inverter. For this, i have a sinus signal which has amplitude btw -5 and +5. But i need to chop its negative intervals. how can i implement this in digital signal processing tools? i will use this in f2808 dsp chip for generating triggering signals to the mosfets..

 採用された回答

Paulo Silva
Paulo Silva 2011 年 4 月 17 日

0 投票

f=1e3;a0=0;AmpSin=5; %sample wave values
t0=0;tf=0.01;Ts=1e-6; %time vector and resolution
v=0;AmpPwm=1; %Pwm options, increase v for lower dutty-cycle
t=t0:Ts:tf; %create the time vector
fun=AmpSin*sin(2*pi*f*t+a0); %create the function
pwm=AmpPwm*(fun>v); %get the pwm
%plot it just to know if its working
clf
plot(t,fun)
hold on
plot(t,pwm,'r')
Alternative implementation in simulink

2 件のコメント

Rmzn
Rmzn 2011 年 4 月 17 日
Thanks Mr Paula;
but i didnt mean this. i need this process in simulink model,i have a discrete sinusoidal Soruce which is used from "Signal Processing Toolbox". can you suggest sth to do this ??
thanks very much..
Paulo Silva
Paulo Silva 2011 年 4 月 17 日
I'm sorry but you only mentioned simulink now, please follow Arnaud suggestion or do the same thing I did with my code on simulink (it's just simple math and comparison blocks)

サインインしてコメントする。

その他の回答 (1 件)

Arnaud Miege
Arnaud Miege 2011 年 4 月 17 日

1 投票

Use the Saturation block.
HTH,
Arnaud

1 件のコメント

Rmzn
Rmzn 2011 年 4 月 17 日
thanks a lot Mr Arnoud.! That is what i was looking for :))

サインインしてコメントする。

コミュニティ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by