# with SciPy, how to generate waveform with common pulse shapes?

With Python/Scipy, if I have a simply BPSK signal sequence [1, -1, -1, 1, ...], how can I generate a real-valued baseband waveforms with oversampling rate m, and common pulse shapes such as root raised cosine, Nyquist, etc.?

In Matlab I found this fdesign.pulseshaping function, is there an equivalent function in SciPy? If not how can I implement this myself?

I think in other words, how can I find filter coefficient b and a of root raised cosine or Nyquist filters so I use signal.filtfilt?

you have to select the parameters for creating one pulse shape and then you can create pulse stream for your base band signal.

• Or you could use docs.scipy.org/doc/scipy-dev/reference/generated/… to generate the shape and then fftconvolve it with your pulse train? Or other window function generators to get specific dB attenuation, etc. Apparently "raised cosine" does not literally mean cosine in this context? – endolith Aug 6 '13 at 21:46