I wanted to generate a triangular wave from a pure sine wave using only passive networks (RLC circuit only.)

I wanted to realize such a network and at first I thought maybe the Fourier transform (of transfer function) does the work but then I thought due to delta function present in denominator of transfer function (dividing Fourier transform of triangular wave to Fourier transform of sine wave) it's​ not easy to get desired result.

Then I thought maybe the Laplace transform will work but this time, the unilateral transform of the transfer function is a non rational function and I don't think it's realization with only RLC circuit is possible.

  1. Is it possible to design such a circuit (only RLC) which outputs triangular wave for sinusoidal input at steady state, just after applying sinusoidal input?

  2. If it is not possible to design such a passive network then how to design a passive circuit that has anoutput is pretty close to triangular wave for same sinusoidal input?

  3. What is best way to approach problem like this, so that we can reach at conclusions about desired system quickly?

  • \$\begingroup\$ Can you provide those formulas with Fourier transform and delta function for square and triangular wave? And why would you need this particular problem implemented with passive RLC, only? \$\endgroup\$ Aug 7, 2020 at 6:10
  • \$\begingroup\$ Yes I can provide it but I thought it would be obvious , Fourier transform of a sine function contain Delta function and Fourier transform of triangular wave is sinC (square) , that's why I didn't mention formulas \$\endgroup\$
    – user215805
    Aug 7, 2020 at 6:15
  • \$\begingroup\$ And I just finished my passive network realization course , so I just try to figure it out , what can I design with it and what not \$\endgroup\$
    – user215805
    Aug 7, 2020 at 6:17
  • 4
    \$\begingroup\$ In that case, a triangular wave is not what you can do, since it would imply a nonlinear transfer function (mapping a sine to a triangle), and an RLC circuit is linear. \$\endgroup\$ Aug 7, 2020 at 6:27
  • 4
    \$\begingroup\$ @user215805 No. You will need frequencies that are other than the source frequency in order to achieve any non-sinusoid shape -- including triangular. Those can only be introduced with non-linear transforms (and RLC networks are linear.) You cannot get there from here, so to speak. You could introduce clipping to generate something almost like a square wave and this would make it possible. But the clipping will mean a non-linear device, again. \$\endgroup\$
    – jonk
    Aug 7, 2020 at 7:51

3 Answers 3


Just about the only signal that you can't generate a good triangle wave from is a sine-wave, or the sum of a small number of sine waves.

If you put a sine-wave into a linear circuit network the output will be a sine-wave of the same frequency as the input. The amplitude and phase of the output may be different though.

If you put a sum of sine waves into a linear circuit network then the output will be a set of sine waves with the same set of frequencies present on the input.

The Fourier series for a triangle wave contains an infinite set of sine-waves. Therefore you can't generate a triangle from a single sine-wave using just linear components.

If you input a series of sine waves having frequencies f, 2f, 3f, 4f... then you can approximate a triangle wave, and the approximation will get better the more frequencies you have to work with.

If you just put in a square wave or some other input that contains an infinite set of frequencies then you can generate any periodic wave shape you want at the output.

To do this, just create filters that scale each of the frequencies present in the input so that it has the correct magnitude in the Fourier series at the output.

  • 1
    \$\begingroup\$ Nice answer , addresses mine all concerns ! As in last paragraph you mentioned to create filter that scale all the frequencies , by calculating frequency response from given input output is only way to design filter or there are other methods also exists? \$\endgroup\$
    – user215805
    Aug 7, 2020 at 17:03

As already said by others:

RLC-only circuits are linear. Triangle wave contains harmonic frequency components. Linear circuits do not generate harmonics. => No continuous triangle wave output is possible if the input is a pure sinewave and the circuit is linear.

You need non-linear parts. One possibility is a voltage divider. If the upper half of the divider is non-linear is such way that the current increases steeper than linearly you can well get the wanted result - if you find a nonlinear circuit which behaves in a wanted way. Overvoltage protection VDRs and diodes combined with ordinary resistors can make it, but the result is very sensitive to the amplitude of the sinewave input and temperature changes.

UNDER CONSTRUCTION checking is this really possible


[To guide "concerned citizen" to nirvana, let us emphasize "square wave input".]

The initial slewrate of a low_pass_filter is exactly Vpeak/(R * C).

The long term waveform is of course that well_known exponential settling to the final value.

If you use only the first 50%, or first 5%, or first 1%, you will have a progressively better "ideal" triangle.


In the classic exponential settling

[ Vout = Vin * (1 - e^(t/RC)) ]

you can take the calculus derivative, and you find the slewrate is initially what I previously mentioned

SR = Vin/RC

but the rate of change drops off rapidly.

Knowing e^-1 = 0.37, we know the Vout = Vin * (1 - 0.37) = Vin * 0.63, which is the amount of settling at the 1_TAU time. Your sliderule should show you this.

At only 1%, the SlewRate will be 99% of the initial value (you should do the calculus, and verify this). A 1% slower edge is undetectable, for most uses.

This does require a 100 volt signal (square wave) to produce a pretty 1 volt triangle wave.

Perhaps you can find a way to extract an error signal, and sum that with the low_pass_filter output, to achieve a more linear ramp/triangle.

  • \$\begingroup\$ Thanks for answer, can you explain in somewhat More detail about 50%,5% or 1% ,I didn't understand that \$\endgroup\$
    – user215805
    Aug 7, 2020 at 6:49
  • \$\begingroup\$ While I agree with the calculations, I can't agree with the conclusion: no matter what time constant will there be, what elements (RC, RL, RLC, etc), the circuit will be linear, and with a single sine as input, only a sine can come out at the end. Otherwise it would imply that either the input or the RLC circuit has non-linearities. \$\endgroup\$ Aug 7, 2020 at 9:44
  • \$\begingroup\$ I was completely neutral in my previous comment, so I don't understand your sarcasm. But if that's the tone you want, how about we emphasize OP's very first sentence: "I wanted to generate a triangular wave from a pure sine wave using only passive networks (RLC circuit only.)". Which makes your whole answer completely useless, since it doesn't address OP's question. \$\endgroup\$ Aug 7, 2020 at 16:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.