基于FPGA的自適應鎖相環(huán)設計
式中,ωn、T分別對應鎖相環(huán)的自然角頻率和環(huán)路調整時間間隔,可根據系統(tǒng)要求進行取值,設計中取T為采樣時間間隔,即每個點調整一次,ζ取常用值 0.707,ko、kd分別對應鑒相增益和相位控制靈敏度,BL表示環(huán)路噪聲等效帶寬。由式(3)~式(5)可知,噪聲等效噪聲帶寬BL和環(huán)路濾波器系數 C1、C2一一對應,因此改變噪聲帶寬即可通過調整系數C1、C2實現。傳統(tǒng)鎖相環(huán)中,取固定值,一般選取滿足條件BL≤ O.1Rb的值,其中Rb為信息數據速率。
4.2 系數調整
相干解調系統(tǒng)中,同步系統(tǒng)的相位誤差直接影響著系統(tǒng)的誤碼性能,其對應關系為:,其中ψ為相位誤差。因此噪聲水平較高時,應該盡可能減小噪聲帶寬,近而減小ψ值,噪聲水平較低時,適當增加噪聲帶寬,加快跟蹤速度。
利用仿真軟件MATLAB對3種噪聲水平下的輸入信號進行相位跟蹤仿真,3種情況下,鎖相環(huán)參數相同,輸入的調制信號相同,不同的是對信號疊加3種功率不同的噪聲。結果顯示,鎖相環(huán)中引入的噪聲越大,則鑒相器模塊輸出信號的抖動越大。輸入信號的信噪比為5、10和20 dB時,鑒相器模塊的輸出信號如圖4所示。
由圖4可以看出,噪聲水平越高,則鑒相器的輸出信號抖動越厲害,于是設計中利用鑒相器輸出信號的抖動狀況來判斷鎖相環(huán)中的噪聲水平,并根據噪聲水平來調整 C1、C2值。MATLAB仿真結果顯示,鑒相器的輸出值是在0值上下浮動,因此利用FPGA實現此功能時,可利用鑒相器輸出值的絕對值或平方值判斷噪聲大小,浮動越大則噪聲水平越高。利用單個點的抖動來判斷時,具有一定的偶然性,結果不準確,容易產生誤判,因此,在FPGA硬件板上利用VHDL編程實現時,對鑒相器的輸出數據取絕對值或進行平方處理,并對連續(xù)15個點的絕對值或平方值進行累加運算,利用累加的結果來判斷相位抖動的大小。對15個點取和時,利用樹形加法結構,引入流水線設計方法,使各個加法器并行工作,確保輸出結果的速率和輸入數據的速率相等。計算過程中使用絕對值代替平方值,能獲取與平方值相似的結果,有效降低運算量。進行帶寬調整時,可以利用當前應該設置的BL值計算出與之對應的環(huán)路濾波器系數C1、C2由式(3)~式(5)可以看出,通過BL計算C1、C2時比較復雜,涉及多次除法運算、乘法運算以及加法運算,在FPGA中,實現除法器、乘法器都是比較占用邏輯資源的,因此設計中不采用直接計算的方法,而是利用查找表法來實現,首先訂制2個容量為256的ROM,將可取的帶寬值平均劃分為256等分,對每個帶寬值對應的C1、C2 值預先進行計算,計算結果經量化處理后,以MIF文件的形式分別加載到ROM1、ROM2。ROM1、ROM2的地址線均為8位設計中連接到同一信號,對應地址范圍為0x00到OxFF,由圖2中的噪聲評估模塊產生。噪聲評估模塊輸出的初始值設置為0x7F,即初始帶寬值設置為可取范圍段的中間值,之后根據噪聲評估模塊的結果,與提前設定的上限值、下限值進行比較,并根據比較結果調整帶寬值,其中上限值、下限值通過仿真得出,這兩個域值與FPGA實現時采用的位寬、位截短處理、濾波處理等有關。為防止過于頻繁地進行調整,程序中設定,如果連續(xù)3次的抖動高于上限值且當前地址值大于Ox00,則減小帶寬值 (即地址減1),相反,若連續(xù)3次的抖動低于下限值且當前地址值小于0xFF,則增加帶寬值(即地址加1)。
評論