www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > > FPGA開源工作室

基于FPGA的偽隨機(jī)序列發(fā)生器設(shè)計(jì)

1 基本概念與應(yīng)用

1)LFSR:線性反饋移位寄存器(linear feedback shift register, LFSR)是指給定前一狀態(tài)的輸出,將該輸出的線性函數(shù)再用作輸入的移位寄存器。異或運(yùn)算是最常見的單比特線性函數(shù):對(duì)寄存器的某些位進(jìn)行異或操作后作為輸入,再對(duì)寄存器中的各比特進(jìn)行整體移位。

LFSR產(chǎn)生的兩種形式為伽羅瓦(Galois)和斐波那契(Fibonacci)兩種形式。也有成為外部(External)執(zhí)行方式和內(nèi)部(Internal)執(zhí)行方式。

(1)伽羅瓦方式(Internal

Galois方式特征數(shù)據(jù)的方向從左至右,反饋線路是從右至左。其中X^0項(xiàng)(本原多項(xiàng)式里面的1’這一項(xiàng))作為起始項(xiàng)。按照本原多項(xiàng)式的指示確定異或門(XOR)在移位寄存器電路上的位置。如上圖所示X^4。因此Galois方式也有人稱作線內(nèi)或模類型(M-型)LFSR。

(2)斐波那契方式(External

從圖中我們可以看到Fibonacci方式的數(shù)學(xué)流向和反饋形式是恰好跟Galois方式相反的,按照本原多項(xiàng)式,其中X^0這一項(xiàng)作為最后一項(xiàng),這里需要一個(gè)XOR門,將本原多項(xiàng)式中所給的taps來設(shè)定它的異或方式。因此Fibonacci方式也被叫做線外或者簡(jiǎn)型(S-型)LFSR。

2)本原多項(xiàng)式

本原多項(xiàng)式是近世代數(shù)中的一個(gè)概念,是唯一分解整環(huán)上滿足所有系數(shù)的最大公因數(shù)為1的多項(xiàng)式。本原多項(xiàng)式不等于零,與本原多項(xiàng)式相伴的多項(xiàng)式仍為本原多項(xiàng)式。


1)在MATLAB中,本原多項(xiàng)式可以通過函數(shù)primpoly(x)來產(chǎn)生。

2)在MATLAB中,通過函數(shù)gfprimfd(m,'min')可以找到一個(gè)最小的本原多項(xiàng)式

3)應(yīng)用

誤碼率測(cè)量--在數(shù)字通信中誤碼率是一項(xiàng)重要的質(zhì)量指標(biāo),在實(shí)際測(cè)量數(shù)字通信系統(tǒng)的誤碼率時(shí),一般來說,測(cè)量結(jié)果與信源發(fā)出信號(hào)的統(tǒng)計(jì)特性有關(guān)。通常認(rèn)為二進(jìn)制信號(hào)01是以等概率隨機(jī)出現(xiàn)的。所以測(cè)量誤碼率時(shí)最理想的信源應(yīng)是偽隨機(jī)序列產(chǎn)生器。這樣測(cè)量的結(jié)果,我們認(rèn)為是符合實(shí)際運(yùn)用時(shí)的情況。

時(shí)延測(cè)量--有時(shí)我們需要測(cè)量信號(hào)經(jīng)過某一傳輸路徑所收到的時(shí)間延遲,例如,需要測(cè)量某一延遲線的時(shí)間延遲。另外,我們還常常通過測(cè)量一無線電信號(hào)在某個(gè)媒質(zhì)中的傳播時(shí)間,從而折算傳播距離,即利用無線電信號(hào)測(cè)距。這就是說,這種測(cè)距的原理實(shí)質(zhì)上也是測(cè)量延遲。

噪聲產(chǎn)生器--測(cè)量通信系統(tǒng)的性能時(shí),常常要使用噪聲產(chǎn)生器,由它給出具有所要求的統(tǒng)計(jì)特性和頻率特性的噪聲,并且可以隨意控制其強(qiáng)度,以便得到不同信噪比條件下的系統(tǒng)性能。例如,在許多情況下,要求它能產(chǎn)生限帶白色高斯噪聲。

通信加密、數(shù)據(jù)序列的加擾與解擾、擴(kuò)展頻譜通信、分離多徑技術(shù)等等。

