- 相關(guān)推薦
基于分布式算法和FPGA實(shí)現基帶信號成形的研究
摘要:提出了一種采用現場(chǎng)可編程門(mén)陣列(FPGA)實(shí)現基帶信號成形的FIR數字濾波器硬件電路的方案。該方案基于分布式算法的思想,利用FPGA豐富的查找表資源,從時(shí)域上對基帶信號直接進(jìn)行成形。因為所采用的成形方法運算量小、精度高,所以適用于實(shí)時(shí)系統。所設計的電路通過(guò)硬件仿真,證明能夠滿(mǎn)足系統的要求,具有一定的理論和實(shí)際意義。根據Nyquist第一準則,基帶信號成形能夠消除碼間串擾的影響。隨著(zhù)超高速數字集成電路的發(fā)展,成形濾波器已經(jīng)由過(guò)去的基帶頻域模擬成形濾波器變成現在的基帶時(shí)域數字成形濾波器。與基帶模擬成形濾波器相比,基帶數字成形濾波器具有高精度、高可靠性和高靈活性等優(yōu)點(diǎn);同時(shí)還具有便于大規模集成、易于實(shí)現線(xiàn)性相位等特點(diǎn)。實(shí)現其帶數字成形的方法很多,與傳統算法相比,分布式算法可以極大地減少硬件電路的規模,提高電路的執行速度。本文采用基于分布式算法思想的時(shí)域成形方法來(lái)實(shí)現基帶信號成形。
1 分布式算法的基本原理
一個(gè)線(xiàn)性時(shí)不變網(wǎng)絡(luò )的輸出可以用下式表示:
其中,y(n)為第n時(shí)刻網(wǎng)絡(luò )的輸出;xk(n)為第n時(shí)刻的第k個(gè)輸入變量;Ak為第k個(gè)輸入變量的權值。在線(xiàn)性時(shí)不變系統中,對于所有n時(shí)刻,Ak都是常量。如果該網(wǎng)絡(luò )表示為濾波器,常量Ak即為濾波器抽頭系數,變量xk為單一數據源的抽樣數據。仔細觀(guān)察(1)式可以看出,輸出單個(gè)y(n)需要將k個(gè)乘積累加,這種累加可以通過(guò)查找表來(lái)實(shí)現,大大提高了運算的效率。為了使乘法之后的數據寬度不至于展寬,先把數據源數據格式規定為浮點(diǎn)數2的補碼形式。需要注意的是,常量Ak不一定要進(jìn)行格式轉換來(lái)匹配輸入數據的格式,它可以根據要求的精度進(jìn)行定義。變量xk可用下式表示:
式中,xkb為二進(jìn)制數,即取值為0或1;xk0為符號位,“1”表示數據為負,“0”表示數據為正。式中,時(shí)間參數“n”已經(jīng)被省略掉,因為在以下的推導中與時(shí)間參數無(wú)關(guān)。將(2)式代入(1)式中,得:
將(3)式展開(kāi),得:
從(4)式可以看出,每個(gè)方括號中進(jìn)行的是輸入變量的某一個(gè)數據位和所有常量A1~Ak的每一位進(jìn)行位相“與”然后求和,而指數部分則說(shuō)明了求和結果的位加權,這種加權可以通過(guò)移位來(lái)實(shí)現。而方括號中的計算可以通過(guò)建立查找表來(lái)實(shí)現,具體的操作通過(guò)所有輸入變量的同一位進(jìn)行尋址來(lái)完成。通過(guò)(4)式,(1)式就可以用加法、減少和二進(jìn)制除法來(lái)計算了,這樣就避免了頻繁地使用乘示器,從而節約了系統的資源,并且大大縮短了運算時(shí)間。
圖1
2 時(shí)域成形的原理
(4)式中的查找表方法中以縮短運算的時(shí)間,但是二進(jìn)制除法還是會(huì )消耗掉大量的系統時(shí)鐘。因為要設計的是基帶信號成形濾波器,所以可以通過(guò)直接在時(shí)域上成形的方法來(lái)完成。
如果輸入為二進(jìn)制雙極性數據,采用升余弦滾降濾波器進(jìn)行脈沖成形,其系統函數為:
若取截短長(cháng)度為輸入信號元寬度的4倍,則當輸入信號為“1111”時(shí),系統的輸出波形如圖1所示。
圖中,h'(t)為h(t)的截短。由圖1可知,只需要求出Δ時(shí)間段的波形疊加值,依次輸出,就可以得到輸入信號的成形波形。若在段內抽樣8點(diǎn),則每個(gè)樣點(diǎn)有2 4個(gè)可能值,共有2 4 x 8=128個(gè)數據。將這128個(gè)數據存入查找表中,用連續四個(gè)輸入信號進(jìn)行尋址,就可以不必計算二進(jìn)制除法,從而提高系統的運算速度。其硬件原理圖如圖2所示。
圖中,SSR是一個(gè)四位移位寄存器,數據串行輸入,并行輸出,初始狀態(tài)預置為“0000”,每一時(shí)鐘信號讀入一位數據,同時(shí)串行移位;計數器為8位,每次時(shí)鐘從000計數至111;ROM的寬度為7位,存儲2 7個(gè)數據,對應各個(gè)樣點(diǎn)的數值,每次時(shí)鐘到來(lái)時(shí),輸出8個(gè)10比特寬的數據。
3 用FPGA實(shí)現
由圖2可知,系統主要由移位寄存器、計數器和查找表組成,其中查找表(ROM)對系統運算速度的影響最大。如果直接用寬度為7的查找表進(jìn)行尋址的話(huà),最長(cháng)的尋址路徑需要2 7個(gè)系統時(shí)鐘,這樣損失太大。所以考慮用尋址寬度小的查找表。假定系統輸入數據的碼速度為4
【基于分布式算法和FPGA實(shí)現基帶信號成形的研究】相關(guān)文章:
基于FPGA流水線(xiàn)分布式算法的FIR濾波器的實(shí)現03-18
基于Cyclone系列FPGA的1024點(diǎn)FFT算法的實(shí)現03-07
基于FPGA的毫米波多目標信號形成技術(shù)的研究03-19
基于FPGA的TS over lP的設計與實(shí)現03-21