当前位置: 首页 > news >正文

已知原根多项式和寄存器初始值时求LFSR的简单例子

线性反馈移位寄存器(LFSR)是一种用于生成伪随机数序列的简单结构。在这里,我们有一个四项原根多项式 p ( x ) = 1 + x + 0 x 2 = 11 0 2 p(x) = 1 + x + 0x^2 = 110_2 p(x)=1+x+0x2=1102 和初始值 S 0 = 100 S_0 = 100 S0=100。我们将使用 LFSR 动作过程来生成一个伪随机序列。

LFSR 的动作过程如下:
在这里插入图片描述

将初始值加载到寄存器中。
对于每次时钟周期:
a. 将寄存器中的当前值与原根多项式的非零项进行异或(XOR)操作。
b. 将结果右移一位,然后将异或(XOR)操作的结果放入最高位。
现在,我们将详细描述 LFSR 的动作过程:

加载初始值: S 0 = 100 S_0 = 100 S0=100
时钟周期 1:
a. 异或操作: 1 ⊕ 0 = 1 1 \oplus 0 = 1 10=1, 作用目标是寄存器从左到右的第一第二位
b. 右移并更新最高位: S 1 = 110 S_1 = 110 S1=110
时钟周期 2:
a. 异或操作: 1 ⊕ 1 = 0 1 \oplus 1 = 0 11=0
b. 右移并更新最高位: S 2 = 011 S_2 = 011 S2=011
时钟周期 3:
a. 异或操作: 0 ⊕ 1 = 1 0 \oplus 1 = 1 01=1
b. 右移并更新最高位: S 3 = 101 S_3 = 101 S3=101
时钟周期 4:
a. 异或操作: 1 ⊕ 0 = 1 1 \oplus 0 = 1 10=1
b. 右移并更新最高位: S 4 = 110 S_4 = 110 S4=110。从这一位开始进入循环
在时钟周期 4 后,寄存器的值回到了初始值运算后的第一个计算值 S 1 = 110 S_1 = 110 S1=110,因此序列将开始重复。所以,LFSR 生成的伪随机序列为:
100,110,011,101,110,…

4bit的例子

线性反馈移位寄存器(LFSR)是一种用于生成伪随机数序列的简单结构。在这里,我们有一个四项原根多项式 p ( x ) = 1 + x + 0 x 2 + x 3 = 110 1 2 p(x) = 1 + x + 0x^2 + x^3 = 1101_2 p(x)=1+x+0x2+x3=11012 和初始值 S 0 = 0100 S_0 = 0100 S0=0100。我们将使用 LFSR 动作过程来生成一个伪随机序列。

LFSR 的动作过程如下:

将初始值加载到寄存器中。
对于每次时钟周期:
a. 将寄存器中的当前值与原根多项式的非零项进行异或(XOR)操作。
b. 将结果右移一位,然后将异或(XOR)操作的结果放入最高位。
现在,我们将详细描述 LFSR 的动作过程:

加载初始值: S 0 = 0100 S_0 = 0100 S0=0100
时钟周期 1:
a. 异或操作: 0 ⊕ 1 ⊕ 0 = 1 0 \oplus 1 \oplus 0 = 1 010=1
b. 右移并更新最高位: S 1 = 1010 S_1 = 1010 S1=1010
时钟周期 2:
a. 异或操作: 1 ⊕ 0 ⊕ 0 = 1 1 \oplus 0 \oplus 0 = 1 100=1
b. 右移并更新最高位: S 2 = 1110 S_2 = 1110 S2=1110
时钟周期 3:
a. 异或操作: 1 ⊕ 1 ⊕ 1 = 0 1 \oplus 1 \oplus 1 = 0 111=0
b. 右移并更新最高位: S 3 = 0111 S_3 = 0111 S3=0111
时钟周期 4:
a. 异或操作: 0 ⊕ 1 ⊕ 1 = 0 0 \oplus 1 \oplus 1 = 0 011=0
b. 右移并更新最高位: S 4 = 0011 S_4 = 0011 S4=0011
时钟周期 5:
a. 异或操作: 0 ⊕ 0 ⊕ 1 = 1 0 \oplus 0 \oplus 1 = 1 001=1
b. 右移并更新最高位: S 5 = 1001 S_5 = 1001 S5=1001
时钟周期 6:
a. 异或操作: 1 ⊕ 0 ⊕ 1 = 0 1 \oplus 0 \oplus 1 = 0 101=0
b. 右移并更新最高位: S 6 = 0100 S_6 = 0100 S6=0100
在时钟周期 ,6后,寄存器的值回到了初始值 S 0 = 0100 S_0 = 0100 S0=0100,因此序列将开始重复。所以,LFSR 生成的伪随机序列为:
0100, 1010, 1110, 0111, 0011, 1001。周期为6,小于最大周期15。

