趙麗潔, 李雯雯, 劉 瑾, 晉東麗
(1. 天津農學院 水利工程學院, 天津 300072; 2. 河北工程大學 土木工程學院, 河北 邯鄲 056038; 3. 天津大學 建筑工程學院, 天津300072)
近年來土木工程領域高速發展,工程結構越來越復雜,為保證結構安全性,進行結構健康監測十分必要.在結構健康領域,結構參數是反應結構性能的重要表述,而模態參數是結構參數中非常重要的參數之一,模態參數識別在土木工程領域一直是眾多學者的研究熱點.基于小波理論的參數識別應用廣泛[1-5],其關鍵在于準確且快速的提取小波脊線.脊線提取方法分為單分量和多分量信號脊線提取兩大類.由于小波脊線上包含相位與模值信息,所以發展出模極大值提取方法、相位法以及將二者結合的方法等.對于多分量信號脊線提取方法,較為簡單的時頻脊提取算法是峰值檢測法[6].劉景良等[7]提出最大坡度法來實現瞬時頻率的跟蹤識別.王建華等[8]提出價值函數與動態規劃思想結合,提取脊線精度優于模極大值法.張杰等[9]等基于加速度響應信號進行數據分解,提出結合自適應濾波提取同步壓縮時頻脊的方法來實現系統參數識別.此外,瘋爬算法(Crazy Climber)也是一種比較廣泛的小波脊線提取方法.Carmona等[10]首次提出Crazy Climber算法并用于多分量信號的脊線提取,較局部模極大值算法提取脊線精度更高.傳統Crazy Climber算法引入模擬退火的思想,系統設定初始溫度參數,隨著溫度逐漸降低,設定的Climber運動趨勢越穩定,最后移動的點逐漸穩定聚集在脊線所在位置.溫度下降越快,系統收斂越快,迭代次數越少,并很快得到廣泛工程應用[11-12].
隨著對Crazy Climber算法的深入研究,Xu等[13]發現采用退火冷卻的溫度函數容易導致算法無限增加迭代次數,溫度下降速度過慢、運算時間過長,且受噪聲影響,提取出來的脊線不平滑,工程應用受限.近幾年,國內學者對Crazy Climber算法進行多方面的改進并實踐應用.孫浩[14]限制提取到的脊線長度來剔除噪聲引起的短小的“假”脊線,通過多方面的改進使識別小波脊結果更加準確.林炎等[15]采用淬火冷卻替代退火冷卻提高運算速度,提出一種新的溫度函數.除此之外,在熱處理工藝中,正火冷卻同樣可以快速降低系統溫度.正火冷卻算法以改變系統溫度降低方式,溫度可較快的降低到設定溫度,從而影響隨機點的迭代次數,促使每一個隨機點高速聚集在脊線上,消減運算時間.正火冷卻算法設定系統溫度函數為T(t)=(T(0))/t,新的溫度函數在迭代的最開始階段保持著很高的復活概率,隨著時間的延長,系統溫度劇烈下降,很快收斂,節約運算時間.
綜上所述,本文從小波脊線相關理論以及連續小波變換定義入手,針對傳統Crazy Climber算法模擬退火算法計算時間過長的缺點,對Crazy Climber算法進行改進,提出采用模擬正火冷卻算法跟蹤提取時頻平面中的小波脊點.通過一個自由衰減信號數值算例和一個二自由度粘性結構系統模擬對本文中改進Crazy Climber算法進行驗證.通過框架模型試驗,驗證改進算法的正確性.

(1)
時,稱ψ(t)為母小波.將ψ(t)進行頻率范圍的變換得到一個小波序列:
(2)
式中:a、b分別為尺度、平移參數.
基于母小波ψ(t)的連續小波變換信號x(t)可定義為[16]
(3)

