本文為明德揚原創及錄用文章,轉載請注明出處!
一、M序列簡介
M序列是最長線性反饋移位寄存器序列的簡稱。它是由帶線性反饋的移位寄存器產生的周期最長的序列。一般來說,一個n級線性反饋移位寄存器可能產生的最長周期為(2^n-1)。
因為移位寄存器的初始值不能為0,否則不管怎么移,移位寄存器的值都不為0,所以最長周期為(2^n-1)。
二、應用范圍
M序列是廣泛應用的一種偽隨機序列,其在通信領域有著廣泛的應用,如擴頻通信,衛星通信的碼分多址,數字數據中的加密、加擾、同步、誤碼率測量等領域。
在所有的偽隨機序列中,M序列是最重要、最基本的一種偽隨機序列。它容易產生,規律性強,有很好的自相關性和較好的互相關性。
三、M序列模型
n級線性移位寄存器結構如下
上圖可以轉換成數學表達式
其中Ci的取值為0或1,其中C0、Cn-1為1。當此式為本原多項式(只能被1和自身整除,類似于質數)時才能產生M序列。
這里給出2階到10階的本原多項式
四、FPGA實現
我們以7階、8階本原多項式為例設計兩個M序列發生器
1、7階架構設計
注:⊕ 代表異或
說明:r0異或r4賦值給r6,其它值按位移就可以。
信號說明:
代碼如下:
2、8階架構設計
說明:r0異或r4異或r5異或r6賦值給r7,其它值按位移就可以。
代碼如下:
tb文件參考工程文件夾中的sim文件夾
1、7階仿真波形
五、仿真驗證
2、8階仿真波形