相关文章:

已知原根多项式和寄存器初始值时求LFSR的简单例子

线性反馈移位寄存器(LFSR)是一种用于生成伪随机数序列的简单结构。在这里,我们有一个四项原根多项式 p ( x ) 1 x 0 x 2 11 0 2 p(x) 1 x 0x^2 110_2 p(x)1x0x21102​ 和初始值 S 0 100 S_0 100 S0​100。我们将使用 LFSR 动作过…...

【场景生成与削减】基于蒙特卡洛法场景生成及启发式同步回带削减风电、光伏、负荷研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

探索C/C++ main函数:成为编程高手的关键步骤

探索C/C main函数:成为编程高手的关键步骤(Exploring the C/C Main Function: A Key Step to Becoming a Programming Master) 引言(Introduction)main函数的基本概念(Basic Concepts of the main function…...

【Linux】应用层协议—http

🎇Linux: 博客主页:一起去看日落吗分享博主的在Linux中学习到的知识和遇到的问题博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 看似不起波澜的日复一日,一定会在某一天让你看见坚持…...

七、Django进阶:第三方库Django-extensions的开发使用技巧详解(附源码)

Django-extensions是 Django 的扩展应用,给django开发者提供了许多便捷的扩展工具(extensions),它提供了许多有用的工具和命令行工具,帮助 Django 开发者更高效地进行开发和调试。它的作用包括: - 提供了更多的Django命令&#x…...

浏览器特色状态

强缓存:不会向服务器发送请求,直接从缓存中读取资源,在chrome控制台的Network选项中可以看到该请求返回200的状态码,并且Size显示from disk cache或from memory cache。 强缓存可以通过设置两种HTTP Header实现:Expir…...

context 浅析

在缺少直接调用关系的两个函数之间传递数据,一般都会考虑使用 context,而 context 也被用来存储整个请求链路的公参信息,用户 uid、链路 traceID、特定的业务参数等。函数第一个参数类型设置为 context.Context 也是 Go 的默认写法&#xff0…...

Bandizip已管理员身份运行

系列文章目录 文章目录 系列文章目录前言一、Bandzib是什么?二、使用步骤1.引入库 前言 在解压krita源码包时Bandizip报错 一、Bandzib是什么? bandzip官网 Bandizip 是一款压缩软件,它支持Zip、7-Zip 和 RAR 以及其它压缩格式。它拥有非…...

LiveCharts2 初步认识

文章目录 1 LiveCharts2 是什么?2 LiveCharts2 可以做什么?3 简单使用LiveCharts2 ,实现动态曲线图 1 LiveCharts2 是什么? GitHub:https://github.com/beto-rodriguez/LiveCharts2 官网: https://lvchar…...

Java设计模式 11-代理模式

代理模式 一、 代理模式(Proxy) 1、代理模式的基本介绍 代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是: 可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。被代理的对象…...

Python综合案例-小费数据集的数据分析(详细思路+源码解析)

目录 1. 请导入相应模块并获取数据。导入待处理数据tips.xls,并显示前5行。 2、分析数据 3.增加一列“人均消费” 4查询抽烟男性中人均消费大于5的数据 5.分析小费金额和消费总额的关系,小费金额与消费总额是否存在正相关关系。画图观察。 6分析男女顾…...

软件安全测试

软件安全性测试包括程序、网络、数据库安全性测试。根据系统安全指标不同测试策略也不同。 1.用户程序安全的测试要考虑问题包括: ① 明确区分系统中不同用户权限; ② 系统中会不会出现用户冲突; ③ 系统会不会因用户的权限的改变造成混乱; ④ 用户登陆密码是否…...

Scala模式匹配

Scala中有一个非常强大的模式匹配机制,应用也非常广泛, 例如: 判断固定值 类型查询 快速获取数据 简单模式匹配 一个模式匹配包含了一系列备选项,每个备选项都开始于关键字 case。且每个备选项都包含了一个模式及一到多个表达式。箭头符号 > 隔开…...

银行数仓分层架构

一、为什么要对数仓分层 实现好分层架构,有以下好处: 1清晰数据结构: 每一个数据分层都有对应的作用域,在使用数据的时候能更方便的定位和理解。 2数据血缘追踪: 提供给业务人员或下游系统的数据服务时都是目标数据&…...

Go并发编程的学习代码示例:生产者消费者模型

文章目录 前言代码仓库核心概念main.go(有详细注释)结果总结参考资料作者的话 前言 Go并发编程学习的简单代码示例:生产者消费者模型。 代码仓库 yezhening/Programming-examples: 编程实例 (github.com)Programming-examples: 编程实例 (g…...

求a的n次幂

文章目录 求a的n次幂程序设计程序分析求a的n次幂 【问题描述】要求利用书上介绍的从左至右二进制幂算法求a的n次幂; 【输入形式】输入两个正整数,一个是a,一个是n,中间用空格分开 【输出形式】输出一个整数 【样例输入】2 10 【样例输出】1024 【样例输入】3 4 【样例输出】…...

word脚标【格式:第X页(共X页)】

不得不吐槽一下这个论文,真的我好头疼啊。我又菜又不想改。但是还是得爬起来改 (是谁大半夜不能睡觉加班加点改格式啊) 如何插入页码。 格式、要求如下: 操作步骤: ①双击页脚,填好格式,宋体小四和居中都…...

Linux --- 软件安装、项目部署

一、软件安装 1.1、软件安装方式 在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下: 1.2、安装JDK 上述我们介绍了Linux系统软件安装的四种形式,接下来我们就通过第一种(二进制发布包)形式来安装 JDK。 JDK…...

MATLAB应用笔记

其他 1、NaN值 MATLAB判断数据是否为NaN可以直接使用函数:isnan() 三、数据分析 1、相关性 均值、方差、协方差、标准差、相关系数 mean() %均值 nanmean()%去除NAN值求均值 var() %方差 cov() %协方差 std() %标准差 corrcoef(B,b) %R 相关系数plot()…...

ERTEC200P-2 PROFINET设备完全开发手册(6-2)

6.2 诊断与报警实验 首先确认固件为 App1_STANDARD, 将宏定义改为: #define EXAMPL_DEV_CONFIG_VERSION 1 参照第6节的内容,编译和调试固件,并在TIA Portal 中建立RT项目。启动固件后,TIA Portal 切换到在线,可以看…...

idea大量爆红问题解决

问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...

华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...

MySQL的pymysql操作

本章是MySQL的最后一章&#xff0c;MySQL到此完结&#xff0c;下一站Hadoop&#xff01;&#xff01;&#xff01; 这章很简单&#xff0c;完整代码在最后&#xff0c;详细讲解之前python课程里面也有&#xff0c;感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...

图解JavaScript原型:原型链及其分析 | JavaScript图解

​​ 忽略该图的细节&#xff08;如内存地址值没有用二进制&#xff09; 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么&#xff1a;保存在堆中一块区域&#xff0c;同时在栈中有一块区域保存其在堆中的地址&#xff08;也就是我们通常说的该变量指向谁&…...

el-amap-bezier-curve运用及线弧度设置

文章目录 简介示例线弧度属性主要弧度相关属性其他相关样式属性完整示例链接简介 ‌el-amap-bezier-curve 是 Vue-Amap 组件库中的一个组件,用于在 高德地图 上绘制贝塞尔曲线。‌ 基本用法属性path定义曲线的路径,可以是多个弧线段的组合。stroke-weight线条的宽度。stroke…...