郭業才, 萬逸儒, 吳 星, 胡 崢
(1.南京信息工程大學 電子與信息工程學院,南京 210044; 2.江蘇省大氣環境與裝備技術協同創新中心,南京 210044)
針對現代衛星通信盲均衡系統產業化實現的需求,搭建一個完整的電子測量系統顯得十分必要。然而,只有在能夠采集到某類信號時,這些工具才能進行測量,絕大多數情況下,這些信號是沒有的,所以研制可以穩定精確地產生調制信號的發生器能彌補電子測量系統激勵不足的問題,同時為了方便工程師探測盲均衡系統性能的極限,信號發生器必須還具有高階調制及各個參數靈活可變的功能,使余量測試和檢定成為可能。信號發生器的性能指標和考慮因素主要有:存儲深度、采樣速率、帶寬、幅度分辨率、定時分辨率、區域位移功能、輸出通道數量、數字輸出、排序、集成編輯器、數據導入功能、無雜散動態范圍、相位噪聲密度等。目前,國內的數字合成信號發生器在技術指標上與國外相比還存在很大的差距[1],例如,比較有名的生產信號發生器的大公司有安捷倫、美國國家儀器NI、羅德與施瓦茨、泰克科技、臺灣百科精密儀器、利達電子株式會社等,其中安捷倫儀器的PSG系列信號發生器已經可達毫米波范圍,最高可以產生70GHz的射頻信號,高品質的射頻調制帶寬支持為雷達、電子戰、和衛星通信測試生成更真實的寬帶信號,最大限度提高多普勒雷達或接收機阻塞測試的接收機靈敏度,或在相位噪聲測試系統中用作理想的基準:100 Hz 頻偏時為-91 dBc/Hz;10 kHz 頻偏(67 GHz)時為-126 dBc/Hz,低雜散和諧波(分別為 10 GHz 處-70 dBc 和 55 dBc)的出色性能可以改善信號質量并提高測試精度。
本設計方案使用硬件邏輯可編程的FPGA設計基帶硬件結構及基于軟件無線電思想的通用、標準化、模塊的硬件設計平臺,通過Altera FPGA內部集成的NiosⅡ軟核[2]設置參數值。系統總體框架,如圖1所示。圖中,AD9957上變頻芯片工作在1GHz頻率,內部可通過8-252可編程插值輸出同步時鐘到FPGA內部可變參數基帶處理模塊,AD9957通過T1-1T射頻變壓器將差分型號轉換為單端信號,并經過160 MHz截止頻率的7階橢圓模擬重構濾波器輸出到BNC接口端。同時,FPGA內部用QSYS搭建SOPC系統,該系統集成了NiosⅡ/fast軟核、高速緩存單元、內部緊密耦合寄存器、SDRAM控制模塊、EPCS控制模塊、JTAG_UART仿真器控制模塊、系統時鐘單元、時間戳單元、總線(8080總線、SPI總線、I2C總線)控制模塊。同時該設計可以通過上位機和基于圖形庫支持脫機操作的觸控屏來完成人機友好界面的交互。

圖1 系統總體框架圖
由于矩形脈沖的頻譜形狀是sinc響應,在碼元速率為f0的整數倍處周期性的出現零點,造成基帶信號在頻譜上無限制的拓展,在大部分數據傳輸應用中,所傳輸的信號必須限制在一定的帶寬內[3-5].文獻[6]中提供了在衛星對地數據傳輸系統領域,國際空間數據系統咨詢委員會(Consultative Committee for Space Data Systems,CCSDS)建議中給出的固態功放(Solid-state Power Amplifier,SSPA)下各種調制方式的頻譜密度示意圖。由圖可見,限制矩形脈沖帶寬的低通濾波器是必須的,這種將矩形脈沖形狀從門形狀變為無陡峭邊沿的平滑輪廓線的低通濾波器稱之為脈沖整形濾波器。然而,理想低通濾波器在頻域表現為門形狀,因此在時域必定表現為阻尼衰減的特性,碼元經過阻尼衰減的拖尾會產生對鄰近碼元有干擾的紋波,紋波會導致數據解碼的錯誤。綜上所述,必須選擇既能限制頻域脈沖帶寬又能保證時域波形無碼間干擾的濾波器。滿足這兩個條件的著名濾波器就是升余弦濾波器,其頻率響應為:

(1)
式中:T是碼元周期;α是余弦滾降系數;ω是角頻率。
相應的時域響應形式為:
(2)
滾降系數的概念是建立在升余弦特性頻譜帶寬相對于理想低通特性帶寬的基礎上提出來的,余弦滾降系數決定了兩個比較重要的頻率點,一個是阻帶頻率點fstop,另一個是通帶頻率點fpass,它們相對于滾降系數的關系式為:
(3)
式中:f0是脈沖速率;f0/2是奈奎斯特頻率點,也稱理想低通濾波器的截止頻率。
余弦滾降系數與濾波器帶寬成正相關關系,在插值倍數為8、雙邊截斷符號碼元數為8、碼元速率為10 MB、采樣速率為80 MB條件下,圖2和圖3分別仿真了滾降系數為1,0.5,0.1時的濾波器時域和頻域特性。

圖2 滾降系數為1,0.5,0.1時的時域特性圖

圖3 滾降系數為1,0.5,0.1時的頻域特性圖
由圖可見,在滾降系數為0.1的情況下,頻域特性急劇惡化,圖中產生了最大約0.1左右的帶內波紋,這里可以通過增加截取符號碼元數來彌補波紋的惡化,但會增加濾波器階數從而提高了硬件系統復雜度和資源耗用。從時域角度來說,滾降系數越小時域拖尾也會越大,接收端符號碼同步不可能完全沒有誤差,只要有一點誤差,就會因為較大的時域拖尾而造成很大的碼間干擾,惡化系統的信噪比,影響系統的誤比特率。當然滾降系數也不能過大,過大會造成系統頻帶利用率的下降,同時會引入更寬帶寬的帶內噪聲,對數模轉換后的低通濾波器和接收端模數轉換前的抗混疊濾波來說,在過寬的帶寬內保證幅度一致和線性相位是非常困難的,文獻[3]中指出了系統誤碼率在滾降系數取0.5~1之間時區別不大,因此設計了可調滾降系數范圍為0.3~0.5。
雙邊截斷碼元數與濾波器階數復雜度成正比,因此要使用滿足濾波要求的最小雙邊截斷碼元值,文獻[7]中給出了基于浮點運算模擬生成的通帶邊緣頻率處誤差、奈奎斯特頻率處誤差、阻帶頻率處誤差隨余弦滾降系數和雙邊截斷碼元數變化的三維曲面圖,說明了可接受的最小截斷碼元值是由頻域特性的帶外第一個衰減旁瓣峰值決定的,尤其是在滾降系數極小時,更需要考慮最低阻帶衰減特性。在插值倍數為8、雙邊截斷碼元數為8、碼元速率為10MB、采樣速率為80MB條件下,圖4分別仿真了余弦滾降系數為0.5,0.3,0.2時的頻域特性曲線圖。

圖4 雙邊截斷碼元數為8情況下不同滾降系數頻域特性曲線圖
可以看出,滾降系數為0.5時阻帶第一個衰減旁瓣峰值在-40 dB以下,滾降系數在0.3時第一個衰減旁瓣峰值正好在-40 dB上,滾降系數在0.2時第一個衰減旁瓣峰值在-30 dB左右,此時會引入更多的旁瓣噪聲,導致信噪比的惡化,因此余弦滾降系數下限設計在0.3 ,雙邊截斷碼元數為固定值8。
截斷碼元數之所以取固定值是由兩方面因素決定的,① 截斷碼元數在多相時變系數插值濾波器中直接映射為每組子濾波器的系數個數,也就是FPGA中乘法器使用單元數,過多的截斷碼元會導致乘法器資源的消耗。② 濾波器抽頭階數一般是由Matlab產生的浮點數,需要進行一定比例的放大并取整,放大倍數為
(4)

