国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一個(gè)手機(jī)鼾聲錄音睡眠分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2017-11-28 08:53吳金燦程鳳娟
河南科技 2017年19期
關(guān)鍵詞:鼾聲錄音頻率

吳金燦 李 揚(yáng) 程鳳娟

一個(gè)手機(jī)鼾聲錄音睡眠分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

吳金燦1李 揚(yáng)2程鳳娟1

(1.河南工業(yè)大學(xué)信息科學(xué)與工程學(xué)院,河南 鄭州 450001;2.鄭州鐵路局鄭州職工培訓(xùn)基地,河南 鄭州 450001)

針對越來越多有潛在睡眠呼吸問題患者的出現(xiàn),本文設(shè)計(jì)一個(gè)基于Android手機(jī)的鼾聲錄音睡眠分析系統(tǒng),通過監(jiān)測聲音波形、頻率等信息,檢測用戶打鼾和阻塞性呼吸暫停情況,并形成記錄供用戶查看,能夠?yàn)橛袧撛谒吆粑鼏栴}的患者提供便捷的幫助。系統(tǒng)利用Android智能手機(jī)開放平臺(tái),具有較好的隱私保護(hù),同時(shí)具有很好的應(yīng)用前景,將會(huì)形成比較好的社會(huì)效應(yīng)。

鼾聲錄音分析;聲音特征;阻塞性呼吸暫停

打鼾也被稱為打呼嚕,往往與睡眠聯(lián)系起來,其發(fā)聲的生理原因是咽部通道變窄后,當(dāng)氣流通過時(shí)就會(huì)發(fā)出聲音。打鼾除了影響同屋的他人外,還對自身健康有很大的影響。過去很少有人知道打鼾對本人的影響,但學(xué)者研究打鼾者的睡眠發(fā)現(xiàn),長期打鼾的人往往伴隨著睡眠呼吸暫停、低通氣,在睡眠的過程中血液氧氣含量減小,時(shí)間久了便影響人的身體健康[1]。

現(xiàn)在我國主流呼吸暫停檢查還是比較落后的多導(dǎo)睡眠圖監(jiān)測,雖然其有很專業(yè)的研究設(shè)備,檢測腦電、口鼻氣流、鼾聲、心電等很多參數(shù),但還是要依賴專業(yè)醫(yī)療技術(shù)人員整夜的檢查,完全手動(dòng)分析,為進(jìn)一步治療做準(zhǔn)備[2]。雖然現(xiàn)在無電極檢測方式改進(jìn)極大,但還是有很高的使用成本。一方面對打鼾的認(rèn)知比較主觀,其特征也受多種原因的影響;另一方面其多變性加大了研究的難度[3]?,F(xiàn)在對鼾聲的研究已經(jīng)有很多,如音頻信號(hào)的分類、鼾聲信號(hào)的檢查、頻譜中能量的分布、計(jì)算共振峰頻率以及鼾聲的基頻等[4-6]。同時(shí),最近20年語音信號(hào)的處理識(shí)別有顯著的進(jìn)步,鼾聲也可以看作一種特殊的語音信號(hào)進(jìn)行相關(guān)研究,相關(guān)理論技術(shù)也有很大的參考價(jià)值,如使用手機(jī)對鼾聲的檢測有很大的可行性。

1 算法基礎(chǔ)

本APP程序是一個(gè)對睡眠錄音進(jìn)而對鼾聲檢測、睡眠分析的系統(tǒng),基于Android操作系統(tǒng)提供的AudioRe?cord類,獲取聲音數(shù)據(jù),借助鼾聲錄音對使用者的睡眠情況給出分析反饋。對于鼾聲信息,主要對鼾聲發(fā)生的時(shí)間間隔信息進(jìn)行分析,設(shè)計(jì)分析方法,從而得出睡眠的情況,給出分析結(jié)果。通過確定鼾聲模型,過濾掉可能出現(xiàn)的雜音,統(tǒng)計(jì)相關(guān)信息;查找分析資料,解析信息代表的實(shí)際含義,結(jié)合相關(guān)資料給出評價(jià)。應(yīng)用程序流程設(shè)計(jì)方面,主要包括提供鼾聲檢測分析,存儲(chǔ)處理后的數(shù)據(jù)和時(shí)間信息,存檔到本地文件系統(tǒng)。相關(guān)錄音記錄保存到SQLite上,便于以后的顯示歷史、查看調(diào)取。

