唐麗嬋,陸 宇,湯雪華
(上海電氣集團股份有限公司中央研究院,上海 200070)
?
基于DSP的高動態(tài)鎖相環(huán)的實現(xiàn)
唐麗嬋,陸宇,湯雪華
(上海電氣集團股份有限公司中央研究院,上海 200070)
摘要:文中介紹了常見鎖相環(huán)的基本結構,分析了相位檢測器、環(huán)路濾波器和壓控振蕩器的執(zhí)行情況。PLL環(huán)路濾波器的系統(tǒng)函數(shù)表明,環(huán)路濾波器的性能基本上決定了鎖相環(huán)的質量。側重于環(huán)路濾波器的設計,結合鎖相在高動態(tài)GPS接收機環(huán)路中的應用,提出了在高動態(tài)環(huán)境中,一種兩相鎖頻環(huán)輔助三相鎖相環(huán)數(shù)字濾波器的細節(jié)。模擬結果表明,該鎖相環(huán)的性能比普通PLL已大大改善,并完全符合高動態(tài)信號跟蹤的要求。
關鍵詞:鎖相環(huán);濾波器;DSP;高動態(tài)
隨著載波跟蹤特性逐漸優(yōu)良,鎖相環(huán)已被廣泛應用在無線電技術的各個領域。特別是20世紀50年代末空間技術的發(fā)展,鎖相環(huán)被廣泛應用于太空飛行目標跟蹤,遙感勘測和遙控。
由于GPS接收機的廣泛應用,高動態(tài)GPS接收機要求更高的跟蹤精度和環(huán)路動態(tài)特性。對鎖相環(huán)和鎖頻環(huán)仔細分析顯示:一個窄帶寬的鎖相環(huán)可以更緊密地跟蹤信號,但其動態(tài)抗逆性較差;具有寬噪聲帶的鎖頻環(huán)可以達到良好的動態(tài)性能,但其信號跟蹤性能較差。因此,在用戶的動態(tài)特性高時,當鎖相環(huán)牢牢鎖定信號或再捕捉或跟隨信號時,載波環(huán)能夠跟蹤和測量準確鎖相環(huán)。因此,為了解決高動態(tài)跟蹤能力和高跟蹤精度的沖突,希望能結合鎖相環(huán)和鎖頻環(huán)來跟蹤載波信號,本文旨在設計一個新的載波跟蹤環(huán),該環(huán)使用第二FLL協(xié)助的三階鎖相環(huán)。
PLL(鎖相環(huán))是一種反饋控制電路,它使用外部輸入?yún)⒖夹盘柨刂骗h(huán)內(nèi)的振蕩器信號的頻率和相位。為了使輸出信號的頻率可以自動跟蹤輸入信號的頻率,PLL通常被應用在閉環(huán)跟蹤鎖相回路。在這個過程中,當輸入和輸出信號相位保持不變,鎖相環(huán)進入鎖定狀態(tài)和穩(wěn)定狀態(tài);當輸入和輸出信號相位接近一致時,鎖相環(huán)工作在跟蹤狀態(tài)并顯示其瞬態(tài)特性。一個典型的PLL通常由相位檢測器(PD),環(huán)路濾波器(LF)和壓控振蕩器(VCO)組成,如圖1所示。
圖1 PLL的基本框圖
由于鎖相環(huán)和鎖頻環(huán)的主要區(qū)別在于相位檢測器,所以本文只給出了鎖相環(huán)的原理。
數(shù)字相位檢測器中有幾種電路,如線性乘法、或門、JK觸發(fā)器,以及鑒頻/相電路,通常使用倍頻檢測器。倍頻檢測器的原理是:相位檢測器比較輸出信號uo(t)和輸入?yún)⒖夹盘杣r(t) 的相位,產(chǎn)生一個誤差電壓信號ud(t)來反映兩個信號的偏差ek(t)。環(huán)路濾波器可以過濾誤差電壓信號的高頻部分。
環(huán)路濾波器通常是一個低通濾波器,其目的是篩選出高頻成分和誤差電壓ud(t)的噪聲。因此,過濾結果不僅反映了濾波器輸入信號的相位變化,而且也避免了振蕩器由于噪聲產(chǎn)生的十分規(guī)范的電壓。PLL系統(tǒng)的功能表明了環(huán)路濾波器基本上決定了鎖相環(huán)的性能。
在高動態(tài)環(huán)境下,GPS接收機的載波跟蹤需要同時考慮跟蹤精度和環(huán)路動態(tài)特性。鎖相環(huán)具有高跟蹤精度,但其動態(tài)性能較差;鎖頻環(huán)(FLL)具有良好的動態(tài)特性,但跟蹤精度低。因此,為了彌補鎖相環(huán)的缺陷,提高其適應能力,提出了一個高性能的載波跟蹤環(huán),它為兩相鎖頻環(huán)輔助三相鎖相環(huán)。改進的數(shù)字鎖相環(huán)濾波器的結構示意圖如圖2。
圖2 兩相鎖頻環(huán)輔助三相鎖相環(huán)的濾波器結構示意圖
如果噪聲帶寬BfL、BpL以及FLL和PLL的采樣間隔T是確定的,就能夠確定FLL中的其他參數(shù):阻尼ξ=0.707,自然循環(huán)頻率wf=8ξBfL/(1+4ξ2),a1=wf2,a2=αwf2= 2ξwf2,F(xiàn)LL的參數(shù):自然循環(huán)頻率wp=BpL/0.78 445,c0=wp3,c1=βwp2,c2=δwp=2.4wp。
當所有的環(huán)路濾波器參數(shù)確定,使用浮點運算來實現(xiàn)數(shù)字化集成累加器,以確保數(shù)據(jù)不會溢出。這個功能可以由內(nèi)置浮點硬件的現(xiàn)代微處理器來完成。為了確??焖贉蚀_跟蹤質量,選擇了TI公司的TMS320C6713 DSP微處理器。
TMS320C6713的是一款高精度浮點數(shù)字信號處理器(DSP),它擁有可以處理非常長的指令的TMS320C67xTM內(nèi)核,理論上,該內(nèi)核在每時鐘周期可進行8項32字節(jié)的指令,實際上,每時鐘周期可執(zhí)行6項32字節(jié)的指令。其最大時鐘頻率高達300 MHz,最小指令周期為3.3 ns,最高的運行速度達到2 400/1 800 MIPs/MFLOPs。為了提高處理速度,DSP內(nèi)核采用兩級緩存,其中L1高速緩存包含4 KB的直接過程緩存和4 KB數(shù)據(jù)緩存;L2緩存被分為64 KB統(tǒng)一內(nèi)存和附加內(nèi)存192 KB。16通道的EDMA控制器幾乎可以處理所有的高速輸入輸出和存儲器之間的接口問題,大大提高了芯片的吞吐速度。因此,在高動態(tài)信號環(huán)境中,該芯片完全可以快速準確地處理信息,以確保PLL的跟蹤精度和動態(tài)性能??焖贍恳铜h(huán)路頻率跟蹤的算法代碼如下:
#include"include.h"
void GPS_track(char ch)
{
double cross , dot , phaseDiff , absSE , absSL;
//===================//
chan_gps[ch].ch_time++;
if(chan_gps[ch].ch_time==1&&chan_gps[ch].pull_in_ok_flag==0)
{
return;
}
//===================//
if (chan_gps[ch].ch_time<22 &&chan_gps[ch].pull_in_ok_flag==0)
{
cross = ca_Ips0_tmp*sPI - ca_Qps0_tmp*sPR;
dot =ca_Ips0_tmp*sPR + ca_Qps0_tmp*sPI;
phaseDiff = atan2(cross,dot);
if(phaseDiff>maxFreqErr[ch])
maxFreqErr[ch] = phaseDiff;
if(phaseDiff minFreqErr[ch] = phaseDiff; chan_gps[ch].freqErr += phaseDiff; } else if(chan_gps[ch].ch_time==22 &&chan_gps[ch].pull_in_ok_flag==0) { //update Frequence freqErr =(chan_gps[ch].freqErr-maxFreqErr[ch]-minFreqErr[ch])/17.0; freqErr = freqErr/(2*pi*T); chan_gps[ch].fc += freqErr; chan_gps[ch].cLoopS1 = chan_gps[ch].fc; chan_gps[ch].carrier_freqword = (int)((GPS_CARRIER_REF+chan_gps[ch].fc)*DeltaPhaseConst + 0.5); } //===================// else if(chan_gps[ch].pull_in_ok_flag &&chan_gps[ch].dsp_bit_syn==0) { // update FLL cross = ca_Ips0_tmp*sPI - ca_Qps0_tmp*sPR; dot = ca_Ips0_tmp*sPR + ca_Qps0_tmp*sPI; phaseDiff = dot>=0.0 ? cross/sqrt(dot*dot+cross*cross):-cross/sqrt(dot*dot+cross*cross); //phaseDiff = atan(cross/dot); chan_gps[ch].freqErr = phaseDiff/(2*PI*T); // PLL discriminator if (fabs(sPR)<0.001) { chan_gps[ch].phaseErr = 0.0; } else { chan_gps[ch].phaseErr = atan(sPI/sPR); } //===================// chan_gps[ch].cLoopS0 = chan_gps[ch].cLoopS0 + (chan_gps[ch].phaseErr*PLLc0 +chan_gps[ch].freqErr*FLLa1)*T; chan_gps[ch].cLoopS1 = chan_gps[ch].cLoopS1 + (PLLc1*chan_gps[ch].phaseErr + chan_gps[ch].cLoopS0 + FLLa2*chan_gps[ch].freqErr)*T; chan_gps[ch].fc = chan_gps[ch].cLoopS1 +PLLc2*chan_gps[ch].phaseErr; chan_gps[ch].carrier_freqword = (unsigned int)((GPS_CARRIER_REF+chan_gps[ch].fc)*DeltaPhaseConst+ 0.5); //===================// else if(chan_gps[ch].pull_in_ok_flag==1 && chan_gps[ch].dsp_bit_syn==1) { chan_gps[ch].trackTime++; if (fabs(sPR)<1e-3) chan_gps[ch].phaseErr = 0.0; else chan_gps[ch].phaseErr = atan(sPI/sPR); chan_gps[ch].cLoopS0 = chan_gps[ch].cLoopS0 +chan_gps[ch].phaseErr*PLLc0*T; chan_gps[ch].cLoopS1 = chan_gps[ch].cLoopS1 + (PLLc1*chan_gps[ch].phaseErr + chan_gps[ch].cLoopS0)*T; chan_gps[ch].fc = chan_gps[ch].cLoopS1 + PLLc2*chan_gps[ch].phaseErr; chan_gps[ch].carrier_freqword = (unsigned int)((GPS_CARRIER_REF+chan_gps[ch].fc)*DeltaPhaseConst+ 0.5); } end } 通過高動態(tài)GPS接收機和計算機模擬,改進后的鎖相環(huán)可以充分滿足高動態(tài)信號跟蹤的要求。它通過DSP算法來實現(xiàn),有利于未來系統(tǒng)的提升。在本節(jié)中描述的是環(huán)路濾波器,只有當BLT=1時,能達到噪聲帶寬BL。當器件增加,環(huán)路會變得不穩(wěn)定,然而,在BLT大的產(chǎn)品中,任何環(huán)路的不穩(wěn)定都是不可避免的,所以環(huán)路設計有待進一步提高。 參考文獻: [1]徐德鴻. 電力電子系統(tǒng)建模及控制[M]. 北京:機械工業(yè)出版社,2006. [2]Abraham I Pressman. 王志強等,譯.開關電源設計[M]. 北京:電子工業(yè)出版社,2005. [3]張興柱.開關電源功率變換器拓撲與設計[M].北京:中國電力出版社,2010. [4]Three Star Technology. Principle and application examples of TMS320C6713DSP[M].Beijing: Electronics Industry Press, 2009. [5]Roland.Best, interpreted by Li Yongming.PLL design, simulation and application[M].Beijing: Tsinghua Press, 2007. 設計應用 Implementation of High-Dynamic Phase Locked Loop (PLL) Based on DSP TANG Li-chan, LU Yu, TANG Xue-hua (Shanghai Electric Central Research Institute, Shanghai 200070, China) Abstract:This paper introduces the basic structure of common phase-locked loop, and analyzes implementation of phase detector, loop filter and VCO. System function of PLL loop filter shows that the performance of loop filter basically determines the quality of phase-locked loop. Focusing on the loop filter design, combined with application of PLL in loop of high-dynamic GPS receiver, details of a digital filter in highly dynamic environment with two-phase frequency locked loop aiding a three-phase phase-locked loop are presented. The simulation results show that the proposed PLL has much better performance than common PLL, and is in full compliance with the requirements of high dynamic signal tracking. Key words:phase locked loop (PLL); filter; DSP; high-dynamic 中圖分類號:TM461 文獻標識碼:A 文章編號:1009-3664(2015)02-0060-03 作者簡介:唐麗嬋(1983-),女,上海人,研究方向為電力電子技術。 收稿日期:2014-11-103 結 論