0%

0 音频信号与肌电信号的相似之处

尽管音频信号和肌电信号在来源、性质和用途上有显著差异,但它们之间也存在一些相似之处,尤其是在处理和分析这些信号的方法上。以下是音频信号与肌电信号的一些相似点:

Read more »

提出了一种新的自适应肌电图(EMG)分解算法,该算法基于盲源分离方法,利用信号的Kullback-Leibler散度和峰度作为在线学习的度量。所提出的方法提供了一个理论框架,用于调整自适应超参数,补偿混合矩阵中的非平稳性,例如由于动态收缩引起的非平稳,并识别潜在的运动神经元(MN)放电。自适应是实时执行的(每100毫秒批次计算时间约为22毫秒)。

所提出的适应的超参数捕捉了记录位置(前臂与手腕)之间的解剖差异,并在受试者中推广。一旦优化,所提出的自适应算法相较于没有自适应的显著提高了所有分解性能指标,在手腕的大范围运动(80◦)中。根据双源验证方法,在80%的模拟和实验记录数据中,一致率、灵敏度和精度均为90%。

同样是在滑动窗口中调整超参数,Mendez Guerra et al. 通过

Intro

文章提出了一种基于卡尔曼的分解算法,在等速收缩下(isokinetic contraction),比原始的 CKC 算法和 cyclostationary CKC 算法能够分解出更多的 MU。

发放模式由论文A. Fuglevand, D. Winter, and A. Patla, ‘‘Models of recruitment andrate coding organization in motor-unit pools,’’ 提供理论支撑。总共假设200个MU在表面电极的检测体积中是活性的。招募时,MU开始以8 Hz的频率放电,并在最大肌肉兴奋时将放电频率线性增加到35 Hz。MU间期变异性呈正态分布,变异系数设置为20%。MU招募顺序呈指数分布,有许多低阈值MU,高阈值MU逐渐减少。最后一个MU是在最大肌肉兴奋度的80%时招募的。模拟了10%和30%的静止肌肉兴奋,每次收缩分别产生105和155个活动MU。

在动态肌肉收缩以及严重肌肉疲劳的情况下,MUAP会随时间变化,这增加了EMG分解对单个MU贡献的复杂性。

已经提出了不同的策略来应对这一挑战[14],[17]。它们都包括某种MU跟踪。例如,动态肌肉收缩可以在时间上重复,从而产生循环平稳的MUAP形状。在[17]中,该属性被用来更新不同收缩重复的MU滤波器估计值,从而成功地跟踪了重复动态条件下的MU发射模式。

在这项研究中,我们通过MU滤波器预测的能力扩展了EMG混合模型跟踪。我们首先通过线性外推之前记录的MUAP变化来证明MU滤波器预测的能力。随后,我们提出了在动态肌电条件下基于卡尔曼滤波器的MU滤波器更新方法。我们通过模拟的、已知的MU发射与实验记录的MUAP卷积,证明了这种提出的方法在肱二头肌动态收缩方面的效率。我们将提出的分解方案应用于具有不同噪声水平和不同肌肉收缩速度的模拟EMG信号。

然后,我们根据内部参数选择系统地测试了所提出的基于卡尔曼的MU滤波器更新方案。最后,我们将本文提出的分解方法与之前发表的用于等长肌肉收缩的卷积核补偿算法[8]、[18]以及最近提出的用于重复动态收缩的循环平稳CKC算法[17]进行了比较。

在动态肌肉收缩过程中,这些变化是渐进且连续的。如果我们能够追踪甚至预测这些变化,即便仅依据用于构建运动单位滤波器(公式(6))的F个样本长度的运动单位动作电位(MUAP)片段,我们也能够预测最优运动单位滤波器的变化,从而改进动态条件下对运动单位发放序列的估计。

就是说 MUAP 变化是分段线性的,因此分离向量变化也是连续的。

KRAMBERGER 等人研究发现 MUAP 变化是分段线性的,因而能够通过线性外推来预测其他收缩水平下 MUAP,然后基于预测的 MUAP 变化,设计了一个卡尔曼滤波器来生成不同肌肉收缩水平下的分离向量,从而识别该收缩状态下的发放序列。在肌肉匀速动态收缩下,该方法获得了比原始 CKC 算法以及 cyclostationary CKC 更好的分解效果。

