陸存波
(北京圣非凡電子系統技術開發有限公司北京100141)
基于Hilbert變換的單邊帶調制系統設計與實現
陸存波
(北京圣非凡電子系統技術開發有限公司北京100141)
為了解決基于希爾伯特變換的單邊帶調制系統中I/Q信號幅度不一致的問題,本文通過理論分析和公式推導的方法得出影響I/Q信號正交性的主要因素是濾波器的階數,并通過試驗分析了不同階數的濾波器是如何影響I/Q信號的正交性的,得出了濾波器階數要保證至少覆蓋3.7個信號周期才能確保I/Q信號正交的結論。同時給出了在ADSP上實現希爾伯特濾波器的具體流程。此外,給出了基于AD9957的數字正交上變頻的設計方法和實現流程。
單邊帶調制;希爾伯特變換;AD9957;ADSP
單邊帶調制是模擬調制方法里面性能相對非常優越的一種制式,具有占用帶寬小、功耗低等優點[1]。由于濾波器設計的困難,使得單邊帶調制技術沒有廣泛應用于傳統的通信系統中。但是隨著軟件無線電技術理論發展的成熟,以及DSP、FPGA,DDS等數字信號處理器的快速發展,使得單邊帶調制技術在數字信號處理平臺上的實現變得簡單可行[2]。
單邊帶調制方法包括濾波法與正交變換法兩類。雖然濾波法在理論上容易實現,但由于數字濾波器占用系統資源巨大,在現實中難以實現。正交變換法由于是在基帶上對數據進行希爾伯特變換處理,所以數據速率相對較低、運算量較小;基帶信號的同相和正交分量與載波的同相和正交分量對應相乘再相加的過程運算量很大,但是是在DDS中完成,所以不占用DSP的系統資源。張敬利等人提出了一種插值-濾波法的單邊帶調制方法[3],雖然符合DSP程序設計的特點,但是只能得到調制在固定頻率的上下邊帶的信號。所以本文選用基于希爾伯特正交變換的方法實現單邊帶調制系統。針對目前單邊帶調制系統中普遍存在的I/Q信號不正交的問題,本文詳細分析了濾波器階數如何影響I/Q信號的正交性,并對基于窗函數法設計的希爾伯特濾波器產生的幅值誤差對I/ Q信號的正交性的影響進行了分析,并通過試驗定量分析了不同階數的濾波器對I/Q信號正交性的影響,得出了濾波器階數要保證至少覆蓋3.7個信號周期才能確保I/Q信號正交的結論。在此基礎上設計了希爾伯特濾波器,并在由ADSP21489和AD9957芯片為主組成的軟件無線電平臺上實現了單邊帶調制系統。
1.1希爾伯特變換
希爾伯特變換是希爾伯特濾波器設計的基礎,它可以提供的相位變化而不影響頻譜分量的幅度。連續時間信號的Hilbert變換定義為:


通過傅里葉逆變換可以得出:

所以,離散時間信號x(n)的Hilbert變換為:

信號x(n)經希爾伯特變換后,頻譜不發生變化,相位連續,且與x(n)相互正交。
1.2希爾伯特濾波器的設計
希爾伯特濾波器在單邊帶調制系統中的位置如圖1所示,它保證了I/Q信號的正交性,濾波器設計的好壞直接關系到整個系統設計的成敗。

圖1 單邊帶調制系統流程圖
在實際系統設計中,經常會遇到I/Q信號幅度不一致的問題,有的文獻[4]中采用將Q信號幅度乘以一個加權因子的方法使I/Q信號幅度近似一致,這種方法是錯誤的。因為對于不同幅度和頻率的信號,加權因子的值是不同的,這在實際的系統設計中是無法實現的。I/Q信號的幅度不一致說明了兩信號不正交,兩信號不正交說明所做的希爾伯特變換是錯誤的,這通常是由于希爾伯特濾波器的階數不夠導致的。
理想的希爾伯特濾波器長度是無窮大,但基于窗函數法設計的FIR濾波器的長度是有限的,這必然會使輸入輸出信號的正交性受到影響。但在實際工程應用中,只要保證輸入輸出信號在誤差允許范圍內正交即可。因此,濾波器階數的選擇是關鍵,階數太長,誤差變小,但運算量變大,影響算法的實時性;階數太小,運算量變小,但誤差變大,影響輸入輸出信號的正交性。所以要在運算量和誤差之間折衷處理,使選擇的階數既保證實時性又保證正交性。為了保證I/Q信號的正交性,要求I信號必須有(L-1)/2的群時延,其中L為Hilbert濾波器的長度。
以本系統的設計為例,信號的正交性用Q幅值誤差表示,Q幅值誤差越小,信號的正交性越好。設音頻信號的采樣速率為16k,那么對于300 Hz的信號,一個周期大約有53個點(16000÷300≈53.3)。如果希爾伯特濾波器的階數為240,那么濾波器能夠覆蓋約4.52個周期的信號(241÷53.3≈4.52),Q信號幅值保持不變,如圖2(a)所示,完全能夠滿足實際項目的需要;如果希爾伯特濾波器的階數為26,那么濾波器能夠覆蓋大約0.5個周期的信號(27÷53.3≈0.5),Q信號幅值明顯發生變化,如圖2(b)所示,不滿足正交性關系,虛線為I信號,實線為Q信號。虛線為I信號,實線為Q信號。圖(a)中Q信號幅值與I信號保持一致,IQ信號正交;圖(b)中Q信號幅值與I信號不一致,IQ信號不正交。