本系統(tǒng)對鼾聲的分析檢測采用FFT算法,一種由離散傅氏變換(DFT)改進(jìn)而來的快速算法,可以獲取聲音頻率中所包含的有用信息[7]。FFT將時(shí)域上信號(hào)變換到頻域,方便在頻譜等方面對數(shù)據(jù)進(jìn)行分析。實(shí)踐中為了方便運(yùn)算,通常N取2的整數(shù)次方。聲波采樣頻率Fs=44 100Hz,從Android麥克風(fēng)傳感器中讀取的PCM數(shù)字信號(hào)short[](每個(gè)取樣位為16位),調(diào)整中轉(zhuǎn)數(shù)據(jù)保證輸入數(shù)據(jù)長度為N=214=16 384,經(jīng)過FFT之后,就可以得到N個(gè)點(diǎn)的FFT結(jié)果。每個(gè)點(diǎn)對應(yīng)一個(gè)頻率點(diǎn)。第一個(gè)點(diǎn)就是直流分量,其模值就是直流分量的N倍(即0Hz),其他一個(gè)點(diǎn)就對應(yīng)著一個(gè)頻率點(diǎn)。這個(gè)點(diǎn)的模值,就是該頻率值下的幅度特性。假設(shè)原始信號(hào)的峰值為A,那么FFT的結(jié)果的每個(gè)點(diǎn)(除了第一個(gè)點(diǎn)直流分量之外)的模值就是A的N/2倍,最后一個(gè)點(diǎn)N的再下一個(gè)點(diǎn)(實(shí)際上這個(gè)點(diǎn)是不存在的,這里是假設(shè)的第N+1個(gè)點(diǎn))則表示采樣頻率Fs,這中間被N-1個(gè)點(diǎn)平均分成N等份,每個(gè)點(diǎn)的頻率依次增加。例如,某點(diǎn)n所表示的頻率?為?n=(n-1)×Fs/N(?n所能分辨到頻率為Fs/N,即精度),本例分辨率為44 100/16 384(Hz),假設(shè)FFT之后某點(diǎn)n用復(fù)數(shù)表示為a+bi,那么這個(gè)復(fù)數(shù)的模就是An=a2+b2;該點(diǎn)的模值除以N/2就是對應(yīng)該頻率下信號(hào)的幅度(對于直流信號(hào)是除以N),相位是對應(yīng)該頻率下的信號(hào)相位。相位的計(jì)算用數(shù)學(xué)函數(shù)Pn=atan2(b,a)計(jì)算。atan2(b,a)是求坐標(biāo)為(a,b)點(diǎn)的角度值,范圍從-π到π??梢杂?jì)算出n點(diǎn)(n≠1,且n≤N/2)對應(yīng)的實(shí)際語言信號(hào)的還原表達(dá)式為:An/(N/2)×cos(2×π×Fn×t+Pn)。這里幅度可以表示該頻率下聲音的振幅:Rn=An/(N/2),其中n=1點(diǎn)的信號(hào),是直流分量,幅度為A1/N。FFT變換結(jié)果具有對稱性,所以系統(tǒng)只使用變換后頻域信息的前半部分。

2 系統(tǒng)實(shí)現(xiàn)

2.1 系統(tǒng)配置及架構(gòu)

系統(tǒng)開發(fā)使用最新的Android Studio,其提供快捷的開發(fā)環(huán)境和單詞級的代碼語義支持編輯、調(diào)試,能夠靈活地構(gòu)建系統(tǒng)和即時(shí)構(gòu)建/部署系統(tǒng)。運(yùn)行系統(tǒng)的Android智能手機(jī)應(yīng)最低支持Android 4.4.2,且有麥克風(fēng)傳感器。

系統(tǒng)主要包含2個(gè)核心功能:錄音分析和解析記錄數(shù)據(jù)。其中錄音處理流程圖如圖1所示。

系統(tǒng)通過睡眠分析記錄表,如表1所示,用來保存用戶每次錄音的記錄,包括數(shù)據(jù)文件名、時(shí)間等信息。

圖1 錄音處理流程圖

表1 睡眠分析記錄表

2.2 主要邏輯的代碼

接收整合輸出數(shù)據(jù)邏輯:這里為了匹配各個(gè)不同設(shè)備所讀取處理數(shù)據(jù)長度不同,增加了一個(gè)數(shù)據(jù)緩存區(qū),將數(shù)據(jù)放入,數(shù)據(jù)取出分離,沒有直接將原始數(shù)據(jù)加入運(yùn)算邏輯,主要原因是采集數(shù)據(jù)需要的緩沖區(qū)的大小,如果不知道最小需要的大小可以在getMinBufferSize()查看。這個(gè)數(shù)值在不同設(shè)備上大小不一致,如果編碼自行設(shè)置一個(gè)讀取大小的值時(shí),又有一些設(shè)備不支持特定大小的讀取,所以有了這個(gè)整合模塊,主要代碼如下。

