请教如何生成伪随机序列
module lfsr (
out , // Output of the counter
enable , // Enable for counter
clk , // clock input
reset // reset input
);
//----------Output Ports--------------
output [7:0] out;
//------------Input Ports--------------
input [7:0] data;
input enable, clk, reset;
//------------Internal Variables--------
reg [7:0] out;
wire linear_feedback;
//-------------Code Starts Here-------
assign linear_feedback = !(out[7] ^ out[3]);
always @(posedge clk)
if (reset) begin // active high reset
out <= 8'b0 ;
end else if (enable) begin
out <= {out[6],out[5],
out[4],out[3],
out[2],out[1],
out[0], linear_feedback};
end
endmodule // End Of Module counter
这位大侠,我没太看懂。麻烦您写个表达式给我行么。
通讯原理上有生成公式
google 伪随机 生成多项式。我给你个吧
x^17+x^3+1
谢谢各位。
用线性反馈移位寄存器生成伪随机数,具体资料可以google一下LFSR
可能要学好线性代数才好理解,我一直没能好好理解这个东东,每看这个都要去书要找公式.
低频时钟采样高频信号的方法也可以。
一般是用M序列生成伪随机数。为了保证随机性,可以将序列的位数增加。这方面的论文不少。应用到fpga方面的很多。
看来数学差的都没办法整啊!
谢谢,刚才下在了东西
谢谢各位。
用LFSR可以产生,一般讲verilog的书上都有介绍的
感觉这个得好好学学哦
用LFSR,理论基础是多项式代数,得找抽象代数的书看。觉得很难