圖2 濾波器階數對Q信號幅值的影響
表1列出了濾波器階數與正交性的關系,假設音頻信號頻率為300 Hz,I信號的幅值為1.0,理想的Q幅值也為1.0,Q幅值誤差=(實測的Q幅值-理想的Q幅值)差的絕對值/理想的Q幅值。從表1可以看出,隨著濾波器階數的增加,濾波器能夠覆蓋的信號周期數越來越多,Q幅值誤差越來越小,所以I/Q信號的正交特性越來越好,本系統中濾波器的階數為240,已經完全能夠滿足正交性的指標要求。

表1 濾波器階數與Q幅值的關系
在希爾伯特濾波器的設計中,只要濾波器能夠對最小頻率的信號實現正交變換,就能保證對所有頻率的信號實現正交變換,換言之,只要濾波器能夠保證對最大波長的信號實現正交變換,就能保證對所有波長的信號實現正交變換,當然,前提是信號沒有失真。假設濾波器階數為270,采樣頻率為16 kHz,當信號頻率從300 Hz提高到900 Hz時,濾波器能夠覆蓋的周期數從大約5.1增加到15.2,輸入輸出信號的正交性變得更好,所以只要對300 Hz的信號正交就能保證對所有大于300 Hz的信號正交。所以,在濾波器階數和采樣頻率一定的情況下,信號頻率越小,濾波器覆蓋信號的周期數越小,正交性越差;信號頻率越大,濾波器覆蓋信號的周期數越大,正交性越好。而在濾波器階數和信號頻率一定的情況下,采樣頻率越小,濾波器覆蓋信號的周期數越大,正交性越好;采樣頻率越大,覆蓋信號的周期數越小,正交性越差。在希爾伯特濾波器階數一定的情況下,濾波器覆蓋信號周期數與信號頻率和采樣頻率的關系如圖3所示。
1.3Hilbert濾波器的DSP實現
本系統采用ADI公司的ADSP21489實現了希爾伯特濾波器,實現流程如圖4所示。首先開辟運算緩沖區buffer,設置buffer的初值為0,長度為Hilbert濾波器長度L與DMA數據塊長度N之和L+N;然后將DMA方式輸入的N個數據放入緩沖區buffer的末尾;接著將Hilbert濾波器從緩沖區的首部滑動到尾部,每滑動一個數據,濾波器系數都與buffer中對應的數據做乘累加運算得到一個輸出數據,最終得到N個輸出數據,N個輸出數據組成一個數據塊通過DMA方式輸出;最后將buffer中的所有數據左移N個位置,從而buffer中的前N個數據被移出,尾部為下一次DMA輸入留出N個數據位置。由4節可知送入DDS的I/Q數據采樣速率為fIQ,所以N個數據送入DDS中的時間為N/fIQ,所以希爾伯特變換的時間必須小于N/fIQ,本系統采用乒乓方式將I/Q數據連續送入DDS。希爾伯特濾波器的系數是用MATLAB的fdatool工具箱生成的。

圖3 希爾伯特濾波器覆蓋信號周期數與信號頻率和采樣頻率的關系

圖4 在DSP上實現Hilbert濾波的流程圖
理想的希爾伯特濾波器是非因果,濾波器階數無窮大[5],而實際的基于窗函數法設計的FIR濾波器的階數是有限的,這必然會導致計算誤差(Q幅值誤差)的存在,這對基于正交變換的數字上變頻系統會產生什么影響呢?以下進行分析和推導。本文以上邊帶調制為例,設載波頻率為ω,調制信號頻率為Ω,I信號為cos(Ω),理想的Q信號為sin(Ω),實測的Q信號為sin(Ω),則理想的基于正交變換的上邊帶信號cos(ω+Ω)產生方法為:基帶和載波的同相分量和正交分量分別相乘之后再相加:

