PRBS是Pseudo Random Binary Sequence的缩写,即“伪随机二进制序列”的意思。PRBS码具有“随机”特性,是因为在PRBS码流中,二进制数“0”和“1”是随机出现的,但是它又和真正意义上的随机码不同,这种 “随机”特性只是局部的,即在周期内部,“0”和“1”是随机出现的(码流生成函数与初始码确定后,码流的顺序也是固定的),但各个周期中的码流却是完全相同的,所以我们称其为“伪”随机码。

PRBS码的周期长度与其阶数有关,常用的阶数有7、9、11、15、20、23、31,也就是我们常说的PRBS7、PRBS9、PRBS11、PRBS15、PRBS20、PRBS23、PRBS31。

对于n阶PRBS码,每个周期的序列长度为2n-1,在每个周期内,“0”和“1”是随机分布的,并“0”和“1”的个数相等,连“1”的最大数目为n,连“0”的最大数目为n-1(反转后就是n-1个连“1”和n个连“0”)。下图是常用阶数码流参数统计表:

在对高速信号链路进行误码测试时,基本上都是利用PRBS码流来模拟真实的线网码流环境,因为在线网中,所有的数据都是随机出现的,没有任何规律可言,而PRBS码流在一定程度上具有这种“随机数据”特性,二进制“0”和“1”随机出现,其频谱特征与白噪声非常接近。PRBS码流的阶数越高,其包含的码型就越丰富,就越接近真实的线网环境,测试的结果就越准确。

PRBS码型发生器由移位寄存器和异或门(XOR)组成,如下图所示:

如下是一个用PRBS-7 产生伪乱数二进制数列的C语言例程:

#include <stdio.h>
#include <stdint.h>
#include <stdlib.h> int main ( int argc , char * argv []) {     uint8_t start = 0x02 ;   uint8_t a = start ;   int i ; for ( i = 1 ;; i ++ ) {     int newbit = ((( a >> 6 ) ^ ( a >> 5 )) & 1 );           a = (( a << 1 ) | newbit ) & 0x7f ;        printf ( "%x \n " , a ); if ( a == start ) {    printf ( "repetition period is %d \n " , i ); break ;}}
}

伪随机二进制序列(PRBS)相关推荐

  1. 20120817prbs伪随机二进制序列

    应用:在高速设计中为了测试高速串行通道传输的误码率,通常通过发送PRBS码来进行测试. 原理:用生成函数产生一段随机码流,然后按周期循环. PRBS码的周期长度与其阶数有关,常用的阶数有7.9.11. ...

  2. Matlab生成各种伪随机信号_idinput指令

    1.为何不是冲激信号? 只要是在信号系统这条道上混过的童鞋都知道,冲激信号是测试系统的最理想信号.因为时域的卷积相当于频域的乘积,而冲击信号的频域拥有最广泛的频谱,可以"暴露"系统 ...

  3. Matlab 产生伪随机调相信号与伪随机信号

    伪随机调相信号是由多个CW自脉冲构成,第i个子脉冲有下式表示为 式中只取0和两个值,由m序列(一种伪随机序列,具有周期性,其周期随着m阶数的提高而增大)来控制. matlab程序: clear; cl ...

  4. 伪随机交织抑制突发噪声的MATLAB仿真(采用(2,1,3)卷积码)

    在上一篇文章中 BPSK调制下(2,1,3).(2,1,6)卷积码与QC-LDPC码译码性能和抑制突发噪声性能对比(MATLAB实现) 伪随机交织抑制突发噪声的仿真曲线不是很明显,虽然之前的程序没问题 ...

  5. 一种伪随机交织器的生成方法

    欢迎同步关注公众号[逆向通信猿] 线性同余交织+m序列寄存器状态→伪随机交织 线性同余交织 A n + 1 ≡ a A n + c   m

  6. 南理工作业——伪随机相位编码脉冲雷达的信号处理

    一. M序列性质 1.双值循环电平自相关函数 2.非周期自相关函数 二. 单目标仿真 1.回波视频表达式   2.脉压   3.FFT变换   4.多普勒敏感与多普勒容限 三. 双目标仿真 1.大目标 ...

  7. 如何理解“伪随机”以及“随机种子”

    "真随机"与"伪随机" 真随机:就是我们传统意义上理解的"随机",随机事件如今天是否下雨,抛硬币的正反面,家门口的十字路口今天发生车祸等等. ...

  8. 游戏中常用的伪随机算法之PRD暴击算法

    游戏中常用的伪随机算法之PRD暴击算法 PRD伪随机算法常用于游戏中的暴击算法,因此本文的标题将其称为 PRD暴击算法. 诞生与应用 PRD算法诞生与<魔兽争霸3>,可以说其诞生就是为了解 ...

  9. Java篇 - 随机数的原理、伪随机和优化

    这篇来说说Java中的随机数,以及为什么说随机数是伪随机. 目录: Math.random() Random类 伪随机 如何优化随机 封装的一个随机处理工具类 1. Math.random() 1.1 ...

最新文章

  1. 在WinXP上通过Virtual PC安装WinCE
  2. ​“好师父”如何破解大学生就业难题
  3. Oracle 又裁员,传 N+6 补偿
  4. Intel Realsense D435 Tensorlfow-yolov3 测试摄像头识别坐标转换成实际空间坐标的准确程度
  5. metasploit framework
  6. Android事件分发机制之ACTION_DOWN
  7. 视频质量评价:挑战与机遇
  8. python傅里叶逆变换_OpenCV-Python系列之傅里叶变换
  9. 函数使用了堆栈的字节超过_Go语言复习笔记——基本语法三之堆栈与字符串应用...
  10. c语言加减乘除计算程序,求一个计算加减乘除的C语言程序
  11. Windows下利用C++实现Git自动克隆项目
  12. 揭秘 AWS 基础架构底层运维和构建之道!
  13. 痛苦并愉快的被洗着_品牌洗脑
  14. codewars028: Persistent Bugger
  15. 欢迎来到,数据库联盟!
  16. Delphi 制作股票分时图
  17. 晶圆划片如何提高切割品质?陆芯半导体告诉你
  18. html让video元素居中,CSS实现元素居中的五种方法
  19. java SteamAPI练习(流的创建、流的操作、流的终止)
  20. word文件太大怎么压缩到最小-word压缩教程

热门文章

  1. safari浏览器找不到服务器
  2. ESP32-S3-WROOM-1-N16R8 配置PSRAM
  3. 双十一,美团为何静悄悄?
  4. 成为oracle白金会员,华为成为Linux基金会白金会员
  5. 2020最新天猫双十一自动获取喵币
  6. css加密数据 图片解析破解
  7. 移动端 php 开源,poscms移动端地址函数
  8. Linux鼠标回报率修改,技术编辑帮您鼠标怎么调回报率
  9. 家装灯线走线图_家装吊顶筒灯电线走法设计图 4款客厅天花吊顶龙骨筒灯顶线布置图...
  10. 2010年软件业十大新闻事件