摘要:首先介紹了兩種高精度相位差測量算法,一種是基于直接數(shù)字頻率合成(DDS)的相關(guān)測量法,另一種是基于快速傅里葉變換(FFT)的FFT測量法。其次,通過理論仿真分析兩種算法在不同信噪比和數(shù)據(jù)長度下的性能,并在此基礎(chǔ)上給出了硬件平臺的設(shè)計方案。最后,基于高性能的FPGA芯片XC5SX95T,搭建了硬件實驗平臺,完成了兩種相位差測量算法的硬件實現(xiàn)。經(jīng)過實測,該硬件平臺能夠達到良好的相位差測量精度。
關(guān)鍵詞:相位差;相關(guān);FFT;FPGA
0 引言
兩個同頻信號的相位差測量在工程上有著廣泛的應用。近年來,精密測量、雷達定位、目標識別等領(lǐng)域的高速發(fā)展對相位差測量精度和速度都提出了很高的要求。目前,理論上比較成熟的相位差測量算法主要利用相關(guān)原理和快速傅里葉變換(FFT)原理。但由于硬件環(huán)境的復雜性和不穩(wěn)定性,傳統(tǒng)硬件測量的精度往往大大低于軟件計算精度,而高性能FPGA芯片的發(fā)展為硬件提高相位差測量算法的精度提供了新的方向。
本文首先介紹了兩種相位差測量算法,一種是基于直接數(shù)字頻率合成(DDS)的相關(guān)測量法,另一種是基于快速傅里葉變換的FFT測量法。在軟件仿真的基礎(chǔ)上,利用高性能的FPGA芯片搭建硬件實驗平臺,完成了兩種算法的硬件實現(xiàn)。
1 算法原理和理論仿真
1.1 相關(guān)測量法
首先在接收端利用本振信號與接收信號進行相關(guān),再經(jīng)過數(shù)字低通濾波器濾除高頻分量,分別得到兩路接收信號的相位信息,最后相減得到相位差。由于噪聲與本振信號相關(guān)性很小,所以能夠很好地加以抑制。設(shè)被測信號為:
式中:f0為被測信號頻率;φ1,φ2分別為兩路信號的相位。兩路信號的相位差△φ=φ1-φ2,即為所求。
式中,a1為相關(guān)后輸出信號的幅度,由于兩路本振信號的幅度一致,故相關(guān)后輸出信號的幅度也可認為相等,通過低通濾波器濾除高頻分量后可得:
1.2 FFT測量法
假設(shè)兩路接收信號同式(1),式(2)所示,則信號Si(n)(i=1,2)在經(jīng)過FFT之后得到離散頻譜Si(k),其頻率所在點的譜線的實部和虛部分別包含了信號相位的余弦信息和正弦信息?;诳焖俑道锶~變換的FFT測量法正是利用這兩項信息分別求得兩路被測信號的相位值,最后相減得到相位差。由于噪聲是寬帶的,在被測信號頻率點處的噪聲干擾影響并不大,不會產(chǎn)生很大干擾。FFT是離散傅里葉變換(DFT)的快速算法,根據(jù)DFT的原理:
式中:i=1,2;k0可通過在FFT頻譜上搜索最大值的方法確定。最后將兩路被測信號的相位差值相減即可得到相位差△φ:
1.3 理論仿真
在PC環(huán)境下用Matlab軟件仿真兩種相位差測量算法的性能,分別就以下兩種情況進行性能仿真:一是白噪聲干擾條件下,二是不同數(shù)據(jù)長度N條件下,這兩項指標分別決定了測量算法的高精度和實時性。假設(shè)兩信號的相位差△φ為30°,被測信號頻率f0為1 MHz,數(shù)字采樣頻率fs為8MHz。
仿真結(jié)果如圖1所示,其中圖1(a)是在不同信噪比白噪聲干擾條件下兩種測量法的仿真結(jié)果比較;圖1(b)是在不同數(shù)據(jù)長度N條件下兩種測量法的仿真結(jié)果比較。
仿真結(jié)果表明,在較低信噪比高斯白噪聲干擾條件下,F(xiàn)FT測量法對白噪聲的抑制能力要強于相關(guān)測量法,在高信噪比時兩種算法均可達到較高測量精度,其性能也趨于一致。在不同信號數(shù)據(jù)長度N條件下,相關(guān)測量法的精度隨著N的增加而提高,F(xiàn)FT測量法在N等于2的整數(shù)次冪的時候,其測量精度要高于相關(guān)測量法,在N不等于2的整數(shù)次冪的時候會發(fā)生由數(shù)據(jù)截斷引起的頻譜泄漏,使其性能變差,這是因為要與硬件實現(xiàn)相統(tǒng)一,對所有數(shù)據(jù)長度均作2的整數(shù)次冪的FFT運算,所以在硬件實現(xiàn)的時候,F(xiàn)FT長度N應該控制在2的整數(shù)次冪。
2 硬件實現(xiàn)
2.1 系統(tǒng)構(gòu)建
如圖2所示,本實驗平臺由信號生成端和信號接收端兩部分組成。信號生成端由一塊FPGA芯片控制兩塊數(shù)模轉(zhuǎn)換(D/A)芯片生成兩路相位不同的中頻信號,其中兩路信號的相位差由相位控制端進行實時控制。信號接收端使用兩塊模數(shù)轉(zhuǎn)換(A/D)芯片分別接收兩路中頻信號后傳至FPGA芯片進行相位差的測量,測量得到的相位差由數(shù)據(jù)輸出端實時輸出。信號生成端與信號接收端之間用導線連接。
本平臺使用的FPGA芯片是Xilinx公司的Virtex-5系列的XC5SX95T芯片;D/A芯片使用AD公司的AD9957芯片,A/D芯片采用AD公司的AD94 61芯片;數(shù)據(jù)輸出端使用ChipScope在線調(diào)試軟件。中頻信號頻率設(shè)定為70 MHz。A/D芯片采樣頻率為32 MHz,則根據(jù)帶通采樣定律,輸入接收端FPGA芯片的數(shù)字信號的頻率分量主要有38 MHz和6 MHz。本實驗就是利用6 MHz的頻率分量進行相位差測量的。
相關(guān)測量法和FFT測量法在FPGA內(nèi)部的硬件實現(xiàn)流程圖如圖3所示,其中圖3(a)是相關(guān)測量法的硬件實現(xiàn)流程圖,圖3(b)是FFT測量法的硬件實現(xiàn)流程圖。
Xilinx公司為硬件工程師提供了大量預先設(shè)計好、經(jīng)過嚴格測試和優(yōu)化過的電路功能模塊(IP Core),這大大降低了硬件設(shè)計的繁瑣程度。本實驗中相位差算法的硬件實現(xiàn)就充分運用了這一優(yōu)勢。圖3硬件實現(xiàn)流程圖中的DDS模塊、低通濾波器模塊和FFT模塊都可以通過調(diào)用IP Core來實現(xiàn),而反正切模塊可以通過調(diào)用坐標旋轉(zhuǎn)數(shù)字計算(CORDIC)模塊來實現(xiàn)。
2.2 測量結(jié)果
在硬件實現(xiàn)過程中,為了防止頻率泄漏,固定數(shù)據(jù)長度和FFT變換長度N為2 048。為了比較硬件測量結(jié)果與軟件計算結(jié)果的性能,將經(jīng)過A/D芯片接收的數(shù)字信號導出至Matlab軟件進行理論相位差值計算,所得到的結(jié)果與ChipSeope顯示的硬件測量相位差值結(jié)果進行比較。圖4顯示了在發(fā)射端相位差一定的條件下,兩種算法各自的硬件測量結(jié)果與理論計算結(jié)果的誤差曲線。
實驗結(jié)果表明,F(xiàn)FT測量法的精度比相關(guān)測量法的精度要稍微高,無論是FFT測量法還是相關(guān)測量法,硬件測試的結(jié)果與理論計算的結(jié)果非常接近,誤差很小。該硬件實驗平臺可實現(xiàn)中頻信號的高精度相位差測量。
3 結(jié)論
首先對比了相關(guān)法和FFT法這兩種相位差測量算法的性能,得出FFT測量法對白噪聲的抑制能力要強于相關(guān)測量法,在高信噪比時兩種算法均可達到較高測量精度。通過對不同數(shù)據(jù)長度的信號進行仿真分析,得出為了防止硬件實現(xiàn)上頻譜泄漏造成的FFT測量法性能的下降,需要在硬件實現(xiàn)的時候控制信號數(shù)據(jù)長度N為2的整數(shù)次冪。然后,在基于高性能的FPGA芯片XC5SX95T的基礎(chǔ)上,搭建了硬件實驗平臺,通過硬件實測,得出對于中頻信號兩種算法硬件實測結(jié)果與理論仿真結(jié)果之間的誤差很小,都具有很高的精度。該實驗平臺可實現(xiàn)高精度的相位差測量,在工程應用中,可以根據(jù)信號的特點以及工程的實際需求選擇運用這兩種方法。