本文采用復Morlet小波作為母小波進行分析,其定義為
(4)
式中:fc為小波中心頻率.
通過理論分析可知,針對每一時刻b,都有使小波變換WTx(a,b)的模取得最大值的對應尺度ar(b),即ar(b)是平移尺度b的函數,(ar(b),b)即為小波脊點,這些尺度的曲線擬合{ar(b),b}即稱為小波脊線.而信號x(b)的瞬時頻率φ′x(b)可由下式得到:
(5)
式中:ω0為小波基的中心頻率.因此,瞬時頻率能否識別準確與小波脊線的提取精度有著密切的關系,對模態參數識別小波脊線的提取至關重要.
Crazy Climber算法的基本思想類似于模擬退火算法,對振動信號作連續小波變換后得到時頻矩陣,在時頻平面上隨機地分布一些點(climber),令其在一定的規則下,以搜索極大值點為目標進行攀爬.設定一個初始溫度,溫度按規律逐漸降低,使各個脊點逐漸匯聚到一起,形成脊線.具體步驟如下:
將振動響應信號經過連續小波變換后的信號時頻矩陣作為提取脊線的原始矩陣C,其大小為A×B,將A設為水平方向,B設為垂直方向,記在(i,j)(i∈[1,2,…,A],j∈[1,2,…,B])位置處的值為C(i,j).其中,C(i,j)為小波變換系數,i為表示時間離散點,j為小波頻率離散點.
初始化一個度量矩陣D,并將其設為零矩陣;設置系統初始溫度T(0),T(0)設為原始矩陣中最大值與最小值的差值.
在矩陣C={1,2,…,A}×{1,2,…,B}上存在N個爬升起始點,即為climber,climber的數量為N個,均勻分布在平面C上.
Climber在初始時刻時(t=0)的初始位置Xn(0)=(i,j),n∈[1,2,…,N].使climber按照以下規則進行爬升移動,從第t時刻的Xn(t)=(i,j)位置移動到第t+1時刻的Xn(t+1)=(i′,j′)位置.
1) 水平方向上.分為兩種情況,當climber不在邊界上時,即0
2) 垂直方向上.在時間軸移動完成之后再在頻率軸移動,該軸的移動規則分為是否移動兩種情況.第一種情況,climber移動,與水平方向相同,climber按1/2的概率向上或者向下移動一格,即P{j′=j+1}=P{j′=j-1}=0.5.第二種情況,climber可以按一定規律選擇移動或者不移動,其移動能力隨時間的推移逐漸減弱,溫度的降低使climber逐漸失去移動的活力.比較C(i′,j′)和C(i′,j)大小,決定是否移動.若C(i′,j′)>C(i′,j),climber垂直移動,即Xn(t+1)=(i′,j′);若C(i′,j′)≤C(i′,j),climber以概率Pt按照原計劃移動,以(1-Pt)的概率不進行垂直方向上的移動,同時對系統當前溫度T(t)進行更新.其中規定:
Pt=exp[C(i′,j′)-C(i′,j)]/[T(t)]
(6)
3) 重復1)、2)爬升過程,直到溫度達到預期完成系統迭代,所有點都聚集在脊線上.圖1為本文算法流程圖.

圖1 流程圖

模擬退火冷卻思想的溫度變化設定為:T(t)=T(0)/log2t.在冷卻方法中,包括正火、退火以及淬火冷卻等,因冷卻規則不同以至于冷卻速率不同,退火冷卻為T(t)=T(0)/log2t,淬火冷卻為T(t)=T(0)/(1+σ)t,正火冷卻為T(t)=T(0)/t.式中:T(t)為當前系統溫度;T(0)為初始溫度.
圖2為三種冷卻方式溫度降低速率曲線,假定初始溫度T(0)設置為1 400,時間間隔為10 s.

圖2 三種冷卻方法速率比較Fig.2 Comparison of three cooling method rates
由圖2可知,使用正火冷卻方法的溫度降低速率明顯快于另外兩種冷卻方法,可以快速達到預想溫度減少系統迭代次數以完成脊線提取.雖然退火算法在前10 s溫度降低極快,但是到達一定溫度后,溫度變化十分緩慢,達到理想溫度耗時時間較長,不利于實際工程應用.因此本文采用正火冷卻的思想代替退火冷卻思想對系統溫度進行降溫,基于正火冷卻思想的改進Crazy Climber算法來控制迭代次數.
為驗證改進 Crazy Climber 算法對小波連續變換脊線提取的優越性,構造幅值為5,頻率為50 Hz,衰減系數為10的指數衰減正弦仿真信號:
s=e-10t·5sin(100πt)
(7)
采樣時間0≤t≤1 s,采樣頻率為1 024 Hz.選擇cmor4-4為母小波進行連續小波變換.圖3為指數衰減信號s(t)的時域波形與小波變換時頻圖,其中時頻圖反應了小波變換系數能量的分布情況,亮度較高區域表示能量較高.圖4a為采用復Morlet小波與Crazy Climber算法所得脊點的連線,由圖4a、b可知,信號s(t)的頻率在50 Hz附近,與式(7)仿真信號中頻率分量50相對應,驗證了Crazy Climber算法的正確性.圖4b為淬火冷卻規則下所得脊點的連線,圖4c為采用改進Crazy Climber算法提取到的脊線,可以看出三種冷卻方法下的小波脊提取精度結果基本相同;再通過比較三者的迭代次數及運算時間來驗證改進Crazy Climber算法的有效性,表1為三種不同算法提取脊線運算次數及所需時間.

表1 各冷卻方法提取脊線運算次數及時間

圖3 衰減信號時域圖和時頻圖Fig.3 Attenuated signal time domain and frequency diagram

