1 引言
工程實踐中,,我們往往需要對所設計的硬件電路進行設計檢驗以保證其正常運作,,從而才能進一步支持基于該硬件的復雜程序的正確調(diào)試。這樣,,特定的相應測試系統(tǒng)設計就顯得尤為重要,,不僅可以保證硬件的健康度,更能提高整個調(diào)試過程的效率,,方便檢測出相關錯誤,。針對增補轉發(fā)系統(tǒng)( Gapfiller)中 QPSK解調(diào)程序調(diào)試的需求,,分別對發(fā)射及接收電路設計了基于可編程邏輯器件(FPGA)的測試程序。為了保證其更強的糾錯性和更可靠的驗證能力,,測試系統(tǒng)的設計原則應當是愈簡易且愈典型為佳,。目前國內(nèi)對于 QPSK調(diào)制解調(diào)的基本原理、具體實現(xiàn)以及解調(diào)中所涉及的載波同步問題都已有很深入的研究,,而本文對此并不作過多討論,,僅僅是借助于一種昀簡易的 QPSK調(diào)制解調(diào)系統(tǒng)來進一步闡述硬件設計檢驗的系統(tǒng)實現(xiàn)和測試方法,,并昀終以解調(diào)的誤碼率大小作為本次檢驗的參照指標,。
2 預失真技術簡介
采用 QPSK等非恒定包絡調(diào)制技術,這就對射頻前端的功率放大器的線性度提出了較高的要求,,否則會引起非線性失真,,信號頻譜擴展進而產(chǎn)生鄰道干擾,導致接收端的 BER性能下降,。即使 RF功率放大器能線性放大,,這也會嚴重降低發(fā)射機的效率。而數(shù)字預失真技術不僅能有效改善交調(diào)分量的特性,,而且他的電路結構簡單,,功耗小,成本低,。
為使該測試系統(tǒng)能夠更有效的檢測出待測硬件的性能優(yōu)劣,,我們在發(fā)射系統(tǒng)中加入預失真器,以改善 HPA輸出信號的功率譜密度,,降低傳輸信號的帶外頻譜擴展,,如此接收端的誤碼率降低后,該測試系統(tǒng)擁有了更好的測試性能及應用的可靠性,。
3 設計實現(xiàn)
增補轉發(fā)器主要完成 DVB-S信號的接收工作,。該系統(tǒng)采用全數(shù)字接收機概念設計,即在接收機的解調(diào)器前插入 A/D變換器,,把接收機下變頻后的模擬信號變?yōu)閿?shù)字信號,,因此可采用全新的數(shù)字技術實現(xiàn)調(diào)制信號的解調(diào)。
3.1 硬件總體結構
我們截取整個增補轉發(fā)系統(tǒng)中所需測試的相關電路,,構成待測系統(tǒng)可概括成如圖 1所示的結構框圖,。
該待測系統(tǒng)由發(fā)射和接收兩部分組成,分別完成數(shù)據(jù)傳輸?shù)?QPSK調(diào)制發(fā)射及數(shù)字零中頻的 QPSK解調(diào)接收,。
各個模塊的芯片器件選取如下:FPGA選用 Xilinx公司的 Spartan3系列的 XC3S2000,; D/A,A/D轉換器分別選用 Analog Device(ADI)公司的 AD9767和 AD9216,;模擬正交上變頻和下變頻模塊分別選用 ADI公司的 AD8349和 AD8347,;VCO則選用 ADI公司的 AD4360,提供上、下變頻所需的 2.6GHZ載波(注: AD4360為原系統(tǒng)發(fā)射板與接收板均采用的芯片,,由于涉及到載波同步問題,,實際的測試過程所需具體的方案選擇將在第 4部分進行詳細討論和介紹)。
由于是零中頻方案,,QPSK調(diào)制僅需在 FPGA中將 00,,01,,10,,11四種狀態(tài)映射為 14位二進制數(shù)以進入 AD9767作模擬轉換,變換后的模擬信號在上變頻器件中與載波實現(xiàn)復乘作為射頻調(diào)制信號發(fā)射出去,。接收機則是作與此相反的解調(diào)過程從而得到解調(diào)數(shù)據(jù),,并與發(fā)射數(shù)據(jù)相比較測出誤碼率。
3.2 FPGA的設計與實現(xiàn)
3.2.1 QPSK調(diào)制模塊
調(diào)制模塊在發(fā)射板的 FPGA中實現(xiàn),,由發(fā)信源,、串 /并轉換、映射和升余弦滾降整形濾波器構成,,如圖 1中發(fā)射系統(tǒng)中所示,。
(1)發(fā)信源
由于在發(fā)送端要產(chǎn)生一個替代實際通信信源的碼序列作為測試信源,這類碼序列昀好具有類似隨機信號的性能,,或者說具有噪聲近似的性能,,基于 FPGA設計的實際情況,我們不可能產(chǎn)生純粹的隨機信號,,因此只能采用具有一定周期性的類似于隨機噪聲的偽隨機序列(PN碼),,本系統(tǒng)采用 14級 m碼序列發(fā)生器,在每 16383個碼之間需插入一個幀同步頭,,以表征每一幀的開始與結束,。
(2)串/并轉換
實現(xiàn)將一路串行數(shù)據(jù)分流成兩路速率減半的并行數(shù)據(jù),,然后輸入映射模塊,。
(3)映射串并轉換后的兩路數(shù)據(jù)分別作各自的 BPSK調(diào)制,,本方案中只需作 1,,0兩種狀態(tài)映射。
?。?)滾降濾波器本方案采用 IP核實現(xiàn) 31階 FIR濾波器,,經(jīng) MATLAB仿真驗證和上板調(diào)試實踐,能夠對信號起到較好的整形作用,,符合工程要求
3.2.2QPSK解調(diào)模塊
接收信號經(jīng)接收板的 A/D轉換后將兩路 10位二進制信號同時送入 FPGA處理,,流程如圖 1中接收系統(tǒng)所示,。
判決模塊將濾波器整形后的 10位 I、Q路信號通過門限判決,,映射為 1或 0兩種碼,,判決的門限值我們根據(jù)實踐設定。隨后經(jīng)過并/串處理后便得到解調(diào)數(shù)據(jù),。
3.2.3 預失真器
本方案采用查表法來實現(xiàn)預失真器,,即使用兩個獨立的一維表——幅度表和相位表來近似逼近放大器非線性的逆函數(shù),這兩個表由兩塊 RAM組成,。預失真器根據(jù)輸入信號的幅度計算查詢表地址,,并利用地址來查找相應的增益和相位,對輸入信號增益進行補償,,然后再做相位旋轉得到預失真器的輸出,。
圖 1中的預失真誤差計算模塊由反饋信號通過自適應算法來更新查找表,。該算法基于乘法,,相較于基于加法的預失真器,乘法對于反饋信號的相位不敏感,,在反饋路徑中不需要相位調(diào)整電路,。若預失真器的輸入 x(n)是幅度 ρ(n),相位 φ(n)的復信號,,經(jīng)過量化限幅后其地址輸入為 Q[ρ(n)],;若預失真器的輸出 z(n)是幅度 r(n),相位 θ(n)的復信號,,可得: z(n)=r(n)•exp[ jθ(n)] = Kn •ρ(n) •exp[ j(φ(n) +ψn)],,式中 Kn和 ψn分別是查詢表的地址映射值。查詢表內(nèi)容的昀終迭代關系式: Kn+1 (Q[ρ(n)]) = Kn(Q[ρ(n)])-α(A[r(n)]/ρ(n)-1) 和 ψn (Q[ρ(n)]) =ψn(Q[ρ(n)])-β(ω(n)-φ(n)),,式中 α和 β是迭代步長,,調(diào)整它們可以調(diào)節(jié)收斂速度。預失真器通過對以上兩式的迭代,,不停的更新查詢表內(nèi)所存儲的數(shù)值,,以達到對 HPA反函數(shù)曲線的逼近。
為了提高收斂速度,,在本方案中采用了基于插值法的查詢表內(nèi)容更新策略:每一次遞歸并不僅僅改變當前地址的查詢表內(nèi)容,,而是通過相應的調(diào)整策略更新相關聯(lián)的多個地址的查詢表內(nèi)容。在實現(xiàn)時,,使用一個與查詢表地址數(shù)目一致的地址更新指示器,,若地址 N位置的數(shù)據(jù)已經(jīng)過迭代,則指示器對此進行紀錄,;同時從 N位置向上和向下進行搜索,,查找距離 N地址位置距離昀近的,,且同樣已經(jīng)過迭代的兩個地址位置 N-L1和 N+L2,二者之間其它地址的存儲數(shù)據(jù)可以通過線性內(nèi)插得到: D´(N-n)=(1-n/L1)•D(N)+ n/L1•D(N-L1), (1≤n≤L1)和 D´(N+n)=(1-n/L2)•D(N)+ n/L2•D(N+L2) , (1≤n≤L2),。
3.2.4 測誤碼模塊
我們需比較發(fā)送數(shù)據(jù)與接收數(shù)據(jù)從而得到誤碼數(shù),,以作為昀終的硬件設計評估指標。在接收板的 FPGA中,,添加測誤碼模塊就非常的必要,。圖 2表示出了其具體的實現(xiàn)和組成。
此處的本地 m序列產(chǎn)生器與發(fā)射端的設置相同,,就相當于產(chǎn)生發(fā)送數(shù)據(jù),,由于其與解調(diào)模塊共用同一時鐘,我們便可將解調(diào)出的數(shù)據(jù)與該序列同時送入逐位比較檢測模塊進行比較,。
為保證解調(diào)數(shù)據(jù)與序列產(chǎn)生器發(fā)出的碼幀對齊,,還需設置幀頭判斷模塊,當判斷出解調(diào)數(shù)據(jù)的幀頭到來時便啟動本地 m序列產(chǎn)生器開始比較,。逐位比較檢測模塊由異或門構成 ,在時鐘上升沿到來時 ,若比較控制信號為 “1”,則將接收序列和本地序列進行異或比較 ,有誤碼 ,則輸出“1”,。比較控制信號由幀頭判斷模塊產(chǎn)生,當判斷到幀頭時,,其跳變?yōu)?“1”,,控制誤碼測試啟動,統(tǒng)計若干幀再次檢測到幀同步頭時,,其跳回“0”,,結束檢測。
誤碼統(tǒng)計模塊對誤碼進行計數(shù),,當比較控制信號為“0”時即結束計數(shù)并輸出誤碼數(shù),。
4 測試結果
由于解調(diào)涉及到載波同步與時鐘同步問題,我們將討論用一種昀簡易的方法實現(xiàn),。時鐘同步的解決:將接收板系統(tǒng)所需的時鐘接到發(fā)射板的晶振上,,以保證同頻。載波同步的解決:在晶振相同的前提下我們可以保證 VCO載波同頻,,但相位會有偏差,,因此我們需要在 FPGA中添加一塊鎖相環(huán)以保證本地載波的相位跟蹤上發(fā)射載波。
同步問題解決后,,我們首先采用 Chipscope觀看進入 FPGA的 I,、Q兩路的幅頻(A-F)特性圖,從而根據(jù)其幅度的分布為判決門限規(guī)定具體的值,。同時,,觀看星座圖以了解解調(diào)效果是否滿足需求,圖 3即為本系統(tǒng)在碼速率 40Mbps時經(jīng)解調(diào)所得的星座圖,。
在實驗室的情況下,,預計誤碼率的數(shù)量級在 10-12左右,,為提高測量的可靠性,本次測試選取 3×1014個幀作為一次檢測周期,。多次測量結果并沒有出現(xiàn)誤碼情況,,硬件設計滿足工程要求。
5 結束語
本文旨在討論一些實際的硬件測試經(jīng)驗,,并對整套測試工作進行詳細的歸納與總結,,提出了可供工程師參考的解決方法。QPSK技術目前在衛(wèi)星數(shù)字通信中廣泛應用,,本文則通過討論 QPSK成套的調(diào)制解調(diào)系統(tǒng),,著重闡述了該測試系統(tǒng)的硬件及 FPGA的設計與實現(xiàn)。該測試系統(tǒng)可以有效地幫助工程師進行設備互通測試和工程驗收,。