基于以上分析,在上邊帶調制中,希爾伯特變換幅度誤差會在下邊帶位置產生誤差頻率ej(ω-Ω)和e-j(ω-Ω),其中e-j(ω-Ω)為負頻率,同時原始頻率的幅度變為原來的0.5(1+α)倍。如圖5所示,(a)為I/Q信號幅值相等時的上邊帶信號,(b)為Q信號幅值變為原來的0.7倍時的情況,在下邊帶位置產生一個誤差信號,誤差信號幅度為理想信號幅度的15%,由表1可知,I/Q信號不滿足正交性。由表1,當濾波器階數為200時,Q信號幅值變為理想信號的99.87%,誤差信號幅度變為理想信號的0.13%,基本可以忽略不計。
綜上所述,有限長的濾波器導致了Q幅值誤差的存在,由于誤差的存在產生了新的頻率,從而影響了I/Q信號的正交性。

圖5 Q幅值誤差對頻率的影響
由于基帶信號的速率低于DDS要求的輸入信號的速率,所以需要對基帶信號進行插值使得插值后的數據速率與DDS要求的輸入數據的速率完全一致。以本系統的設計為例,DDS要求的輸入數據速率為768 kHz,基帶信號的采樣頻率為16 kHz,因此插值的倍數為48倍(768 kHz/16 k)。48倍插值濾波器的階數為384,采用MATLAB的interp函數生成。在DSP平臺上設計實現了48倍插值濾波器,插值濾波器的實現方法與1.3中希爾伯特濾波器的實現方法相同。這里的插值濾波器指的是圖1中的“插值濾波器”,而非DDS中的“插值”濾波器。
AD9957[6]是一款數字正交上變頻器,用于產生載波信號,載波以正交形式施加到I和Q乘法器并相加,從而產生代表正交調制載波的數據流。載波信號的頻率是由直接數字頻率合成器(DDS)來控制的,DDS可以利用內部參考時鐘(SYSCLK)非常精準地產生所需的載波頻率。載波的采樣速率等于內部系統時鐘頻率fSYSCLK。數字正交上變頻系統設計的關鍵是數據速率的匹配,即數據的采樣速率與載波信號的采樣速率一致。對于Blackfin接口(BFI)模式,fPDCLK為I和Q數據流的位速率,且fPDCLK=fSYSCLK/R,其中R為DDS中可編程插值濾波器的插值因子,可以實現2倍至63倍范圍內的插值。由于每個I和Q字均具有16位分辨率,所以送入DDS的I/ Q數據采樣速率fIQ=fPDCLK//16。設AD的采樣速率為fAD,圖1中“插值濾波器”的插值倍數為R′,則fIQ=fAD×R′。所以,基帶數據與載波信號的速率匹配公式為:

本系統中fAD=16 ksps,R′=48,R=32,fSYSCLK=393.216 Msps。通過以上分析和計算,就能保證基帶數據的采樣速率與載波的相同,只要IQ信號以該速率送給DDS就能正確實現數字上變頻。
文中介紹了基于希爾伯特變換的單邊帶調制系統的設計實現方法。詳細分析了希爾伯特濾波器的設計方法,介紹了在DSP平臺上實現希爾伯特變換的具體流程;分析解決了上變頻過程中數據采樣速率的匹配問題,將基帶的正交I/Q數據流按照預先計算好的速率送入DDS就可以完成數字上變頻。本方法具有較好的工程參考價值。
[1]樊昌信.通信原理[M].北京:國防工業出版社,2006.
[2]楊小牛,樓才義.軟件無線電技術與應用[M].北京:北京理工大學出版社,2010.
[3]張敬利,丁國棟,易克初.基于DSP的信號單邊帶調制的實現[J].通信技術,2003(3):30-31.
[4]蔣春峰.基于Hilbert變換的單邊帶調制的實現[D].武漢:華中科技大學碩士
[5]趙樹杰,史林.數字信號處理[M].西安:西安電子科技大學出版社,1997.
[6]ANALOG DEVICE.AD9957[R].Norwood:DataSheet.Analog Device Inc,2000:1-60.
Based on Hilbert transformation single sideband modulation system design and realization
LU Cun-bo
(Beijing Shengfeifan Limited Company of Eletronic System and Technological Development,Beijing 100141,China)
In order to resolve the non-quadrature of the I/Q signals in the single side band(SSB)modulation system which is based on the hilbert transform,based on the method of theoretical analysis and formula derivation the paper present that the main factor affecting the orthogonality of I/Q signal is the order of the filter,and analysis how the filter of different order affects the orthogonality of I/Q signal by means of experiments,It comes to conclusion that the filter order must be guaranteed at least 3.7 signal cycles to ensure that the I/Q signal is orthogonal.Meanwhile provides the flow of hilbert filter which is implemented on the ADSP.In addition,the paper presents the design method and realization process of the digital orthogonal upper frequency conversion based on AD9957.
SSB;Hilbert transform;AD9957;ADSP
TN99
A
1674-6236(2016)12-0138-03
2015-07-03稿件編號:201507031
陸存波(1982—),男,吉林長嶺人,碩士,工程師。研究方向:數字信號處理、DSP設計。