CMOS pulse generator for BPSK, OOK, PAM and PPM modulation