最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【更新20230404】MATLAB腳本《UntitledProgram.m》使用說明

2023-04-05 00:11 作者:錒天霸動霸羽  | 我要投稿

本腳本測試軟件:①MATLAB R2019b;②SleepSign2-OBI

下載地址:https://wwxr.lanzoum.com/b04dsp7sb?密碼:ayzl

示例文件:https://wwxr.lanzoum.com/b04duf87i 密碼:g9je

可能偶有小調(diào)整未更新網(wǎng)頁端說明,可以在網(wǎng)盤中查看。


目錄


  • 運行腳本

  • 自定義文件信號采樣率和單元格時間

  • 繪制信號典型圖

  • 繪制時頻譜圖

  • 繪制睡眠圖1

  • 繪制睡眠圖2

  • 參考資料



運行腳本


使用MATLAB打開UntitledProgram.m,可直接運行。


程序主界面如圖所示,點擊右下角@Instruction可跳轉(zhuǎn)在線說明。


導(dǎo)入數(shù)據(jù)時,根據(jù)文件窗口的名稱依次選取文件,也可將txt文件內(nèi)容全選復(fù)制到excle的第1張表格中,另存為xls或xlsx文件后選擇。


在繪圖窗口選擇“文件”→“另存為”,保存為svg矢量圖,可導(dǎo)入Adobe Illustrator進一步修補美化。


該腳本的運算基于SleepSign導(dǎo)出的txt文件,雖然盡可能簡化了在MATLAB上的操作,但仍需要對SleepSign的使用有比較基礎(chǔ)的了解。



自定義文件信號采樣率和單元格時間



File Sampling Rate:

文件采樣率,即信號幅值文件中每秒顯示的信號個數(shù)。在腦波記錄軟件VitalRecorder中可以更改,默認為128Hz。

?

Epoch Time:

單元格時間,在使用腦波分析軟件SleepSign導(dǎo)出數(shù)據(jù)前可以更改,根據(jù)實際填寫即可,默認為4s。



繪制信號典型圖



點擊Typical Graph,選擇使用SleepSign導(dǎo)出的幅值文件(參考:示例Amplitude)。導(dǎo)出一列幅值即可,導(dǎo)出多列也只繪制第一列圖像。


需注意這版代碼設(shè)定大于1000uV的點為干擾信號,在繪圖前已排除。


其中頻域圖像較密集,放大可見柱體。


繪制時頻譜圖



點擊Spectrogram,選擇使用SleepSign導(dǎo)出的幅值與能譜文件(參考:示例Amplitude;示例ESD)。其中幅值文件需導(dǎo)出兩列信號,第一列為EEG,第二列為EMG;能譜文件需設(shè)置Time Division = Epoch Time。


依次導(dǎo)入所需文件后即可獲得圖像。幅值圖和時頻圖的繪制互不影響,如果只需要時頻圖,隨便打開一份幅值文件即可。需注意顏色圖代碼計算的dB=10*log10(power),非圖例上的log power。


時頻圖可選擇繪制原圖或擬合后的平滑圖,平滑倍數(shù)N越大,繪圖耗時越長。參考效果如下:


繪制時可選擇是否顯示等待條對話框,顯示等待條進度動畫需耗費4s左右,在N數(shù)低時較浪費時間。


不顯示等待條可以節(jié)約繪圖時間,但若不小心輸錯N數(shù)無法中途中止運算。為減少意外狀況的發(fā)生,這版代碼限制不顯示等待條時只能輸入1≤N≤10。


繪制睡眠圖1



點擊Sleep Graph 1,選擇使用SleepSign導(dǎo)出的幅值與睡眠時相文件(參考:示例Amplitude;示例SleepStages1)。其中幅值文件需導(dǎo)出兩列信號,第一列為EEG,第二列為EMG;睡眠時相文件的標記必須設(shè)置為“W”、“R”、“S”。


依次導(dǎo)入所需文件后即可獲得圖像。幅值圖和時頻圖的繪制互不影響,如果只需要時頻圖,隨便打開一份幅值文件即可。


