计算三角洲EEG信号的力量

98(30天)
迈克尔
迈克尔 2012年3月6日
评论道: 瓦拉希德2021年3月9日
我想计算脑电图记录的“三角洲力量”在一觉。从原始的脑电图信号(在微伏),我试图做的小窗的短时傅里叶变换(STFT)的原始信号,然后分析输出的范围0.5 - 4赫兹(δ)。
我有很多疑问1)应该如何理想STFTs计算;2)如何用Matlab计算STFTs;和3)如何平均结果感兴趣的频段和时间范围。
我很抱歉这篇文章的长度。很明显,我应该在信号处理课程,但是生命是短暂的,我在我的职业生涯中,没有时间去学习从第一原则。任何帮助缓解我的无知这将不胜感激。
作为背景,我运行与信号处理工具箱Matlab 7.5.0.342 WinXP机器上(64位)。
1)我的理解是,我可以把我的原始光谱图脑电图信号来实现STFTs。这似乎合理吗?而不是剪下小原始信号的时间窗,汉宁窗口,计算FFT计算输出的力量,继续下一个窗口,泡沫冲洗重复,等等…
2)由于某种原因,我有两个谱图功能:“声谱图”和“specgram”。后者可能是第三方。当我试图叫声谱图,它给了我错误:未定义的函数或方法“gencoswin”“汉明”在14。是specgram /光谱图不包含在信号处理工具箱吗?这是一个授权错误吗?这两个函数有什么很大的区别吗?
3)上的几篇文章我读的过程中提取三角洲力量把信号分为4 s windows (= nfft),平均计算STFT,然后在其中的几个窗口(例如,avg力量在20年代windows)。一些作者还平均频率本为了得到一个估计的权力范围0.5 - 4赫兹。通常是没有指定这个平均是如何实现的:因为abs、广场和日志是非线性的,这很重要当我在频率和平均时间垃圾箱。任何建议平均步应该做什么(例如,我应该平均日志PSD或日志PSD的平均吗?)
4)3)有关,是输出b specgram平方单位(或在光谱图)?
5)现在,我使用一个窗口的大小nfft。在这种情况下,我认为不可能有重叠,是真的吗?有什么问题不重叠的信号呢?
6)假设我20多岁的片段的原始信号。然后我计算一个谱图的窗口大小(nfft) 4 s。我希望时间是5箱和奈奎斯特* 4(+ 1)频率垃圾箱。我得到这个结果(例如,f =尼奎斯特* 4 + 1;t = 5),但是当我策划的输出(冲浪),它从约秒,不是0-20秒。也就是说,这是策划4次windows从0 - 4,4 - 8人,8 - 12,12日至16日。如果我提高时间分辨率(但恶化我的光谱分辨率),我得到了接近20多岁的窗户。有一个理想的平衡吗?如果我去nfft = 4 s,然后我要开始下一个20多岁时窗4 s窗口后面,为了弥补损失的窗口从16 - 20 ?
7)在旧报纸,窗外是一个货车车厢nfft的长度。我认为specgram汉宁窗。有没有一种方法来指定specgram货车车厢吗?
8)最后,另一个方法是做这一切在时域:生成一个,说,切比雪夫型带通滤波器之间0.5和4赫兹;过滤器原始脑电图信号与这些多项式系数(使用filtfilt避免相移误差);然后简单地计算1噩权力形式的过滤值10 * log10 (x2。^ 2 + 1)(+ 1是消除分数的信号,这将产生负日志记录)。这产生上述谱图的版本一样吗?
谢谢你的帮助

答案(8)

Kosai
Kosai 2012年3月7日
你好迈克尔,我将回答你的问题的计算Delta-Power:一开始你不需要使用提取Delta-Band-Information STFT,只是你必须使用Wavelet-Decompostion-Analysis(看看Wavelet-ToolBox),最重要的一点,小波分析是确定Sampling-Freqeny EEG-Data-Row (Fs),我将假设您(Fs = 1000赫兹为例),所以我们需要一个Wavelete-Decompostion-Analysis水平(8)有着带频= 4赫兹(Delta-Band),只需输入以下命令:
S =“你的EEG-Data-Row”;
waveletFunction =“db8”“sym8”或“coif5’或‘db4”;
[C、L] = wavedec (waveletFunction年代,8日);
% %计算Coificients向量
cD1 = detcoef (C、L、1);%的
张= detcoef (C、L、2);%的
cD3 = detcoef (C、L、3);%的
cD4 = detcoef (C、L, 4);%的
cD5 = detcoef (C、L、5);%伽马
cD6 = detcoef (C、L、6);
cD7 = detcoef (C、L、7);
cD8 = detcoef (C、L、8);
cA8 = appcoef (C、L waveletFunction 8);%△
% % % %计算向量的细节
D1 = wrcoef (' d 'C L waveletFunction, 1);%的
D2 = wrcoef (' d 'C L waveletFunction, 2);%的
D3 = wrcoef (' d 'C L waveletFunction 3);%的
D4 = wrcoef (' d 'C L waveletFunction 4);%的
D5 = wrcoef (' d 'C L waveletFunction 5);
D6 = wrcoef (' d 'C L waveletFunction 6);
D7 = wrcoef (' d 'C L waveletFunction 7);
D8 = wrcoef (' d 'C L waveletFunction 8);
A8 = wrcoef (“一个”C L waveletFunction 8);%△
POWER_DELTA = (sum (A8。^ 2)) /长度(A8);
我希望,这将帮助你…
10评论
vinay kulkarni
vinay kulkarni 2020年7月17日
编辑:vinay kulkarni 2020年7月17日
@sunidhi gupta我面临同样的错误。我添加了以下行:
Data_Name = Data_Name (:);
它在我的代码工作。
它可以帮助你。

