崔未東,潘 雄,宋凝芳
(北京航空航天大學 儀器科學與光電工程學院,北京 100191)
數字閉環光纖陀螺閉環數據輸出與系統數據輸出相比速率較高,因此在輸出前需要對數據進行降采樣處理。由于降采樣過程會產生頻率混疊[1-2],因此,光纖陀螺在閉環數據輸出與系統數據輸出之間加入了低通濾波器。濾波器的作用不僅可以防止頻率混疊,還可以降低系統噪聲。在設計濾波器過程中,即使濾波器的性能滿足了系統要求,但如果濾波器輸入/輸出數據處理不當,也會增大系統誤差,有可能出現實際閉環系統雖然顯示正常工作,但輸出卻出現“死區”的情況。
FIR濾波器相對于IIR濾波器設計成熟,有許多獨特的優越性,如線性相位、穩定性等。線性相位使得所有頻率成分的延遲量是一樣的,即濾波后的輸出只是輸入信號的一個簡單的延遲信號。而如果濾波器不具有線性相位,那么輸入信號的不同頻率成分延遲量是不同的,這將會導致輸出信號的失真。因此,在實際設計中通常要回避這種情況。通過光纖陀螺系統中使用FIR濾波器,對FIR濾波器中的量化誤差進行了分析與討論,提出了減小濾波器截尾量化誤差的積分補償算法。
在數字系統中由于字長有限,使得實際濾波器特性與設計的濾波器特性存在差異,主要表現為系數量化及濾波器中的運算量化。FIR濾波器乘法的運算量化噪聲計算比較簡單。圖1為濾波器階數N為奇數時的線性相位直接形式結構流圖[3],如系統采用定點運算、舍入處理,而且每次乘法運算后就進行尾數舍入處理,則輸入端的量化噪聲是其各乘法支路產生的量化噪聲的疊加,其方差即為:

圖1 線性相位直接形式結構流圖

式中,b為計算字長。
由于各噪聲不經過系統,所以與系統參數無關,而與字長及濾波器的階數有關,階數越高,則輸出量化噪聲越大。實際應用中可以使用多級濾波器來實現系統的要求。多級實現可以大量減小計算量、減小系統內的存儲量、簡化濾波器的設計、降低實現濾波器時的有限字長的影響,即降低舍入噪聲和系數靈敏度。
由于輸出數據字長限制,需要對濾波器的輸出數據進行截斷處理,但數據截斷會影響整個系統的精度。光纖陀螺系統中采用定點補碼運算,下面就定點制補碼表數量化誤差進行分析。
設有B0位二進制表數的x,要量化為B位表數,若用截尾處理,截尾量化誤差用 eT表示,對于正數,截尾量化誤差為[3]:

當被截去的各位都是1時,誤差最大,即有:

當被截去各位為0時,誤差為0,因此對于正數截尾誤差范圍是:


對比發現,正數與負數補碼截尾量化誤差的表達式相同。
通常B0>B,有2-B-2-B0≈2-B=q,q為最小量化間隔,所以補碼表數的尾數截尾量化誤差為:

為了研究量化誤差對數字系統精度的影響,必須對截尾誤差的特性有所了解。對于截尾處理,誤差均值為方差均為
從量化誤差的數字特征值可以看出,若希望量化噪聲越小,則要求字長B越長。同時從定點制截尾處理的誤差平均值可以看出,經量化后量化噪聲產生直流分量,這將影響信號的頻譜結構。并且數字閉環檢測的工作原理使系統工作在動態調節過程時,系統輸出數據的均值跟蹤系統輸入量。當進入濾波器的數據與閉環反饋數據包含信息量不一致時,會使系統測量準確度降低,導致一定的測量誤差。因此,在設計系統時應該避免此情況的發生。
由以上分析可以看出,截尾量化與計算過程中產生的量化誤差相比是濾波器的主要誤差源。
采用積分原理對截尾數據進行積分處理,使截尾數據通過積分過程反應至輸出中,以此提高輸出數據精度。補償算法流程如圖2所示。

圖2 截尾量化誤差補償算法流程圖
圖2中d表示濾波器數據的低36位數據,即濾波器截尾部分的數值,D為積分寄存器數值,P_c為正數進位標志,N_c為負數進位標志。
由于截尾量化將正負數據均作了向下取整處理,使得正負數據失去了對稱性,因此負數在進行高位截取時應該將其補碼加1,使其與正數截尾對應。當數據為負數時,采用out_data=shift_data+1+P_c-N_c處理算法;當數據為正數時,則采用out_data=shift_data+P_c-N_c處理算法,以此來減小數據截斷對系統精度的影響。其中shift_data為濾波器輸出的高32位數據,out_data為陀螺輸出的32位數據。
更改算法前實驗數據如表1所示。

表1 更改算法前實驗數據
由于輸出數據截斷,濾波器輸入值的低5 bit對輸出沒有任何貢獻。正數輸入時,無論低5 bit的數據為何值,對輸出的貢獻均為0;而負數輸入時,對輸出的貢獻均為-1。
濾波器輸入值不同時,濾波器的輸出放大倍數不一致,導致不同轉速下光纖陀螺標度因數的不一致。引起的相對誤差約為:(0.031 302-0.031 25)/0.031 25=0.001 664。由于存在截尾處理,使得進入濾波器的數據位權不等,最終的效果是高轉速時,光纖陀螺的標度因數變大。標度因數測試時,1°/s以下的轉速測量值不多,最終導致低轉速時,標度因數誤差較大。將濾波器的數據全部輸出,測得濾波器放大倍數為0.031 302 202 8。因此,濾波器的輸入數值越大,截尾量化對濾波器的輸出影響越小。
加入補償算法后放大倍數測試結果如表2所示。

表2 加入補償算法后實驗數據
由于加入補償算法后輸出數據一直處于波動狀態,因此表2只給出了計算后的放大倍數,而沒有原始輸出數據值。放大倍數的計算結果與計算過程中所取數據區間有很大關系,因此實驗測得各輸入數值對應的放大倍數有一定差異。由于光纖陀螺測量量為角速度,其積分為角度值,雖然實驗數據測量過程中的均值與取值區間有關,但實際應用中系統的積分過程不會丟失信息。從實驗測得的數據可以看出,補償算法明顯改善了濾波器放大倍數的相對誤差。
當輸入為正負對稱數據時,輸出數據均值為零,表明加入補償算法的程序對正負數據具有嚴格對稱性,并保證了對所有數據放大倍數一致性。
濾波器的截尾量化誤差與計算過程中產生的量化誤差相比是濾波器的主要誤差源。截尾效應對光纖陀螺低轉速時的精度影響明顯,采用積分補償算法對數據截尾部分進行處理,保證了濾波器的有效精度在系統輸出數據時無損失,該補償算法有效地減小了數據截斷對光纖陀螺輸出數據精度的影響。
[1]楊小牛,樓才義,徐建良.軟件無線電原理與應用[M].北京:電子工業出版社,2001.
[2]劉益成,羅維炳.信號處理與過抽樣轉換器[M].北京:電子工業出版社,1997.
[3]應啟珩,馮一云,竇維蓓.離散時間信號分析和處理[M].北京:清華大學出版社,2001.