由奈奎斯特采樣定理可知,采樣頻率必須大于或等于帶內信號的最高頻率,插值倍數是采樣頻率相對于碼元傳輸頻率的比值,根據數字采樣定理可知,雙邊截斷碼元是對升余弦濾波器時域響應的有限長度截取,而在頻域則表現為按采樣頻率進行周期的幅頻特性的搬移。原始的周期脈沖頻域形狀是眾所周知的sinc響應,零點總是出現在碼元速率f0的整數倍處,多進制波形可看做是多個二進制振幅波形的疊加,因此頻域特性也是多個信號的頻域特性之和,盡管疊加后頻譜特性較復雜,但就零點出現特性而言,在f0的整數倍上也總是表現為0幅值,當插值倍數為整數時,濾波器按采樣頻率搬移的通帶正好出現在f0的整數倍上,可以有效地降低頻率搬移對濾波特性的影響。在雙邊截斷碼元數為8、余弦滾降系數為0.5、碼元速率為10 MB條件下,圖5給出了插值倍數分別為4,8,16即采樣速率為40、80、160 MB的幅頻特性圖。

圖5 不同插值倍數下的幅頻特性圖
從圖中可以看出,不同插值倍數雖然不會對第一個衰減旁瓣峰值有所影響,但會影響后級旁瓣峰值大小,采樣率越高,時域成型效果越好,頻域后級旁瓣衰減越大,但會增加濾波器的階數,提高FIR復雜度,也會使輸出碼元速率增大,增大了系統實現難度。
AD9957、AD9857、AD9854等具有正交調制功能的上變頻芯片,它們在并行端口上交替出現I和Q路數據字,并在時鐘有效沿進行捕捉,因此在基帶處理部分,也可以設計成串行IQ兩路串行的串并轉換、星座映射、成型濾波,這樣可以不用進行時鐘分層以及節省下一路的濾波資源和映射編碼邏輯,傳統的FPGA插值濾波器采用的是全并行分布式算法原理[5],這種基于查找表結構的濾波器可以大大提高電路的執行速度及不需要乘法資源,目前大多數FPGA/CPLD都集成了DSP處理單元,內部嵌入了細顆粒單周期乘法器,用這些乘法器來設計卷積濾波器將大大降低系統復雜度。
假設插值濾波器抽頭為
H=[h(1),h(2),h(3),…,h(N)]
式中:N=D×M;D是雙邊截斷碼元數;M為插值倍數。將H分解為M個子濾波器:
(5)
這種結構的插值濾波器只需要D個乘法器資源,相對于采用FIR的IP核要節省M倍的乘法器,圖6給出了串行IQ鏈路多相時變系數濾波器[4]的結構圖。
在每個PDCLK時鐘周期,計數控制模塊都會控制子濾波器系數組都會進行更新,當M組子濾波器都遍歷更新過一遍之后的第一個PDCLK周期,計數控制模塊控制I路用戶數據更新入I路移位寄存器,第二個PDCLK周期,Q路用戶數據更新入Q路移位寄存器,并在每一個PDCLK周期由計數控制的MUX選擇器控制IQ兩路鏈路串行進入并行乘加單元進行濾波[8-15],并行乘加單元輸出18位(1位符號位+17位數據位)數據給AD9957,因為最高使用256QAM,也就是16ASK正交調制,共16個電平位,電平位間隔為2,需要1位符號位+4位數據位,所以用戶數據設置為5位,AD9957并行數據輸入口為18位,留給串行IQ鏈路多相時變系數濾波器的有效數據位數是1位符號位+13位數據位,相乘后得到的數據進行3級流水線加法器得到累加輸出值。

