基于FPGA 的偽隨機序列的生成方法及應用
摘要:通過分析各種偽隨機序列生成方法,提出了一種基于M 序列的連續(xù)抽樣方法,可以生 成滿足自適應光學系統(tǒng)SPGD 控制算法要求的多路、相互獨立以及服從伯努利分布的偽隨機序 列。該方法適合于用FPGA 等超大規(guī)模集成電路實現,且具有占用硬件資源較少,實現方便等 優(yōu)點。用FPGA 實現了用于61 單元自適應光學系統(tǒng)SPGD 控制算法的偽隨機序列,并將此方 法應用于基于SPGD 控制算法的自適應光學系統(tǒng)實驗中,實驗表明,該方法能夠滿足自適應光 學系統(tǒng)SPGD 算法的需求,系統(tǒng)實現成功閉環(huán)。
本文引用地址:http://m.butianyuan.cn/article/189964.htm1 引 言
隨機序列是一組滿足特定統(tǒng)計學規(guī)律的數據,在信號理論分析中應用非常普遍。由于 精確的隨機序列生成方法較為復雜,產生的隨機序列不具有可重復性等特點,在很多應用 場合使用偽隨機序列。偽隨機序列在擴頻通信、信息加密和系統(tǒng)測試等諸多領域中都有著 廣泛的應用。在自適應光學SPGD 算法中,偽隨機序列亦有相當重要的作用。
Vorontsov 等人在1997 年將SPGD 算法引入到自適應光學領域[2]。國內在近幾年開始了對 SPGD 算法在自適應光學系統(tǒng)應用的研究,并且在計算機上用軟件編程實現了算法,進行 了自適應光學的系統(tǒng)實驗[3]。自適應光學SPGD 控制算法的研究趨勢是使用專用的信號處 理硬件電路作為算法的實現平臺,以獲得更高的迭代速度和更好的收斂效果。Cauwenberghs等人設計了專用的模擬超大規(guī)模集成電路實現SPGD 控制算法,并且在一些應用領域進行 了實驗[5]。目前自適應光學系統(tǒng)的規(guī)模普遍達到幾十上百單元。針對多單元自適應光學系 統(tǒng)SPGD 控制算法的特殊要求,本文提出了一種適合于用FPGA 硬件電路產生滿足算法要 求的多路偽隨機序列的生成方法,完成了FPGA 電路的硬件實現,并將其用于實現61 單 元自適應光學SPGD 控制算法,同時進行自適應光學的閉環(huán)實驗。
2 自適應光學 SPGD 控制算法對偽隨機序列的要求
SPGD(the Stochastic Parallel Gradient Descent algorithm)算法通過對多路的控制參數加 入隨機并行的擾動,使用性能指標測量值的變化量與控制參數的變化量進行控制參數的梯 度估計,以迭代方式在梯度下降方向上進行控制參數的搜索。在自適應光學SPGD 算法中, 控制參數為變形鏡的控制電壓,隨機并行的擾動通過多路偽隨機序列模擬。SPGD 算法中 隨機并行擾動的特性,對偽隨機序列也提出了相應的要求[5]:
(1) 路數多。路數等于變形鏡單元數(即變形鏡上驅動單元的數目)。例如在一個61 單 元的自適應光學系統(tǒng)中,就需要產生61 路的偽隨機序列。
(2) 偽隨機序列兩兩相互獨立。相互獨立可避免變形鏡各驅動單元間的相互耦合。
(3) 偽隨機序列符合伯努利分布,兩個樣本值出現的概率各為0.5。
3 硬件電路實現偽隨機序列的傳統(tǒng)方法
傳統(tǒng)的生成偽隨機序列的方法較多,如線性反饋移位寄存器法(LFSR,可產生M 序列), 乘同余法,線性同余法,Gold 序列等[6],[7]。M 序列是一種常用的隨機序列,符合SPGD 算 法中單路隨機序列伯努利分布的要求。但使用M 序列作為SPGD 算法中多路隨機序列在實 現上存在難點:算法要求多路偽隨機序列,用多個不同的LFSR 結構去生成多路的偽隨機 序列,需要耗費大量的硬件資源,并且構造多路不同的LFSR 結構需耗費巨大的工作量。
Gold 序列優(yōu)點在于只由兩個M 序列構造,能夠節(jié)省資源;并且改變兩個M 序列模二 和的相對位置即可構成多個Gold 序列,從而滿足SPGD 算法中多路偽隨機序列的要求。 但在實際工程中如何方便改變兩個M 序列的相對位置以產生多路的Gold 序列亦有難度。 同時,Gold 序列亦存在非平衡性問題,不完符合伯努利分布。
國外最早使用模擬超大規(guī)模集成電路(Analog VLSI)做出SPGD 控制算法的Vorontsov 等人設計的隨機數發(fā)生器,其本質也是LFSR 結構,使用了抽頭的方法從而可以用一個 LFSR 結構同時產生19 路的偽隨機序列[8],[1]。這種方法的缺陷是如果偽隨機序列的路數序 列超過19 路后,則用這個電路結構產生的各路偽隨機數之間不是完全相互獨立的。
4 連續(xù)抽樣生成多路偽隨機序列的方法
通過以上對M 序列,Gold 序列的分析,結合M 序列易于硬件實現,Gold 序列可生成 多路序列的優(yōu)點,以及基于時間抽樣的思想,設計了如圖1 所示硬件結構的68 路偽隨機 Gold 序列發(fā)生器。
fpga相關文章:fpga是什么
評論