隨著全球經(jīng)濟(jì)的飛速發(fā)展,對(duì)能源的需求逐日增加,,以往以煤,、石油等非再生的古老能源已經(jīng)不能滿足現(xiàn)在社會(huì)對(duì)能源的需求。我國(guó)有著廣闊的海岸線,,對(duì)海浪能的開(kāi)發(fā)利用成為目前開(kāi)發(fā)新能源的重要方式,。
在眾多海浪發(fā)電裝置設(shè)備中均存在著對(duì)海浪能量的轉(zhuǎn)換效率低下的問(wèn)題。針對(duì)效率轉(zhuǎn)換問(wèn)題,,蔡元奇教授提出了利用實(shí)時(shí)調(diào)節(jié)海浪發(fā)電裝置中擺子的固有自振頻率與海浪頻率相同的方法,,進(jìn)而與海浪產(chǎn)生諧振,從而減少了發(fā)電裝置的能量損耗,,提高轉(zhuǎn)換效率[1-2],。因此,需要實(shí)時(shí)掌握海浪的頻率參數(shù),,要保證得到的海浪頻率的準(zhǔn)確可靠,。
本文設(shè)計(jì)了多功能海浪識(shí)別儀,以Cortex-A8作為主處理器,,基于Linux操作系統(tǒng),,有很強(qiáng)的可移植性與擴(kuò)展性,。通過(guò)加速度傳感器采集浮標(biāo)的加速度,對(duì)此信號(hào)采取EMD處理,,并對(duì)分解之后的IMF進(jìn)行閾值篩選,,獲得有效分量,然后對(duì)該分量進(jìn)行希爾伯特黃變換,,從而準(zhǔn)確計(jì)算出海浪的實(shí)時(shí)頻率[3],。通過(guò)陀螺儀、電子羅盤,、GPS可以精確定位波浪識(shí)別儀的準(zhǔn)確方位以及姿態(tài),。通信網(wǎng)絡(luò)采用GPRS網(wǎng)絡(luò),實(shí)時(shí)將采集到的數(shù)據(jù)傳輸?shù)桨哆叡O(jiān)控中心,。
1 系統(tǒng)總體結(jié)構(gòu)及功能
海浪數(shù)據(jù)采集傳輸系統(tǒng)主要由數(shù)據(jù)采集,、數(shù)據(jù)傳輸及數(shù)據(jù)處理三部分[4]組成,系統(tǒng)框圖如圖1所示,。數(shù)據(jù)采集部分由加速度傳感器,、陀螺儀、電子羅盤及GPS組成,,主要作用是采集浮體的線加速度,、角加速度、方位角以及GPS坐標(biāo),。數(shù)據(jù)傳輸部分由GSM/GPRS收發(fā)模塊組成,,能夠通過(guò)網(wǎng)絡(luò)使手機(jī)短信實(shí)時(shí)接收現(xiàn)場(chǎng)數(shù)據(jù)。數(shù)據(jù)處理部分由S5PV210處理器完成數(shù)據(jù)篩選,、算法及處理,。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 S5PV210處理器
S5PV210是三星公司推出的高性能應(yīng)用處理器,采用了Cortex-A8內(nèi)核,,運(yùn)行主頻可達(dá)1 GHz,,可搭載Linux系統(tǒng),帶有2路SPI,、4路I2C與4路UART接口,。
2.2 加速度傳感器
選用基于VTI的3D-MEMS電容傳感技術(shù)的高性能低功耗的SCA3060三軸加速度傳感器,±2 g的測(cè)量量程,、精度可達(dá)1 mg,,完全滿足設(shè)備測(cè)量環(huán)境的客觀要求。將采集到的三個(gè)軸方向上的加速度數(shù)據(jù)通過(guò)SPI總線傳輸給處理器,。電路圖如圖2所示,。
2.3 陀螺儀模塊
選用L3GD20三軸陀螺儀芯片。它提供了較寬的測(cè)量量程,用戶有足夠的選擇空間,。為了滿足測(cè)量所需,,同時(shí)保證測(cè)量精度,該系統(tǒng)中選用±500°/s量程,,測(cè)量精度可達(dá)±0.015°/s,。該芯片采用I2C總線方式與處理器進(jìn)行數(shù)據(jù)傳輸。
2.4 GPS模塊
采用Gstar GS-87模塊,,它是一個(gè)高效能,、低功耗的智能型衛(wèi)星接收模塊。其工作電壓為3.3 V,,定位精度可達(dá)10 m以內(nèi),通過(guò)串口與處理器進(jìn)行通訊,通過(guò)GPRS網(wǎng)絡(luò)將所需數(shù)據(jù)傳回監(jiān)控中心,。
2.5 GSM/GPRS模塊
選用中興的MF210模塊,,本設(shè)計(jì)中利用SIM卡通過(guò)聯(lián)通網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)數(shù)據(jù)傳輸,外圍電路圖如圖3所示,。
2.6 電子羅盤
選用SCH9005集成電路模塊,,該芯片集成了高精度氣壓傳感器和高精度磁傳感器,且具有溫度測(cè)量,、氣壓測(cè)量,、指南針?lè)轿粶y(cè)量功能。氣壓測(cè)量分辨率為±1 hPa,,測(cè)量范圍是300 hPa~1 000 hPa,,羅盤精度為±2°,分辨率為1°,,以地磁的正北角為0°,,模塊采用I2C接口將數(shù)據(jù)傳送給處理器。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 數(shù)據(jù)采集部分
Linux操作系統(tǒng)中,,上層用戶空間通過(guò)調(diào)用內(nèi)核空間的系統(tǒng)接口函數(shù)來(lái)完成對(duì)底層硬件的操作,。因而要完成芯片的功能,首先需要編寫底層的驅(qū)動(dòng)程序,,其次是上層的應(yīng)用程序,。本設(shè)計(jì)中所選芯片運(yùn)用到了I2C、SPI,、UART 3種通信協(xié)議方式,。雖然Linux系統(tǒng)內(nèi)核一般自帶有3種總線的驅(qū)動(dòng)程序,但是其總線子系統(tǒng)框架復(fù)雜,,不易移植,,且編寫應(yīng)用程序時(shí)不方便,因而考慮重新編寫基于對(duì)GPIO端口操作的字符設(shè)備驅(qū)動(dòng)來(lái)完成對(duì)傳感芯片的數(shù)據(jù)操作[5],。
S5PV210芯片帶有3路I2C,、兩路SPI接口和4路UART接口,。電子羅盤和陀螺儀選用I2C方式通信,在I2C字符驅(qū)動(dòng)程序中,,直接通過(guò)地址映射對(duì)寄存器進(jìn)行操作,,配置寄存器I2CCON、I2CSTAT,設(shè)置其工作方式為主機(jī)模式,,使能I2C中斷,,設(shè)定其工作頻率為400 kHz。
GPS和GPRS的串口傳輸選用“dev/ttyS0”和“dev/ttyS1”,,在上層用戶空間中直接編寫應(yīng)用程序,,設(shè)置串口波特率為9 600 bit/s,8 bit數(shù)據(jù)傳輸,,無(wú)奇偶校驗(yàn)位,。程序讀取GPS返回的GPRMC(推薦定位信息),該信息包含了UTC時(shí)間,,定位狀態(tài),,經(jīng)緯度,地面速率以及航向角,。
3.2 數(shù)據(jù)傳輸部分
系統(tǒng)采用GPRS網(wǎng)絡(luò)傳輸方式實(shí)現(xiàn)現(xiàn)場(chǎng)和岸邊通信,。
對(duì)于GPRS網(wǎng)絡(luò)傳輸時(shí),處理器將經(jīng)過(guò)處理后得到的海浪頻率,、儀器的傾斜角,、GPS地理方位等數(shù)據(jù)發(fā)送給GPRS網(wǎng)絡(luò),GPRS網(wǎng)絡(luò)提供通信鏈路,,將這些信息發(fā)送給固定IP地址,,在監(jiān)控中心的上位機(jī)程序需要進(jìn)行socket網(wǎng)絡(luò)編程,通過(guò)靜態(tài)IP地址看到數(shù)據(jù),。
在ARM發(fā)送端,,Linux系統(tǒng)啟動(dòng)之后,首先要對(duì)串口進(jìn)行初始化,,配置串口參數(shù),,其次,對(duì)GSM模塊設(shè)置AT指令,,主要用到的指令有AT+CGDCONT=1,,“IP”,“CMNET”接入網(wǎng)絡(luò),;AT+TCPSERV設(shè)置上位機(jī)IP地址,,AT+TCPPORT配置上位機(jī)監(jiān)聽(tīng)端口設(shè)置。然后,通過(guò)AT+CONNETCIONSTART請(qǐng)求建立網(wǎng)絡(luò)連接,,再通過(guò)AT+OTCP登陸網(wǎng)絡(luò),,數(shù)據(jù)傳輸時(shí),將數(shù)據(jù)打包封裝直接發(fā)送到GPRS網(wǎng)絡(luò),,流程如圖4所示,。
3.3 數(shù)據(jù)處理
3.3.1 海浪頻率的提取
以所測(cè)得的三軸加速度為數(shù)據(jù)分析對(duì)象推算出海浪頻率,由于海浪波形具有隨機(jī)性,,混亂性,,而且在測(cè)量加速度信號(hào)時(shí),采集系統(tǒng)的測(cè)量誤差,、外界環(huán)境的干擾或其他因素的影響,,使得測(cè)量到的加速度信號(hào)包含大量的噪聲。這些噪聲理論上可以使用傅里葉變換和小波變換進(jìn)行分析處理,,可是在實(shí)測(cè)數(shù)據(jù)中,,發(fā)現(xiàn)所測(cè)信號(hào)為非平穩(wěn)非線性信號(hào),而傅里葉變化并只能處理平穩(wěn)信號(hào),,雖然小波變換在理論上能夠處理非平穩(wěn)非線性信號(hào),但是在實(shí)際實(shí)踐過(guò)程中,,發(fā)現(xiàn)處理效果并不理想,,所以引入了希爾伯特黃變換算法。
該算法可以簡(jiǎn)單的表示為兩個(gè)步驟,,首先需對(duì)原始信號(hào)進(jìn)行EMD分解,。EMD分解主要目的是將原始信號(hào)分解為多個(gè)IMF分量。IMF具有以下兩個(gè)特點(diǎn):其極點(diǎn)數(shù)個(gè)數(shù)和零點(diǎn)數(shù)個(gè)數(shù)最多相差一個(gè),;其極大值點(diǎn)確定的包絡(luò)線與極小值點(diǎn)確定的包絡(luò)線的和必須為零,。
(1)將信號(hào)x(t)的極大值與極小值形成的包絡(luò)線取平均得到均值曲線l(t),之后用原始信號(hào)x(t)減去均值曲線l(t)得到l1(t),,判斷l(xiāng)1(t)是否滿足IMF分量的兩個(gè)條件,,若滿足則得到第一個(gè)IMF,若不滿足,,則將l1(t)視為新的原始信號(hào)繼續(xù)重復(fù)以上步驟,。最后得到n個(gè)IMF與一個(gè)殘余分量r。
在n個(gè)IMF中,,為了獲取原始信號(hào)中的主要成分信號(hào)分量,,將分量信號(hào)與原始信號(hào)的相關(guān)系數(shù)設(shè)為篩選參考量,當(dāng)相關(guān)系數(shù)大于0.7時(shí),,可確定該IMF為原始信號(hào)主要成分,,篩選閾值設(shè)為0.7。
(2)進(jìn)行Hilbert變換。對(duì)于信號(hào)x(t),,Hilbert變換定義為:
對(duì)每一個(gè)IMF進(jìn)行Hilbert變換,,從而得到了信號(hào)的瞬時(shí)頻率。借助Hilbert變換,,可得到x(t)的解析信號(hào):
3.3.2 浮體傾角的提取
L3GD20陀螺儀可以測(cè)得三個(gè)方向上的角加速度,,對(duì)各方向上的角加速度積分即可得到該方向上的傾角度數(shù)。由于陀螺儀在輸出時(shí),,會(huì)存在數(shù)據(jù)漂移,,如果直接對(duì)數(shù)據(jù)積分會(huì)造成偏移誤差越來(lái)越大,最后導(dǎo)致數(shù)據(jù)無(wú)法使用,。因此,,用卡爾曼濾波對(duì)數(shù)據(jù)進(jìn)行處理[7],卡爾曼濾波實(shí)質(zhì)上是依據(jù)實(shí)測(cè)數(shù)據(jù)對(duì)隨機(jī)量進(jìn)行最小二乘估計(jì),,可以對(duì)物體的實(shí)時(shí)運(yùn)行狀態(tài)進(jìn)行估計(jì)和預(yù)測(cè),。
3.4 軟件整體流程
海洋波浪作為觀測(cè)對(duì)象,其頻率很低不會(huì)超過(guò)5 Hz,,根據(jù)采樣定理,,將三軸加速度傳感器的采樣頻率設(shè)定為10 Hz。采樣點(diǎn)數(shù)為2 048,,采樣時(shí)間為3.5 min,。將陀螺儀采樣頻率設(shè)為20 Hz。軟件整體流程如圖5所示,。
4 實(shí)驗(yàn)條件及結(jié)果
為了較為準(zhǔn)確地測(cè)試系統(tǒng)采集數(shù)據(jù)的穩(wěn)定性及準(zhǔn)確性,,將測(cè)試地點(diǎn)選為湖水面積為33 km2的東湖內(nèi),湖面的波浪相比于海浪,,沒(méi)有海風(fēng)的作用,、氣壓變化、地形因素等客觀條件影響,,其波浪形成條件雖然不如海浪嚴(yán)苛和復(fù)雜,,且波浪振幅和頻率均比海浪小。但是,,兩者之間具有波浪的共性,,均是由風(fēng)產(chǎn)生的水面波動(dòng),均可視作由無(wú)限多個(gè)振幅不同,、頻率不同,、方向不同、相位雜亂的波組成,,因此可以作為測(cè)試場(chǎng)地達(dá)到我們測(cè)量波浪頻率的目的,。
試驗(yàn)現(xiàn)場(chǎng)平均波高為3~5 cm,,頻率為1 Hz左右,但是由于試驗(yàn)期間受到?jīng)_鋒舟的影響,,致使波高有時(shí)達(dá)到10 cm左右,,頻率降低到0.5 Hz左右。
利用MATLAB對(duì)采集到的角度與線加速度進(jìn)行分析,,其角度曲線圖如6所示,,經(jīng)過(guò)卡爾曼濾波之后的角加速度進(jìn)行積分,不會(huì)再產(chǎn)生多大的漂移與誤差,,效果良好,,其波形近似正弦曲線,間接反映出良好的波浪震蕩特性,。角度的大小可近似反應(yīng)波浪振幅的強(qiáng)度,,當(dāng)角度震蕩越大,波浪振幅強(qiáng)度越強(qiáng),。
由希爾伯特算法計(jì)算得到的頻率數(shù)據(jù)如表1所示,,算法處理時(shí)間約為10 s,能夠很迅速地處理數(shù)據(jù),,分析得出波浪頻率,,保證實(shí)時(shí)性。計(jì)算所得頻率與實(shí)際頻率相符,,經(jīng)多次驗(yàn)證,,該算法能夠很好地從非平穩(wěn)非線性的隨機(jī)信號(hào)中,獲取信號(hào)主要成分,,能夠保證數(shù)據(jù)輸出的可靠性。
本文借助ARM及Linux開(kāi)發(fā)平臺(tái)完成了對(duì)波浪頻率,、溫度及氣壓的測(cè)量,,實(shí)現(xiàn)了浮標(biāo)的姿態(tài)及定位,通過(guò)GPRS網(wǎng)絡(luò)實(shí)時(shí)地將數(shù)據(jù)反饋到監(jiān)控中心,,達(dá)到了遠(yuǎn)程海浪數(shù)據(jù)監(jiān)測(cè)的目的,。
該設(shè)計(jì)具有良好的實(shí)時(shí)性、可靠性及準(zhǔn)確性,。其創(chuàng)新點(diǎn)在于將希爾伯特算法運(yùn)用于加速度信號(hào)的分析當(dāng)中,,并且通過(guò)希爾伯特變換計(jì)算出了波浪的瞬時(shí)頻率,同時(shí)以Linux系統(tǒng)為平臺(tái),,具有很強(qiáng)的擴(kuò)展性,,方便波浪浮標(biāo)采集系統(tǒng)的二次開(kāi)發(fā)。
參考文獻(xiàn)
[1] 蔡元奇.共振波力發(fā)電裝置:中國(guó),,CN201110233308.7[P].2011-08-16.
[2] 蔡元奇.共振波力發(fā)電裝置:中國(guó),,CN201120295878.4[P].2011-08-16.
[3] 文圣常.海浪理論與計(jì)算原理[M],,北京:科學(xué)出版社,1984.
[4] 劉國(guó)棟.波浪浮標(biāo)數(shù)據(jù)處理方法研究[D].天津:天津大學(xué),,2011.
[5] 徐海林.基于ARM-Linux的IIC串行通信[J].微處理器與可編程控制器,,2013(20):85-86.
[6] 賈瑋.基于DSP的EMD算法實(shí)現(xiàn)[D].太原:中北大學(xué),2009.
[7] 張杰.基于MEMS陀螺儀和加速度計(jì)的動(dòng)態(tài)傾角傳感器[J].2012(9):141-142.