圖6 串行IQ鏈路多相時變系數濾波器的結構
可變參數基帶處理模塊主要實現的是信號調制方式、調制階數、成型濾波器插值倍數和余弦滾降系數的可變調度,具體結構圖,如圖7所示。
NIOSⅡ軟核通過AVALON-MM總線傳輸地址、數據、寫使能給從端的基帶控制模塊IP核從而改變IP核內部對參數控制的數據,需要一個地址位映射到兩個寄存器:控制數據寄存器和FIR抽頭系數寄存器,為了節約FPGA內部存儲資源,FIR抽頭系數查詢表放在SDRAM中,通過Nios的讀取并傳輸到基帶模塊IP

圖7 可變參數基帶處理模塊結構圖
的FIR抽頭系數寄存器中。數據總線設計為16位,在控制數據寄存器中[1:0]位傳輸插值倍數控制參數,[3:2]位傳輸調制階數參數,第4位傳輸調制模式控制參數,第5位傳輸DAC和正交調制切換選擇參數,[15:6]傳輸余弦滾降系數參數;在FIR抽頭系數寄存器中,數據總線只需要14位,每次傳輸一個抽頭系數,因為抽頭系數是對稱的,因此直到抽頭系數通過總線傳輸個數達到65個即停止。每次參數更改都需要軟復位清零一下計數控制單元的計數值,調制方式可選值為QAM和ASK,使用QAM調制時Q路移位寄存器處于工作狀態,使用ASK調制時,Q路移位寄存器被旁路,Q路相對I路間隔輸出零值,即關閉AD9957的DDS余弦輸出功能。調制階數可選為4QAM/2ASK、16QAM/4ASK、64QAM/8ASK、256QAM /16ASK,插值倍數可調階數為2、4、8、16,選擇這個階數的原因是這些抽頭系數的公倍數是最高可插值倍數16,這樣可以節省抽頭階數的存儲,16倍插值的成型濾波器抽頭系數包含了2、4、8倍插值的抽頭系數,插值倍數控制模塊通過控制計數單元的步進梯度從而間隔選擇不同的子濾波器。余弦滾降系數可選范圍為0.3~0.5,更新余弦滾降系數FIR抽頭系數查詢表切會換到相對應滾降系數的FIR抽頭系數RAM,并導入到多相時變系數插值濾波器組中。計數控制單元的最低位映射到IQ鏈路的切換,高位映射到插值子濾波器的移位更新及用戶數據星座映射的更新。
為了提高基帶處理模塊的最高運行頻率,需要對AD9957并行輸入端口進行時序約束,根據AltiumDesigner畫出的PCB線路統計出18根并行總線和1根時鐘總線的PCB傳輸時延,在介電常數為4.0的條件下,單位走線時延[5]為0.18 ns/1 000 mil,在TimeQuest Timing Analyzer中約束輸出最大和最小延時:
Output Max Delay=PCB Max Delay+
AD9957 Setup Time+Clock Max Delay+
(Latch Time-Launch Time)=
0.35 ns+1.75 ns+0.24 ns-5 ns=-2.66 ns
Output Min Delay=PCB Min Delay-
AD9957 Hold Time+Clock Min Delay+
(Latch Time-Launch Time)=0.18 ns+0 ns+
0.23 ns-5 ns=-4.59 ns
(6)
仿真后得到PDCLK最高時鐘118.96 MHz,這個結果已經可以滿足AD9957內部絕大部分的可編程插值倍數值,其中PDCLK需要配置為極性反轉,上升沿驅動,下降沿鎖存。
圖8和圖9分別是用戶數據經過脈沖成型后的Modelsim基帶波形圖和SignalTapⅡ基帶波形圖,仿真條件:余弦滾降系數0.5,插值倍數8,雙邊碼元截取長

