cupyx.scipy.signal.max_len_seq#

cupyx.scipy.signal.max_len_seq(nbits, state=None, length=None, taps=None)[源]#

最大长度序列 (MLS) 生成器。

参数:
  • nbits (int) – 使用的比特数。结果序列的长度将是 (2**nbits) - 1。请注意,生成长序列(例如,大于 nbits == 16)可能需要很长时间。

  • state (array_like, optional) – 如果是数组,长度必须为 nbits,并且将被转换为二进制(布尔)表示。如果为 None,将使用全一的种子,产生可重复的表示。如果 state 全为零,将引发错误,因为这是无效的。默认值:None。

  • length (int, optional) – 计算的样本数。如果为 None,则计算整个长度 (2**nbits) - 1

  • taps (array_like, optional) – 要使用的多项式抽头(例如,对于 8 位序列,使用 [7, 6, 1])。如果为 None,将自动选择抽头(对于 nbits == 32 及以下的位数)。

返回值:

  • seq (array) – 结果 MLS 序列,由 0 和 1 组成。

  • state (array) – 移位寄存器的最终状态。

注意

MLS 生成算法的通用描述见

taps 的默认值具体取自 nbits 各个值对应的第一个选项,列表见