在信号完整性测试或者仿真过程中,我们通常需要给一个通道发送PRBS码型,那么什么是PRBS码型呢?

        PRBS全称是Pseudo-Random Binary Sequence,翻译过来就是伪随机二进制序列,什么是伪随机呢,随机就是说PRBS码型的0和1是随机出现的,“伪”的意思就是PRBS并不是真正的随机,而是在一个周期内是随机的,但是整个数据流有无数个周期,每个周期的数据流是完全一致的,所以称为伪随机。

        在真实的使用场景中,数据流是完全随机的,PRBS码型与实际场景的数据传输很相似,所以就可以模拟真实的数据流,目前常用的PRBS码有PRBS7, PRBS9, PRBS11, PRBS15, PRBS32等。PRBS码的常规格式是PRBSr, r表示寄存器的长度,如PRBS7就表示PRBS码对应的寄存器是7位,一个周期可以产生2的7次方减一个数据,也就是127个数据。

        说到PRBS码型就必须要提一下LFSR: linear feedback shift register, 线性反馈移位寄存器,在ADS里的解释如下:

线性反馈移位寄存器组件可用于生成具有用户定义的递归关系的 PN 序列。 LFSR 的输入是时钟信号。每次输入信号从 0 转换到 1 时,都会在输出处生成一个新的位值。(The linear feedback shift register component can be used to generate PN sequences with user-defined recurrence relations. The input to the LFSR is a clock signal. A new bit value is generated at the output every time the input signal transitions from 0 to 1. )

 寄存器的初始值称为种子(seed),上图中Dn-r到Dn这个序列称为种子,移位寄存器的初始内容由Seed 的值指定,seed的最大有效值为2的r次方减1。通常N位的线性反馈寄存器最多有 2'N 个不同的状态。但是如果出现初值为N个0的情况,线性反馈寄存器陷入死循环,要排除掉。所以N位线性反馈寄存器能产生最长的不重复序列为 2'N-1。

在下一个时钟周期内,Dn的值移位到Dn-1,Dn-1的值移位到Dn-2,Dn-2的值移位到Dn-3,Dn-(r-1)的值移位到Dn-r,那么如何确定Dn的值呢,这就要引入二进制反馈系数Feedbacklist(非零反馈系数的抽头位置(tap positions for non-zero feedback coefficients))这个概念,Feedbacklist确定了由哪几个位置的值来确定Dn的值,也就是说在上图中,Feedbacklist确定了a(1)到a(r)的值。

例如,FeedbackList 为 7 3 2 1 ,那么可知移位寄存器长度为 7,其中第7/3/2/1位置的数据被抽头确定新的Dn值; FeedbackList 中允许的最大值为 31,这导致最大移位寄存器长度为 31。

 举个栗子:

 

 参考下方文章:

【电子技术】什么是LFSR?_那么菜的博客-CSDN博客

PRBS码是什么?PRBS生成原理介绍(转)_prbs码型_xiaohaolaoda的博客-CSDN博客

PRBS码知多少(一) - 知乎

PRBS码知多少(二) - 知乎

PRBS码知多少(三) - 知乎

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