一類智能脈絡逆體系儀器儀表數字勘驗整治辦法
應用背景本文針對利君集團鎮江制藥有限責任公司的紅霉素發酵過程控制系統的神經網絡逆系統軟儀表的輸入數據進行數據預處理研究。神經網絡逆系統軟儀表的輸入變量有很多,現以pH為例說明數據預處理的方法,其它輸入變量的數據預處理方法可以以此類推。
一般情況下,紅霉素的發酵周期約為8天,在紅霉素發酵現場定時采樣發酵數據,采樣周期為5min,一個發酵周期的采樣數據記錄為一批數據。
由于各種原因,現場測量到的pH值數據受到噪聲污染或外界干擾,嚴重影響了測量數據的精度(如2所示) ,故必須減小或消除這些影響,使能復現原始信號。
第33批發酵pH值現場測量數據曲線為便于描述,以下稱被噪聲嚴重污染的數據為病態數據5,并且本文將要用到的一些符號的含義說明如下:
x n- 1(k) % %%第n- 1批發酵數據在第k采樣時刻的pH值(k= 1, 2, 3, );x n(k) %% %第n批發酵數據在第k采樣時刻的pH值(k= 1, 2, 3, );x^ n( k) %%%第n批發酵數據在第k采樣時刻的pH值修正后的值(k= 1, 2, 3, );x n- 1(k) %%% n- 1批發酵數據在第k采樣時刻的pH值均值(k= 1, 2, 3, );s n- 1(k) %% % n- 1批發酵數據在第k采樣時刻的pH值標準差(k= 1, 2, 3, );x n(k) %%% n批發酵數據在第k采樣時刻的pH值均值(k= 1, 2, 3, );s n(k) %%% n批發酵數據在第k采樣時刻的pH值標準差(k= 1, 2, 3, ) ;n %%%記錄的pH值數據的批數。
在神經網絡逆系統軟測量程序中,兩步判斷法作為子程序供主程序調用。兩步判斷法所要用到的一些初始信息(如:發酵批數n、由n- 1批發酵數據已經計算得到的各個采樣時刻pH值的歷史均值x n- 1( k) (k = 1, 2, 3, )與歷史標準差s n- 1(k)( k= 1, 2, 3, )、已經計算得到的其它輸入變量各個采樣時刻的歷史均值與標準差以及當前發酵時刻k)均通過主程序的初始化模塊讀取;所要用到的第k- 1采樣時刻各個輸入變量的修正值(x^ n(k- 1)等)用第k- 1采樣時刻的歷史均值(x n- 1( k- 1)等)代替,這個工作也在初始化模塊中完成(若k= 1則這一步工作不進行) ;所要用到的閾值數據通過主程序的閾值計算模塊獲得(該模塊所做的具體工作將在下一節中介紹)。整個程序流程如3所示。
兩步判斷法
在軟測量程序中,兩步判斷法子程序實現對數據的一次處理,使噪聲得到初步抑制,濾除掉一部分強噪聲。該方法基于如下思想(以pH值為例說明) :如果測量到的pH值數據是可靠的,則pH值的變化是平穩的,相鄰采樣時刻的測量值的變化幅度應該在一定的范圍內,并且某時刻的p H值測量值和該時刻的均值之差也是在一定范圍內的(這里取單倍標準差),否則就認為該測量數據為病態數據,應該修正使之成為可靠的數據。
為便于描述,定義閾值(pH MAX)作為相鄰采樣時刻的pH值變化的范圍界限。只有當相鄰采樣時刻的pH值的變化幅度超過此閾值時,測量的數據才被懷疑為病態數據。在閾值計算模塊中,首先計算pH值相鄰時刻歷史均值之差的絕對值| x n- 1( k)- x n- 1(k- 1)| ,
神經網絡逆系統軟測量程序流程圖(k= 2, 3, ?),并求其中的最大值pH xM ax;再計算pH值相鄰時刻歷史標準差之差的絕對值| s n- 1( k) - s n- 1(k- 1)| , ( k= 2, 3 ),并求最大值p H sM ax;然后把這兩個最大值之和pH xM ax + pH sMax作為測量的相鄰時刻pH值變化的閾值pH MA X.其它變量的閾值也以類似方法計算。
兩步判斷法子程序的具體算法為:(1)判斷第k采樣時刻的測量值x n( k)是否可能為病態數據。判斷方法為:若k為1(即發酵剛開始)則不進行此步運算直接轉入第(2)步;否則計算| x n(k)- x^ n( k- 1)| ,當絕對值大于閾值pH MA X時,則該測量值可能為病態數據,進入下一步,否則測量值是可靠的,令修正值x^ n(k)= x n(k),并轉入第(3)步。
(2)確認第k采樣時刻的測量值x n( k)是否為病態數據并修正。確認方法為:計算x n( k)與已知的x n- 1(k)之差;如果差值小于- s n- 1(k),則測量值x n(k)為病態數據,修正為x^ n(k) = x n- 1( k)- s n- 1(k) ;如果差值大于s n- 1(k),則x n( k)也是病態數據,修正為x^ n(k) = x n- 1( k)+ s n- 1(k);否則x n( k)是可靠的,令x^ n(k)= x n(k)。
(3)更新第k采樣時刻的均值和標準差。更新公式如下:x n(k) =( n- 1)x n- 1( k)+ x^ n(k)n(1)s n(k)= n- 1 n s n- 1 2( k)+ 1 n- 1(x n(k)- x^ n(k))2(2)與直接計算的均值和標準差公式相比,以上公式的優點是:不必再對所有的歷史數據進行累加、平方等計算,大大減少了變量個數和累加、乘積等計算次數,避免了許多舍入誤差,減少了算法的執行時間,并能節省內存。
兩步判斷法子程序的算法流程圖如中子程序部分所示。
需要說明的是,在算法中,第( 2)步確認測量值是否為病態數據時是以單倍標準差為限的,并且把病態數據修正為x n- 1( k) ( s n- 1( k) ,這樣就可以避免虛警數據(即被誤判是病態的可靠數據)被進行較大的改動,同時保證被修正的數據的合理性。
滑動平均濾波3處理對測量的pH值數據兩步判斷法一次處理后,再用滑動平均濾波對處理過的數據進行二次處理,可進一步消除隨機噪聲的影響。
滑動平均濾波是一種傳統的數據預處理方法,在工程實踐中有廣泛的應用。根據文獻3 ,對于經一次處理過的連續的pH值,通過選取不同的權值和平滑跨距進行計算和比較研究,結果顯示采用:x n(k) = 1 15 x^ n(k- 4)+ 2 15 x^ n(K - 3)+ 1 5 x^ n(k- 2) + 4 15 x^ n(k- 1)+ 1 3 x^ n(k)( k= 5, 6, 7, )(3)計算第k采樣時刻的滑動平均濾波結果!x n( k)是比較合適的。當k為1、2、3、4時,則可通過預置的數據按此公式分別計算其濾波結果。其它變量的滑動平均濾波結果也以類似方法計算。
實驗結果分析采用兩步判斷法對測量數據進行一次處理過程中所修正的數據見。其中,第33批pH值在78h、99 5h、125 25h、154h、160h附近的一些數據((a) )、第34批p H值在130h、138 7h、140 7h、164 8h附近的一些數據((b))、第35批pH值在50h附近的一些數據(( c) )被噪聲污染較為嚴重。
通過兩步判斷法對這些時刻的測量數據進行了修正,大大降低了噪聲的污染影響,為對數據進行滑動平均濾波二次處理提供了很好的準備。
對本文提供的數據預處理方法和常見的只進行滑動平均濾波方法的處理結果進行了比較。由可知,采用兩步判斷法先對病態數據進行一次處理,使這些數據中的噪聲盡量減小,再通過滑動平均濾波方法對數據進行二次處理,可使隨機噪聲得到有效控制。可見,本文采取的數據預處理方法比僅用滑動平均處理方法能更好的消除干擾噪聲,較高精度地復現了原始信號,為軟測量提供了更可靠的數據。
兩步判斷法消噪處理數據表發酵批次測量時間( b)第34批pH值數據預處理效果比較圖 ( c)第35批pH值數據預處理效果比較圖3結論正確地消除噪聲,對紅霉素發酵過程的軟測量具有重要的意義。本文提出的數據預處理方法,先通過兩步判斷法對數據進行一次處理,再用滑動平均濾波對數據進行二次處理以有效地濾除噪聲、復現原始測量信號。算法具有消噪效果好、實時性強、更新速度快、易于實現的特點。處理后的過程數據具有較高的準確性和可靠性,以此作為軟儀表的輸入數據,可保證軟測量結果具有較高的精度。中國糧油儀器網 http://www.pc256.com/