[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/diy/ - Do It Yourself

Search:


View post   

>> No.1441677 [View]
File: 6 KB, 700x325, sine-f16.gif [View same] [iqdb] [saucenao] [google]
1441677

>>1441574
Hey wouldn't it be great if you could derive all your different waveforms from one oscillator?

Well you can! You wanna start with a triangle wave oscillator, RC based relaxation oscillators are the go to (though I recommend replacing R with a current source to get nice linear ramps rather than that exponential RC time constant BS). In order to get the sine wave out you simply take the triangle wave and put it through a diode waveshaping circuit and now you have a sine wave. The square wave is even easier, simply put your sine or triangle wave (either will work) into a comparator based zero crossing detector and it will output a clean square wave with the same frequency of your input triangle wave.

If you decide you wanna do sawtooth waveforms it's as simple as setting a lower charge current to the charging current source and a higher current to the discharging current source or vice versa for fast charge slow discharge. This will also allow you to change your square wave duty cycle as well, however to do this you cannot put your square wave comparator after the sine wave diode waveshaping as the sine wave waveshaper needs a symmetrical triangle wave to work properly. Sine waves generated by sawtooth waves are weird and distorted but you may find you like the effect in your synth.

As for filters, I recommend active over passive. My preferred topology is MFB but it's really only suitable for low pass and bandpass filters. Sallen-key is probably a better choice as they are somewhat simpler to design and can do high pass as well. Butterworth and 0.1dB pass band ripple Chebyshev filters are suitable for audio and 2 or 4 poles should be adequate as well.

Navigation
View posts[+24][+48][+96]