CN110236538B - 一种基于肌电信号的运动起始点自动实时检测方法 - Google Patents
一种基于肌电信号的运动起始点自动实时检测方法 Download PDFInfo
- Publication number
- CN110236538B CN110236538B CN201910542183.2A CN201910542183A CN110236538B CN 110236538 B CN110236538 B CN 110236538B CN 201910542183 A CN201910542183 A CN 201910542183A CN 110236538 B CN110236538 B CN 110236538B
- Authority
- CN
- China
- Prior art keywords
- sequence
- threshold
- starting point
- signal
- follows
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/389—Electromyography [EMG]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7203—Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/725—Details of waveform analysis using specific filters therefor, e.g. Kalman or adaptive filters
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Surgery (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Physics & Mathematics (AREA)
- Animal Behavior & Ethology (AREA)
- Pathology (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physiology (AREA)
- Psychiatry (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Abstract
一种基于肌电信号的运动起始点自动实时检测方法,该方法首先采集运动状态下的肌电信号,通过完成信号的带通滤波及去噪、TKE算子序列的提取及平滑、基于底噪和峰值双因素阈值算法的上下限阈值确定等在线处理,最后利用多条件判别准则完成运动起始点的实时检测;该方法能够快速、准确地对运动起始点实现自动在线检测,具有准确度高、计算复杂度低、操作简便、耗时少的优势,并具有良好的抗干扰能力、鲁棒性强、易于推广的特点;本发明为基于肌电信号的运动特征提取、模式识别、实时控制等相关应用研究提供了简单、高效的实现手段,并能获得可观的社会效益和经济效益。
Description
技术领域
本发明涉及肌电信号处理及运动检测领域,特别涉及一种基于肌电信号的运动起始点自动实时检测方法。
背景技术
自动和精确的检测肌肉收缩的产生,即肌电信号活动的起始点检测,一直是表面肌电信号用于姿势和步态分析、肌电控制、智能假肢等各种研究领域的重要研究课题。
传统检测肌肉活动段起始点检测的方法主要依赖人工视觉检查或者基于肌电幅值的阈值检测。其中人工视觉检查需要专家通过目测肌电图来对动作进行标注,不仅费时费力且误差较不稳定,也不适合与计算机自动化处理。而基于肌电幅值的阈值处理方法虽然可以简单快速地实现肌电活动段起始点检测,但是该方法严重依赖信号质量,噪声的引入会使其性能急剧下降。
随着对肌电活动段起始点检测方法的不断研究,逐渐出现了一些新的检测方法,主要有以下几种:小波模板匹配法、改进的广义似然比方法、样本熵、TKE算子(TeagerKaiser Energy Operator)等。小波模板匹配法利用适当的小波基函数去表示表面运动单元动作电位的形态学特征,从而将其用于肌电起始点检测,但该方法只有在信号与模板有很好的匹配前提下,才能具有较好的检测性能,而对于实验采集的肌电信号,无法总是保证这个前提的实现。改进的广义似然比方法的基于信号的先验知识的统计对肌肉活动段起始点进行估计,使得算法性能很大程度上依赖于对表面肌电信号先验信息的正确估计。基于样本熵的方法利用其表征时间序列复杂度和随机不确定性的能力,能够在较强干扰(尤其尖峰噪声)的环境实现较好的检测性能,但是目前样本熵的计算方法时间开销较大,无法实现在实时性要求较高的场合保证检测速度。基于TKE算子的方法则兼顾较好的抗噪能力和较小的计算开销,能很好的突出信号的活动段信息。但在实际应用中,传统基于TKE算子的方法不能很好地均衡处理高底噪下漏检率和低底噪下误检率的问题,且对尖峰噪声的抑制能力有限,使得运动起始点检测的正确率低。
发明内容
为了克服上述现有技术的缺陷,本发明的目的在于提供一种基于肌电信号的运动起始点自动实时检测方法,本方法在肌电信号采集、预处理的基础上,提取TKE算子序列的绝对值并进行加窗平滑,随后提出了一种基于底噪和峰值双因素的阈值算法,以及多条件判别方案,最终实现对运动起始点快速、准确的实时检测。
为了达到上述目的,本发明通过以下技术方案实现:
一种基于肌电信号的运动起始点自动实时检测方法,具体实现步骤如下:
步骤一:受试者做Nt个任意动作,每个动作之间间隔2s,利用肌电信号采集系统采集动作执行过程中的Nc个通道的肌电信号x(t);
步骤二:对采集到的肌电信号进行10-240Hz的带通滤波,再对信号进行梳状滤波,滤除50Hz工频及其谐波干扰,得到滤波后的信号y(t);
步骤三:对滤波后的信号y(t)进行TKE算子的计算并提取其绝对值序列,再对所有通道的TKE算子绝对值序列进行平均,得到平均TKE算子绝对值序列T(n);
步骤四:对平均TKE算子绝对值序列T(n)进行平滑处理;
步骤五:对平滑后的序列s(n)利用基于底噪和峰值的双因素阈值算法,计算其下限阈值TH_LOWER和上限阈值TH_UPPER;
步骤六:采用多条件判别准则对序列s(n)进行逐点判别,对于每个点通过截取64点滑动窗进行判别。
所述的步骤三中,对滤波后的信号y(t)进行TKE算子的计算方法如下:
①对TKE算子的定义为:
其中,xi(n)为滤波后肌电信号y(t)中第i个通道中的第n个点的信号值,ψ[xi(n)]为第i个通道肌电信号的TKE算子序列。
②再对每一个通道肌电信号的TKE算子序列取绝对值、求平均,得到序列T(n),具体公式如下:
其中,Nc为肌电信号的总通道数。
所述的步骤四具体为:通过加矩形窗求TKE算子绝对值序列T(n)的平均值,窗长为16点,步长为1点,得到新的序列s(n)。
所述的步骤五中,对平滑后的序列s(n)的下限阈值TH_LOWER和上限阈值TH_UPPER的计算方法如下:
①首先,计算底噪相关阈值TH_BK,计算公式如下:
TH_BK=u0+jδ0
其中,u0为序列s(n)在无肌肉活动的情况下的均值;δ0为序列s(n)在无肌肉活动的情况下的标准差;j为一经验系数,将j取15;
②其次,计算序列s(n)在执行Nt个任意动作中出现的峰值的平均upeak,计算方法如下:
其中,Pi为第i个动作执行时序列s(n)的峰值;
③然后,结合底噪相关阈值和动作平均峰值,确定活动段检测的下限阈值TH_LOWER,计算方法如下:
④最后,上限阈值TH_UPPER则通过活动动作波形峰值确定,计算方法如下:
TH_UPPER=3·upeak。
所述的步骤六多条件判别准则具体判别条件如下:
(1)序列s(n)在滑动窗内大于阈值下限TH_LOWER的点占窗内总点数的百分比大于60%;
(2)序列s(n)在滑动窗内的平均幅值大于1.5倍阈值下限TH_LOWER;
(3)序列s(n)在滑动窗内的平均幅值小于3倍阈值上限TH_UPPER;
对上述三个判别条件进行判定,若均满足要求则判定为运动起始点,有一个条件不满足则不能判定为起始点。
本发明首先对TKE算子的绝对值序列增加了16点的滑动平均处理,去除了噪声的影响;其次,提出了基于底噪和峰值的双因素阈值算法,据此获得上、下限阈值;最后,提出了多条件判别准则,依据该准则完成运动起始点的判别。多条件判别准则很好地避免了起始点判别中的误判和漏判,有效地提高了判别的灵敏度和正确率。
本方法具有准确度高、计算复杂度低、操作简便、耗时小的优势,并且具有良好的抗干扰能力、鲁棒性强、易于推广的特点。为基于肌电信号的运动特征提取、模式识别、实时控制等相关应用研究提供了简单、高效的实现手段。
附图说明
图1是本发明算法总体流程图。
图2是采集到的原始肌电信号波形图及其功率谱。
图3是带通滤波、去噪后肌电信号的波形图及其功率谱。
图4是TKE算子的绝对值序列图。
图5是平滑后的TKE算子绝对值序列图。
图6是平滑后TKE算子绝对值序列及其阈值的示意图。
图7是运动起始点检测的结果图。
具体实施方式
下面结合附图对本发明进行进一步说明。
一种基于肌电信号的运动起始点自动实时检测方法,具体实现步骤如图1所示:
步骤一:受试者做Nt个任意动作,每个动作之间间隔2s,利用肌电信号采集系统采集动作执行过程中的Nc个通道的肌电信号x(t)。以1通道肌电为例,图2即为采集到的肌电信号波形图及其功率谱。
步骤二:对采集到的肌电信号进行10-240Hz的带通滤波,提取肌电信号的主要频率成分,滤除高频噪声并消除基线漂移。再对信号进行梳状滤波,滤除50Hz工频及其谐波干扰,得到滤波后的信号y(t)。图3即为滤波后信号的波形图及其功率谱。
步骤三:对滤波后的信号y(t)进行TKE算子的计算,对TKE算子的定义为:
其中,xi(n)为滤波后肌电信号y(t)中第i个通道中的第n个点的信号值,ψ[xi(n)]为第i个通道肌电信号的TKE算子序列。
再对每一个通道肌电信号的TKE算子序列去绝对值求平均得到序列T(n),具体公式如下:
其中,Nc为肌电信号通道数。
应用TKE算子对肌电信号进行处理的优势主要在于:TKE算子能够强化肌电信号的非线性方面的特征,同时能够对高斯分布的噪声干扰有很好的抑制作用,图4即为TKE算子绝对值序列效果图。
步骤四:对平均TKE算子绝对值序列进行16点平滑处理,即通过对TKE算子绝对值序列加移动矩形窗求平均值,窗长为16点,步长为1点,得到新的序列s(n)。图5为平滑后的TKE算子绝对值序列的效果图。可以看出TKE算子让肌电的波峰更高,同时底噪信号也更加干净,信噪比显著加强,更加突出了信号的活动段信息。
步骤五:对平滑后的序列s(n)利用基于底噪和峰值双因素阈值算法,计算其下限阈值TH_LOWER和上限阈值TH_UPPER,计算方法如下:
首先,计算底噪相关阈值TH_BK,计算公式如下:
TH_BK=u0+jδ0
其中,u0为序列s(n)在无肌肉活动的情况下的均值;δ0为序列s(n)在无肌肉活动的情况下的标准差;j为一经验系数,将j取15。
其次,计算序列s(n)在执行Nt个任意动作中出现的峰值的平均upeak,计算方法如下:
其中,Pi为第i个动作执行时序列s(n)的峰值。
然后,结合底噪相关阈值和动作平均峰值,确定活动段检测的下限阈值TH_LOWER,计算方法如下:
通过将两种因素相结合,信号的底噪水平和峰值大小两个因素相互平衡协调,就能够保证下限阈值TH_LOWER进行自适应的调整,使得算法的适应性大大加强。
最后,上限阈值TH_UPPER则通过活动动作波形峰值确定,计算方法如下:
TH_UPPER=3·upeak
其中,上限阈值的设定是为了避免一些极端异常的尖峰干扰对肌电信号活动的影响。图6为平滑后TKE算子绝对值序列及其阈值示意图。
步骤六:依据多条件判别准则对序列s(n)进行逐点判定,对于每个点截取64点滑动窗进行判别。具体判别条件如下:
(1)序列s(n)在滑动窗内大于阈值下限TH_LOWER的点占窗内总点数的百分比大于60%。
(2)序列s(n)在滑动窗内的平均幅值大于1.5倍阈值下限TH_LOWER;
(3)序列s(n)在滑动窗内的平均幅值小于3倍阈值上限TH_UPPER。
对上述三个判别条件进行判定,若均满足要求则判定为运动起始点,有一个条件不满足则不能判定为起始点。
若采用单一的判别条件,因为判别特征单一,由于底噪水平不同、识别者手势习惯力度不同等原因造成运动起始点的误判、漏判。利用多条件判别准则可以很好地解决这些问题,使得算法的泛化能力更强,有效地提高了判别的灵敏度和正确率。图7为运动起始点检测的结果图。
Claims (3)
1.一种基于肌电信号的运动起始点自动实时检测方法,其特征在于,具体实现步骤如下:
步骤一:受试者做Nt个任意动作,每个动作之间间隔2s,利用肌电信号采集系统采集动作执行过程中的Nc个通道的肌电信号x(t);
步骤二:对采集到的肌电信号进行10-240Hz的带通滤波,再对信号进行梳状滤波,滤除50Hz工频及其谐波干扰,得到滤波后的信号y(t);
步骤三:对滤波后的信号y(t)进行TKE算子的计算并提取其绝对值序列,再对所有通道的TKE算子绝对值序列进行平均,得到平均TKE算子绝对值序列T(n);
步骤四:对平均TKE算子绝对值序列T(n)进行平滑处理;
步骤五:对平滑后的序列s(n)利用基于底噪和峰值的双因素阈值算法,计算其下限阈值TH_LOWER和上限阈值TH_UPPER;
所述的步骤五中,对平滑后的序列s(n)的下限阈值TH_LOWER和上限阈值TH_UPPER的计算方法如下:
①首先,计算底噪相关阈值TH_BK,计算公式如下:
TH_BK=u0+jδ0
其中,u0为序列s(n)在无肌肉活动的情况下的均值;δ0为序列s(n)在无肌肉活动的情况下的标准差;j为一经验系数,将j取15;
②其次,计算序列s(n)在执行Nt个任意动作中出现的峰值的平均upeak,计算方法如下:
其中,Pi为第i个动作执行时序列s(n)的峰值;
③然后,结合底噪相关阈值和动作平均峰值,确定活动段检测的下限阈值TH_LOWER,计算方法如下:
④最后,上限阈值TH_UPPER则通过活动动作波形峰值确定,计算方法如下:
TH_UPPER=3·upeak;
步骤六:采用多条件判别准则对序列s(n)进行逐点判别,对于每个点通过截取64点滑动窗进行判别;
多条件判别准则具体判别条件如下:
(1)序列s(n)在滑动窗内大于阈值下限TH_LOWER的点占窗内总点数的百分比大于60%;
(2)序列s(n)在滑动窗内的平均幅值大于1.5倍阈值下限TH_LOWER;
(3)序列s(n)在滑动窗内的平均幅值小于3倍阈值上限TH_UPPER;
对上述三个判别条件进行判定,若均满足要求则判定为运动起始点,有一个条件不满足则不能判定为起始点。
3.根据权利要求1所述的一种基于肌电信号的运动起始点自动实时检测方法,其特征在于,
所述的步骤四具体为:通过加矩形窗求TKE算子绝对值序列T(n)的平均值,窗长为16点,步长为1点,得到新的序列s(n)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910542183.2A CN110236538B (zh) | 2019-06-21 | 2019-06-21 | 一种基于肌电信号的运动起始点自动实时检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910542183.2A CN110236538B (zh) | 2019-06-21 | 2019-06-21 | 一种基于肌电信号的运动起始点自动实时检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110236538A CN110236538A (zh) | 2019-09-17 |
CN110236538B true CN110236538B (zh) | 2020-08-04 |
Family
ID=67888710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910542183.2A Active CN110236538B (zh) | 2019-06-21 | 2019-06-21 | 一种基于肌电信号的运动起始点自动实时检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110236538B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112773380B (zh) * | 2019-11-07 | 2023-09-22 | 深圳市理邦精密仪器股份有限公司 | 一种肌电信号的处理方法、处理设备以及存储介质 |
CN113397571A (zh) * | 2021-07-16 | 2021-09-17 | 杭州电子科技大学 | 一种基于先验模板的肌电运动单元分解方法 |
CN115778408A (zh) * | 2022-12-10 | 2023-03-14 | 福州大学 | 一种分步式肌电信号活动段检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN205083477U (zh) * | 2015-11-09 | 2016-03-16 | 电子科技大学 | 基于体表肌电的实时控制装置 |
CN107198509A (zh) * | 2016-08-26 | 2017-09-26 | 常州市钱璟康复股份有限公司 | 基于表面肌电的特征提取方法及系统 |
EP3391813A1 (en) * | 2017-04-20 | 2018-10-24 | Koninklijke Philips N.V. | Methods and system for detecting inhalations and extracting measures of neural respiratory drive from an emg signal |
CN109259739A (zh) * | 2018-11-16 | 2019-01-25 | 西安交通大学 | 一种手腕关节运动力矩的肌电估计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9107614B2 (en) * | 2011-07-12 | 2015-08-18 | Xanadu Christina Halkias | Systems, methods, and media for finding and matching tremor signals |
-
2019
- 2019-06-21 CN CN201910542183.2A patent/CN110236538B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN205083477U (zh) * | 2015-11-09 | 2016-03-16 | 电子科技大学 | 基于体表肌电的实时控制装置 |
CN107198509A (zh) * | 2016-08-26 | 2017-09-26 | 常州市钱璟康复股份有限公司 | 基于表面肌电的特征提取方法及系统 |
EP3391813A1 (en) * | 2017-04-20 | 2018-10-24 | Koninklijke Philips N.V. | Methods and system for detecting inhalations and extracting measures of neural respiratory drive from an emg signal |
CN109259739A (zh) * | 2018-11-16 | 2019-01-25 | 西安交通大学 | 一种手腕关节运动力矩的肌电估计方法 |
Non-Patent Citations (6)
Title |
---|
Application of singular spectrum-based change-point analysis to EMG-onset detection;Vaisman, Lev; Zariffa, Jose; Popovic, Milos R.;《JOURNAL OF ELECTROMYOGRAPHY AND KINESIOLOGY》;20100615;第20卷(第4期);750-760 * |
Teager–Kaiser Energy Operation of Surface EMG Improves Muscle Activity Onset Detection;Xiaoyan Li, Ping Zhou, Alexander S. Aruin;《Annals of Biomedical Engineering》;20070915;1532-1538 * |
一种基于肌电信号的动作起始时刻识别方法;何乐生 宋爱国;《数据采集与处理》;20060930;266-271 * |
基于sEMG信号的人体上肢动作识别与肌肉疲劳检测;闫正祥;《中国优秀硕士学位论文全文数据库》;20180501;19-30 * |
基于样本熵的肌电信号起始点检测研究;成娟; 陈勋; 彭虎;《电子学报》;20160215;479-484 * |
脑卒中患者上肢肌肉表面肌电信号分解与疲劳研究;万泽明;《中国优秀硕士学位论文全文数据库》;20131001;13-20 * |
Also Published As
Publication number | Publication date |
---|---|
CN110236538A (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110236538B (zh) | 一种基于肌电信号的运动起始点自动实时检测方法 | |
CN110680302B (zh) | 一种心电信号特征波的自动识别方法 | |
CN103989462B (zh) | 一种脉搏波形第一特征点和第二特征点的提取方法 | |
CN101449973B (zh) | 用于心电干扰信号识别的判断指标的生成方法及装置 | |
CN105030228B (zh) | 在心电信号中确定其p波位置的方法及装置 | |
CN101828918B (zh) | 基于波形特征匹配的心电信号r波峰检测方法 | |
CN101856225B (zh) | 一种心电信号r波峰检测方法 | |
CN104146693B (zh) | 一种基于小波变换和曲线拟合的脉搏波预处理方法 | |
CN103829944B (zh) | 基于模式识别的胸阻抗信号处理方法 | |
CN113440145B (zh) | 一种心电信号t波及其终点自动检测方法 | |
CN109009143B (zh) | 一种通过人体步态预测心电信息的方法 | |
CN105030233A (zh) | 一种心电信号st段的识别方法 | |
CN108814591B (zh) | 一种心电qrs波群宽度的检测方法及其心电分析方法 | |
CN104991687A (zh) | 一种获取触屏设备曲线操作轨迹的方法及系统 | |
CN101930285A (zh) | 基于表面肌电信号的手写识别方法 | |
CN102217932B (zh) | 一种abr信号波峰检测的算法 | |
CN114469124B (zh) | 一种运动过程中异常心电信号的识别方法 | |
CN108460350B (zh) | 一种自学习ecg qrs波检测装置及其自学习方法 | |
CN107361764B (zh) | 一种心电信号特征波形r波的快速提取方法 | |
CN101933811A (zh) | 一种血氧饱和度检测方法及系统 | |
CN109009087B (zh) | 一种心电信号r波的快速检测方法 | |
CN109214318B (zh) | 一种寻找非稳态时间序列微弱尖峰的方法 | |
CN103549947A (zh) | 智能手机平台心电图波形实时准确绘制方法 | |
CN108694355B (zh) | 一种信号处理方法及装置 | |
Nair et al. | Adaptive wavelet based identification and extraction of PQRST combination in randomly stretching ECG sequence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |