《基于FPGA的伪随机序列发生器设计方案.docx》由会员分享,可在线阅读,更多相关《基于FPGA的伪随机序列发生器设计方案.docx(6页珍藏版)》请在第一文库网上搜索。
1、基于FPGA的伪随机序列发生器设计方案1基本概念与应用1)1FSR:线性反馈移位寄存器(1inearfeedbackshiftregister,1FSR)是指给定前一状态的输出,将该输出的线性的薮再用作输入的移位寄存器。异或运算是最常见的单比特线性函数:对寄存器的某些位进行异或操作后作为输入,再对寄存器中的各比特进行整体移位。1FSR产生的两种形式为伽罗瓦(Ga1ois)和斐波那契(FibonaCCi)两种形式。也有成为外部(Ex隹rna1)执行方式和内部(Interna1)执行方式。(1)伽罗瓦方式(Interna1)X0X4X17!TepCount,-EF-43000000003B0-*D
2、aiaFtowW).x4.“(Ga1oisImp1ementation)Ga1ois方式特征数据的方向从左至右,反馈线路是从右至左。其中XCo项(本原多项式里面的T这一项)作为起始项。按照本原多项式的指示确定异或门(XOR)在移位寄存器电路上的位置。如上图所示XM。因此Ga1ois方式也有人称作线内或模类型(M-型)1FSRo(2)斐波那契方式(Externa1)TapCountB*0;E3t3-QEHIH30GHZHHDGIFSHpcivncrTMrig(M)-X14.X,Xn1(Fibonacciimp1ementation)从图中我们可以看到Fibonacci方式的数学流向和反馈形式是恰
3、好跟Ga1ois方式相反的,按照本原多项式,其中XCO这一项作为最后一项,这里需要一个XOR,将本原多项式中所给的taps来设定它的异或方式。因此Fibonacci方式也被叫做线外或者简型(S-型)1FSR。2)本原多项式本原多项式是近世代数中的一个概念,是唯一分解整环上满足所有系数的最大公因数为1的多项式。本原多项式不等于零,与本原多项式相伴的多项式仍为本原多项式。*KMXf1cfII132人儿“143人1Sr54r1*hJ1nFa”,1*ft*irt1P4ri16*1A14tr*rbA.M-hATUt4”7Ur,*r*hrfrf.J1,t,*w*i344,*tA*hI1000vMy4f*r
4、4rjr*tQw*riH1*E*t7*hPrh*a*t1*13*Jr4/Af12D43,d*8*W,*i*f441fattB*rQPwk/“2小SYfMri,*Wat1r1*rW-4Pr*1tiAr1tE24P4H1*fhIJfZ*fhraMtr*r1h/RdMaehf1*4儿心“PA.,rhh“HtU7Uff4Ydq,b,“yfM,r*r4iff4hr*HXAbPftM,ttnt*i4hrt4ars4rhjt*rHa4kr3-hrH4HH1*140HWMXXMf11*r1*tMt1-t4vUrvUvru1rgxM/rM,re*P*“Sf4”aw42nS,Uf,/5U1,JMrDh*4-wMM
5、aM4,*ftW)Mwf4*f*4y*4r*1,rfA4y*P*rr14y*2r小改!rriF(1)在MAT1AB中,本原多项式可以通过函数primpo1y(x)来产生。(2)在MAT1AB中,通过函数gfprimfd(m,iminf)可以找到一个最小的本原多项式。3)应用误码率测量一在数字通信中误码率是一项重要的质量指标,在实际测量数字通信系统的误码率时,i般来说,测量结果与信源发出信号的统计特性有关。通常认为二进制信号O和1是以等概率随机出现的。所以测量误码率时最理想的信源应是伪随机序列产生器。这样测量的结果,我们认为是符合实际运用时的情况。时延测量一有时我们需要测量信号经过某一传输路径所
6、收到的时间延迟,例如,需要测量某一延迟线的时间延迟。另外,我们还常常通过测量一无线电信号在某个媒质中的传播时间,从而折算传播距离,即利用无线电信号测距。这就是说,这种测距的原理实质上也是测量延迟。噪声产生器一测量通信系统的性能时,常常要使用噪声产生器,由它给出具有所要求的统计特性和频率特性的噪声,并且可以随意控制其强度,以便得到不同信噪比条件下的系统性能。例如,在许多情况下,要求它能产生限带白色高斯噪声。通信加密、数据序列的加扰与解扰、扩展频谱通信、分离多径技术等等。2伪随机序列的原理对于某种反馈逻辑、初始化状态非全零时,若输出序列周期最长(P=2r-1),称为DI序列,也称为伪随机序列。伪随
7、机序列通常由反馈移位寄存器产生,又可分为线性反馈移位寄存器和非线性反馈移位寄存器两类。由线性反馈移位寄存器产生出的周期最长的二进制数字序列称为最大长度线性反馈移位寄存器,即为通常说的m序列,因其理论成熟,实现简单,应用较为广泛。下面介绍m序列的产生原理。在二进制多级移位寄存器中,若线性反馈移位寄存器(1FSR)有n阶(即有n级寄存器),则所能产生的最大长度的码序列为2n-1位。如果数字信号直接取自1FSR(非翻转信号)的输出,那么最长的连O数为n-1o除了字符串的连0和连1伪随机序列在一个长度为n的字符串中将包含任何可能的0和1的组合。要使移位寄存器产生确定的值,必须置其初值并允许封回电路产生
8、移位时钟。线性反馈移位寄存器产生m序列在图中给出一个一般的线性反馈移位寄存器的组成。图中一级移存器的状态用表示,=O或1,R整数。反馈线的连接状态用表示,=1表示此线接通(参加反馈),二O表示此线断开。我们不难推想,反馈线的连接状态不同,就可能改变此移存器输出序列的周期Po的取值决定了移存器的反馈连接和序列的结构,也就是决定了序列的周期。用特征多项式表示为:/(x)=CO+c+Cax+c*x=Zqx当特征多项式符合某些条件时称为本原多项式。在设计m序列产生器时,移位寄存器反馈线的结构直接决定于本原多项式的结构。也就是只要找到本原多项式,就能由它构成m序列产生器。3 matIab的1FSR验证1
9、) matIab函数产生本原多项式c1eara11c1osea11primpo1y(8);test1FSRPrimitivepo1ynomia1()=D8+D4H)3+D212)本原多项式产生随机序列c1eara11c1osea11%m=8%x8+x4+x3+x2+1%435s=111111111;t=8432;seqc=1FSRv1(s,t);4 FPG的1SFR验证1)fpga实现本原多项式/*m:xA8+xA4+xA3+xA2+1*/modu1emsequence8#(parameterseed=8b1111-1111)(e1k,rst_n,en,mse8jZ/msequencerand
10、8);inpute1k,rst_n;inputen;outputmse8;outputreg7:0rand8;assignmse8rand80;a1ways(posedgee1kornegedgerst_n)beginif(!rst_n)rand8=seed;e1seif(en)beginrand80rad81;rand81rand82;rand82=rad83)rand3rad4)rand84rand85;rand85rad6;rand86rand87)rand7rand80Arad84rad85Arand86;ende1serand8rand8;endendmodu1e如上图所示,当fpga仿真的输入种子和matIab的输入种子一致时产生的序列一致。上图为随机序列的模拟信号展示。3)在产生随机数序列的基础上我们可以进一步去产生符合高斯分布的高斯白噪声