Electronic – the best way to get a sine wave from a square wave

analogfiltersinesquarewave

I have square waves of different frequencies (1KHz to 20KHz), and I need to convert them to a sine wave of the corresponding fundamental frequency.

A RC ladder Low-pass filter was the first thing which I tried, It gave good results but the output peak-to-peak voltage (Vpp) varied a lot with the frequency. The square wave has a Vpp of 3.6V. But after filtering, the output Vpp of the sine wave varies from 3V to 2V as the frequency increases.

Is there any other better way to get a pure sine wave from square wave of same frequency without this voltage drop?

Thank you

Best Answer

Is there any other better way to get a pure sine wave from square wave without this voltage drop?

Take your square wave and use a phase lock loop to generate a frequency that is maybe 50 times higher: -

enter image description here

Then use a clock tunable filter like this: -

enter image description here

Feed your square wave at the input (Vin) and you should get a pretty decent looking sinewave at the output.

It works by tracking the input frequency using the PLL - typically at an input frequency of 20 kHz the PLL output is 1 MHz and this is used by the LTC1066 to set its cut-off frequency to 20 kHz. Here's what LT say the frequency response looks like at the extremes of operation: -

enter image description here

Given that a square wave is composed of odd harmonics you need a steep filter that gives many dB attenuation at the most dominant harmonic (3rd). Look at the graph for 800 Hz low pass operation. At 800 Hz the response is approximately 0 dB and at 2.4 kHz (3rd harmonic) the attenuation id greater than 80 dB (10,000:1).