華苗苗,董利達(dá),傅健豐,徐姍姍
(浙江大學(xué)信息與電子工程學(xué)系,杭州 310027)
無(wú)線HART是第一個(gè)正式發(fā)布的應(yīng)用于工業(yè)過(guò)程自動(dòng)化和控制系統(tǒng)的無(wú)線網(wǎng)絡(luò)通信協(xié)議[1],為無(wú)線傳感器網(wǎng)絡(luò)(WSN,Wireless Sensor Networks)在工業(yè)領(lǐng)域的應(yīng)用提供了保障。時(shí)間同步對(duì)節(jié)點(diǎn)的周期睡眠與喚醒、同步測(cè)量、數(shù)據(jù)融合、節(jié)點(diǎn)定位等有很重要的作用[2]。WSN的自組織性、多跳性、動(dòng)態(tài)拓?fù)湫院唾Y源受限性,使時(shí)間同步方案有其特殊的需求[3],而工業(yè)無(wú)線網(wǎng)絡(luò)復(fù)雜多變的環(huán)境,對(duì)已有時(shí)間同步機(jī)制更提出了嚴(yán)峻的考驗(yàn)。根據(jù)可查閱的資料,無(wú)線HART時(shí)間同步方面的研究成果較少且描述相對(duì)簡(jiǎn)單[4-5]。目前常用的 WSN 時(shí)間同步方法共三類:基于receiver-receiver的同步算法中最典型的是RBS[6]機(jī)制,該機(jī)制的實(shí)現(xiàn)與無(wú)線HART提出的基本機(jī)制不符,在此不再作描述;基于pair-wise的同步算法中最典型的是TPSN[7]協(xié)議;基于sender-receiver的同步算法中最典型的是 DMTS[8]和 FTSP[9]機(jī)制。當(dāng)同步精度要求較高時(shí),TPSN與DMTS都具有通信量大的缺點(diǎn)?;赥PSN進(jìn)行時(shí)鐘斜率的估計(jì)[10]雖可估計(jì)時(shí)鐘偏差,但是計(jì)算較復(fù)雜且存儲(chǔ)量大,而FTSP機(jī)制實(shí)現(xiàn)前提是時(shí)鐘漂移率在短時(shí)間內(nèi)不發(fā)生較大變化,因此當(dāng)它應(yīng)用于復(fù)雜的無(wú)線工業(yè)環(huán)境時(shí),具有一定的局限性。另有研究[11]結(jié)合前兩種同步算法,以減少同步分組數(shù)量,該方法在無(wú)線HART的適用性和環(huán)境適應(yīng)性方面還有待改進(jìn)。
基于無(wú)線HART的應(yīng)用特點(diǎn),本文提出了基于閉環(huán)調(diào)整策略的無(wú)線 HART時(shí)間同步方法——CATS(Closed-loop Adjusting Strategy for Time Synchronization)。該方法通過(guò)測(cè)量同步節(jié)點(diǎn)之間的時(shí)間偏差,獲得節(jié)點(diǎn)之間同步周期時(shí)間偏差對(duì)象模型參數(shù),建立內(nèi)部受控對(duì)象模型,從而實(shí)現(xiàn)節(jié)點(diǎn)之間時(shí)間偏差的短周期閉環(huán)調(diào)整,使節(jié)點(diǎn)之間的同步精度始終保持在較高的水平。
無(wú)線HART將時(shí)間分成周期性的超幀(Superframe),將超幀分成若干個(gè)時(shí)隙(Slot),每個(gè)時(shí)隙僅用于一次通信(接收或發(fā)送數(shù)據(jù))。無(wú)線HART基本通信機(jī)理[12]如圖 1。
圖1 時(shí)隙通信時(shí)序
在無(wú)線HART中,節(jié)點(diǎn)與時(shí)鐘源發(fā)生的任一通信都可實(shí)現(xiàn)時(shí)間同步。如節(jié)點(diǎn)A要與節(jié)點(diǎn)B同步,有兩種方法:主動(dòng)同步和被動(dòng)同步,如圖2所示。一旦節(jié)點(diǎn)A發(fā)送了需回復(fù)ACK的數(shù)據(jù)給節(jié)點(diǎn)B,或接收了來(lái)自節(jié)點(diǎn)B的數(shù)據(jù),都可實(shí)現(xiàn)兩者的時(shí)間同步。主動(dòng)同步通過(guò)ACK中的內(nèi)容進(jìn)行同步,被動(dòng)同步通過(guò)DATA到達(dá)時(shí)間進(jìn)行同步。
圖2 無(wú)線HART網(wǎng)絡(luò)點(diǎn)對(duì)點(diǎn)同步方法
參照文獻(xiàn)[13]測(cè)試無(wú)線HART點(diǎn)對(duì)點(diǎn)同步精度,使用數(shù)字示波器觀察同步結(jié)果。點(diǎn)對(duì)點(diǎn)同步誤差均值為 1.26 μs,最大值為 6.6 μs,方差為 0.91,同步誤差分布如圖3所示,可見(jiàn)同步誤差符合正態(tài)分布。
圖3 點(diǎn)對(duì)點(diǎn)同步誤差分布圖
文獻(xiàn)[13]的平均同步誤差1.10 μs略高于本實(shí)驗(yàn)結(jié)果,但是其平均同步誤差排除了實(shí)驗(yàn)過(guò)程中少量的非正常同步誤差,故本實(shí)驗(yàn)得到的同步誤差基本達(dá)到文獻(xiàn)[13]的同步水平,且同步誤差分布更集中。
時(shí)鐘漂移率(drift rate)描述了時(shí)鐘每秒偏移標(biāo)準(zhǔn)時(shí)間的微秒數(shù)[14]。時(shí)鐘漂移率不僅因晶振工藝而異,而且還受晶振老化、環(huán)境變化以及電源波動(dòng)的影響。圖4為EPSON公司的Tuning Fork晶振單元的頻率-溫度特性典型圖,可見(jiàn),不同節(jié)點(diǎn)的頻率在相同溫度下會(huì)有不同,相同節(jié)點(diǎn)的頻率隨溫度變化而變化。
為驗(yàn)證以上結(jié)論,從兩方面對(duì)不同節(jié)點(diǎn)的時(shí)鐘漂移率進(jìn)行測(cè)試。
圖4 晶振頻率-溫度特性圖[15]
1.3.1 25℃恒溫條件下的時(shí)鐘漂移率
圖5為25℃條件下各節(jié)點(diǎn)相對(duì)于節(jié)點(diǎn)E的時(shí)鐘漂移率的測(cè)試結(jié)果??梢?jiàn),各節(jié)點(diǎn)的相對(duì)時(shí)鐘漂移率各不相同。因此,節(jié)點(diǎn)間即使在某一瞬間完全達(dá)到同步,隨后也會(huì)馬上出現(xiàn)偏差,且不同節(jié)點(diǎn)在相同時(shí)間內(nèi)出現(xiàn)的偏差不同。無(wú)線HART的最大同步周期為30 s,最大時(shí)間偏差為 1 000 μs~1 200 μs[12],故節(jié)點(diǎn)間會(huì)因超過(guò)最大時(shí)間偏差而無(wú)法通信。
圖5 相對(duì)某一節(jié)點(diǎn)的時(shí)鐘漂移圖
1.3.2 不同溫度條件下的時(shí)鐘漂移率
測(cè)試25℃~50℃的范圍內(nèi),各節(jié)點(diǎn)相對(duì)于節(jié)點(diǎn)E的時(shí)鐘漂移率如圖6所示??梢?jiàn),時(shí)鐘漂移率隨溫度的升高而減小,且減小幅度不同。因此,不同環(huán)境下相同節(jié)點(diǎn)間的相對(duì)時(shí)鐘漂移率也各不相同。
圖6 不同溫度下的時(shí)鐘漂移率曲線
綜上所述,不同節(jié)點(diǎn)的時(shí)鐘漂移率各不相同,相同節(jié)點(diǎn)在不同環(huán)境下的時(shí)鐘漂移率也各不相同。為了讓節(jié)點(diǎn)間的時(shí)間偏差始終保持較高的精度,使之適用于復(fù)雜的無(wú)線環(huán)境,可以利用同步周期的同步數(shù)據(jù),在時(shí)間同步期間對(duì)時(shí)間偏差進(jìn)行短周期調(diào)整。
如節(jié)點(diǎn)B為節(jié)點(diǎn)A的時(shí)鐘源,因節(jié)點(diǎn)時(shí)間由硬件晶振驅(qū)動(dòng),則時(shí)間分別為[16-17]:
其中kA、kB為節(jié)點(diǎn) A、B的晶振的比例系數(shù)(Proportional Coefficient),ωA(t),ωB(t)為晶振的頻率(Frequency),cA(t0),cB(t0)為初始時(shí)鐘偏置,t0為初始時(shí)刻,節(jié)點(diǎn)A、B在t時(shí)刻的時(shí)間偏差Δ(t)為:
式中,Δ(t0)=cA(t0)-cB(t0)表示節(jié)點(diǎn)A、B間的初始時(shí)鐘偏差。
由測(cè)試結(jié)果可知,節(jié)點(diǎn)之間的時(shí)間偏差會(huì)隨時(shí)間的變化而變化,故通過(guò)程序?qū)?jié)點(diǎn)A時(shí)間加以調(diào)整,設(shè)調(diào)整值為u(t),則調(diào)整后節(jié)點(diǎn)A、B間的時(shí)間偏差為
CATS方法是一種基于閉環(huán)調(diào)整策略的點(diǎn)對(duì)點(diǎn)時(shí)間同步方法,通過(guò)在同步期間進(jìn)行時(shí)間偏差調(diào)整來(lái)提高同步精度。系統(tǒng)采用雙周期采樣,采樣周期分別為:
同步周期:同步節(jié)點(diǎn)A與時(shí)鐘源節(jié)點(diǎn)B進(jìn)行點(diǎn)對(duì)點(diǎn)同步的周期,用T表示。
調(diào)整周期:同步節(jié)點(diǎn)A對(duì)本地時(shí)間進(jìn)行調(diào)整的周期,用Tc表示。
一個(gè)同步周期T包含N次偏差調(diào)整,即NTc=T(N∈Z+)。將第k次同步周期內(nèi)的第n次調(diào)整時(shí)刻記為(kT,nTc)時(shí)刻,其中k=0,1,2,…,n=0,1,2,…,N-1。
CATS方法的實(shí)現(xiàn)原理如圖7所示。圖7中,系統(tǒng)的參考輸入ΔrAB(kT,nTc)為
表示控制目標(biāo)是節(jié)點(diǎn)A、B的時(shí)間偏差在任何擾動(dòng)下都能盡快恢復(fù)或接近于穩(wěn)態(tài)值0。系統(tǒng)的輸出ΔcAB(kT,0Tc)表示(kT,0Tc)時(shí)刻節(jié)點(diǎn)間的時(shí)間偏差;ΔcAB(kT,nTc)表示(kT,nTc)時(shí)刻節(jié)點(diǎn)間的時(shí)間偏差,此時(shí)間偏差不可測(cè)得。受控對(duì)象模型輸出Δ(kT,nTc)表示(kT,nTc)時(shí)刻節(jié)點(diǎn)間的時(shí)間偏差估計(jì)。系統(tǒng)控制輸出uAB(kT,nTc)表示控制調(diào)節(jié)器在(kT,nTc)時(shí)刻對(duì)節(jié)點(diǎn)間的時(shí)間偏差的控制輸出,通過(guò)節(jié)點(diǎn)A調(diào)整本地時(shí)間實(shí)現(xiàn)。對(duì)象模型估計(jì)器輸出Δ(kT)表示節(jié)點(diǎn)間在第k次同步周期內(nèi)的相對(duì)時(shí)鐘漂移率變化量估計(jì)值。
圖7 CATS系統(tǒng)框圖
系統(tǒng)框圖分四部分:受控對(duì)象、受控對(duì)象模型、控制調(diào)節(jié)器和對(duì)象模型估計(jì)器。
受控對(duì)象:節(jié)點(diǎn)A、B間的時(shí)間偏差。設(shè)開(kāi)始同步的時(shí)刻為初始時(shí)刻,即t0=kT,(kT,nTc)時(shí)刻為當(dāng)前時(shí)刻,即t=kT+nTc,則將式(4)離散化,得(kT,nTc)時(shí)刻的時(shí)間偏差:
受控對(duì)象模型:受控對(duì)象的分段線性模型。在同步周期kT內(nèi),可合理假設(shè)晶振頻率保持不變,則A、B節(jié)點(diǎn)時(shí)鐘模型的晶振頻率簡(jiǎn)寫為(kT)(kT)。
由于受控對(duì)象模型以T為周期分段線性,故在每個(gè)同步周期的起始時(shí)刻,其估計(jì)的時(shí)間偏差即為實(shí)測(cè)的時(shí)間偏差,即
表示第k次同步周期內(nèi)節(jié)點(diǎn)A、B之間相對(duì)時(shí)鐘漂移率的估計(jì)量。
控制調(diào)節(jié)器:控制調(diào)節(jié)器輸出使節(jié)點(diǎn)間時(shí)間偏差接近或等于穩(wěn)態(tài)值0。設(shè)計(jì)思路為:
(1)點(diǎn)對(duì)點(diǎn)同步技術(shù)將同步時(shí)刻測(cè)得的時(shí)間偏差完全補(bǔ)償為0;
(2)同步周期時(shí)間內(nèi)由時(shí)鐘漂移率產(chǎn)生的時(shí)間偏差由控制調(diào)節(jié)器補(bǔ)償。
控制輸出u(kT,nTc)與u((k-1)T,nTc)的遞推關(guān)系為:
由式(5)和(6)可得時(shí)間偏差估計(jì)Δ(kT,nTc)與Δ(kT,(n-1)Tc)遞推關(guān)系為
表示第k次同步周期內(nèi)的相對(duì)時(shí)鐘漂移率變化量的估計(jì)值。
對(duì)象模型參數(shù)估計(jì)器:用于估計(jì)受控對(duì)象模型的參數(shù)即相對(duì)時(shí)鐘漂移率的變化值Δ^dAB(kT)??紤]到第k次同步周期的初始時(shí)刻(kT,0Tc)時(shí)刻即為((k-1)T,NTc)時(shí)刻,則
由于相鄰?fù)街芷趦?nèi)的相對(duì)時(shí)鐘漂移率變化值差別不大,將ΔdAB((k-1)T)作為第k次同步周期的相對(duì)時(shí)鐘漂移率的估計(jì)值,則第k次同步周期內(nèi)相對(duì)時(shí)鐘漂移率變化量的估計(jì)值為
綜上所述,CATS使用對(duì)象模型參數(shù)估計(jì)器及時(shí)估計(jì)相對(duì)時(shí)鐘漂移率變化量,對(duì)設(shè)備間時(shí)間偏差建模并以此為內(nèi)部受控對(duì)象,實(shí)現(xiàn)節(jié)點(diǎn)間時(shí)鐘偏差的短周期閉環(huán)調(diào)整。
實(shí)驗(yàn)測(cè)試平臺(tái)包括5個(gè)CC2430-f128通信模塊、Tektronix TDS 2014B示波器、34 cm×25 cm×10 cm溫升盒、WALET 828加溫器和ODILLA溫度計(jì),如圖8所示。
圖8 實(shí)驗(yàn)平臺(tái)
對(duì)FTSP分別做回歸表為8和16兩種測(cè)試[13],與CATS的測(cè)試結(jié)果對(duì)比。設(shè)置超幀長(zhǎng)度為100個(gè)時(shí)隙,同步周期T=30 s,調(diào)整周期Tc=50 ms。分別從六方面進(jìn)行對(duì)比。
3.2.1 不同相對(duì)漂移率下的同步誤差
圖9 同步誤差隨時(shí)間變化曲線
添加同步點(diǎn)之間無(wú)偏差調(diào)整的DMTS作對(duì)比,以體現(xiàn)CATS和FTSP方法能使任意節(jié)點(diǎn)之間有較低的同步誤差。選取相對(duì)時(shí)鐘漂移率為2.75 μs/s、23.88 μs/s 和 47.88 μs/s 的兩個(gè)節(jié)點(diǎn),分別測(cè)得25℃下的同步情況如圖9所示。可見(jiàn),DMTS使節(jié)點(diǎn)最大時(shí)間同步誤差隨相對(duì)時(shí)鐘漂移率的增大而增大。當(dāng)相對(duì)時(shí)鐘漂移率為47.88 μs/s時(shí),由于同步周期內(nèi)時(shí)間偏差超過(guò)通信允許最大偏差,從而導(dǎo)致一次同步后就失去同步,如圖9(c)所示。統(tǒng)計(jì)平均同步誤差如表1所示,可見(jiàn)當(dāng)FTSP的回歸表為8時(shí),CATS的同步誤差與其相近,當(dāng)FTSP的回歸表為16時(shí),CATS的同步誤差小于FTSP。
表1 不同時(shí)鐘漂移率下同步誤差對(duì)比
3.2.2 常溫下的同步誤差
統(tǒng)計(jì)CATS和FTSP在常溫下的時(shí)間同步誤差分布。同步誤差分布如圖10所示,可見(jiàn)CATS的時(shí)間誤差在-5 μs~7 μs范圍內(nèi),而 FTSP 的回歸表為8 時(shí),范圍為-5 μs~ 9 μs,回歸表為 16 時(shí),范圍為-14 μs~9 μs。
圖10 同步誤差分布圖
CATS與FTSP的同步誤差對(duì)比如表2所示,可見(jiàn)當(dāng)FTSP的回歸表為8時(shí),CATS的同步誤差與其基本一致;回歸表為16時(shí),無(wú)論是平均同步誤差、最大同步誤差還是方差,CATS都要優(yōu)于FTSP。
表2 同步誤差對(duì)比
3.2.3 不同溫度下的平均最大同步誤差
在25℃ ~50℃條件下,以節(jié)點(diǎn)A為時(shí)鐘源,測(cè)試10 min內(nèi)節(jié)點(diǎn)B、C、D和E的最大同步誤差,如圖11所示??梢?jiàn)只要溫度不變,CATS的平均最大同步誤差為6.8 μs,而FTSP方法在回歸表為8時(shí),平均最大同步誤差為12.75 μs,回歸表為16時(shí),平均最大同步誤差為 15.25 μs。
圖11 不同溫度下的平均最大同步誤差
3.2.4 不同溫度變化率下的平均最大同步誤差
在0.1℃/s~0.5℃/s的溫度變化率下,以節(jié)點(diǎn)A為時(shí)鐘源,測(cè)試5 min內(nèi)各節(jié)點(diǎn)的最大同步誤差,如圖12所示。從圖中可以看出,當(dāng)溫度變化率增大,兩種同步方法的平均最大同步誤差也增大,但CATS的平均最大同步誤差小于FTSP方法,由此可見(jiàn),相對(duì)于FTSP,CATS的環(huán)境適應(yīng)性更強(qiáng)。
圖12 不同溫度變化率下的最大同步誤差
3.2.5 響應(yīng)時(shí)間
將溫度以0.5℃/s的溫度變化率從25℃提高到50℃,并維持50℃不變,以節(jié)點(diǎn)A為時(shí)鐘源,測(cè)試各節(jié)點(diǎn)的時(shí)間同步回到正常水平需要的時(shí)間,如表3所示。由表可見(jiàn),CATS的響應(yīng)速度快于FTSP。
表3 響應(yīng)時(shí)間對(duì)比
3.2.6 計(jì)算復(fù)雜性
若調(diào)整周期為50 ms,則30 s同步周期內(nèi)CATS和FTSP的總計(jì)算量如表4所示。測(cè)試CATS與FTSP的程序運(yùn)行時(shí)間,由于FTSP需根據(jù)擬合系數(shù)計(jì)算理想時(shí)間,故程序運(yùn)行時(shí)間是隨著應(yīng)用需記錄時(shí)間次數(shù)的增長(zhǎng)而增長(zhǎng),而CATS的本地時(shí)間即視為理想時(shí)間,故程序運(yùn)行時(shí)間不受應(yīng)用需記錄時(shí)間次數(shù)的影響。如圖13所示,CATS的程序運(yùn)行時(shí)間恒定,而FTSP的程序運(yùn)行時(shí)間隨記錄時(shí)間次數(shù)線性增加。
表4 總計(jì)算量對(duì)比
圖13 不同記錄時(shí)間次數(shù)下的程序運(yùn)行時(shí)間
本文針對(duì)無(wú)線HART節(jié)點(diǎn)時(shí)間同步問(wèn)題,提出了一種基于閉環(huán)調(diào)整策略的時(shí)鐘同步方法。該方法在同步周期內(nèi)測(cè)量同步節(jié)點(diǎn)之間的時(shí)間偏差,獲得同步節(jié)點(diǎn)之間時(shí)鐘偏差對(duì)象模型參數(shù),建立內(nèi)部受控對(duì)象模型,在調(diào)整周期內(nèi)實(shí)現(xiàn)節(jié)點(diǎn)間的時(shí)間偏差的閉環(huán)調(diào)整。實(shí)驗(yàn)表明:在通信量相同的情況下,當(dāng)環(huán)境溫度變化導(dǎo)致時(shí)鐘漂移率突變或持續(xù)變化時(shí),CATS能降低時(shí)間同步誤差,此外,此方法還具有同步精度高,計(jì)算復(fù)雜性低等特點(diǎn),為復(fù)雜工業(yè)領(lǐng)域中無(wú)線HART時(shí)間同步提出了較優(yōu)方案。
[1]The Hart Communication Foundation.HCF_LIT - 89.Wireless-HART Technical data sheet[S].USA:2007.
[2]Ferrigno L,Paciello V,Paciello A.Experimental Characterization of Synchronization Protocols for Instrument Wireless Interface[J].IEEE Transactions on Instrumentation and Measurement,2011,60(3):1037-1046.
[3]周賢偉,韋煒,覃伯平.無(wú)線傳感器網(wǎng)絡(luò)的時(shí)間同步算法研究[J].傳感技術(shù)學(xué)報(bào),2006,19(1):20-29.
[4]Kim A N,Hekland F,Petersen S,et al.When HART Goes Wireless:Understanding and Implementing the WirelessHART Standard[C]//13th IEEE International Conference on Emerging Technologies and Factory Automation,Hamburg,Germany,2008:899-907.
[5]趙亦兵,吳志盛,龐濤.基于無(wú)線HART網(wǎng)絡(luò)的時(shí)鐘同步算法研究[J].自動(dòng)化與儀器儀表,2010,4:3-5.
[6]Elson J,Girod L,Estrin D.Fine-Grained Network Time Synchronization using Reference Broadcasts[C]//5th Symposium on Operating Systems Design and Implementation,Boston,Massachusetts,USA,2002:147-163.
[7]Ganeriwal S,Kumar R,Srivastava M B.Timing-Sync Protocol for Sensor Networks[C]//1st International Conference on Embedded Networked Sensor Systems,Los Angeles,California,USA,2003:138-149.
[8]Ping S.Delay Measurement Time Synchronization for Wireless Sensor Networks[D].Intel Research Berkeley Lab,2003.Http://www.intel_resea-rch.net/publications/Berkele-y/081120-031327_137.pdf,2011-6-30.
[9]Maróti M,Kusy B,Simon G,et al.The Flooding Time Synchronization Protocol[C]//2nd International Conference on Embedded Networked Sensorsystems,Baltimore,USA,2004:39-49.
[10]Chaudhari Q,Serpedin E,Qaraqe K.On Maximum Likelihood Estimation of Clock Offset and Skew in Networks with Exponential Delays[J].IEEE Transactions on Signal Processing,2008,56(4):1685-1697.
[11]吳成偉,黃文君.無(wú)線傳感器網(wǎng)絡(luò)比對(duì)廣播時(shí)間同步算法[J].傳感技術(shù)學(xué)報(bào),2009,22(12):1789-1794.
[12]The Hart Communication Foundation.HCF_SPEC-075.TDMA Data Link Layer Specification[S].USA:2008.
[13]Mahmood A,Jantti R.Time Synchronization Accuracy in Real-Time Wireless Sensor Networks[C]//2009 IEEE 9th Malaysia International Conference on Communications,Seri Pacific Hotel,Kuala Lumpur,2009:652-657.
[14]Ctistian F,F(xiàn)etzer C.The Timed Asynchronous Distributed System Model[J].IEEE Transactions on Parallel and Distributed System,1999,10(6):181-187.
[15]Epson Toyocom.Frequency Versus Temperature Characteristics[DB/OL].http://www.epsontoyoc om.co.jp/.english/C_support/glossary/alphaf/index.html,2011-6-30.
[16]Jun Choi B,Xuemin S.Distributed Clock Synchronization in Delay Tolerant Networks[C]//2010 IEEE International Conference on Communications,Cape Town,South Africa,2010:1-6.
[17]Wu Y,Chaudnari Q,Serpedin E.Clock Synchronization of Wireless Sensor Networks[J].IEEE Signal Processing Magazine,2011,28(1):124-138.