def cw(fc, duration, fs, window=None):
"""Generate a sinusoidal pulse.
:param fc: frequency of the pulse in Hz
:param duration: duration of the pulse in s
:param fs: sampling rate in Hz
:param window: window function to use (``None`` means rectangular window)
For supported window functions, see documentation for :func:`scipy.signal.get_window`.
>>> import arlpy
>>> x1 = arlpy.signal.cw(fc=27000, duration=0.5, fs=250000)
>>> x2 = arlpy.signal.cw(fc=27000, duration=0.5, fs=250000, window='hamming')
>>> x3 = arlpy.signal.cw(fc=27000, duration=0.5, fs=250000, window=('kaiser', 4.0))
"""
n = int(round(duration*fs))
x = _np.sin(2*_np.pi*fc*time(n, fs))
if window is not None:
w = _sig.get_window(window, n)
x *= w
return x
评论列表
文章目录