蔡 月,許連閣
(遼寧機電職業(yè)技術(shù)學(xué)院自動控制工程系 遼寧 丹東 118009)
手表在日常生活中非常普及,人們在選購手表的時候,通常以走時是否精準為第一要求,而擺輪運轉(zhuǎn)的平均與否直接影響手表走時的精確度。因此,擺輪是否平衡,是手表是否走時精確地關(guān)鍵。若擺輪出現(xiàn)不平衡情況,則需要對其進行加工,從而消除擺輪的偏重量,實現(xiàn)擺輪靜平衡。在這一過程中,需要將擺輪偏重傳感器輸出的偏重數(shù)據(jù)以及偏重角度采集并進行處理。
目前的擺輪靜平衡系統(tǒng)的數(shù)據(jù)采集與處理,應(yīng)用的是硬件搭建的濾波器,但是表擺輪偏重量數(shù)據(jù)并不是在靜態(tài)環(huán)境下測得的,因此,難免會受到外界環(huán)境以及傳感器噪聲的影響,導(dǎo)致測量數(shù)據(jù)中包含大量不同性質(zhì)的噪聲。由于擺輪靜平衡系統(tǒng)對于信號調(diào)理過程要求極高,包括低濾波器、高Q值帶通濾波器,以及對相位及其敏感的角度檢測等要求非常高,只有這樣,才有可能設(shè)計出精度高的鐘表。因此,僅僅用一般的濾波器進行數(shù)據(jù)的處理,是達不到要求精度的,只有高精度的濾波器才可以達到要求。但是能夠達到相對高精度的硬件濾波器又存在著結(jié)構(gòu)復(fù)雜、成本價格以及維護價格昂貴、且精度隨著零件的磨損而逐漸降低;同時隨著科技的發(fā)展,很多先進的算法被研究出來,但是在硬件濾波器上卻不能實現(xiàn)。為解決上述問題,本文針對手表擺輪靜平衡系統(tǒng)中的偏重傳感器輸出信號處理,設(shè)計了一款在MATLAB軟件上就能實現(xiàn)的零相移帶通濾波器,給出了其設(shè)計方法與仿真模型的參數(shù)設(shè)置,并用仿真結(jié)果證明了它的正確性與有效性。
擺輪靜平衡系統(tǒng)結(jié)構(gòu)主要包括:微振動傳感器、激光發(fā)射反射系統(tǒng)、數(shù)據(jù)采集前端硬件電路、模擬量數(shù)據(jù)采集卡、開關(guān)量輸入輸出卡以及工控機。其中,微振動傳感器與所述激光發(fā)射反射系統(tǒng)均安裝在擺輪支架上,微振動傳感器支架部分結(jié)構(gòu)示意見圖1。
圖1 微振動傳感器支架部分結(jié)構(gòu)示意圖
微振動傳感器,用于采集擺輪偏重量信號;激光發(fā)射反射系統(tǒng),用于采集擺輪的角度基準信號;數(shù)據(jù)采集前端硬件電路將所述擺輪偏重量信號進行兩級放大,得到放大后的擺輪偏重量信號,以及將角度基準信號進行兩級放大,得到放大后的角度基準信號;模擬量數(shù)據(jù)采集卡,用于將放大后的擺輪偏重量信號傳輸至所述工控機;開關(guān)量輸入輸出卡,用于將所述放大后的角度基準信號傳輸至所述工控機;工控機利用零相移帶通濾波算法對放大后的擺輪偏重量信號進行處理得到濾波后的擺輪偏重量信號,并將濾波后的擺輪偏重量信號與放大后的角度基準信號經(jīng)差值比較算法進行比較得到角度差值。在工控機上安裝MATLAB軟件,并在該軟件中實現(xiàn)數(shù)據(jù)的處理[1]。以上工作流程見圖2。
圖2 擺輪靜平衡系統(tǒng)工作流程
零相移濾波器的工作原理為:將需要濾波的信號傳送至零相移濾波器,該信號的相位不發(fā)生變化,因此,零相移濾波器的系統(tǒng)函數(shù),其相位響應(yīng)為零。這一過程的實現(xiàn)方法是:對信號序列進行正向濾波,將濾波后的結(jié)果進行信號序列的翻轉(zhuǎn),再對得到的結(jié)果進行正向濾波,最后再進行信號序列的翻轉(zhuǎn),得到的信號即為相位不發(fā)生變化的輸出信號[2]。零相移濾波結(jié)構(gòu)圖見圖3。
圖3 零相移濾波結(jié)構(gòu)圖
對信號序列進行翻轉(zhuǎn)是指按照時間順序?qū)υ撔盘栠M行翻轉(zhuǎn),得到新的信號序列。具體翻轉(zhuǎn)過程如下。
設(shè)某個信號序列為{x(n)},n=1,2,…,n0,其長度為有限長度,即為n0。設(shè)翻轉(zhuǎn)后的信號序列為{y(n)},n=n0,…,2,1。若將信號{x(n)}進行延拓,即將其定義域擴大至整個x軸,得到其表達式如公式(1)所示。
同理,將翻轉(zhuǎn)后得到的信號序列{y(n)}進行延拓,即信號擴大至整個時間軸,得到y(tǒng)1(n)。由于定義域為整個時間軸,因此,應(yīng)用雙邊Z變換,對x1(n)進行雙邊Z變換,可得到如式(2)所示表達式:
應(yīng)用雙邊Z變換,對y1(n)進行雙邊Z變換,可得到如公式(3)所示表達式:
從式(2)和式(3)可以得到以下結(jié)論:對翻轉(zhuǎn)后的y1(n)的信號序列進行雙邊Z變換后,其變換結(jié)果為X(z-1),即為X(1/z)。
設(shè)濾波器的傳遞函數(shù)為H(z)。從圖3所示的零相移濾波器結(jié)構(gòu)圖可以得到,零相移濾波器的輸出為:當|z|=1,即z=ejθ,代入式(4)中,得到如式(5)所示的表達式:
由于式(4)所示表達式中的H(z)為實系數(shù)等式,設(shè)H(ejθ)的復(fù)共軛為H*(ejθ),由此可得到如式(6)所示表達式:
將式(6)代入式(5),整理后得到如式(7)所示的表達式:
從式(7)中可以看出,輸出信號Y(z)在幅值上是輸入信號X(z)的|H(ejθ)|2倍,但在相位上沒有任何變化,因此,實現(xiàn)了零相移濾波功能。由式(7)可以得到零相移濾波器的傳遞函數(shù),即:
MATLAB軟件是美國MathWorks公司出品的一套功能極其強大的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境。為驗證本文設(shè)計的零相移濾波器的有效性,在該軟件中進行零相移算法的編寫以及仿真,并將數(shù)據(jù)處理前后的波形圖進行對比。
圖4為原始的擺輪偏重量信號,圖5為經(jīng)過基于巴特沃斯的零相移濾波器處理后的擺輪偏重量信號。從這兩張圖片可以看出本文設(shè)計的零相移濾波器基本上消除了擺輪偏重量信號的噪聲[3]。
圖4 原始的擺輪偏重量信號
圖5 基于巴特沃斯的零相移濾波器處理后的擺輪偏重量信號