Electrical – shifting signal in simulink

MATLABsimulink

I would like to know how to shift a signal in Simulink. The case is I am using PWM generator(DC-DC) and the input D is from a lookup table,a sine wave. From the PWM generator block i am taking the pulses i want(a sine PWM). However, because of having two mosfets i need second pulses signal which should be shifted like when the first pulse in the first signal finish, the first pulse of the second signal will start. I think the real issue here is this: the Duty cycle is changing for each pulse so each pulse should be shifted with different time.

The shifting i want is described in the image. The the magnitudes of D's are forming a sine wave. For example if i have 5 pulses(so D1,D2,D3,D4,D5), the variation of D's will be like D1=0.1, D2=0.2, D3=0.3, D4=0.2 and D5=0.1 ( the numbers are just for example) So the i need to have shift every pulses according to their own width(Duty cycle)

desired shifting

Best Answer

There are many ways to solve this and the optimum solution will be specific to other details of your model.

Initially try the transport delay block: https://uk.mathworks.com/help/simulink/slref/transportdelay.html

Transport delay icon

There is also variable transport delays, unit delays or even constructing more elaborate delay mechanisms via integrators and comparison blocks

Related Topic