【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(Python&Matlab代码实现)

这篇具有很好参考价值的文章主要介绍了【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(Python&Matlab代码实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Python、Matlab代码实现


💥1 概述

文献来源:

【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(Python&Matlab代码实现)

 瞬时能量的信号处理测量通常只包括幅度信息。但是,包括幅度和频率的测量在评估系统产生信号所需的能量方面做得更好,这使得它们成为更敏感的测量,可以包含在脑电图(EEG)分析中。Teager-Kaiser算子是EEG分析中经常使用的频率加权度量,尽管该算子在常见信号处理概念方面的定义很差。我们提出了一种替代的频率加权能量度量,它使用信号导数的包络。这种简单的包络导数算子具有非负的优点,当应用于新生儿脑电图的检测应用时,它比Teager-Kaiser算子提高了性能:在没有后处理滤波器的情况下,Teager-Kaiser算子的接收器工作特性曲线(AUC)下面积为0.57,包络导数算子为0.80。包络导数算子还满足与 Teager-Kaiser 算子类似的重要属性,例如跟踪瞬时幅度和频率。

原文摘要:

Abstract:

Signal processing measures of instantaneous energy typically include only amplitude information. But measures that include both amplitude and frequency do better at assessing the energy required by the system to generate the signal, making them more sensitive measures to include in electroencephalogram (EEG) analysis. The Teager-Kaiser operator is a frequency-weighted measure that is frequently used in EEG analysis, although the operator is poorly defined in terms of common signal processing concepts. We propose an alternative frequency-weighted energy measure that uses the envelope of the derivative of the signal. This simple envelope- derivative operator has the advantage of being nonnegative, which when applied to a detection application in newborn EEG improves performance over the Teager-Kaiser operator: without post-processing filters, area-under the receiver-operating characteristic curve (AUC) is 0.57 for the Teager-Kaiser operator and 0.80 for the envelope-derivative operator. The envelope-derivative operator also satisfies important properties, similar to the Teager-Kaiser operator, such as tracking instantaneous amplitude and frequency.

能量是一个难以在信号处理环境中定义的术语。信号处理的定义与物理学中使用的定义不同,物理学是衡量系统中完成的工作(或可以完成的工作)的度量,因为我们通常不知道或无法访问生成信号的系统。例如,信号处理定义仅评估幅度,并为两个单位幅度信号分配相同的值,一个在1 Hz,另一个在1 000 Hz,即使生成这些信号的能量(完成的工作)可能不同。

为了解决这一不足,Kaiser根据Teager以前未发表的工作提出了一种能量测量,不仅包括幅度,还包括信号的频率[1]。使用这个Teager-Kaiser定义,不同频率的单位幅度信号显示出不同的能量。这个定义通常被称为非线性能量算子,也不同于经典的能量测量,因为它是一种瞬时测量;也就是说,它是时间的函数,可以跟踪信号的变化,从而跟踪系统能量的变化。

这种Teager-Kaiser测量已被应用于生物医学信号处理的许多领域,包括脑电图(EEG)分析[2],[3]。这个Teager-Kaiser算子的一个局限性是解释:测度是包含二阶微分方程的非线性系统的输出。在大多数脑电图应用中,操作员有大量的后处理,这让人怀疑这种措施的适用性。我们建议从信号处理前景研究Teager-Kaiser算子,并在新生儿记录的脑电图数据集上测试我们的结论。

📚2 运行结果

【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(Python&Matlab代码实现)

【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(Python&Matlab代码实现) 【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(Python&Matlab代码实现)

【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(Python&Matlab代码实现)

【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(Python&Matlab代码实现)

主函数代码:

print('\n' + start_message)

# -------------------------------------------------------------------
# Test #1: EDO with sum of 2 sinusoids
# -------------------------------------------------------------------
print('\n\n ------------------------------------------')
print(' 1. test EDO and compare with Teager-Kaiser operator')

# 1. generate 2 sinusoidal signals
N = 256
n = np.arange(N)
w = (np.pi / (N / 32), np.pi / (N / 8))
ph = (-np.pi + 2 * np.pi * np.random.rand(1),
      -np.pi + 2 * np.pi * np.random.rand(1))
a = (1.3, 3.1)
x = a[0] * np.cos(w[0] * n + ph[0]) + a[1] * np.cos(w[1] * n + ph[1])

# 2. estimate the EDO
x_edo = edo.gen_edo(x, True)

# 3. generate Teager--Kaiser operator for comparison:
x_nleo = general_nleo.specific_nleo(x, type='teager')

# 4. plot
fig, ax = plt.subplots(nrows=2, ncols=1, num=1, clear=True)
ax[0].plot(x, '-', label='test signal')
ax[1].plot(x_edo, '-', label='EDO')
ax[1].plot(x_nleo, label='Teager-Kaiser')
ax[0].legend(loc='upper right')
ax[1].legend(loc='upper left')
plt.pause(0.0001)

input("\n Any key to continue...")


# -------------------------------------------------------------------
# Test #2: EDO with Gaussian white noise
# -------------------------------------------------------------------
print('\n\n ------------------------------------------')
print(' 2. test EDO with Gaussian random noise')
# 1. test with random signal:
edo.test_edo_random()

input("\n Any key to continue...")

# -------------------------------------------------------------------
# Test #3: EDO with 4 different signal types
# -------------------------------------------------------------------
print('\n\n ------------------------------------------')
print(' 3. test EDO with different types and plot against expected ')
print('    frequency-weighted energy')
# 2. test with lots of different signals:
test_edo.do_all_tone_tests()

input("\n Any key to continue...")

# -------------------------------------------------------------------
# Test #4: compare different versions of the NLEO operator of the form:
# Ψ(n) = x(n-l)x(n-p) - x(n-q)x(n-s)
# -------------------------------------------------------------------
print('\n\n ------------------------------------------')
print(' 4. compare different NLEO of the form: x(n-l)x(n-p) - x(n-q)x(n-s)')

# 1. get test signal:
x1 = gen_test_signals.gen_signals('4', False)

# 2. compare methods based on the general NLEO expression:
general_nleo.test_compare_nleos(x1['x'], True)


input("\n Any key to finish.")


# -------------------------------------------------------------------
# compare with Matlab
# -------------------------------------------------------------------
# from test_functions import compare_matlab as cmp

# # load .csv files and compare with Matlab:
# cmp.test_compare_all_files()

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。文章来源地址https://www.toymoban.com/news/detail-478271.html

[1] JM O' Toole, A Temko, NJ Stevenson, “Assessing instantaneous energy in the 
EEG: a non-negative, frequency-weighted energy operator”, IEEE Int. Conf.
on Eng. in Medicine and Biology, Chicago, August 2014

🌈4 Python、Matlab代码实现

到了这里,关于【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(Python&Matlab代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • EEG&CNN深度学习神经网络前置:处理EEG脑电信号生成时频图dataset

    2023/3/9 -3/11 脑机接口学习内容一览:                  前段时间做了比较多的提取频谱特征来进行机器学习,进而完成模式识别的任务。在这这一篇博客中,将尝试使用EEG信号,主要使用plt.specgram()函数来生成脑电信号的时频图dataset,为接下来使用神经网络进行深度学

    2024年02月06日
    浏览(38)
  • 实现非负大整数相加

    2024年02月09日
    浏览(39)
  • 电力系统中的惯量是什么?储能在系统频率稳定中起作用的方法

    在物理角度上惯性定义为:物体抵抗扰动其运动状态的外界力量的能力。 在电力系统里面,我们常称之为惯量,是表示储存在转子中的动能,单位MW·S,表达式:  E为旋转动能,J为转动惯量,ω为发电机的额定角速度,r为转动半径,m为刚体的质量。除此之外,也可以用惯性

    2024年02月06日
    浏览(40)
  • 机器学习中的数学原理——模型评估与交叉验证

    惭愧惭愧!机器学习中的数学原理这个专栏已经很久没有更新了!前段时间一直在学习深度学习,paddlepaddle,刷题专栏跟新了,这个专栏就被打入冷宫了。这个专栏名为 白话机器学习中数学学习笔记 ,主要是用来分享一下我在 机器学习中的学习笔记及一些感悟,也希望对你

    2024年01月15日
    浏览(115)
  • .NET弹性和瞬时处理库Polly:理解并实现七种策略

    本文详细介绍了.NET弹性和瞬时处理库Polly的七种策略,包括重试、断路、超时、隔离、回退、缓存和策略包。文章还提供了如何通过NuGet安装Polly类库,以及如何在代码中实现这些策略的示例。

    2024年01月21日
    浏览(38)
  • JIT逆优化引发的Java服务瞬时抖动 问题排查&解决方案

    目录 一、背景 二、前期排查(失败) 三、使用神器JFR 四、学习JIT思考解决方案 五、最终的解决方案 六、总结 我们有一个QPS较高、机器数较多的Java服务;该服务的TP9999一般为几十ms,但偶尔会突然飙升至数秒,并会在几秒内自动恢复(抖动期间伴随着CPU占用100%、线程池大

    2024年02月21日
    浏览(42)
  • LLM - 训练与推理过程中的 GPU 算力评估

    目录 一.引言 二.FLOPs 和 TFLOPs ◆ FLOPs [Floating point Opearation Per Second] ◆ TFLOPs [Tera Floating point Opearation Per Second] 三.训练阶段的 GPU 消耗 ◆ 影响训练的因素 ◆ GPT-3 训练统计 ◆ 自定义训练 GPU 评估 四.推理阶段的 GPU 消耗 ◆ 影响推理的因素 ◆ 自定义推理 GPU 评估 ◆ 计算差异

    2024年02月06日
    浏览(37)
  • EEG-GNN论文阅读和分析:《EEG Emotion Recognition Using Dynamical Graph Convolutional Neural Networks》

    下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊。 数据集 1、脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED 相关论文阅读分析: 1、EEG-SEED数据集作者的—基线论文阅读和分析 2、图神经网络EEG论文阅读和分析:《

    2024年02月07日
    浏览(48)
  • 【​电力电子在电力系统中的应用​】4 频率突变情况下的三相逆变电路工作状态

    【仅供参考 】 【2023.03西南交大电力电子在电力系统中的应用】 目录 0 仿真要求 1 仿真电路搭建 2 波形记录及分析         1.在MATLAB/Simulink中搭建三相逆变电路仿真模型;         2.给出逆变给定电压参考、调制波形;         3.仿真分析带载的交流电压波形、交流电

    2024年01月17日
    浏览(51)
  • 将VMware平台虚拟机瞬时恢复并在线迁移至深信服Sangfor平台

    1、进入虚拟机备份系统  2、选择【 虚拟机保护 】——【 瞬时恢复 】,新建恢复任务,选择需要进行瞬时恢复任务的源虚拟化平台【 VMware vSphere 】,勾选需要恢复的备份点,点击【 下一步 】 3、设置恢复目标,选择需要进行瞬时恢复的目标虚拟化平台【 Sangfor 】的宿主机

    2024年01月21日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包