圖4 冷卻算法提取的脊線Fig.4 Ridge line extracted by annealing cooling algorithm
由圖4c和表1可知,通過模擬正火冷卻方式減少迭代次數、減少脊線提取所需時間,且沒有降低脊線提取的精度,說明本文方法運算速度明顯優于基于退火冷卻思想的傳統Crazy Climber算法.
大多數振動信號受噪聲影響,為驗證改進算法在噪聲干擾情況下依然可以準確、快速地提取小波脊,本文在衰減信號s=e-10t·5sin(100πt)中加入SNR=6 dB的高斯白噪聲進行數值模擬,限于文章篇幅只討論該信噪比水平的影響.以復Morlet小波為母小波作連續小波變換所得的時頻矩陣,存在噪聲的時頻曲線的分布.圖5為傳統Crazy Climber算法、改進Crazy Climber算法、淬火冷卻下提取得到脊線結果,表2為三種算法運算次數和時間的比較.

表2 加噪后各冷卻方法提取脊線運算次數及時間

圖5 加噪后冷卻算法提取的脊線Fig.5 Ridge line extracted by cooling algorithm after add noise
基于正火冷卻的改進Crazy Climber算法提取的脊線結果以及系統運算次數、運算時間比較,可以看出與基于退火冷卻的傳統Crazy Climber算法相差不大的情況下,正火冷卻的改進Crazy Climber算法所消耗時間相比于傳統算法明顯的縮減了上千倍甚至上萬倍,驗證了改進算法在加噪聲后在提取脊線效率仍然存在很大優勢.
為驗證本文采用的脊線提取算法運算速度,將兩自由度粘性系統進行仿真驗證.圖6為兩自由度系統,m1=1 kg,m2=2 kg,k1=k3=2 256 N/m,k2=2 000 N/m,c1=c3=1 N·s/m,c2=0.11 N·s/m,施加一脈沖激勵作為輸入,fs=100 Hz,采樣時間t=20 s,系統前兩階頻率分別為3.5、11.3 Hz.

圖6 二自由度振動系統
以質量塊m1為研究對象,圖7為復Morlet小波變換時間頻率圖,圖8為該結構系統的加速度振動響應信號,圖9分別為傳統Crazy Climber算法、淬火冷卻及改進Crazy Climber算法提取的小波脊線,比較本文算法與原始算法運算所需時間,驗證改進算法的有效性.表3為在三種不同冷卻規則下提取脊線所需迭代次數.

表3 兩自由度系統各冷卻方法提取脊線運算次數及時間

圖7 含噪聲時頻圖

圖8 系統加速度振動響應

圖9 退火冷卻算法提取的脊線Fig.9 Ridge line extracted by annealing cooling algorithm
由表3可知,對于多自由度體系振動響應的脊線識別,在含有噪聲時,基本不改變脊線精度的前提下,正火冷卻算法效率所需時間明顯優于淬火冷卻和退火冷卻,驗證了本文算法較傳統CrazyClimber算法效率提高.運用在實際工程中會需要更長時間,改進算法與原始算法精度上相差細微,效率卻提高很大一步,更具實用價值.
為驗證改進CrazyClimber算法的有效性和準確性,設計3層剪切框架模型振動臺驗證性試驗.在模型框架每層布置加速度傳感器,通過振動臺施加白噪聲激勵,采樣頻率設為512Hz,完整的試驗裝置圖如圖10所示.在振動過程中,通過在某一時刻割斷框架附加柱來模擬框架模型的損傷破壞.

圖10 框架模型試驗裝置
試驗考慮振動過程中割斷第二層附加鋼柱的工況進行驗證.圖11為采集的頂層原始加速度數據以及頻譜圖.以復Morlet小波變換為母函數,對采集頂層的加速度數據進行連續小波變換,圖12為未去噪的小波時頻圖.由頻譜圖和小波時頻圖可知,在附加柱割斷前的前兩階頻率分別為2.03、4.98Hz,在100s左右突然割斷二層附加鋼柱,頻率變化為1.98、4.7Hz,并且框架模型剛度變小之后的第三階頻率6.98Hz也被激出.根據改進CrazyClimber算法提取小波瞬時頻率脊線,如圖13所示.表明改進CrazyClimber算法提取瞬時頻率的準確性相對較高,驗證了該方法的準確性.

圖11 原始加速度數據及其頻譜圖

圖12 時頻圖Fig.12 Time-frequency diagram

圖13 改進Crazy Climber算法提取脊線Fig.13 Improved ridge line extracted by Crazy Climber algorithm
1) 傳統Crazy Climber算法可以較準確提取多分量信號的小波脊線,但較費時,不利于實際應用.本文在Crazy Climber算法基礎上,改變溫度冷卻方式使脊點更快聚集在脊線上,提出基于正火冷卻的改進CrazyClimber算法.通過單自由度及多自由度的數值模擬驗證本文所提算法,仿真結果表明本文算法比原始算法運算次數大大減少,在不用影響頻率脊線提取精度的前提下,大大節約提取過程所需時間,更有利于復雜數據的脊線提取應用.
2) 采用小波系數幅值最大值與最小值的差值作為系統初始化溫度,溫度T的初始值設置仍然是影響模擬正火冷卻全局搜索性能的重要因素之一,目前還沒有找到一個最優溫度初值的選擇原則,后續將繼續深入探討.