新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 分布式算法和FPGA實現(xiàn)基帶信號成形的研究

分布式算法和FPGA實現(xiàn)基帶信號成形的研究

作者: 時間:2009-01-02 來源:網(wǎng)絡(luò) 收藏

  根據(jù)Nyquist第一準(zhǔn)則,基帶信號成形能夠消除碼間串?dāng)_的影響。隨著超高速數(shù)字集成電路的發(fā)展,成形濾波器已經(jīng)由過去的基帶頻域模擬成形濾波器變成現(xiàn)在的基帶時域數(shù)字成形濾波器。與基帶模擬成形濾波器相比,基帶數(shù)字成形濾波器具有高精度、高可靠性和高靈活性等優(yōu)點;同時還具有便于大規(guī)模集成、易于實現(xiàn)線性相位等特點。實現(xiàn)其帶數(shù)字成形的方法很多,與傳統(tǒng)算法相比,算法可以極大地減少硬件電路的規(guī)模,提高電路的執(zhí)行速度。本文采用基于算法思想的時域成形方法來實現(xiàn)基帶信號成形。

  1 算法的基本原理

  一個線性時不變網(wǎng)絡(luò)的輸出可以用下式表示:

基于分布式算法和FPGA實現(xiàn)基帶信號成形的研究

  其中,y(n)為第n時刻網(wǎng)絡(luò)的輸出;xk(n)為第n時刻的第k個輸入變量;Ak為第k個輸入變量的權(quán)值。在線性時不變系統(tǒng)中,對于所有n時刻,Ak都是常量。如果該網(wǎng)絡(luò)表示為濾波器,常量Ak即為濾波器抽頭系數(shù),變量xk為單一數(shù)據(jù)源的抽樣數(shù)據(jù)。仔細(xì)觀察(1)式可以看出,輸出單個y(n)需要將k個乘積累加,這種累加可以通過查找表來實現(xiàn),大大提高了運(yùn)算的效率。為了使乘法之后的數(shù)據(jù)寬度不至于展寬,先把數(shù)據(jù)源數(shù)據(jù)格式規(guī)定為浮點數(shù)2的補(bǔ)碼形式。需要注意的是,常量Ak不一定要進(jìn)行格式轉(zhuǎn)換來匹配輸入數(shù)據(jù)的格式,它可以根據(jù)要求的精度進(jìn)行定義。變量xk可用下式表示:

基于分布式算法和FPGA實現(xiàn)基帶信號成形的研究

  式中,xkb為二進(jìn)制數(shù),即取值為0或1;xk0為符號位,“1”表示數(shù)據(jù)為負(fù),“0”表示數(shù)據(jù)為正。式中,時間參數(shù)“n”已經(jīng)被省略掉,因為在以下的推導(dǎo)中與時間參數(shù)無關(guān)。將(2)式代入(1)式中,得:

基于分布式算法和FPGA實現(xiàn)基帶信號成形的研究

  將(3)式展開,得:

基于分布式算法和FPGA實現(xiàn)基帶信號成形的研究

  從(4)式可以看出,每個方括號中進(jìn)行的是輸入變量的某一個數(shù)據(jù)位和所有常量A1~Ak的每一位進(jìn)行位相“與”然后求和,而指數(shù)部分則說明了求和結(jié)果的位加權(quán),這種加權(quán)可以通過移位來實現(xiàn)。而方括號中的計算可以通過建立查找表來實現(xiàn),具體的操作通過所有輸入變量的同一位進(jìn)行尋址來完成。通過(4)式,(1)式就可以用加法、減少和二進(jìn)制除法來計算了,這樣就避免了頻繁地使用乘示器,從而節(jié)約了系統(tǒng)的資源,并且大大縮短了運(yùn)算時間。

基于分布式算法和FPGA實現(xiàn)基帶信號成形的研究

  2 時域成形的原理

 ?。?)式中的查找表方法中以縮短運(yùn)算的時間,但是二進(jìn)制除法還是會消耗掉大量的系統(tǒng)時鐘。因為要設(shè)計的是基帶信號成形濾波器,所以可以通過直接在時域上成形的方法來完成。

  如果輸入為二進(jìn)制雙極性數(shù)據(jù),采用升余弦滾降濾波器進(jìn)行脈沖成形,其系統(tǒng)函數(shù)為:

基于分布式算法和FPGA實現(xiàn)基帶信號成形的研究

  若取截短長度為輸入信號元寬度的4倍,則當(dāng)輸入信號為“1111”時,系統(tǒng)的輸出波形如圖1所示。

  圖中,h‘(t)為h(t)的截短。由圖1可知,只需要求出Δ時間段的波形疊加值,依次輸出,就可以得到輸入信號的成形波形。若在段內(nèi)抽樣8點,則每個樣點有2 4個可能值,共有2 4 x 8=128個數(shù)據(jù)。將這128個數(shù)據(jù)存入查找表中,用連續(xù)四個輸入信號進(jìn)行尋址,就可以不必計算二進(jìn)制除法,從而提高系統(tǒng)的運(yùn)算速度。其硬件原理圖如圖2所示。