System.arraycopy(audiodata,0,recordset,front,size);front+=size;

while(front-tailgt;=FFT_N){

short newCp[]=new short[FFT_N];

System.arraycopy(recordset,tail,newCp,0,FFT_N);

tail+=FFT_N;

onWork(newCp);

if(BUF_SIZE-taillt;FFT_N*2){

int remain=front-tail;System.arraycopy(recordset,tail,recordset,0,remain);

tail=0;front=remain;

}

}

聲音檢測是本系統(tǒng)的功能基礎(chǔ),支撐的鼾聲檢測主要就是基于這個(gè)信息記錄的,這里首先對原始數(shù)據(jù)進(jìn)行遍歷計(jì)算出基本信息,主要計(jì)算是求均值,其中負(fù)數(shù)值累加為了不與正數(shù)中和抵消,也轉(zhuǎn)成正數(shù)求絕對值的算術(shù)均值,在此期間也計(jì)算了聲音段的聲音大小信息和最大值信息。然后利用均值信息,對源數(shù)據(jù)進(jìn)行再處理,將小于均值的采樣點(diǎn)全部賦值為0。最后,基于這種數(shù)據(jù)檢測樣本數(shù)據(jù)的相關(guān)信息。這里并沒有查找波峰信息,沒有查看保留下來的波峰信息和聲音的時(shí)間信息,而是反其道而行,統(tǒng)計(jì)這個(gè)數(shù)據(jù)中連續(xù)0的個(gè)數(shù),可以確定如果聲音是無規(guī)律的持續(xù)混亂數(shù)據(jù),統(tǒng)計(jì)出來的連續(xù)0個(gè)數(shù)一定會(huì)很比較小,當(dāng)聲音中包含有聲段時(shí),由于這種情況下,聲音段的均值會(huì)被拔高,這里就會(huì)將所有的環(huán)境噪聲淹沒掉,并且由于極值集中這種情況下,連續(xù)0個(gè)數(shù)相對來說就會(huì)很大,從側(cè)面反映出數(shù)據(jù)中包涵有聲信息。確定檢測到有聲段后,會(huì)對這段聲音進(jìn)行傅里葉變換分析,查看頻率等相關(guān)信息用于程序進(jìn)行輔助判斷鼾聲信息。

public static boolean work(short[]shortArr){

maxVolAndavgVol(shortArr,shortArr.length);

emergeArr(shortArr,avgAudio);

getQuietLevel=testAudio(shortArr);

return getQuietLevelgt;QUIET_LEVEL;

}

2.3 應(yīng)用程序?qū)崿F(xiàn)

打開錄音睡眠分析應(yīng)用后,點(diǎn)擊錄音,將手機(jī)放置在身旁,用戶就可以休息。這里開啟了3個(gè)線程,類似流水線作業(yè),一個(gè)線程讀出原始信息,一個(gè)線程對讀入信息格式化,一個(gè)線程對信息進(jìn)行運(yùn)算,判斷鼾聲事件是否發(fā)生,并記錄結(jié)果[8]。

當(dāng)用戶想要結(jié)束錄音分析時(shí),點(diǎn)擊結(jié)束錄音,錄音記錄即停止。點(diǎn)擊歷史記錄,最上面的第一條就是最新的分析記錄。用戶可以點(diǎn)擊查看詳情。這里使用了一個(gè)標(biāo)識(shí)變量,將其設(shè)置為停止,錄音讀取工作線程每次取值前都會(huì)檢查該值,自行感知是否退出。

如圖2所示是程序的錄音歷史,用戶可以點(diǎn)擊某條記錄,查看記錄的詳細(xì)情況。在這個(gè)界面對某個(gè)記錄左滑動(dòng),即可出現(xiàn)刪除菜單。當(dāng)數(shù)據(jù)比較多時(shí),還可以上下滑動(dòng)查找選擇需要的記錄。

圖2 用戶錄音記錄信息界面

