sdr.NCO.__call__[_ScalarType_co, freq: ndarray[Any, dtype[_ScalarType_co]] | None = None, phase: ndarray[Any, dtype[_ScalarType_co]] | None = None, output: 'phase' | 'sine' | 'cosine' = 'complex-exp')->~numpy.ndarray[~typing.Any, ~numpy.dtype[~numpy.float64]]()
sdr.NCO.__call__[_ScalarType_co, freq: ndarray[Any, dtype[_ScalarType_co]] | None = None, phase: ndarray[Any, dtype[_ScalarType_co]] | None = None, output: 'complex-exp' = 'complex-exp')->~numpy.ndarray[~typing.Any, ~numpy.dtype[~numpy.complex128]]()

Steps the NCO with variable frequency and/or phase signals.

Parameters:
freq: ndarray[Any, dtype[_ScalarType_co]] | None = None

The variable frequency signal \(f[n]\) in radians/sample. This input signal varies the per-sample phase increment of the NCO. If None, the signal is all zeros.

phase: ndarray[Any, dtype[_ScalarType_co]] | None = None

The variable phase signal \(p[n]\) in radians. This input signal varies the per-sample phase offset of the NCO. If None, the signal is all zeros.

output: 'phase' | 'sine' | 'cosine' = 'complex-exp')->~numpy.ndarray[~typing.Any, ~numpy.dtype[~numpy.float64]
output: 'complex-exp' = 'complex-exp')->~numpy.ndarray[~typing.Any, ~numpy.dtype[~numpy.complex128]

The format of the output signal \(y[n]\). Options are the accumulated phase, sine, cosine, or complex exponential.

Returns:

The output signal \(y[n]\).

Examples

See the Phase-locked loops example.