基于分布式算法和FPGA實現(xiàn)基帶信號成形的研究

  圖中,SSR是一個四位移位寄存器,數(shù)據(jù)串行輸入,并行輸出,初始狀態(tài)預(yù)置為“0000”,每一時鐘信號讀入一位數(shù)據(jù),同時串行移位;計數(shù)器為8位,每次時鐘從000計數(shù)至111;ROM的寬度為7位,存儲2 7個數(shù)據(jù),對應(yīng)各個樣點的數(shù)值,每次時鐘到來時,輸出8個10比特寬的數(shù)據(jù)。

  3 用實現(xiàn)

  由圖2可知,系統(tǒng)主要由移位寄存器、計數(shù)器和查找表組成,其中查找表(ROM)對系統(tǒng)運(yùn)算速度的影響最大。如果直接用寬度為7的查找表進(jìn)行尋址的話,最長的尋址路徑需要2 7個系統(tǒng)時鐘,這樣損失太大。所以考慮用尋址寬度小的查找表。假定系統(tǒng)輸入數(shù)據(jù)的碼速度為4.352Mbps,濾波器的滾降系數(shù)α=0.35,則用可實現(xiàn)成形濾波器。

基于分布式算法和FPGA實現(xiàn)基帶信號成形的研究

  3.1 輸入單元

  輸入單元由移位寄存器和選擇網(wǎng)絡(luò)組成。移位寄存器是由四個帶異步復(fù)位端的D觸發(fā)器級連而成,數(shù)據(jù)串行輸入,并行輸出,共用同一個時鐘和異步復(fù)位信號,其作用是將輸入數(shù)據(jù)讀入查找表中。選擇網(wǎng)絡(luò)是為了減小查找表的尋址寬度,根據(jù)前三個輸入數(shù)據(jù)的值來選擇對應(yīng)的查找表。選擇網(wǎng)絡(luò)的電路圖如圖3所示。

  圖中的“F_SWITCH”模塊是一個開關(guān)電路,當(dāng)使能端為高電平時,將輸入端的數(shù)據(jù)輸出,否則輸出端為高阻態(tài)。根據(jù)圖3的原理,當(dāng)前三個輸入信號為100時,選中第5個開關(guān)。這樣,只要將第5個開關(guān)選通的查找表中數(shù)據(jù)依次輸出,就可以得到成形信號。這時查找表的尋址寬度為3位,大大節(jié)約了尋址時間。查找表尋址方式的電路圖如圖4所示。

基于分布式算法和FPGA實現(xiàn)基帶信號成形的研究

  在圖4中,計數(shù)器的作用是在第四位數(shù)據(jù)到來時,激勵查找表將其存儲的8個數(shù)據(jù)依次輸出。L_ROM是尋址寬度為3位的查找表。

  3.2 查找表

  在圖1中的Δ段內(nèi)抽樣8點,且濾波器為升余弦滾降濾波器,則有下式成立:

基于分布式算法和FPGA實現(xiàn)基帶信號成形的研究

  所以這8個樣點值可由下式表示:

基于分布式算法和FPGA實現(xiàn)基帶信號成形的研究

  對(7)式進(jìn)行計算,列出所有可能的樣點值,如表1所示。

  表1 成形濾波器的樣點值

信 號成形濾波器的樣點值
0000-1-0.96-0.93-0.91-0.91-0.93-0.96-1
0001-1-1.17-1.25-1.26-1.21-1.13-1.06-1
001010.970.800.500.13-0.27-0.66-1
001110.760.480.16-0.16-0.48-0.76-1
0100-1-0.66-0.270.130.500.800.971
0101-1-0.87-0.59-0.210.210.590.871
0110112.71.451.551.551.451.271
011111.061.131.211.261.251.171
1000-1-1.06-1.13-1.21-1.26-1.25-1.17-1
1001-1-1.27-1.45-1.55-1.55-1.45-1.27-1
101010.870.590.21-0.21-0.59-0.87-1
101110.660.27-0.13-0.50-0.80-0.97-1
1100-1-0.76-0.48-0.160.160.480.761
1101-1-0.97-0.80-0.50-0.130.270.661
111011.171.251.261.211.131.061
111110.960.930.910.910.930.961

  將表1中每一行的值轉(zhuǎn)化為二進(jìn)制補(bǔ)碼形式,寫入尋址寬度為3位的16位值找表中。此查找表帶有使能端,當(dāng)使能端為高電平時,輸出端選中數(shù)據(jù),否則輸出端為高阻態(tài)。這種查找表對于時鐘上升沿的延時最大為14.5ns,而輸入信號的碼元周期為230ns,所以能夠很好地滿足系統(tǒng)的要求。

  4 設(shè)計結(jié)果

  用FLEX10k30A器件實現(xiàn)成形濾波器,將得到的輸出數(shù)據(jù)轉(zhuǎn)化為十進(jìn)制數(shù),并畫出相應(yīng)的波形。當(dāng)輸入信號為“1010001”時,成形信號的時域波形如圖5所示。

基于分布式算法和FPGA實現(xiàn)基帶信號成形的研究

  由圖5可以看出,在各個取樣點碼之間串?dāng)_很小,達(dá)到了基帶信號成形的目的。

  本設(shè)計基于分布式算法思想,在時域上對基帶信號直接成形。利用豐富的查找表資源,提出了一種高效的成形算法。通過FPGA驗證,證明工作正常,性能良好。



關(guān)鍵詞: 分布式 FPGA

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