【复现文献】 Automatic Analysis of Single-Channel Sleep EEG: Validation in Healthy Individuals
一、预处理
1、读取数据
数据来源:https://www.physionet.org/content/sleep-edf/1.0.0/
读取方法:用读edf文件的方法来读取文件,即用“edfread.m”,具体见↓↓↓
将“edfread.m”和数据放在一个文件夹里
[head, label] = edfread('sc4002e0.hyp'); % 读标签,舍弃最后一个标签(9)
[header, recorddata] = edfread('sc4012e0_1.0.0.rec'); % 各通道的数据
label:睡眠阶段W、1、2、3、4、R、M和“未得分”在文件中编码为0、1、2、3、4、5、6和9
data:
1)sc群体:recorddata从上到下为:'EEGFpzCz' 'EEGPzOz' 'EOGhorizontal' (100 Hz)
'Resporonasal' 'EMGSubmental'(st*-100 Hz) 'Tempbody' 'Eventmarker' (1 Hz)
2)st群体:recorddata从上到下为:'EEGFpzCz' 'EEGPzOz' 'EOGhorizontal' 'EMGsubmental' 'IDSyncError'
2、分频带
将FpzCz通道信号分成30s的epoch,再对每个epoch进行分频带操作,分完频带为“二、分析”做准备
%% 画频谱
Fs = 100; % Sampling frequency
T = 1/Fs; % Sample time
N = size(recorddata,2); % Length of signal
t = (0:N-1)/Fs; % Time vector xx1=abs(fft(eeg));
xx2=fftshift(abs(fft(eeg)));% figure
% subplot(4,1,1)
% plot(eeg);
% title('eeg');
% subplot(4,1,2)
% plot(xx1);
% title('abs(fft(eeg))');
% subplot(4,1,3)
% plot(xx2);
% title('fftshift(abs(fft(eeg)))');
% subplot(4,1,4)
plot((1:N/2-1)*Fs/N,xx1(1:N/2-1)*2/N);
title('plot((1:N/2-1)*Fs/N,xx1(1:N/2-1)*2/N)结果图');
%% 滤波,分频f = (0:N-1)*Fs/N; %频率序列
Wn_Delta = [0.1*2 4*2]/Fs; %设置通带为0.1-4Hz Delta波
Wn_Theta = [4*2 8*2]/Fs; %设置通带为4-8Hz Theta波
Wn_Alpha = [8*2 12*2]/Fs; %设置通带为8-12Hz Alpha波
Wn_Beta_1 = [16*2 18*2]/Fs; %设置通带为16-18Hz Beta_1波
Wn_Beta_2 = [18*2 49.9*2]/Fs; %设置通带为18-50Hz Beta_2波[k,l] = butter(2,Wn_Beta_2); %4阶IIR滤波器,可改频带
result = filtfilt(k,l,eeg);
tmp = fft(result);
eeg_IFFT = ifft(tmp); %滤完波后的信号figure,
subplot(211),plot(f(1:N/2),abs(tmp(1:N/2)*2/N));title('滤波后频谱结果,频率:0.1-4Hz');axis([0,100,-inf,inf])
subplot(212),plot(eeg_IFFT);title('脑波滤波后结果图像');for i=1:length(eeg_IFFT)/3000 %wpcoef(wpt1,[n,i-1])是求第n层第i个节点的系数E_Beta_2(i)=norm(eeg_IFFT(3000*(i-1)+1:3000*(i-1)+3000),2); % norm(A,2) = sum(abs(A).^p)^(1/p)
end
save('E_Beta_2.mat');
3、使用非均匀滤波
二、分析
这个分析步骤还包括觉醒和快速眼动的粗略时间定位
由于静息觉醒的特征通常是丰富的alpha频率和稀少的delta频率,ASEEGA计算一个定义为的对比函数: Cw(x)=Pα(x)Pβ1(x)/Pδ(x)
同样,在REM睡眠期,我们利用theta以及low delta power来定义对比函数: CREM(x)=Pθ(x)Pβ2(x)/ Pδ(x)
%% 特征提取for i=1:length(E_Delta)Cw(1,i) = E_Alpha(1,i) * E_Beta_1(1,i) / E_Delta(1,i);CREM(1,i) = E_Theta(1,i) * E_Beta_2(1,i) / E_Delta(1,i);
end
三、分类
【复现文献】 Automatic Analysis of Single-Channel Sleep EEG: Validation in Healthy Individuals相关推荐
- Single Channel Speech Enhancement Using Temporal Convolutional Recurrent Neural Networks
Single Channel Speech Enhancement Using Temporal Convolutional Recurrent Neural Networks 标题:基于时域卷积递归 ...
- Computational methods for analysis of single molecule sequencing data
Computational methods for analysis of single molecule sequencing data 分析单分子测序数据的计算方法 Computing Sc ...
- 【基于深度学习的脑电图识别】应用篇:DEEP LEARNING APPROACHES FOR AUTOMATIC ANALYSIS OF EEGS
DEEP LEARNING APPROACHES FOR AUTOMATIC ANALYSIS OF EEGS 摘要: 数据: 时序信号的时序建模: 特征提取方法: 利用时空上下文建模: 1. 混合 ...
- memory runs at single channel问题解决
memory runs at single channel问题解决 参考文章: (1)memory runs at single channel问题解决 (2)https://www.cnblogs. ...
- DPCRN: Dual-Path Convolution Recurrent Network for Single Channel Speech Enhancement---论文翻译
DPCRN:用于单通道语音增强的双路径卷积递归网络 Xiaohuai Le1;2;3, Hongsheng Chen1;2;3, Kai Chen1;2;3, Jing Lu1;2;31Key Lab ...
- 【文献阅读】 Deep Learning-Based Channel Estimation in OFDM Systems
2019 IEEE https://arxiv.org/abs/1810.05893 代码:https://gitee.com/joannne/ChannelNet Pilot Pattern Des ...
- Hisat2-Stringtie-DESeq2复现Transcript-level expression analysis of RNA-seq experiments with ...
目录 整体流程 标准流程:比对 - 转录本组装 - 转录本合并 - 定量 - 分析 快速流程:比对 - 定量 - 分析 多看手册 详细步骤 分析前准备工作 新建工作目录 对RNA-seq结果进行QC ...
- proxmox tesla_大众One Ups Tesla突破性的电池突破
proxmox tesla 重点 (Top highlight) In the early 1970s, decades before the cellphone, the handheld vide ...
- 《Single Image Haze Removal Using Dark Channel Prior》论文阅读及复现番外(使用导向滤波估计更加精细的透射率)
前言 之前写过这篇论文的复现,https://blog.csdn.net/just_sort/article/details/84110518 ,但是当时估算透射率的时候没有用softmating或者 ...
最新文章
- html用占位符文本填补空白,占位符文本的选择
- Flink – JobManager.submitJob
- 数据结构之线段树Ⅴ——(李超线段树)Robot,Product Sum,Building Bridges,Jump mission
- 3399 mysql_手动安装 mysql
- tensorrt基础知识+torch版lenet转c++ trt
- 程序猿的骄傲,以及骄傲背后真实的原因
- 八段锦八个动作名称_八段锦工间操“动”起来 全民健身精气神“燃”起来
- flask与js交互的示例代码_QT5.12 C++与前端JavaScript/HTML实现通信交互
- 【笔记】VUE学习笔记
- 微信域名防封最全代码
- C-CCSK云计算安全知识认证
- 第22节 NAT(网络地址转换)—实现公网IP和私网IP之间的转换
- 一站式跨境电商免费开源ERP平台,简洁的操作,助您高效工作
- LED及LCD冲突问题解决及LCD的驱动改进(蓝桥杯嵌入式stm32G431RBT6)
- Pytorch 3D卷积
- 辣鸡准备稍微碰一下深度学习系列(1/21)---上
- Linux进程信号之阻塞信号
- Numpy库的安装与初次使用
- 想要做好自媒体?大周给你分享几点心得
- 百度质量部面试体验之 三面
热门文章
- 2021年NFT艺术品不平凡的一年!!
- PMP项目管理项目采购管理
- 给大家科普一下macOS系统中的“预览”功能究竟可以怎么用
- Hyper-V Server 2016配置远程管理
- Check Point防火墙开启远程管理服务
- canvas 简单入门
- error: could not create '/usr/local/lib/python2.7/dist-packages/virtualenv_support': Permission deni
- 2019最新Windows上安装并启动ElasticSearch6.5.4
- 【分布式】熔断、降级傻傻分不清楚-熔断和降级的真实关系
- better-scroll的使用