一種基於脈衝中心的同步鎖相方法與流程
2023-06-20 00:44:11

本發明涉及通信和工控信號處理技術,尤其是一種基於脈衝中心的同步鎖相方法,可以對輸入的數字脈衝信號鎖相跟蹤並產生同步倍頻信號。
背景技術:
在通信、儀器儀表、自動控制等領域中,各種信號處理、控制需要同步於某一輸入信號來進行,在當前電力線通信過程中,尤其是同一電力線介質的多節點通信,時鐘信號的同步及通信窗口的精確開啟對多通信終端節點的通信質量至關重要,行業內一般以電力線過零點作為同步信號。過零檢測電路廣泛應用於電力線載波通信,此類電路絕大部分是基於光耦設計的,由於光耦中發光二極體的導通電壓隨不同器件型號、工作環境變化而變化,使得脈衝變化沿與實際對應的正弦電壓信號相位也是變化的。
公開號為cn1337802a的中國專利文件公開了一種數字鎖相方法,該方法對輸入的被鎖信號進行數字鑑相,得到相位誤差信號,對其進行處理,得到比例控制參數和積分控制參數,將兩者相加得到控制參數,在控制參數的控制下,對時鐘信號進行數字控制頻率合成,得到同步倍頻信號。該方法介紹了數字鎖相系統的設計方法,在鎖相範圍、跟蹤速度和穩定性上具有良好的性能,但是仍然不能消除因光耦中發光二極體的導通電壓隨不同器件型號、隨工作環境變化而變化的問題,仍存在脈衝變化沿與實際對應的正弦電壓信號相位不確定的問題。
技術實現要素:
本發明提供了一種基於脈衝中心的同步鎖相方法,克服現有數字鎖相方法的不足,利用光耦等低成本的整形電路輸出的脈衝信號中心相對原正弦信號的相位是穩定的特性,以脈衝中心為跟蹤目標,解決脈衝變化沿對應信號相位的不確定問題,實現信號相位的準確跟蹤和同步。
為了解決上述問題,本發明提供一種基於脈衝中心的同步鎖相方法,包括以下步驟:
s100、對輸入的被鎖信號sig1進行濾毛刺處理,得到平滑的整形信號sig2;
s200、對整形信號sig2和經延時程序控制得到的鎖相延時信號spll2進行數字鑑相處理,得到輸入信號和輸出信號的相位誤差信號cpd;所述數字鑑相處理包括:基於鑑相時鐘信號clk1對整形信號sig2上升沿到鎖相延時信號spll2上升沿進行計數,獲得計數值為c1(n);基於鑑相時鐘信號clk1對鎖相延時信號spll2上升沿到整形信號sig2下降沿進行計數,獲得計數值為c2(n);以(c1(n)-c2(n))作為整形信號sig2的正脈衝中心鑑相輸出;基於鑑相時鐘clk1對整形信號sig2下降沿到鎖相延時信號spll2下降沿進行計數,獲得計數值為c3(n),基於鑑相時鐘信號clk1對鎖相延時信號spll2下降沿到整形信號sig2上升沿進行計數,獲得計數值為c4(n);以(c3(n)-c4(n))作為整形信號sig2的負脈衝中心鑑相輸出,(c1(n)-c2(n))和(c3(n)-c4(n))作為鑑相誤差輸出相位誤差信號cpd;
s300、相位誤差信號cpd經過鎖相控制得到控制信號nc;控制信號nc在可控振蕩器的控制下得到同步倍頻信號sdco,同步倍頻信號sdco的一部分作為輸出信號,另一部分反饋到m倍分頻器;
s400、同步倍頻信號sdco經過m倍分頻器得到鎖相信號spll1;鎖相信號spll1經過延時處理得到所述鎖相延時信號spll2;整形信號sig2的頻率和鎖相延時信號spll2的頻率相等時,環路被鎖定。
本發明提供的基於脈衝中心的同步鎖相方法還具有以下技術特徵:
進一步地,步驟s100中的所述濾毛刺處理採用延時比較法或積分法。
進一步地,步驟s300中的所述鎖相控制採用比例積分控制,在整形信號sig2下降沿和整形信號sig2上升沿,依據相位誤差信號cpd採用比例積分控制算法獲得控制信號nc。
進一步的,步驟s300中的所述可控振蕩器為具有小數控制位的數控振蕩器。
進一步的,步驟s400中的所述延時處理為:通過計數器法和存儲器法來實現脈衝延時調控。
本發明具有如下有益效果:利用光耦等低成本的整形電路輸出的脈衝信號中心相對原正弦信號的相位是穩定的特性,以脈衝中心為跟蹤目標,解決了脈衝變化沿對應信號相位的不確定問題,實現了信號相位的準確跟蹤和同步;在工頻過零點同步過程中,通過對延時處理中的延時進行設置,將可得到實際過零點信號,鎖相準確可靠。
附圖說明
圖1為現有技術中基於光耦的工頻電壓同步信號電路圖;
圖2為本發明實施例的基於脈衝中心的同步鎖相方法的原理框圖;
圖3為本發明實施例中具有小數控制位的數控振蕩器的原理圖;
圖4為本發明實施例中的脈衝延時流程圖;
圖5為本發明實施例中的存儲器法的電路組成框圖;
圖6為本發明實施例中的同步鎖相方法的系統局部動態數學模型;
圖7為本發明實施例中kp=21、20.5,ki=2-1時的鎖相跟蹤相位誤差曲線圖;
圖8為本發明實施例中kp=21,ki=2-2、2-3時的鎖相跟蹤相位誤差曲線圖;
圖9為本發明實施例中kp=1、20.5,ki=2-2時的信號波形圖及鎖相跟蹤相位誤差曲線圖;
圖10為本發明實施例中kp=1,ki=2-3、2-4時的信號波形圖及鎖相跟蹤相位誤差曲線圖。
具體實施方式
下文中將參考附圖並結合實施例來詳細說明本發明。需要說明的是,在不衝突的情況下,本發明中的實施例及實施例中的特徵可以相互組合。
如圖1所示的現有技術中基於光耦的工頻電壓同步信號電路圖,當輸入電平0-1.5v時,可視為低電平「0」,光敏三極體截止,輸出為高電平「1」;當輸入電平3.5v-24v,可視為高電平「1」,光敏三極體飽和導通,輸出為低電平「0」,由於光耦中發光二極體的導通電壓是不能消除的,所以整形後同步信號正脈衝寬帶和負脈衝寬帶的比值不固定,同時,因為光耦中發光二極體的導通電壓隨不同器件型號、工作環境變化而變化,使得脈衝變化沿與實際對應的正弦電壓信號相位也是變化的。
如圖2至圖10所示的本發明的基於脈衝中心的同步鎖相方法的實施例中,該基於脈衝中心的同步鎖相方法包括以下步驟:
s100、對輸入的被鎖信號sig1進行濾毛刺處理,得到平滑的整形信號sig2;
s200、對整形信號sig2和經延時程序控制得到的鎖相延時信號spll2進行數字鑑相處理,得到輸入信號和輸出信號的相位誤差信號cpd;所述數字鑑相處理包括:基於鑑相時鐘信號clk1對整形信號sig2上升沿到鎖相延時信號spll2上升沿進行計數,獲得計數值為c1(n);基於鑑相時鐘信號clk1對鎖相延時信號spll2上升沿到整形信號sig2下降沿進行計數,獲得計數值為c2(n);以(c1(n)-c2(n))作為整形信號sig2的正脈衝中心鑑相輸出;基於鑑相時鐘clk1對整形信號sig2下降沿到鎖相延時信號spll2下降沿進行計數,獲得計數值為c3(n),基於鑑相時鐘信號clk1對鎖相延時信號spll2下降沿到整形信號sig2上升沿進行計數,獲得計數值為c4(n);以(c3(n)-c4(n))作為整形信號sig2的負脈衝中心鑑相輸出,(c1(n)-c2(n))和(c3(n)-c4(n))作為鑑相誤差輸出相位誤差信號cpd;
s300、相位誤差信號cpd經過鎖相控制得到控制信號nc;控制信號nc在可控振蕩器的控制下得到同步倍頻信號sdco,同步倍頻信號sdco的一部分作為輸出信號,另一部分反饋到m倍分頻器;
s400、同步倍頻信號sdco經過m倍分頻器得到鎖相信號spll1;鎖相信號spll1經過延時處理得到所述鎖相延時信號spll2;整形信號sig2的頻率和鎖相延時信號spll2的頻率相等時,環路被鎖定。
上述實施例中的基於脈衝中心的同步鎖相方法,利用光耦等低成本的整形電路輸出的脈衝信號中心相對原正弦信號的相位是穩定的特性,以脈衝中心為跟蹤目標,解決了脈衝變化沿對應信號相位的不確定問題,實現了信號相位的準確跟蹤和同步;在工頻過零點同步過程中,通過對延時處理中的延時進行設置,將可得到實際過零點信號,鎖相準確可靠。
在上述實施例中,基於脈衝中心的同步鎖相方法還具有以下技術特徵:其中的所述濾毛刺處理採用延時比較法或積分法;所述鎖相控制採用比例積分控制,在整形信號sig2下降沿和整形信號sig2上升沿,依據相位誤差信號cpd採用比例積分控制算法獲得控制信號nc;所述可控振蕩器為具有小數控制位的數控振蕩器;所述延時處理為:通過計數器法和存儲器法來實現脈衝延時調控。
在上述實施例中,濾毛刺處理採用延時比較法或積分法,或者二者並用。比較法就是若干個時鐘周期讀取的數據相同則認為收到了一個穩定的數據,否則認為是過渡態;採用若干位的移位寄存器,當寄存器是全「1」或全「0」時才開始讀數。積分法就是用一個增減計數器,當輸入信號為「1」時計數器遞增計數直到計數器全「1」停止計數、否則計數器遞減計數直到全「0」停止計數,計數器的msb即為輸入信號的去抖信號。如果採用二者結合,前端用幾個比特的移位寄存器實現比較,比較結果作為計數使能來控制接下來的增減計數器的計數。
在上述實施例中,鑑相的鑑相時鐘信號clk1從整形信號sig2上升沿到鎖相延時信號spll2上升沿的計數值為c1(n),鎖相延時信號spll2上升沿到整形信號sig2下降沿的計數值為c2(n)。(c1(n)-c2(n))作為整形信號sig2正脈衝中心鑑相輸出。如果c1(n)>c2(n),鎖相環輸出頻率增加,周期時間縮短。如果c1(n)c4(n),鎖相環輸出頻率增加,周期時間縮短。如果c3(n)<c4(n),鎖相環輸出頻率降低,周期時間增長。被鎖信號和鎖相信號的相位誤差為δθ,則(c1(n)-c2(n))或(c3(n)-c4(n))作為鑑相誤差輸出cpd,等於(δθπ)·(fclk1/fsig1)。據此,如果進行線性化近似,在每個被鎖信號變化沿單位相位誤差與鑑相誤差輸出cpd的傳遞函數關係為:
其中,fsig1是被鎖輸入信號sig1的頻率,fclk1是鑑相時鐘信號clk1的頻率。
在上述實施例中,鎖相控制採用比例積分控制方式。在整形信號sig2下降沿,或整形信號sig2上升沿,依據鑑相誤差cpd調整。採用比例積分調節,比例係數為kp,積分係數為ki。
比例輸出為:
其中,npmax是比例輸出上限閾值,npmin是比例輸出下限閾值。
積分輸出為:
其中,ni(m-1)和ni(m)分別是上一次和當前計算的積分輸出值,nimax是比例輸出上限閾值,nimin是比例輸出下限閾值。
鎖相控制輸出nc為:
其中,nc(m)分別是上一次和當前計算的積分輸出值,nimax是比例輸出上限閾值,nimin是比例輸出下限閾值。
鎖相控制的總傳遞函數為:
在上述實施例中,可控振蕩器採用具有小數控制位的數控振蕩器,對固定頻率的時鐘信號進行分頻,其原理結構如圖3所示。首先將輸入的控制信號nc分解為二進位長度為k的低位部分nl和其餘的高位部分nh。nl輸入到一個k位加法器中,同步倍頻信號即輸出信號sdco反饋回來作為這個加法器的時鐘控制信號。在信號sdco的控制下,數據nl與加法器當前輸出的求和數據進行累加,並再次更新加法器的求和輸出。同時加法器依據求和計算中的數據溢出狀態產生一個進位信號。這個進位信號將進一步控制一個可控的計數分頻器的工作,使計數分頻器依據進位信號選擇對固定頻率的時鐘信號clk2進行nh倍或者nh+1倍的分頻。
輸出的同步倍頻信號sdco的頻率fsdco與固定時鐘信號clk2的頻率fclk2的關係是:
由於相位是頻率的積分,所以信號sdco的相位θsdco(s)可以表達為:
m倍分頻器的傳遞函數為:
延時處理是可控的,通過計數器法和存儲器法來實現脈衝延時調控。計數器法通過設定計數器的預置數,調節計數時間,使計數時間等於延時時間,從而達到脈衝延時。預置數設置,根據需要延時的時間和系統時鐘頻率計算出計數器預置數並加載到計數器中,預置數的計算公式為:
d=t×f;
式中,d—預置數;
t—需要延時的時間;
f—系統時鐘頻率。
脈衝延時流程圖如圖4所示,首先把預置數加載到計數器內,將需要延時的鎖相信號spll1作為觸發脈衝,當觸發脈衝上升沿到達時,計數器清零,開始計數。時鐘頻率為計數器提供計數脈衝,根據程序可以選擇加法或減法計數器,若為加法計數器,當到達預置數值,輸出與原始信號對應的一個時鐘周期寬度的正脈衝後,停止計數,而後計數器復位,直到被下一個觸發脈衝上升沿清零,進入下一輪計數,如此循環計數,輸出脈衝。
存儲器法通過高速時鐘對鎖相信號spll1進行採樣,並把採樣結果存入fifo中,同時通過延時控制模塊對fifo的輸出進行控制,生成鎖相延時信號spll2,存儲器法的電路組成框圖如圖5所示。延時控制模塊,當寫入fifo的數據時間長度等於延時值時,開始使fifo讀信號,直到fifo中的數據被讀空,fifo的輸出即為鎖相延時信號spll2。若要實現延時值連續可變的脈衝延時控制,應採用兩路fifo輪流對鎖相信號spll1進行延時,當延時值更新時,切換fifo,且兩路fifo的輸出相或後作為最終輸出脈衝即鎖相延時信號spll2。
忽略濾毛刺處理,對鎖相輸出信號spll1的延時設置為0,θsig1(s)是輸入被鎖脈衝信號sig1的相位,θsdco(s)是鎖相環輸出的同步倍頻信號sdco的相位,θspll(s)是信號sdco經m倍分頻後得到的鎖相輸出信號spll1的相位,δθsig1(s)、δθsdco(s)和δθspll1(s)為相應的局部擾動量,kpd、kc、kdco和km分別是鑑相部分、鎖相控制部分、可控振蕩部分和分頻部分的傳遞函數。該系統的局部動態數學模型如圖6所示。數控振蕩部分的傳遞函數等於相位θsdco(s)關於nc的變化率,
即:
該系統的局部動態數學模型的傳遞函數hdpll(s),鎖相輸出信號對應被鎖信號的正峰和負峰,所以系統在鎖相穩定時鎖相輸出信號頻率fspll1是被鎖信號頻率fsig1的一倍,即:即fclk2=m·nc·fsig1/2k-1,化簡傳遞函數hdpll(s),最終可以得到:
其中,
hdpll(s)是一個二階系統的傳遞函數形式,而且具有兩個負實極點,所以該系統是穩定的。hdpll(s)的分母部分決定了該系統的局部性能,將其分母表示為:
其中,二階系統的自然頻率ωn為:
二階系統的阻尼係數ξ為:
振蕩頻率ωd為:
根據自然頻率ωn和阻尼係數ξ的形式,若設計參數k12、m、k、kp和ki都確定後,則自然頻率ωn將與被鎖信號頻率fsig1成正比,而阻尼係數ξ具有確定的數值,即ξ與被鎖信號狀態無關。另一方面,依據自動控制理論,二階系統的阻尼係數ξ決定了系統達到穩定的響應形式;而當阻尼係數ξ固定後,二階系統的自然頻率ωn決定了系統達到穩定的速度。據此,由於本鎖相系統在不同的被鎖頻點具有相同的阻尼係數,所以在被鎖頻點的局部範圍內鎖相跟蹤過程將以相同的形式達到穩定。另一方面,由於自然頻率ωn與被鎖信號頻率fsig1成正比,這說明本鎖相環從被鎖信號頻率附近出發鎖定被鎖信號時,鎖相趨於穩定所需的時間與被鎖信號的周期成正比。所以可以得出結論,當被鎖信號的頻率範圍較寬時,該系統在不同的被鎖頻點的局部範圍內都具有一致的鎖相速度和穩定特性。
本發明鎖相控制部分採用具有快速變化能力的積分環節,即使當鎖相信號和被鎖信號之間的頻率差別比較大時,積分環節的作用將提高控制信號nc的調整速度,使系統能夠快速鎖相跟蹤上輸入的被鎖信號,所以本發明在寬的頻率範圍內鎖定輸入信號時,也具有快速的響應速度。
此外,如果鎖相啟動剛開始,則處於鎖相失鎖;未等到本地鎖相輸出脈衝,出現新的輸入信號變化沿;或者本地鎖相輸出脈衝產生後未出現新的輸入信號變化沿;如果|c1(n)-c2(n)|或|c3(n)-c4(n)|大於失鎖閾值cth_unlocked,則判斷失鎖。如果判斷失鎖,則鎖相環重新啟動同步跟蹤。鑑相時鐘信號clk1記錄整形信號sig2的第一個變化沿(上升沿/下降沿)到第二個變化沿(下降沿/上升沿)的時間cab,整形信號sig2的第二個變化沿(上升沿/下降沿)到第三個變化沿(下降沿/上升沿)的時間cbc,由此設置鎖相控制參數:
此時,對應第三個變化沿,可控振蕩器輸出脈衝倒計數預設為:floor((cab/(2k12·m)-1)*2k)。
m倍分頻器倒計數預設為:(m-1)。
等運行到可控振蕩器輸出脈衝倒計數為0,m倍分頻器倒計數為0時,可控振蕩器發出第一個脈衝,失鎖標誌取消。並且如果則繼續;否則仍判斷失鎖。
繼續運行初始設置:
np=0
可控振蕩器依據nc,開始正常運行。
本發明的實施例1基於以下參數設置:
1)被鎖信號的輸入頻率範圍是從40hz到70hz;
2)鎖相環中的分頻倍數m=2;
3)鑑相器的固定時鐘信號clk1的頻率fclk1為1000khz;
4)數字控制振蕩部分的二進位小數分頻控制位數k等於4;
5)數控振蕩部分的工作時鐘clk2的頻率fclk2也選擇1000khz,k12等於1;
6)比例增減計數的最大閾值取npmax=8000,最小閾值取npmin=-8000;
7)積分增減計數的最大閾值取nimax=102400,最小閾值取nimin=56000。
8)失鎖判斷nc向右移位值ksht_lck=3,相位差閾值δθpll=11.25°。
9)延時處理中的延時設置為0。
圖7給出了kp分別為21和20.5,ki為2-1時的鎖相跟蹤相位誤差曲線。自然頻率ωn、阻尼係數ξ與參數kp、ki對應的關係為:
kp=21,ki=2-1,自然頻率ωn=1fsig1,阻尼係數ξ=0.5,振蕩頻率ωd=0.866fsig1;
kp=20.5,ki=2-1,自然頻率ωn=1fsig1,阻尼係數ξ=0.354,振蕩頻率ωd=0.935fsig1。
圖8給出了kp為21,ki分別為2-2和2-3時的鎖相跟蹤相位誤差曲線。自然頻率ωn、阻尼係數ξ與參數kp、ki對應的關係為:
kp=21,ki=2-2,自然頻率ωn=0.707fsig1,阻尼係數ξ=0.707,振蕩頻率ωd=0.5fsig1;
kp=21,ki=2-3,自然頻率ωn=0.5fsig1,阻尼係數ξ=1。
本發明的實施例2基於實施例1所設參數,鎖相環中的分頻倍數m改為4,延遲處理中的延時設置為(c1(n)+c2(n)+c3(n)+c4(n))/4。
圖9給出了kp分別為1和2-0.5,ki為2-2時的鎖相跟蹤相位誤差曲線。自然頻率ωn、阻尼係數ξ與參數kp、ki對應的關係為:
kp=1,ki=2-2,自然頻率ωn=1fsig1,阻尼係數ξ=0.5,振蕩頻率ωd=0.866fsig1;
kp=2-0.5,ki=2-2,自然頻率ωn=1fsig1,阻尼係數ξ=0.354,振蕩頻率ωd=0.935fsig1。
圖10給出了kp為1,ki分別為2-3和2-4時的鎖相跟蹤相位誤差曲線。自然頻率ωn、阻尼係數ξ與參數kp、ki對應的關係為:
kp=1,ki=2-3,自然頻率ωn=0.707fsig1,阻尼係數ξ=0.707,振蕩頻率ωd=0.5fsig1;
kp=1,ki=2-4,自然頻率ωn=0.5fsig1,阻尼係數ξ=1。
由波形可見,鎖相信號spll1與原始信號過零點同步。
最後應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精神和範圍。