comnum.zero_order_hold_gain#

comnum.zero_order_hold_gain(f_hz, fs, hold)#

The amplitude response of a zero-order hold of hold output samples per input sample at the input rate fs: |sin(π f/f_s) / (H sin(π f/(H f_s)))|, which tends to |sinc(f/f_s)|.

Parameters:
  • f_hz (float | array_like) – frequency (Hz).

  • fs (float) – input sampling rate (Hz).

  • hold (int) – output samples per input sample.

Returns:

the gain at every frequency.

Return type:

float | numpy.ndarray

Raises:

ValueError – for values that are not real numbers.

Examples

>>> import comnum
>>> round(comnum.zero_order_hold_gain(0.5, 1.0, 1000), 4)
0.6366