圖8 Modelsim基帶波形仿真圖

圖9 SignalTapⅡ基帶波形仿真圖
找到波形,用戶輸入數據采用了步進遞增符號碼。
圖10和圖11是硬件實驗結果圖,基帶配置條件不變,AD9957配置為內部時鐘1GB,CCI+HB插值倍數為20倍,反sinc濾波器和反CCI濾波器使能,圖10是AD9957配置為DAC模式時輸出基帶波形,PDCLK時鐘為50MB,圖11是配置為QDUC模式時輸出的16ASK調制波形,PDCLK時鐘為100 MB,載波設置為50 MB。

圖10 基帶波形實驗結果

圖11 調制波形實驗結果
由圖可見,基帶波形實驗結果和仿真結果基本相同,調制波形的包絡很好地還原了基帶波形的形狀。
本文闡述了升余弦濾波器的時域頻域特性,并充分分析了FIR升余弦濾波器的余弦滾降系數、雙邊截斷碼元數、插值倍數的取值關鍵要點,設計了串行IQ鏈路多相時變系數濾波器,提高了系統的時鐘資源、邏輯資源及DSP資源的利用率。最后利用FPGA可編程邏輯完成了可變參數基帶處理模塊,提升了系統的靈活性,并集成為AVALON總線規范的IP核,增加了該模塊的可移植性,該設計使用了較低的資源實現了軟件可控的高階調制信號發生器。
參考文獻(References):
[1] 吳彬彬,郭業才. 高階調制信號發生器設計與實現[D]. 南京:南京信息工程大學碩士學位論文, 2015.
[2] Pong P. CHU,基于NiosⅡ的嵌入式SoPC系統設計與Verilog開發實例[M]. 北京:電子工業出版社,2015.
[3] 梁婷婷,遲永剛,劉軍軍,等.一種具有任意倍升采樣的高速率脈沖成型算法[J].哈爾濱:哈爾濱工業大學學報,2015,47(11):53-58.
[4] 付文君,姜景山,王拴榮,等. 一種可變插值比的脈沖成型數字濾波器FPGA設計[J]. 遙感技術與應用, 2006,21(5):445-450.
[5] 吳厚航. 愛上FPGA開發特權同學和你一起學NIOSⅡ[M].北京:北京航空航天大學出版社,2011.
[6] 胡俊杰.衛星數據傳輸高速調制器關鍵技術研究[D]. 北京:中國科學院研究生院博士學位論文,2011.
[7] Gentile K. The Care and Feeding of Digital Pulse-Shaping Filters[DB/OL].(2002-04-30)[2017-11-10].HTTP://www.rfdesign.com.
[8] 杜 勇. 數字調制解調技術的Matlab與FPGA實現[M].北京:電子工業出版社, 2015.
[9] 郭業才,章 濤,袁 濤. 衛星信道模擬器數字下變頻系統設計[J]. 科學技術與工程, 2014,24(1):54-59.
[10] 劉華僑,林靜然.64QAM調制解調關鍵技術研究與實現[D].成都: 電子科技大學碩士學位論文,2013.
[11] 于偉龍,宗成閣.基于AD9957的信號發生器設計[D]. 哈爾濱: 哈爾濱工業大學碩士學位論文,2014.
[12] 譚龍龍,宗成閣.列車防撞雷達信號源開發設計[D]. 哈爾濱: 哈爾濱工業大學碩士學位論文, 2013.
[13] 任 哲. 嵌入式實時操作系統uC/OS-Ⅱ原理及應用[M]. 2版.北京航空航天大學出版社,2013.
[14] 李 敏,王 孜, 邵奕強,等.自適應低通濾波器的設計與實現[J].實驗室研究與探索,2014,33(8):89-93.
[15] 樊開陽,杜小峰, 楊紅兵. 基于FPGA的FIR濾波器設計方案優化[J].實驗室研究與探索,2014,33(5):91-95.