Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

sinusoidal PWM technique using triangle wave

Not open for further replies.


Member level 2
Jun 19, 2008
Reaction score
Trophy points
Activity points
I have a requirement of detecting the instantaneous amplitude changes of a sine wave varying from 0-5V. Now I have decided to use PWM techniques using triangle wave and sine wave (my input signal) to a comparator that generates PWM pulses. The pulse width will be proportional to instantaneous changes in amplitude of input signal. What I am not very clear is how to synchronize triangle wave and input signal and what should be the frequency of the triangle wave to detect smallest change such as 10mV of input sine signal.


To reproduce a waveform in the averaged PWM output, the PWM frequency (triangle) must be considerably higher than the modulation input. It don't need to be synchronized generally.

But, to detect the change in amplitude of sine wave should I not synchronize with triangle wave?

I don't see, how "detect the change in amplitude" should be related to synchronization. Assuming an analog PWM modulator, there's no restriction in representing infinitesimal voltage changes.

In an exact analysis, you'll however realize, that the simple "natural sampling" PWM modulator comprised of a triangle wave and a comparator introduces some signal distortions. To overcome it, you have to change to a "regular sampling" modulator, that uses an additional sample and hold stage.

By synchronization, I mean to say that if my signal is varying from 0-5V, now I would put a zero crossing to indicate where the wave begins and and where it ends. Now if I could generate a triangular wave at the instant of rising edge of a square pulse output(from zero crossing detector), I could precisely measure the instantaneous amplitude of the ac signal by just measuring the width of the pulse.
By not synchronizing, PWM output is random and I am unable to infer the instantaneous amplitude change with reference to time.

By not synchronizing, PWM output is random and I am unable to infer the instantaneous amplitude change with reference to time.
If so, it's not a problem of PWM operation rather than of your analysis. Real PWM systems often aren't synchronized.

I thought you will find the slope by substracting two consecutive readings... this way you can find out the zero crossing point (highest slope) and the peak (close to zero slope)... even if the AC signal has a DC component.
Last edited:

Ok, I understand the problem. One final question, Suppose I want 0-100% variation of pulse width with resolution of 12 bits( 4095 steps corresponding to 0-100% pulse width variation), what should be the amplitude and frequency of triangle wave and sine wave. Any thumb rules...

Not open for further replies.

Part and Inventory Search

Welcome to