【脑电信号】基于matlab小波变换脑电信号特征提取【含Matlab源码 511期】

news/2024/11/25 17:30:23/

⛄一、小波变换简介

小波变换是从20世纪80年代起逐渐发展成熟的一项数学应用技术,具有对时间—频率的双重分析和多分辨率分析能力,目前已经广泛应用于图像处理、模式识别等多个领域。小波变换的窗口大小固定但形状可改变,因此能够满足时域—频域局部化分析要求[22]。离散小波变换比连续小波变换的去噪效果更好,更适用于实际应用。

小波变换首先通过分解信号,使信号的能量集中在一些大的小波系数中,而噪声的能量分布于整个小波域内;然后通过阈值降噪,选择合适的阈值将有用信号的系数保留,将噪声信号的系数置零,从而去除噪声;最后再对经过阈值降噪后的系数进行重构,得到去除噪声后的信号。

常用的小波基函数有Meyer小波、Coiflet(coif N)小波、Daubechies(db N)小波等[9]。为得到较好的去噪效果,所选取的小波基函数在对心电信号进行分解时,应尽量保留心电信号中的有用分量,同时使噪声分解对应的小波系数差异尽可能大。Coiflet4小波基与心电信号的波形最为相似,同时与输出信号具有良好的相关性,重构后的信号信噪比大、均方误差小,因此本文选用Coiflet4小波基进行小波分解。

⛄二、部分源代码

% Extract Discrete Wavelet Transform (DWT) Feature
close all; clear; clc;

load dataset_BCIcomp1.mat
Y=y_train;

% Range is 0 to 9 sec
startS=0;
endS=9;
wStep=1;
wRange=9;

X=extractDWT(x_train,startS,endS,wStep,wRange);
T=extractDWT(x_test,startS,endS,wStep,wRange);
save dataDWT.mat X Y T

color_L = [0 102 255] ./ 255;
color_R = [255, 0, 102] ./ 255;

pos = find(Y==1);
plot(X(pos,1),X(pos,2),‘x’,‘Color’,color_L,‘LineWidth’,2);

hold on
pos = find(Y==2);
plot(X(pos,1),X(pos,2),‘o’,‘Color’,color_R,‘LineWidth’,2);
function X=extractDWT(x_train,startS,endS,wStep,wRange)
% x_train = input signal
% startS = from second
% endS = end second
% wStep = overlapping
% wRange = window size
FS=128;

N=size(x_train,3);
sz=floor((endS-(startS+wRange))/wStep)+1;
X=zeros(sz*140,2);
cn=0;
for i=1:N

for sig=startS:wStep:endS-wRangesW=sig*FS+1;eW=(sig+wRange)*FS;C3Sig=x_train(sW:eW,1,i);C4Sig=x_train(sW:eW,3,i);waveletFunction = 'db4';waveletLevel=3;[wCoe,L] = wavedec(C3Sig,waveletLevel,waveletFunction);C3D3 = detcoef(wCoe,L,3);   % Mu[wCoe,L] = wavedec(C4Sig,waveletLevel,waveletFunction);C4D3 = detcoef(wCoe,L,3);  % Mu

⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]宋玉龙,赵冕,郑威.基于小波变换和样本熵的脑电信号癫痫特征提取[J].计算机与数字工程. 2020,48(06)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除


http://www.ppmy.cn/news/694930.html

相关文章

心电信号采集原理及电路设计

心电测量搜索 1、心电记录电路设计(框图/波形以及信号放大器的选择)_纪客老白的博客-CSDN博客 2、心电信号检测电路设计与制作_weixin_30815427的博客-CSDN博客 3、心电电路算法滤波_简述心电信号采集原理及电路设计_weixin_39890629的博客-CSDN博客 4、关于ADS1292测心率心…

脑电信号分析

背景介绍 脑电一般指大脑皮层产生的连续节律性变化,广泛用于神经科学研究、临床诊断和治疗等领域。科研人员根据频率可以将脑电分为四种:α波、β波、θ波、δ波,不同的脑电波代表了人体不同的精神状态:当人们处于比较紧张的情况时…

【脑电信号分类】脑电信号提取PSD功率谱密度特征

本文是由CSDN用户[frostime]授权分享。主要介绍了脑电信号提取PSD功率谱密度特征,包括:功率谱密度理论基础、matlab中PSD函数的使用介绍以及实验示例。感谢 frostime! 1. 序言 脑电信号是一种非平稳的随机信号,一般而言随机信号的…

(一)信号及脉冲电信号

目录 #电磁波回顾#信号 分类按照幅值是否连续分类 模拟信号数字信号 按信号载体分类(用什么来表述信号的信息) 电信号 电压信号电流信号(直流电、交流电、脉冲电)电磁波中的无线电信号 波信号(机械波、电磁波) 按传输介质分类(传输的都是电磁波) 有线信号(电线传输的电信号、光…

基于MATLAB的心电信号预处理

这是前段时间做的一个课程设计,做的比较简单,没有考虑到太细,只是初步地达到了想要的效果。这次设计主要是对心电信号进行预处理,将其信号中包含的一些干扰滤除或者抑制掉。 一、心电信号 (1)心电信号的特性…

心电信号去噪(part1)--心电信号简介

开一个坑总结一下最近学的ECG滤波算法,先对心电图和心电信号做一下简要介绍 注:这里是以小型手持心电图机为研究对象的(单导联)。 心电图介绍 心电图(electrocardiogram,ECG)能反映心脏兴奋的电活动过程,它在心脏基本功能及病理研究方面具有重要的参…

二、生理信号处理 ——1.心电信号(含Matlab代码及数据)

本文适合快速了解心电信号,并能够进行数据的滤波处理。 一. 心电数据预处理(消除工频干扰、基线漂移) * 心电数据及rdmat函数见文章底部 1. 导入心电数据 ## 心电图导入及读取 clc; [TIME,M,Fs,siginfo]rdmat(100m);# 通过读取函数ramat对心电图进行处理 Fs1500;…

Matlab心电信号预处理

Matlab心电信号预处理 一、内容 在网上下载心电信号的公开数据库,实现对心电信号的预处理,包括噪声去除、肌电干扰的去除、工频干扰的抑制、基线漂移的纠正等。 二、实验原理 1、肌电干扰的滤除 肌电干扰由人体肌肉颤动引起,发生率具有随机性…