I want to convert a 10 MHz train of square wave, 3.3 V to a Gaussian pulse train of the same frequency and amplitude. This Gaussian pulse will be sent into an electro-optical modulator where it modulate continuous wave laser (single frequency 100kHz linewidth) into optical pulse. (See figure)

Can anyone recommend me an available IC that can do the job?

I found some Gaussian filter circuit online. However, I am not sure how to know the timing jitter of the pulse train created by the circuit. My squarewave jitter is low (200 ps) and I would like to keep it as low as possible.

[enter image description here

  • \$\begingroup\$ hm, how do you measure that jitter? time of rising edge crossing some specific voltage? If so, what's your measurement equipment's bandwidth? How long do you observe? It's not easy measuring a 20 ps jitter of a low-frequency square wave. Where does that train of square waves come from, and what do you want to do with the train of Gaussians? What is the Gaussians "bandwidth" or equivalently, the bell curves' \$\sigma\$, compared to 1/10 MHz = 100 ns? \$\endgroup\$ Jan 14, 2020 at 22:37
  • \$\begingroup\$ I'm asking about all the context of this because preserving low jitter is kind of a hard task, and I'd like to understand which aspects of the Gaussian-shaped step train the receiving end of your 10 MHz signal cares about most, and where one can make a trade off. \$\endgroup\$ Jan 14, 2020 at 22:40
  • \$\begingroup\$ @MarcusMüller I am using a Time-to-Digital converter (TDC GPX2 ams.com/tdc-gpx2). I send the square train and look at the arrival time of each pulse corresponds to a periodic reference signal. I look at the histogram of the arrival time results and the bandwidth of the histogram is 200 ps (sorry I made a typo there). Right now we just want a prototype system, we do not care yet about the bandwidth of the Gaussian pulse. \$\endgroup\$
    – Lac
    Jan 14, 2020 at 23:35
  • \$\begingroup\$ A square wave in not a train of lower frequency pulses that ring with a Guassian spectrum derived a higher frequency clock. ... like a Heart beat 1 Hz with 30 Hz ringing in a Guassian shape. or a muscle axon signal at 30 Hz rate with 300 Hz Gaussian waves so you want to define your signal better for Rep rate, sampling rate and duration in cycles say for 40 dB range. Then you want to specify if the train repeats with same polarity or alternating.. So was that 10MHz rep rate with 100MHz alternating Gaussian wavelets? or ... \$\endgroup\$ Jan 15, 2020 at 4:34
  • 2
    \$\begingroup\$ Draw a picture of input signal and desired output signal. There are several different interpretations of Gaussian pulse train on the internet and it's not clear what you want because of that. \$\endgroup\$
    – Andy aka
    Jan 15, 2020 at 8:22

1 Answer 1


I've thought about this, and I don't think there's a commercially available single chip solution that comes close to doing what you need: in fact, you want to convert your rectangular function to a sequence of (mathematically) pulses, and then pulse-shape that with a Gaussian-shaped filter. Hard!

Now, the way I'd achieve this is:

  1. use your very frequency-exact 10 MHz source to discipline the sampling clock of a fast DAC
  2. Digitally generate the pulses

Now, how fast is a "fast" ADC? Ostensibly, it'll need to be significantly faster than 10 MHz; what you'll actually need depends on the "Gaussianness" of the pulse you'll need and the "width". You sadly couldn't put a value to that, so I'll have to leave that up to you, but let's say that with 10- to 20-fold higher sampling rate you can already achieve pulses that look pretty Gaussian if you add a sufficiently good reconstruction filter after your DAC.

Now, there's already a class of devices that are pretty much a fast DAC (and ADC), an externally disciplinable clock and reconstruction filters: SDRs.

So, judging from the frequencies and clock qualities necessary, an Ettus X300 with a basicTX daughterboard would give you (two baseband channels, IQ of) 200 MHz sample rate. It has an input for a 10 MHz reference clock. You can either attach a PC with 10 gigabit ethernet, and generate the desired waveform in software, or you can modify the FPGA image and generate it on the fly in the device. Disclaimer: I'm affiliated with Ettus/NI and these devices aren't cheap. Basically, they are nothing but programmable arbitrary waveform generators. If you happen to have other arbitrary waveform generators standing around, make sure they have a 10 MHz ref input, and use that.


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.