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

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

【更新20230715】MATLAB腳本《SheepEditor.m》(原UntitledProgram)使用說明

2023-07-15 16:20 作者:錒天霸動霸羽  | 我要投稿

軟件版本:①MATLAB R2019b;②SleepSign2

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

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



目錄

  • 基本介紹

  • 繪制電信號圖

  • 繪制時頻譜圖

  • 繪制睡眠時相1

  • 繪制睡眠時相2

  • 繪制功率譜密度曲線

  • 參考資料



基本介紹


該腳本旨在快速繪制腦波相關的圖片,使用MATLAB打開即可直接運行。

腳本運算的原始數(shù)據(jù)基于SleepSign的導出結果(參考示例文件),需要對SleepSign的使用有比較基礎的了解,本文不另作說明。


自定義文件信號采樣率和時間劃分:

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

Time Division(時間劃分),使用腦波分析軟件SleepSign導出數(shù)據(jù)時可以更改,根據(jù)實際填寫即可,默認為4 s。


關于功率譜密度的說明:

Power Spectrum Density(PSD,功率譜密度),在這里可以等同于我們平常口述的“能譜/譜能”。由于查閱的一些相關資料里對“Power(功率)”和“能量(Energy)”有做比較詳細的區(qū)分,而個人無法對這部分的名詞稱呼妄下定論,故這里暫使用PSD(功率譜密度)作為模塊名稱,但在說明時仍然使用口語化的“能譜”,后續(xù)若能夠確定名稱再統(tǒng)一進行更改。

同樣的情況也適用于Spectrogram/時頻譜圖/時頻圖。


導入數(shù)據(jù):

點擊模塊后,根據(jù)提示導入需要繪圖的數(shù)據(jù)。可直接選擇txt文件,或?qū)xt文件內(nèi)容全選復制到Excel的第1張表格中,另存為xls或xlsx文件再選擇。


更改文字標簽:

在圖窗菜單選擇“編輯”→“坐標區(qū)屬性”,或按圖示操作打開“屬性檢查器”,即可更改文字或刻度標簽。


保存圖片:

在圖窗菜單選擇“文件”→“另存為”,保存為svg矢量圖。

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

圖片可導入Adobe Illustrator進一步修補美化。


保存圖像樣式:

部分模塊可在圖窗菜單選擇“文件”→“另存為”,將當前圖窗保存為fig文件,下次在MATLAB窗口打開fig文件時能保留修改后的顏色、線粗等樣式。

MATLAB的色彩表現(xiàn)通常為RGB模式,每個值的范圍均為0~1,網(wǎng)絡查詢的0~255色彩范圍需進行等比換算。例如:經(jīng)查詢粉色的RGB值為(255,192,203),換算后即約為(1,0.753,0.796)。



繪制電信號圖



點擊Amplitude模塊,選擇使用SleepSign導出的幅值文件(示例Amplitude)。

導出一列幅值即可,導出多列也只能繪制第一列圖像。


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



繪制時頻譜圖



點擊Spectrogram模塊,選擇使用SleepSign導出的幅值與能譜文件(示例Amplitude;示例PSD)。

幅值文件需導出兩列信號,第一列為EEG,第二列為EMG;能譜文件至少導出兩段Division。


幅值圖和時頻圖的繪制互不影響,如果只需要時頻圖,隨便打開一份幅值文件即可。

需注意,繪制顏色圖的代碼實際計算的dB = 10*log10(power),非圖例上的Log power。


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


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

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



繪制睡眠時相1



點擊Sleep Stage 1模塊,選擇使用SleepSign導出的幅值與睡眠時相文件(示例Amplitude;示例SleepStage1)。

幅值文件需導出兩列信號,第一列為EEG,第二列為EMG;SleepSign內(nèi)對睡眠時相的標記必須設置為“W”、“R”、“S”;根據(jù)示例文件顯示,在程序主窗口輸入Time Division = Epoch Time。


幅值圖和時相圖的繪制互不影響,如果只需要時相圖,隨便打開一份幅值文件即可。


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



繪制睡眠時相2



點擊Sleep Stage 2模塊,選擇使用SleepSign導出的睡眠時相文件(示例SleepStage2)。

不同Group的數(shù)據(jù)需分開放置在不同的空文件夾內(nèi),讀取時選擇相應組別文件夾內(nèi)的任意一份文件即可;導出文件的時相順序決定繪圖順序;y-sxis unit選Time;Time Division = 60 min。


柱狀圖顯示的ZT范圍可輸入不大于最大時長、且前后間隔不小于1的自然數(shù)。



繪制功率譜密度曲線



點擊PSD Curve模塊,選擇使用SleepSign導出的能譜文件(示例PSD Curve)。

不同Group的數(shù)據(jù)需分開放置在不同的空文件夾內(nèi),讀取時選擇相應組別文件夾內(nèi)的任意一份文件即可;每份能譜文件只導出一段Division。


該腳本可按照文件的名稱順序,對兩組文件夾內(nèi)的數(shù)據(jù)兩兩配對相減獲得差值,從而繪制Group Difference圖像。


先讀取的Group繪制在下層,后讀取的Group繪制在上層。Group difference = 后讀取 - 先讀取。



參考資料

  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的示波器應用》: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. 知乎《功率譜密度(PSD)》:https://zhuanlan.zhihu.com/p/417454806

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

  10. CSDN《Matlab導出圖片模糊的解決辦法》:https://blog.csdn.net/jontargaryen/article/details/80079124

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

  12. 知乎《不會吧,還有人不知道MATLAB這8個小技巧?》:https://zhuanlan.zhihu.com/p/155747685

  13. 知乎《在MATLAB中快速輸入漂亮的公式 | LaTeX FB》:https://zhuanlan.zhihu.com/p/380894172

  14. CSDN《MATLAB 對話框字體屬性設置方法》:https://blog.csdn.net/qq_38907360/article/details/120863127

  15. CSDN《Matlab中imagesc用法》:https://blog.csdn.net/qq_21449473/article/details/123083741

  16. CSDN《Matlab中的continue、break和return語句》:https://blog.csdn.net/gophae/article/details/103859511



由于從零學起參考的內(nèi)容十分瑣碎,故此處僅列出一小部分參考資料。

函數(shù)在官網(wǎng)均可查,閱讀起來可能略有晦澀,個人更多靠百度。

我盡可能將每段代碼的作用在腳本中都用中文注釋出來,詳見每段代碼“%”后的內(nèi)容。

有任何Bug,或覺得在MATLAB上的操作不夠傻瓜的地方都可找我。

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

分享到微博請遵守國家法律
清河县| 泌阳县| 岑巩县| 沁阳市| 黔江区| 儋州市| 临潭县| 平罗县| 洞口县| 长乐市| 如皋市| 南宁市| 明溪县| 苍山县| 青神县| 庄浪县| 赤城县| 嘉定区| 五大连池市| 郎溪县| 崇阳县| 隆昌县| 包头市| 阳西县| 平舆县| 宜宾县| 安阳县| 永宁县| 南投市| 吉林省| 东兰县| 子洲县| 桂平市| 遂川县| 隆回县| 乌拉特中旗| 平安县| 巴彦县| 乌鲁木齐市| 塔河县| 霸州市|