the MUAPs at other contraction levels could be predicted through linear extrapolation. Then, a Kalman filter was designed to track the separation filters at different muscle contraction levels based on the predicted changes of MUAPs.

这篇文章采集的数据是各个角度和收缩水平下的等长收缩数据

“gold standard” verification techniques”

在这里,我们提出了一种实时MU解码算法,当观察到的MU出现新的动作电位时,该算法会更新MU滤波器和信号预处理变换。

观测值的进一步预处理包括零相位分量分析(ZCA)球化,这有助于FastICA的收敛[26]。

传统方法存在的问题:将训练数据得到的分解参数直接用于新的窗口。尖峰信号并不是通过聚类来识别脉冲的,而是通过保留的训练数据中的质心。通过松弛因子来放宽要求,虽然放宽决策边界可能会降低错过尖峰的可能性,但也可能导致误报的增加。为了解决这个问题,我们建议在检测到潜在尖峰事件时调整MU滤波器和预处理变换。

在伪在线测试中,进行了多次试验,以评估所提出的自适应MU解码算法在不同收缩条件下的鲁棒性。在每次试验中,解码算法从一次重复中初始化,然后应用于提取另一次的MU活动。在这里,数据以200毫秒的窗口和100毫秒的时间增量馈送,从而模拟实时部署。

我们提出了一种自适应算法,用于从HD sEMG中解码MU活动,该算法在获取新的测量值时实时更新其内部参数。Intra-condition、Inter-angle、Inter-force

Yeung et al. proposed real-time adaption of three parameters when potential spike were separeted from new data window. Compared to static decoding, the proposed algorithm could significantly achieve higher accuricies across different wrist angles and contraction intensities.

我们提出了一种新颖的自适应肌电图(EMG)分解算法,该算法基于盲源分离方法,利用信号的库尔贝克 - 莱布勒散度和峰度作为在线学习的度量指标。 所提出的方法提供了一个理论框架,用于调整自适应超参数,补偿混合矩阵中因动态收缩等因素导致的非平稳性,并识别潜在的运动神经元(MN)放电情况。 所提出的自适应方法的超参数体现了不同记录位置(前臂与手腕)之间的解剖学差异,且在不同个体间具有通用性。 经过优化后,在手腕大范围(80 度)的运动中,相较于未采用自适应的情况,所提出的自适应算法显著提升了所有分解性能指标。

本文用 3 个 adaption 来不断更新动态下的参数:

  1. 更新白化矩阵
  2. 更新分离向量
  3. 更新尖峰选取
Read more »

OpenSim 把 EMG 当成参数来更好地估计肌腱的动态参数,并不是直接生成 EMG 肌电信号。Fuglevand 的模型被广泛用于肌肉力,运动神经元活动,和肌电信号的研究,但是受限于等长收缩。

Reasons for the lack of an integrated and precise EMG simulator feasible for voluntary movements:

  1. the absence of models that link EMG generation to movement biomechanics
  2. current advanced EMG models are not efficient enough to adapt to the non-stationary physiological parameters during voluntary movements

上述两个问题被之前所提出的模型 BioMime 解决。

Ma S, Clarke AK, Maksymenko K, Deslauriers-Gauthier S, Sheng X, Zhu X, et al. Conditional generative models for simulation of EMG during naturalistic movements. arXiv:2211.01856 [preprint], 2022. Available from https://arxiv.org/abs/2211.01856.

BioMime:

  • 输入:physilogical parameters
  • 输出:dynamic MUAP signals

NeuroMotion 包含 3 个模块:

  • MSK: define and visualise the movement and estimating the muscle fibre lengths and muscle activations during the movement.
  • BioMime: utilise muscle fibre lengths to simulate the dynamic MUAPs during the movement.
  • Motor unit pool: receives the neural inputs derived from the muscle activations and outputs stimulations to each muscle in the format of spike trains.