2偽隨機(jī)序列的原理

對(duì)于某種反饋邏輯、初始化狀態(tài)非全零時(shí),若輸出序列周期最長(zhǎng)(P=2r-1),稱為m序列,也稱為偽隨機(jī)序列。

偽隨機(jī)序列通常由反饋移位寄存器產(chǎn)生,又可分為線性反饋移位寄存器和非線性反饋移位寄存器兩類。由線性反饋移位寄存器產(chǎn)生出的周期最長(zhǎng)的二進(jìn)制數(shù)字序列稱為最大長(zhǎng)度線性反饋移位寄存器,即為通常說的m序列,因其理論成熟,實(shí)現(xiàn)簡(jiǎn)單,應(yīng)用較為廣泛。下面介紹m序列的產(chǎn)生原理。

在二進(jìn)制多級(jí)移位寄存器中,若線性反饋移位寄存器(LFSR)有n 階(即有n級(jí)寄存器),則所能產(chǎn)生的最大長(zhǎng)度的碼序列為2n-1位。如果數(shù)字信號(hào)直接取自LFSR(非翻轉(zhuǎn)信號(hào))的輸出,那么最長(zhǎng)的連0數(shù)為n-1。除了字符串的連0和連1,偽隨機(jī)序列在一個(gè)長(zhǎng)度為n的字符串中將包含任何可能的01的組合。要使移位寄存器產(chǎn)生確定的值,必須置其初值并允許時(shí)鐘電路產(chǎn)生移位時(shí)鐘。


線性反饋移位寄存器產(chǎn)生m序列

在圖中給出一個(gè)一般的線性反饋移位寄存器的組成。圖中一級(jí)移存器的狀態(tài)用表示,=01,i=整數(shù)。反饋線的連接狀態(tài)用 表示,=1表示此線接通(參加反饋),=0表示此線斷開。我們不難推想,反饋線的連接狀態(tài)不同,就可能改變此移存器輸出序列的周期p。

的取值決定了移存器的反饋連接和序列的結(jié)構(gòu),也就是決定了序列的周期。用特征多項(xiàng)式表示為:


當(dāng)特征多項(xiàng)式符合某些條件時(shí)稱為本原多項(xiàng)式。在設(shè)計(jì)m序列產(chǎn)生器時(shí),移位寄存器反饋線的結(jié)構(gòu)直接決定于本原多項(xiàng)式的結(jié)構(gòu)。也就是只要找到本原多項(xiàng)式,就能由它構(gòu)成m序列產(chǎn)生器。

3 matlabLFSR驗(yàn)證

1)matlab函數(shù)產(chǎn)生本原多項(xiàng)式

clear all

close all

primpoly(8);

2)本原多項(xiàng)式產(chǎn)生隨機(jī)序列

clear all

close all

% m=8

% x^8+x^4+x^3+x^2+1

% 435

s=[1 1 1 1 1 1 1 1];

t=[8 4 3 2];

[seq c]=LFSRv1(s,t);

4 FPGALSFR驗(yàn)證

1fpga實(shí)現(xiàn)本原多項(xiàng)式

/*m:x^8+x^4+x^3+x^2+1*/ module msequence8#( parameter seed= 8'b1111_1111 )( clk, rst_n, en, mse8, //m sequence rand8 );  input clk, rst_n; input en; output mse8; output reg [7:0] rand8;  assign mse8 = rand8[0];  always @ (posedge clk or negedge rst_n)begin if(!rst_n) rand8 <= seed; else if(en) begin rand8[0] <= rand8[1]; rand8[1] <= rand8[2]; rand8[2] <= rand8[3]; rand8[3] <= rand8[4]; rand8[4] <= rand8[5]; rand8[5] <= rand8[6]; rand8[6] <= rand8[7]; rand8[7] <= rand8[0] ^ rand8[4] ^ rand8[5] ^ rand8[6]; end else rand8 <= rand8; end endmodule

如上圖所示,當(dāng)fpga仿真的輸入種子和matlab的輸入種子一致時(shí)產(chǎn)生的序列一致。

上圖為隨機(jī)序列的模擬信號(hào)展示。

3)在產(chǎn)生隨機(jī)數(shù)序列的基礎(chǔ)上我們可以進(jìn)一步去產(chǎn)生符合高斯分布的高斯白噪聲

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