<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于DSP Builder的偽隨機序列發(fā)生器設計及FPGA實(shí)現

基于DSP Builder的偽隨機序列發(fā)生器設計及FPGA實(shí)現

作者: 時(shí)間:2011-05-18 來(lái)源:網(wǎng)絡(luò ) 收藏

摘 要: 簡(jiǎn)要分析了偽隨機序列中應用廣泛的,的概念、原理和應用。提出了一種基于A(yíng)ltera的DSP Builder工具箱的偽隨機序列產(chǎn)生器設計方法,并通過(guò)設計實(shí)例,說(shuō)明這種方法在簡(jiǎn)化設計難度、提高設計速度和靈活性等方面的優(yōu)點(diǎn)和應用價(jià)值。并提出了其仿真和FPGA實(shí)現的基本方法。

本文引用地址:http://dyxdggzs.com/article/257876.htm

關(guān)鍵詞: DSP Builder;;;

在擴展頻譜通信系統中,偽隨機序列起著(zhù)十分關(guān)鍵的作用。在直接序列擴頻系統的發(fā)射端,偽隨機序列擴展信息序列的頻譜,在接收端,偽隨機序列將擴頻信號恢復為窄帶信號,進(jìn)而完成信息的接收。因此,偽隨機序列產(chǎn)生器是擴頻系統的核心單元。偽隨機序列具有理想隨機序列的性質(zhì),易于產(chǎn)生,具有隨機性和盡可能長(cháng)的周期,使第三方難以從擴頻碼的一小段去重建整個(gè)碼序列,具有雙值自相關(guān)特性等。理想隨機序列在工程上無(wú)法應用,實(shí)際上所用的均為偽隨機序列。偽隨機序列主要有:、、R-S碼、復合碼以及混沌序列等。

1 m序列基本原理

m序列又稱(chēng)最長(cháng)線(xiàn)性反饋移位寄存器序列,它具有平衡性、移位可加性、游程特性及很好的相關(guān)性能,廣泛應用于直接序列擴頻系統。一個(gè)典型的m序列組成如圖1所示。

由反饋移位寄存器產(chǎn)生的序列,取決于反饋系數,對于此反饋移位寄存器,反饋邏輯為:

上式即為序列的特征多項式。(cn,cn-1,…,c0)為反饋系數,其取值為“0”或“1”,“1”表示該反饋支路連通,“0”表示該反饋支路斷開(kāi)。m序列的反饋系數與其寄存器級數對應關(guān)系可由查表獲得,據此,便可以構造任意級m序列。

2 Gold序列基本原理

擴頻通信中,不僅要求偽隨機序列具有隨機性好、周期長(cháng)、不易被敵方檢測等特性,而且要求有盡可能多的可用的偽隨機序列,以便進(jìn)行多址通信和組網(wǎng)運用。Gold序列便具有此特性。GOLD R指出:“給定移位寄存器級數為n時(shí),總可以找到一對互相關(guān)函數值最小的碼序列,采用移位相加的方法構成新碼,其互相關(guān)旁瓣都很小,并且自相關(guān)函數和互相關(guān)函數都是有界的”。這一對互相關(guān)函數最小的序列稱(chēng)為m序列優(yōu)選對,是指在m序列集中,其互相關(guān)函數最大值的絕對值小于某個(gè)值的兩個(gè)m序列。設序列{a}是對應于n階本原多項式f(x)產(chǎn)生的m序列,序列對應于n階本原多項式g(x)產(chǎn)生的m序列,當它們的互相關(guān)函數值Rab(τ)滿(mǎn)足不等式(2):

則由f(x)和g(x)產(chǎn)生的m序列{a}和構成一優(yōu)選對。m序列優(yōu)選對可由查表獲得。

Gold序列的產(chǎn)生方式有并行和串行兩種方式。由兩個(gè)碼長(cháng)相等、碼時(shí)鐘速率相同的m序列優(yōu)選對模2和構成Gold序列的方法為并行方式,每改變兩個(gè)m序列相對位移就可得到一個(gè)新的Gold序列。將產(chǎn)生兩優(yōu)選對m序列的本原多項式相乘,展開(kāi)后,按此多項式構成2n級Gold序列產(chǎn)生器的方法為串行方式。以n=6級Gold序列產(chǎn)生器為例,其優(yōu)選對m序列的本原多項式為:

Gold序列族中任意兩個(gè)Gold序列滿(mǎn)足如下的互相關(guān)特性:

這一特性使得Gold序列中的任意碼都可以作為地址碼,因而大大增加了地址碼的數量。

3

擴頻通信系統中,對系統質(zhì)量影響因素之一就是偽碼的平衡性(即序列中的“0”、“1”均勻性),平衡碼具有更好的頻譜特性。在DS系統中,碼的平衡性對載波抑制有密切的關(guān)系,碼不平衡會(huì )造成載波泄漏,破壞擴頻通信系統的保密性、降低其抗偵破能力。序列中“1”和“0”的碼元數量相差等于1時(shí)為平衡碼,而大于1時(shí)為非平衡碼。為尋找平衡Gold碼,首先要確定特征相位,當序列處于特征相位時(shí),序列每隔一位抽樣后得到的序列與原序列完全一樣。設序列特征多項式f(x)為n級線(xiàn)性移位寄存器產(chǎn)生m序列的本原多項式,序列的特征相位由g(x)/f(x)的比值確定。g(x)計算如下:

d(x)的階數為n,c(x)的階數小于n,長(cháng)除后的結果為1+d1x+d2x+…的形式。

因此,處于特征相位上的序列{a}和,以{a}序列為參考序列,移動(dòng)序列,使之第一位為“0”,對應于{a}序列第一位為“1”。兩序列相加后得到的序列必定是平衡Gold碼。那么,移動(dòng)序列的第一位為“0”的序列的前k位為相對相位。

產(chǎn)生平衡Gold碼的一般步驟為:
(1)選一參考序列,其本原多項式為fa(x),求出其生成多項式ga(x);
(2)由G(x)=ga(x)/fa(x),求出序列多項式,使序列{a}處于特征相位上;
(3)求位移序列,使位移序列的初始狀態(tài)的第一位為“0”,即處于相對相位,對應于序列{a}第一位“1”;
(4)將處于特征相位的序列{a}和處于相對相位的序列模2加,就得到平衡Gold序列。

4 利用DSP Builder設計偽隨機序列發(fā)生器

4.1 DSP Builder介紹

Matlab工具一般作為DSP算法的建模和基于純數學(xué)的仿真,其數學(xué)模型無(wú)法為硬件DSP應用系統直接產(chǎn)生實(shí)用程序代碼,仿真測試結果也僅僅是基于數學(xué)算法結構。而傳統的FPGA基于硬件描述語(yǔ)言(HDL)的設計由于需要考慮FPGA的硬件延時(shí)、VHDL的遞歸算法的銜接、補碼運算和乘積結果截取等問(wèn)題,相當繁雜。DSP Builder是美國Altera公司推出的一個(gè)面向DSP開(kāi)發(fā)的系統級工具,為Matlab的一個(gè)Simulink工具箱,以幫助設計者完成基于FPGA的DSP系統設計的整個(gè)流程,它充分體現了現代電子技術(shù)自動(dòng)化開(kāi)發(fā)的特點(diǎn)與優(yōu)勢?;贒SP Builder的設計流程如圖4所示。

4.2 利用Simulink建立各序列模型

DSP Builder設計中首先是在Matlab/Simulink中進(jìn)行設計輸入,即在Matlab的Simulink環(huán)境建立一個(gè)MDL模型文件,用圖形方式調用Simulink庫中的模塊,構成系統級或算法級設計框圖(或稱(chēng)Simulink建模)。建立的m序列、Gold序列和平衡Gold序列產(chǎn)生器模型如圖5所示。

圖5中主要模塊功能為:

(1)The Delay block:延遲模塊,起延時(shí)作用,在硬件上可以采用寄存器來(lái)實(shí)現。此模塊可接受任意類(lèi)型的數據輸入。
(2)The Logical Bit Operator block:位邏輯運算模塊,能實(shí)現單個(gè)位輸入數之間的邏輯運算,能實(shí)現多種功能:AND,NAND,OR,XOR,NOR,NOT。
(3)SignalCompiler:DSP Buider的核心,將Simulink設計轉換成可綜合的RTL級VHDL代碼,并產(chǎn)生各種測試和仿真矢量文件。
(4)The Testbench block:通過(guò)測試平臺模塊,可自動(dòng)運行Modelsim,對比仿真結果。

5 各模型仿真及FPGA實(shí)現

5.1 Simulink模型系統級仿真

Simulink中進(jìn)行的仿真屬于系統驗證性質(zhì)的,是對mdl文件進(jìn)行的仿真,而對VHDL代碼進(jìn)行仿真則需要使用ModelSim,如圖6所示。

5.2 使用ModelSim進(jìn)行RTL級仿真

ModelSim是一個(gè)基于單內核的Verilog/VHDL混合仿真器,是Mentor Graphic的子公司ModelTechnology的產(chǎn)品。主要用于對生成的RTL級VHDL代碼進(jìn)行功能仿真。對應圖5中(b)、(d),經(jīng)過(guò)ModelSim功能仿真的波形如圖7所示。

5.3 FPGA實(shí)現

在Matlab/Simulink中對設計模型進(jìn)行編譯,再用DSP Builder的Signal Compiler工具直接生成QuartusⅡ工程文件,再調用QuartusⅡ完成綜合、網(wǎng)表生成和適配,直至完成FPGA的配置下載。本設計使用的FPGA芯片是Altera公司的Cyclone系列芯片EP2C35F672C6。

設計表明,在利用FPGA進(jìn)行偽隨機序列發(fā)生器設計時(shí),利用DSP Builder能簡(jiǎn)化設計難度,加快設計速度,靈活選取精度,實(shí)現優(yōu)化設計;與QuartusⅡ軟件的融合,實(shí)現了自頂向下的設計流程,充分顯示了現代EDA開(kāi)發(fā)的特點(diǎn)與優(yōu)勢。然而,該方法的應用在精度、速度和器件選擇等方面也受到一定限制。

參考文獻

[1] 何世彪,譚曉衡.擴頻技術(shù)及其實(shí)現[M].西安:電子工業(yè)出版社,2006.
[2] 潘松,黃繼業(yè),王國棟.現代DSP技術(shù)[M].西安:西安電子科技大學(xué)出版社,2003.
[3] 楮振勇,齊亮,田紅心,等.FPGA設計及應用.西安電子科技大學(xué)出版社,2006.
[4] 張洪潤,張亞凡.FPGA/CPLD應用設計200例[M].北京:北京航空航天大學(xué)出版社.2007.



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>