Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
A Linear Feedback Shift Register (LFSR) is an easy way to generate a pseudo-random bit stream in hardware by using a shift register and XNOR gate. Here are a couple of Xilinx app notes, and HDL examples:
A single LFSR of length say, 18 will generate a very long pseudo random string of 1's and 0's, but you can always 'modulate' this. Simply by using more than one LFSR.
For example, if you create two LFSR's of the same length, but with different polynomials (feedback taps), and then have a third LFSR of a shorter length who's output determines which of the other two is used in the sequence. So, our two 'big' LFSR's are A and B. The smaller one C, when it outputs a '1', the output from A is used. When C outputs a '0' the output from B is used.
Obviously, if A,B and C are all the same legth, the length of the sequence is the same as the legth of A's sequence. But...make C shorter, by 2 (so a length of 16) and the random sequence will be huge.
I'm sure there are some *.pdf's on the web for CDMA, 3G phones. They use silly pseudo-random sequences that are repeated every few days. These use multiple LFSR's.
Ps. I'm no expert, but I have build random sequence generators for testing BER of radio channels. Some of which are a few billion bits long.