表格以小時(shí)為單位生成,每小時(shí)有2份表格,包括鼾聲檢測報(bào)表和呼吸暫停檢測報(bào)表。點(diǎn)擊某個(gè)記錄后,即可查看每小時(shí)的打鼾記錄,以及根據(jù)這些記錄推測出可能有的呼吸暫停事件記錄,這個(gè)都按照每10min一個(gè)記錄的報(bào)表。如圖3所示,1∶40-1∶50檢測到了3次呼吸暫停,整夜出現(xiàn)3次呼吸暫停事件。

圖3 睡眠記錄查看頁,檢測到呼吸暫停報(bào)

3 結(jié)論

系統(tǒng)實(shí)現(xiàn)后,通過選用不同的Android智能手機(jī),在不同的環(huán)境聲音狀況下,分別進(jìn)行了功能測試、兼容性測試、穩(wěn)定性測試和耗電測試,系統(tǒng)基本滿足應(yīng)用需求,實(shí)現(xiàn)了預(yù)定目標(biāo)。但也發(fā)現(xiàn)了一些局限性,比如:系統(tǒng)UI設(shè)計(jì)還有很大的完善空間;取樣數(shù)據(jù)也可以自己降頻后再行處理;對于鼾聲的識(shí)別,準(zhǔn)確性還需要進(jìn)一步增強(qiáng);市場上一些類似產(chǎn)品還具有鼾聲回放功能,使得軟件數(shù)據(jù)可信度更高等。

[1]Adam Gerber,Clifton Craig.Android Studio實(shí)戰(zhàn)[M].北京:清華大學(xué)出版社,2016.

[2]張軍朝.Android技術(shù)及應(yīng)用[M].北京:電子工業(yè)出版社,2016.

[3]朱元波.Android傳感器開發(fā)與智能設(shè)備案例實(shí)戰(zhàn)[M].北京:人民郵電出版社,2016.

[4]彭好,許輝杰,黃魏寧,等.阻塞性睡眠呼吸暫停低通氣綜合征和單純鼾癥者鼾聲的基頻及共振峰分析[J].聽力學(xué)及言語疾病雜志,2013(1):27-31.

[5]許輝杰,余力生,黃魏寧,等.OSAHS患者與單純打鼾者鼾聲聲學(xué)特性初步研究[J].聽力學(xué)及言語疾病雜志,2009(3):235-238.

[6]張?jiān)姭_.基于安卓手機(jī)的睡眠呼吸暫停綜合癥篩查系統(tǒng)[D].大連:大連理工大學(xué),2016.

[7]錢昆.鼾聲相關(guān)信號(hào)自動(dòng)檢測與分類研究[D].南京:南京理工大學(xué),2014.

[8]Ryo Nonaka.Automatic snore sound extraction from sleep sound recordings via auditory image modeling[J].Biomed?ical Signal Processingamp;Control,2016(27):7-14.

Design and Implementation of a Sleep Snoring Recording Analysis Application System

Wu Jincan1Li Yang2Cheng Fengjuan1
(1.College of Information Science and Technology,Henan University of Technology,Zhengzhou Henan 450000;2.Zhengzhou Staff Training Base,Zhengzhou Railway Bureau,Zhengzhou Henan 450000)

Aiming at more and more sleep apnea patients,this paper designed a sleep snoring recording analysis application system based on Android mobile phone,by monitoring the sound waveform and frequen?cy information,detect users snoring and obstructive apnea,and make record for users to view,to provide help for potential sleep apnea patients.This system uses Android smart phone open platform,has better pri?vacy protection,and has a good application prospect,will form a better social effect.

snoring recording analysis;sound characteristics;obstructive apnea

TP274

A

1003-5168(2017)10-0011-03

2017-09-15

河南省教育廳自然科學(xué)項(xiàng)目科學(xué)技術(shù)重點(diǎn)研究項(xiàng)目(15B520004)。

吳金燦(1994-),男,本科,研究方向:計(jì)算機(jī)運(yùn)用;李揚(yáng)(1984-),女,本科,助理工程師,研究方向:計(jì)算機(jī)運(yùn)用。

程鳳娟(1976-),女,碩士,副教授,研究方向:軟件工程網(wǎng)絡(luò)安全。

猜你喜歡
鼾聲錄音頻率
Funny Phonics
funny phonics
振動(dòng)與頻率
Listen and Choose
爸爸的鼾聲
Listen and Color
無線電頻率的特點(diǎn)
一類非線性離散動(dòng)力系統(tǒng)的頻率收斂性
如雷鼾聲驚醒“名校夢”,15歲少年不堪重負(fù)臥軌自殺
導(dǎo)航頻率源的同步與控制