由于技術(shù)水平有限,這版本代碼暫使用上萬條有色短線覆蓋原有線條進行上色,上色后可能會造成卡頓。參考效果如下:


當圖片中線條太多時可能會使導(dǎo)出的圖片模糊且非矢量,可點擊“文件”→“導(dǎo)出設(shè)置”→“渲染”→勾選“自定義渲染器”→“painters(向量格式)”→“導(dǎo)出”。


繪制睡眠圖2



點擊Sleep Graph 2,選擇使用SleepSign導(dǎo)出的睡眠時相文件(參考:示例SleepStages2)。分別創(chuàng)建一個空的文件夾放置實驗組和對照組的數(shù)據(jù),讀取時任意選擇相應(yīng)文件夾內(nèi)的一份時相即可。文件的時相順序盡量按照繪圖的Wake、REM、NREM順序?qū)С?,總時長=12h,y-sxis unit選Time,Time Division =60min。


柱狀圖的ZT輸入范圍為0≤ZT≤12,且前后間隔時間不可≤1,即無法導(dǎo)出1h的柱狀圖。


對坐標軸自動顯示的刻度標簽不滿意時可自行調(diào)節(jié)(懶得寫這部分的代碼了)。


參考資料

?

[1]?MathWorks官網(wǎng):https://ww2.mathworks.cn/help/matlab/referencelist.html

[2]?CSDN《Matlab打包可獨立運行的exe可執(zhí)行文件》:https://blog.csdn.net/thlzzz/article/details/109697423

[3]?知乎《傅里葉分析之掐死教程(完整版)》:https://zhuanlan.zhihu.com/p/19763358

[4]?CSDN《【STM32F407的DSP教程】第27章 FFT的示波器應(yīng)用》:https://blog.csdn.net/Simon223/article/details/106402717

[5]?bilibili《matlab實現(xiàn)FFT算法》:https://www.bilibili.com/video/BV1i14y1K7Bq

[6]?知乎《[振動與測試 2] 什么是PSD(功率譜密度)》:https://zhuanlan.zhihu.com/p/49328001

[7]?知乎《信號頻域分析方法的理解(頻譜、能量譜、功率譜)》:https://zhuanlan.zhihu.com/p/441559677

[8]?CSDN《Matlab中imagesc用法》:https://blog.csdn.net/qq_21449473/article/details/123083741

[9]?CSDN《matlab添加進度條(waitbar)》:https://blog.csdn.net/weixin_43465015/article/details/89294079

[10]?CSDN《Matlab導(dǎo)出圖片模糊的解決辦法》:https://blog.csdn.net/jontargaryen/article/details/80079124

[11]?CSDN《MATLAB如何繪制多個(兩個以上)的legend,且自定義不同曲線的標記mark》:https://blog.csdn.net/ervin_yi/article/details/95043379



由于從零學(xué)起參考內(nèi)容太過瑣碎,大多數(shù)函數(shù)在官網(wǎng)均可查,故此處僅列出部分參考資料。

我盡可能將每段代碼的含義在腳本中用中文進行備注,詳見每段代碼下方“%”后的內(nèi)容。



【更新20230404】MATLAB腳本《UntitledProgram.m》使用說明的評論 (共 條)

分享到微博請遵守國家法律
晴隆县| 纳雍县| 肃宁县| 永修县| 南投市| 石城县| 龙川县| 开鲁县| 泸溪县| 灵川县| 徐汇区| 繁峙县| 光山县| 新巴尔虎左旗| 吉林市| 高雄市| 花垣县| 通海县| 呼玛县| 巴林左旗| 开平市| 邹平县| 文化| 前郭尔| 神木县| 忻州市| 革吉县| 阿克陶县| 松原市| 阿拉尔市| 新龙县| 林西县| 揭西县| 岐山县| 灵丘县| 九江市| 宿迁市| 余庆县| 延庆县| 和平县| 齐齐哈尔市|