Toolbox functions

  1. define the movement of the ARMs model (Section Define movement)
  2. track the changes in physiological parameters (Section Estimate parameter changes)
  3. set common drives to motoneuron pools (Section Set neural inputs to motoneuron pools)
  4. define the structure of motor unit pools (Section Configure motor unit pools)

Redis

步骤 1: 安装 Redis

如果你还没有安装 Redis,可以通过以下命令进行安装:

1
2
sudo apt update
sudo apt install redis-server

安装完成后,Redis服务会自动启动。你可以通过以下命令检查 Redis 服务状态:

1
sudo systemctl status redis-server

步骤 2: 使用 Redis CLI

Redis 提供了一个命令行工具 redis-cli 来与 Redis 数据库交互。你可以使用这个工具来执行各种 Redis 命令。

打开终端并输入 redis-cli 进入 Redis 命令行界面:

1
redis-cli

步骤 3: 输入密码

通过 redis-cli 进入客户端之后,使用 AUTH 命令输入密码:

1
127.0.0.1:6379> AUTH password

步骤 4: 输入密码

redis-cli 中,使用 SET 命令可以向 Redis 中添加或更新一个字符串值。语法如下:

1
SET key value

Mysql

步骤 1: 安装

1
2
sudo apt update
sudo apt install mysql-server

步骤 2: 使用root用户登录

1
2
3
4
5
# 登录mysql并输入密码
mysql -u root -p

# mysql8 修改密码方式
alter user 'root'@'localhost' identified by '这里填你要的密码';

步骤 3: 退出MySQL命令行

1
mysql> quit

步骤 4: 创建用户(用于客户端登陆)

1
CREATE USER 'username'@'host' IDENTIFIED BY 'password';

大脑

大脑构成

  • 本能脑,形成时间最久,3.6 亿年
  • 情绪脑,形成时间两亿年
  • 理智脑,最年轻,话语权也最小

我们要尽可能的开发理智脑,但是不是通过单纯的毅力去克服,而是要提升认知,让理智脑去说服本能脑和情绪脑。如何训练理智脑:

  • 立足长远
  • 克制风险
  • 保持耐心
  • 抵制诱惑
Read more »

  1. 下载 boost 压缩包,并解压

  2. 运行 booststrap.bat 批处理文件,这个文件会生成 b2.exe

    b2.exe 是 Boost Build 工具的可执行文件,Boost Build 是用于构建 Boost 库以及基于 Boost 开发的项目的工具,它在 Boost 生态系统中扮演着重要角色,主要功能如下:

    1. 编译 Boost 库:Boost 库包含大量的功能模块,如字符串处理、线程支持、智能指针等。b2.exe 能够根据不同的平台(Windows、Linux、macOS 等)和编译选项,将 Boost 库的源代码编译成相应的库文件(静态库或动态库)。例如,在 Windows 系统上,使用 b2.exe 可以生成 .lib(静态库)和 .dll(动态库)文件,方便在项目中使用 Boost 库的功能。
    2. 定制编译选项:允许开发者根据需求定制 Boost 库的编译行为。可以指定要编译的 Boost 模块,选择不同的优化级别、调试信息生成方式等。比如,开发者可以只编译项目中实际需要的 Boost 模块,以减少编译时间和库文件的大小。
    3. 构建基于 Boost 的项目:除了编译 Boost 库本身,b2.exe 也可用于构建使用了 Boost 库的项目。它能够识别项目中的源文件、头文件以及与 Boost 库的依赖关系,按照正确的顺序进行编译和链接,生成可执行文件或其他目标产物。
  3. 使用 b2.exe 编译的时候可以指定编译参数

    Read more »

Reliable EMG decomposition technique is very importance for understanding the neurophysiology, diagnosis and tracking the progress of motor neuron diseases or neuromuscular disorders [11], [26], [29]. In this article, a novel sEMG decomposition algorithm specifically suitable for dynamic contraction was proposed. By combining the NMF and LMMSE, the EFT was firstly extracted from the eigenvector matrix. Then the firing instants of each EFT were classified into MUs according to their specific 3D space positions.

Read more »