# Smoothed Square Wave

new here and probably pretty unexperienced compared to the rest of you. This should be simple enough but just wanted some clarification. I'm trying to model an analog square wave oscillator with C. With the oscillator I'm trying to mimic, the square wave isn't totally square and has curves with the starting edge of each pulse (on/off). It looks like in the analog device the capacitor is smoothing the square wave, so I believe I need to implement a low pass filter in my code to smooth out the square wave.

tldr - Just wanted to confirm that I should implement a low pass filter on the raw square wave to make it sound similar to the analog oscillator of the picture below. If there's another way I should be approaching this I'm open to listen to suggestions as I might be approaching this wrong.

Top is my square wave Bottom is device's square wave

Yes. This looks like it's a typical first order low pass. The time constant can be determined by looking at the time it takes for the falling edge to drop to 37% of the max amplitude ($e^{-1}$). The cutoff frequency of the low pass filter is $1/(2 \cdot \pi \cdot t_c)$ where $t_c$ is the time constant