登录置评。


Shitanshu Mishra
Shitanshu Mishra 2012年3月21日
感谢Kosai这样一个支持....我的脑电图数据采样频率256赫兹,我想从给定的主要信号中提取信号的乐队。请告诉我有多少水平,我应该分解信号Fs = 256 ?还告诉我,/我最后所有5波段信号是如何回来的时候,他们怎么能被检索是分开的吗?(我的意思是在变量或函数)什么?
谢谢你的帮助,直到现在,请帮一点忙。的问候。Shitanshu Mishra

Shitanshu Mishra
Shitanshu Mishra 2012年3月21日
另外:
δ4
θ4 - 8
阿尔法8 - 13
β> 13 - 30
γ30 - 10
请帮我我怎么能提取所有5五个波段信号。我的新小波分解。
5个评论
总裁康德
总裁康德 2017年10月20日
谢谢你伟大的解释。我有一个疑问,你说三角洲0-4Hz但在文档是作为0.5 - 4赫兹。的问题是关于降低频率,不会0.0 - -0.5赫兹的信号作用的剩余部分相同吗?

登录置评。


Salaheldin
Salaheldin 2012年5月10日
嗨Kosai,
非常感谢你这个非常有用的代码。我有两个问题:(1)为什么我们需要cD = detcoef cA = appcoef()和()命令吗?我们不使用cD或cA变量在任何操作。(2)如何计算每个分解的能力水平,更具体地说,乐队的利益(αγ、β,δ,θ)?
最后一点,如果我的采样频率是2000,然后我需要9分解级别捕获感兴趣的乐队在上面的expample,不是吗?
非常感谢! ! !
1评论
Kosai
Kosai 2012年6月7日
嗨Salaheldin,
其实我们不需要的(cD,…, cA)但我包括他们在代码中有一个更好的视觉Coificients和向量小波细节。
的权力,只是计算每个频带的能量(能量=权力= abs (sum (myBand。^ 2)))
如果你的Fs 2000是的你需要9分解水平。

登录置评。


Riheen
Riheen 2013年2月26日
编辑:Riheen 2013年2月26日
嗨KOSAI,伟大的解释。我有一个问题。假设,我的数据是抽样500 hz。所以,根据Nyqusit定理有250赫兹频段。我过滤信号0 - 64赫兹。我需要0-8Hz乐队。现在需要分解级别3或5多少钱? ?抽样freuency总是500 Hz。

石狮
石狮 2014年3月27日
谢谢Kosai,你的代码和解释对我很有帮助。Riheen提到我想补充的是,采样频率(Fs)是基于奈奎斯特频率谱定理的两倍。因此,如果采样频率为1000赫兹的频率谱是500 hz,我们需要7的分解得到δ乐队水平。您还可以参考下面的论文中,作者使用相同的方法。有图的离散小波包变换(方法),真正显示了分解水平。
脑电图的采样频率为128赫兹。

VENKATA PHANIKRISHNA B
VENKATA PHANIKRISHNA B 2017年5月15日
编辑:VENKATA PHANIKRISHNA B 2017年5月15日
分解水平决定取决于
smaple频率。它是好的。分解后
[C、L] = wavedec (mySignal 8 waveletFunction);
cD8 = detcoef (C、L、8);%θ
cA8 = appcoef (C、L waveletFunction 8);%△
D8 = wrcoef (' d ' C L, waveletFunction, 8);%θ
A8 = wrcoef (a、C、L、waveletFunction 8);%△
在两个哪一个是正确的获得θ和δEEG信号的分解。计算功率和能量θ和伽马分解后的信号是正确的“CD”或“一”。请提供清晰。
谢谢你!

Jae月球
Jae月球 2017年12月1日
我有一个脑电图数据集,使用采样频率为512。我想只提取β频带(16-32Hz)。我需要什么层次的分解?
1评论
瓦拉希德
瓦拉希德 2021年3月9日
你可能需要6日据Kosai逻辑。
Kosai !我试着编写代码来找到水平分解后你的逻辑。如果我错了,请纠正我。
fs = 512;L = wmaxlev (fs, db8);水平= L +圆(L / 4)
给6 512年8 1000年256年9 2000年5。有趣的是,它给了4 128年,64年和3。
Kosai现在我有一个问题,或任何人谁能回答这个问题。我有5000 Fs信号,从上面的逻辑,它需要10的分解水平(如果我没有错)。请让我知道如果格兰来源是正确的提取三角洲后,θ,α,β和γ波从任何信号(比如inputsignal)。
waveletFunction =“db8”;
[C、L] = wavedec (inputsignal 10 waveletFunction);
γ= wrcoef (' d ' C L, waveletFunction, 7);
β= wrcoef (' d ' C L, waveletFunction, 8);
α= wrcoef (' d ' C L, waveletFunction, 9);
θ= wrcoef (' d ' C L, waveletFunction, 10);
δ= wrcoef (a、C、L、waveletFunction 10);
…和1 - 6是噪音,对吧?

登录置评。