Saya memprogram LFSR (Linear Feedback Shift Register) dalam perangkat lunak untuk tujuan pembelajaran, dan telah menemui beberapa keterbatasan dalam penggunaannya sebagai pseudo-random number generator (PRNG).
- Jika seed memiliki beberapa bit '1' dan beberapa tap digunakan, dibutuhkan waktu startup yang besar untuk menghasilkan output yang tampaknya acak, dengan distribusi yang hampir sama antara run '1 dan' 0 atau pendek '0. Saya kira dengan lebih banyak ketukan, startup seperti itu akan jauh lebih cepat, tetapi semua tabel yang dihitung sebelumnya saya temukan memberi dua atau empat ketukan.
- Nomor urut sangat berkorelasi, yang diharapkan, mengingat bahwa jika bit output 0 angka berikutnya akan setengah dari yang sebelumnya. Untuk LFSR 15-bit dengan ketukan [15, 14], memplot sepasang nomor urut sebagai titik-titik dalam sebuah pesawat memberikan berikut ini. PRNG yang ideal harus menyebarkan titik-titik ini di semua tempat.

Saya tahu bahwa LFSR digunakan sebagai penghitung perangkat keras yang cepat, tetapi saya juga melihatnya digunakan sebagai PRNG untuk membuat white noise. Bagaimana ini digunakan dalam aplikasi dunia nyata dengan kualitas buruk?