问题标签 [lfsr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1713 浏览

c - 如何在C中反转LFSR和移位寄存器?

我正在编写一个OFDM系统,包括发送端和接收端。位去的第一个函数是加扰器,它基本上是一个 LFSR,我的多项式是x^7 + x^4 + 1,简单地说,我对寄存器中的第 7 位和第 4 位进行异或,并使其成为移位寄存器的新第一位,以及异或该值与输入值,得到输出值。从图片上看,它可以在下面看到。

在此处输入图像描述

我正在使用一个类型的数组short来保存这些位。由于程序中的一些后续功能,我需要这种数组类型。对我来说更方便。我创建了一个函数来右移寄存器,以及扰频器的另一个函数。代码如下:

现在,关键是作为解扰器过程的一部分,我需要对扰频器的逆进行编码。在我的扰频器中,我正在右移。它的反面是否只涉及左移,并使抽头序列和寄存器的初始配置保持不变?同时,如果我进行左移并检查结果,它与初始输入的结果不同。有任何想法吗?

编辑:

0 投票
5 回答
80 浏览

python - C函数到Python(不同的结果)

我正在尝试将这段代码从 C 移植到 python。即使它是相同的代码,输出也不同。

这是有效的代码的 C 版本:

我目前在 Python 中拥有的是:

我看到的问题是 whitenCoeff 在 C 代码段中始终保持 8 位,但在每次循环传递时它在 Python 中大于 8 位。

0 投票
1 回答
874 浏览

python - LFSR 代码给出错误的结果

我有 LFSR 的代码并得到错误的结果,前 8 位应该是 01110010 但我得到的是 0101111001。

我说的是伽罗瓦 LSFR:en.wikipedia.org/wiki/Linear-feedback_shift_register

谁能看到这段代码有什么问题?

0 投票
0 回答
854 浏览

c++ - 在 Visual C++ 中生成 16 位随机数的好方法是什么?

我正在尝试创建一个包含 32 位和 16 位随机数的长 (= 2^31) 列表。对于 32 位,我使用rand() 实现中的 lfsr113_Bits(),但我不确定获得 16 位数字的质量序列的最佳方法是什么。

不幸的是,rand() 中包含的内容有点短,因为根据文档:“rand 函数返回 0 到 RAND_MAX (32767) 范围内的伪随机整数。

我正在考虑使用 lfsr113_Bits() 和联合来获取 16 位数字,方法是:

然后使用来自 u.i16[0] 或 u.i16[1] 的数字,或者可能来自两者的数字,一个接一个,但我有一种直觉,以这种方式获得的序列可能比通过使用本机 16 位生成器。

关于生成 16 位随机数的最佳方法的任何想法?

0 投票
1 回答
1510 浏览

verilog - 64 bit LFSR output in verilog

I am trying to get 64 bit output from an LFSR. I found a code in the net and edited it for 64 bit. But I am not getting the output.

I am trying to get 64 bit output to drive a 64 input circuit in FPGA. When I synthesize the code its omitting the LFSR.

[Synth 8-3332] Sequential element (LFSR_reg[63]) is unused and will be removed from module LFSR8_8E.(63 more like this)

Any idea how to get this working.

Thanks in Advance

SIMULATION

0 投票
1 回答
1855 浏览

verilog - 64 位 LFSR 设计

我设计了一个 64 位 lfsr,但我认为它没有随机显示。它是一种规则的模式。任何人都可以检查我的代码,看看它是否正确。(点击 64、63、61、60)

0 投票
1 回答
237 浏览

random - 如何在 FPGA 中生成随机数以用作密码应用程序中的 IV

我正在寻找一种在 FPGA 中生成随机数以用作加密应用程序的 IV 的方法。但是,到目前为止,我在 Stackoverflow 上找到的类似问题的答案会从“固定种子”生成随机数,这根本不适合加密应用程序。指向其中两个答案的指针如下:-

Spartan-3E 上的随机数生成 以及 如何在 FPGA 中生成伪随机数?

希望在这方面从社区中得到一些有用的答案!谢谢

0 投票
1 回答
134 浏览

verilog - Verilog: assign a weighted sum of parameterized length

I am trying to implement a linear feedback shift register with parameterized width and coefficients:

Is there a way to assign the XOR-chain to the input flipflop, i.e. what is a sensible way of implementing something like

The obvious but illegal way would be using a for-loop. Is there a way to do this outside an always-block?

Thanks

0 投票
1 回答
10830 浏览

random - 在 VHDL 中使用 LFSR 的伪随机数生成器

我在使用 lfsr 方法创建 prng 时遇到了一些麻烦。这是我的代码:

这是我运行的模拟: prng sim

首先,检查输出就在那里,所以我可以监控温度信号的输出。其次,被注释掉的行是导致问题的原因。

从仿真中可以看出,在时钟的第一个上升沿,Qt 信号读取种子。但是,这是我的问题,由于某种原因,临时信号仅在时钟的第二个上升沿对 Qt 信号的位进行异或。它在第一个时钟脉冲上保持未定义。这是为什么?如果它在 Qt 信号读取种子后的第一个上升沿上运行,那么我可以取消注释移动位的行,它会解决我的问题。任何帮助将非常感激!

如果有人关心,这里是测试台:

0 投票
0 回答
115 浏览

xor - 线性反馈移位寄存器:抽头 1 位

在 xor lfsr 中,要移入的位是所有抽头位的 xor。但是如果你只点击 1 位,这是否意味着 0 始终是移入的位,因为被点击的 1 位是与自身异或的?

谢谢