基于matlab的肌电信号处理程序:

合集下载

基于MATLAB的FIR数字滤波器的设计

基于MATLAB的FIR数字滤波器的设计

第12期2010年12月机械设计与制造M achi ner y D esi gn&M anuf act ur e87文章编号:100l一3997(20lO)12枷埘基于M A T L A B的FI R数字滤波器的设计梁辰(抚顺职业技术学院,抚顺113006)T he deSi gn of FI R djgi t aI f¨t e r baSed O n M A T L A BU A N G C hen(Fus hun V oc at i onal7re c hnol ogy Inst i t ut e,Fus hun1l3006,C hina);【摘要】介绍了一种利用M A TL A B信号处理工具箱设计肌肉电信号数字滤波器的方法,给出了;}使用M A T LA B语言进行程序设计和界面设计的详细步骤。

利用M A TLA B设计数字滤波器,有利于滤波{;器设计的优化和为硬件实现提供数据基础。

;{关键词:M A TL A B;肌电信号;数字滤波器{{【Abst r a ct】^i m r odw es口撇琥od加r如s话以i昭帆e艮cf r om妒gr叩^记si gn以d谚础∥kr6y眦i地i增口{;舰4z M B s匆以pr oces5i愕I|}豇删记p脚池s如£反2ed s即s扣r如s话田i昭p删即郴m d i眦e∥缸es.6y琊i ng;{t k删黝B z嘴M呼加^幻^括向D砌跆幻印£i m拓吆f胁肚er缸劬蒯p聊诚ng o抛口6∞e加t k5;舭砌埘n阳i,印如,聊n£m i on如r如s切i,蟛口di g£以∥f抛r.;{K ey w or ds:M A T LA B;E l ect r om yogr apl l i c s噜nal;Di李t a l nl t er{中图分类号:TH l6文献标识码:AM AⅡA B是一种矩阵运算为基础的交互式程序语言,着重M A l队B是进行科学研究常用且必不可少的工具。

Matlab技术在人体生理信号处理中的应用案例解析

Matlab技术在人体生理信号处理中的应用案例解析

Matlab技术在人体生理信号处理中的应用案例解析引言:在当今数字化的时代,人体生理信号的处理越来越重要。

准确地捕捉和分析这些信号有助于我们深入了解人体的生理状况和健康状况。

而Matlab作为一款强大的工具,被广泛应用于人体生理信号的处理。

本文将通过几个应用案例,来展示Matlab技术在人体生理信号处理中的重要作用。

一、脑电图(EEG)处理脑电图是记录大脑电活动的一种生理信号。

它反映了大脑在不同状态下的电活动,被广泛用于研究睡眠、意识状态和神经疾病等。

在脑电图处理中,Matlab提供了丰富的工具和函数来处理和分析原始数据,例如滤波、频域分析和时间域分析等。

通过Matlab的工具箱,可以方便地对脑电图进行去除噪声、频谱分析、时频分析等,进而提取出感兴趣的特征。

这些特征可以用于研究不同的脑电图模式,并为医生提供诊断依据。

二、心电图(ECG)处理心电图是记录心脏电活动的一种生理信号。

它被广泛用于心脏疾病的诊断和监测。

Matlab提供了一套丰富的工具箱,例如信号处理工具箱和心电图工具箱,用于对心电图进行处理和分析。

通过Matlab的滤波技术和傅里叶变换等算法,可以去除心电图中的噪声和干扰,同时还可以提取心电图中的特征,例如心率、ST段变异和QRS波形等。

这些特征对于心脏疾病的早期诊断和监测非常重要。

三、肌电图(EMG)处理肌电图是记录肌肉电活动的一种生理信号。

它可以反映肌肉的收缩和放松状况,被广泛用于研究肌肉活动和肌肉疾病。

在肌电图处理中,Matlab提供了一系列用于去除噪声和分析肌电图的函数和工具箱。

通过Matlab的滤波算法和傅里叶变换等技术,可以准确地提取肌电图中的肌肉活动特征,并用于研究肌肉疾病和运动控制等领域。

四、血氧饱和度(SpO2)处理血氧饱和度是衡量氧气输送至组织的重要指标,通常通过红外线光源和传感器来测量。

Matlab提供了一些工具箱用于对血氧饱和度进行监测和处理。

通过Matlab的数据处理和曲线拟合技术,可以对原始的SpO2数据进行滤波和校正,提高数据的准确性和可信度。

-matlab心电信号的QRS波检测与分析 -

-matlab心电信号的QRS波检测与分析 -

燕山大学课程设计说明书题目:基于matlab的心电信号QRS波检测与分析学院(系):电气工程学院年级专业: 09医疗仪器学号:学生姓名:指导教师:孟辉赵勇教师职称:讲师讲师燕山大学课程设计(论文)任务书2012年12 月10 日目录一、 MATLAB软件介绍 (2)二、概述 (3)三、 ECG特征参数及分析 (4)3.1 心电信号的特点 (4)3.2 心电信号的特征参数 (4)四、 QRS波得检测与分析 (5)4.1 以软件为主的方法实现QRS波的检测 (5)4.2 QRS波检测方法与程序 (5)五、心得体会 (14)六、参考文献 (14)一、MATLAB软件介绍MATLAB是矩阵实验室的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是由美国MathWorks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单元是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解决问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点。

肌电信号的识别

肌电信号的识别

燕山大学课程设计说明书题目:肌电信号分析及动作识别学院(系):电气工程学院年级专业: 10级仪表三班学号:学生姓名:指导教师:教师职称:教授讲师电气工程学院《课程设计》任务书目录第一章摘要 (2)第二章系统总体设计方案 (3)第三章肌电信号的时域参数处理及其分析 (4)第四章肌电信号的频域处理方法及其分析 (7)3.1 FFT分析 (7)3.2 功率谱分析 (8)3.3 倒谱分析 (9)3.4 平均功率频率MPF和中值频率 (10)第五章 Matlab程序及GUI (11)第六章系统整体调试及结果说明 (24)第七章学习心得 (24)参考文献 (25)第一章摘要肌电信号是产生肌肉力的电信号根源,它是肌肉中很多运动单元动作电位在时间和空间上的叠加,反映了神经,肌肉的功能状态,在基础医学研究、临床诊断和康复工程中有广泛的应用。

其种类重要有两种:一,临床肌电图检查多采用针电极插入肌肉检测肌电图,其优点是干扰小,定位性好,易识别,但由于它是一种有创伤的检测方法,其应用收到了一定的限制。

二,表面肌电则是从人体皮肤表面通过电极记录下来的神经肌肉活动时发放的生物电信号,属于无创伤性,操作简单,病人易接受,有着广泛的应用前景。

主要应用领域有:一,仿生学。

提出肌肉生理模型来判别肌肉的动作以来, 电子假肢的研究进入了新的发展时期, 过去电子假肢的控制靠使用者人为开关和选择运动模式来完成, 现在则可通过检测人体残肢表面肌电信号, 提取出肢体的动作特征, 来自动控制假肢运动, 利用残肢表面肌电信号的肌电假肢研制在国内外都取得较大进展。

二,康复工程。

如利用表面肌电信号提取出的特征作为功能性电刺激的控制信号, 帮助瘫痪的肢体恢复运动功能。

通过检测表面肌电信号, 并将其作为反馈信号提供给病人和医生, 便于进行合理的治疗和训练。

三,运动医学。

表面肌电信号在运动医学中也可发挥重要作用, 通过检测运动员运动时的表面肌电信号,及时反映出肌肉的疲劳和兴奋状态, 有助于建立科学的训练方法。

基于matlab信号分析与处理

基于matlab信号分析与处理

基于matlab信号分析与处理信号分析与处理是一门重要的学科,它涉及到许多领域,如通信、音频处理、图象处理等。

在信号分析与处理中,Matlab是一种常用的工具,它提供了丰富的函数和工具箱,可以匡助我们进行信号的分析和处理。

首先,我们需要了解信号的基本概念。

信号可以分为连续信号和离散信号两种类型。

连续信号是在时间上是连续变化的,而离散信号则是在时间上是离散的。

在Matlab中,我们可以使用不同的函数来表示和处理这两种类型的信号。

对于连续信号,我们可以使用Matlab中的plot函数来绘制信号的图象。

例如,我们可以使用以下代码来绘制一个正弦信号:```matlabt = 0:0.01:2*pi; % 时间范围为0到2πx = sin(t); % 正弦信号plot(t, x); % 绘制信号图象xlabel('时间'); % 设置x轴标签ylabel('幅度'); % 设置y轴标签title('正弦信号'); % 设置图象标题```对于离散信号,我们可以使用Matlab中的stem函数来绘制信号的图象。

例如,我们可以使用以下代码来绘制一个离散的方波信号:```matlabn = 0:10; % 时间范围为0到10x = square(n); % 方波信号stem(n, x); % 绘制信号图象xlabel('时间'); % 设置x轴标签ylabel('幅度'); % 设置y轴标签title('方波信号'); % 设置图象标题```除了绘制信号的图象,我们还可以对信号进行一系列的分析和处理。

例如,我们可以使用Matlab中的fft函数来进行信号的频谱分析。

以下是一个示例代码:```matlabFs = 1000; % 采样频率为1000Hzt = 0:1/Fs:1; % 时间范围为0到1秒x = sin(2*pi*50*t) + sin(2*pi*120*t); % 两个正弦信号的叠加y = fft(x); % 对信号进行傅里叶变换f = (0:length(y)-1)*Fs/length(y); % 计算频率范围plot(f, abs(y)); % 绘制频谱图象xlabel('频率'); % 设置x轴标签ylabel('幅度'); % 设置y轴标签title('频谱分析'); % 设置图象标题```除了频谱分析,我们还可以对信号进行滤波、降噪、特征提取等处理。

实验四肌电信号的肌肉疲劳估计

实验四肌电信号的肌肉疲劳估计

实验四肌电信号的肌肉疲劳估计肌肉在持续的收缩过程中,会逐渐进入疲劳状态,肌肉疲劳特性的研究在康复医学、运动医学领域具有重要作用。

肌电信号(electromyogram ,EMG) 是从人体骨骼肌表面通过电极记录下来的神经肌肉活动时发放的生物电信号,它反映了神经、肌肉的功能状态,因此通过EMG研究肌肉疲劳是一个有效途径。

已有许多研究发现,在疲劳过程中EMG信号会出现幅度增长,功率谱朝低频方向移动等现象。

这些效应是由于神经传导速率的变化所引起的,会对肌电假肢的控制以及运动力量的估测等造成不利影响。

因此对肌肉疲劳的检测以及疲劳程度的度量显得非常必要。

本文通过实验采集到实验者的肌电信号,对其进行了预处理,并且定量分析估计了肌肉疲劳的过程。

1.EMG的采集本实验采用生理信号采集仪MP150采集肌电信号的。

表面电极使用一次性电极,型号为LT-301,材料为Ag/AgCl。

采样频率2KHz,放大倍数500倍。

实验者均采用坐姿,在上臂的肱三头肌,肘肌,肱二头肌,肱桡肌(肱二头肌、肱桡肌分别是屈肘动作的主动肌和协同肌;肱三头肌、肘肌分别是伸肘动作的主动肌和协同肌)上分别贴上表面电极。

肘部动作的起始位置设置在裤缝线处,手臂尽量与水平面垂直。

动作的终止位置大约在水平位置。

先屈肘后伸肘。

实验者不间断均匀重复举重为5.5kg的哑铃,感到疲劳时记录疲劳前举重次数,然后重复举重直到肌肉无力举起为止。

EMG是一种非常复杂的信号,信号本身非常微弱,稳定性较差,随机性很强。

因此信号检测时需要注意以下相关事项:①电极位置:电极所在位置应受其他肌肉串扰的影响最小。

检测电极应置于肌腹的中间,尽量离其他肌肉足够远;电极对的方向应与肌梭方向平行。

参考电极尽可能置于肌肉最少的地方。

②检测电极对的距离:检测电极间隔的距离越大,拾取的信号越广越深,信号的幅值也越大,因此为了保证测量的可比性,每次测量时电极间隔的距离应固定。

③皮肤阻抗:人体皮肤阻抗高达10~100 kΩ/cm2,变化范围很大。

基于matlab的皮肤电信号处理

基于matlab的皮肤电信号处理

燕山大学课程设计说明书题目:基于matlab的皮肤电信号处理学院(系):电气工程学院年级专业:学号:学生姓名:指导教师:教师职称:课程设计(论文)任务书院(系):电气工程学院基层教学单位:摘要生理信号的情感识别具有广泛的研究和应用前景,是一个重要的研究领域。

其中皮肤电信号(GSR)随着情感的不同有着明显的差异,其皮肤电导值与情感状态和注意力密切相关。

但是研究生理信号存在很多局限性,很难像面部表情等找到一种可以代表情感的生理信号特征,且识别效果不佳,鲁棒性较差等。

因此情感识别中最可靠的方法就是采集比较理想的符合真实环境的生理数据,将皮肤电信号在情感识别中的研究作为模式识别来研究,而由于生理信号极其微弱,信号噪声很大,甚至将有效信号覆盖,故本文阐述了GSR信号数据预处理方法。

将信号从总信号中分离出,并采用小波滤波器和巴特沃斯滤波器对信号进行去噪处理,分离出有效信号。

关键词GSR;情感识别;小波去噪;巴特沃斯滤波器去噪目录1设计原理 (4)1.1皮肤电信号 (4)1.11研究背景及国内外研究现状 (4)1.12皮肤电信号特点 (5)1.2巴特沃斯滤波器 (6)1.3小波 (7)1.4matlab简要介绍 (7)2设计步骤 (9)2.1 GSR信号的采集 (9)2.2信号分离 (10)2.3数据归一化 (12)2.4巴特沃斯滤波器去噪 (13)2.5小波去噪 (17)3总结 (20)参考文献 (21)1设计原理1.1皮肤电信号1.11研究背景及国内外研究现状科技信息化的时代已经在我们身边,计算机已经成为千家万户生活的必须部分。

人与计算机的交互过程中,势必会带有某些情感,如果能够使得机器感受到人类的情感,并且见机行事,将会给社会和人类进步带来更大的空间。

这就是所谓的情感计算,然而情感计算到底是什么?我们要研究的对象和内容是什么?研究的目的是什么?情感计算中的一个重要组成部分是情感识别。

情感识别(Emotion Recognition)是通过观察人类的表情,行为和情感产生的前提环境来推断情感状态[1]。

Matlab在医学信号处理中的应用示例

Matlab在医学信号处理中的应用示例

Matlab在医学信号处理中的应用示例引言:医学信号处理是指将医学上获得的各种生理信号通过数字信号处理技术进行分析、提取和处理,以获取有关患者生理状态的信息。

随着计算机技术的快速发展,Matlab作为一种功能强大的数学软件,被广泛应用于医学信号处理领域。

本文将介绍几个Matlab在医学信号处理中的应用示例,以展示其在该领域具有的潜力和优势。

一、脑电图(EEG)信号处理脑电图是记录脑电活动的一种生理信号。

通过分析和处理脑电图信号,可以了解脑功能、疾病和药物对脑的影响等。

Matlab提供了丰富的信号处理工具箱,可以对脑电图信号进行不同的处理和分析。

1.1 频率分析频率分析是脑电图信号处理中常用的方法之一。

通过使用Matlab的快速傅里叶变换(FFT)函数,可以将时域的脑电图信号转换为频域的频谱图,以便观察信号中不同频率成分的分布情况。

这种分析可以用于检测脑电信号中的异常频率成分,如癫痫发作。

1.2 时频分析时频分析是将频谱分析应用于时变信号的一种方法。

在脑电图信号处理中,时频分析可以用于研究不同频率成分在不同时间上的变化情况,以揭示潜在的脑电活动。

Matlab提供了多种时频分析工具,如连续小波变换(CWT),可以帮助研究人员进一步了解脑电信号的特性。

二、心电图(ECG)信号处理心电图是记录心脏电活动的一种生理信号。

通过对心电图信号进行处理和分析,可以帮助医生判断心脏功能和诊断心脏疾病。

Matlab在心电图信号处理中具有广泛的应用。

2.1 心率变异性(HRV)分析心率变异性是描述心率时间间隔变化的一项重要指标。

通过使用Matlab的HRV工具箱,可以计算出心电图信号的各种HRV参数,如标准差、频域参数等。

这些参数可以用于评估心脏自律性、心脏功能异常以及对心脏疾病的治疗效果等。

2.2 心电图滤波心电图信号通常存在噪声,并且与心脏电活动重叠,因此需要对信号进行滤波处理。

Matlab中提供了多种滤波器设计方法和滤波函数,可以帮助去除心电图信号中的噪声,并提取出心脏电活动的有效信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于matlab的肌电信号处理程序:function varargout = untitled(varargin)% UNTITLED M-file for untitled.fig% UNTITLED, by itself, creates a new UNTITLED or raises the existing% singleton*.%% H = UNTITLED returns the handle to a new UNTITLED or the handle to% the existing singleton*.%% UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in UNTITLED.M with the given input arguments. %% UNTITLED('Property','Value',...) creates a new UNTITLED or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before untitled_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application % stop. All inputs are passed to untitled_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help untitled% Last Modified by GUIDE v2.5 08-Nov-2014 12:45:18% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @untitled_OpeningFcn, ...'gui_OutputFcn', @untitled_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before untitled is made visible.function untitled_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% varargin command line arguments to untitled (see VARARGIN)% Choose default command line output for untitledhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes untitled wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line. function varargout = untitled_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global s;global a;global t;global count;% count=1;[filename,filepath]=uigetfile('*.txt','Ñ¡ÔñÎļþ');%Ñ¡ÔñÊý¾ÝÎļþstr=[filepath filename];s=load(str);a=s(:,7);t=s(:,1);axes(handles.axes1);plot(t,a);xlabel('ʱ¼ä');ylabel('±äÁ¿');title('ԭʼÐźÅ');if count==2global s2;global a2;global t2;[filename,filepath]=uigetfile('*.txt','Ñ¡ÔñÎļþ');str=[filepath filename];s2=load(str);a2=s2(:,7);t2=s2(:,1);plot(handles.axes2,t2,a2);endcount=1;% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global a;global t;global s;global y;% global IR;% global SORH;y=fft(a,20000);M =length (a) ;N=length(y);p=size(a);% s1=a(1:20000);[C L]=wavedec(a,3,'db5');cA3=appcoef(C,L,'db5',3);cD1=detcoef(C,L,1);cD2=detcoef(C,L,2);cD3=detcoef(C,L,3);thr1=thselect(cD1,'rigrsure');thr2=thselect(cD2,'rigrsure');thr3=thselect(cD3,'rigrsure');TR=[thr1,thr2,thr3];SORH='s';[XC,CXC,LXC,PERFO,PERF2]=wdencmp('lvd',a,...'db5',3,TR,SORH);L=p(2);x=a;h=XC;F=0;M=0;for ii=1:Lm(ii)=(x(ii)-y(ii))^2;t(ii)=y(ii)^2;f(ii)=t(ii)/m(ii);F=F+f(ii);M=M+m(ii);end;SNR=10*log10(F);MSE=M/N;SM=SNR/MSE;axes(handles.axes2);plot(XC(1:10000));xlabel('ʱ¼ä');ylabel('±äÁ¿');title('È¥ÔëºóÐźÅ');% plot(handles.axes2,XC(1:20000));% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global a;global t;global y;global count;%a=EMG3(1:points,2);y=fft(a,20000); %¶ÔÐźŽøÐпìËÙFourier±ä»»fs=2000;N=length(y);mag=abs(y);%ÇóµÃFourier±ä»»ºóµÄÕñ·ùf=(0:N-1)/N*fs; %ƵÂÊÐòÁÐaxes(handles.axes1);plot(f,mag);% plot(handles.axes1,f,mag);%»æÖÆÍ¼ÐÎxlabel('ƵÂÊ');ylabel('·ùÖµ');title('Ô­¼¡µç·ùƵN=20000');if count==2global a2;global t2;global y2;%a=EMG3(1:points,2);y2=fft(a2,20000); %¶ÔÐźŽøÐпìËÙFourier±ä»»fs=2000;N=length(y2);mag=abs(y2);%ÇóµÃFourier±ä»»ºóµÄÕñ·ùf=(0:N-1)/N*fs; %ƵÂÊÐòÁÐaxes(handles.axes2);plot(f,mag);endcount=1;% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global a;global t;% global IR;% global SORH;[C L]=wavedec(a,3,'db5');cA3=appcoef(C,L,'db5',3);cD1=detcoef(C,L,1);cD2=detcoef(C,L,2);cD3=detcoef(C,L,3);thr1=thselect(cD1,'rigrsure');thr2=thselect(cD2,'rigrsure');thr3=thselect(cD3,'rigrsure');TR=[thr1,thr2,thr3];SORH='s';[XC,CXC,LXC,PERFO,PERF2]=wdencmp('lvd',a,...'db5',3,TR,SORH);y1=fft(XC,20000);fs=2000;N=length(y1);mag1=abs(y1);f=(0:N-1)/N*fs;axes(handles.axes2);plot(f,mag1);xlabel('ƵÂÊ');ylabel('·ùÖµ');title('È¥Ôëºó·ùƵN=20000');% --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global a;global t;global y;global count;fs=2000;N=length(y);f=(0:N-1)/N*fs;%ƵÂÊÐòÁÐaxes(handles.axes1);plot(f,angle(y));xlabel('ƵÂÊ');ylabel('Ïàλ');title('Ô­¼¡µçÏàÆµ');% plot(handles.axes1,f,angle(y));%»æÖÆÏàÆµÌØÐÔͼif count==2global a2;global t2;global y2;fs=2000;N=length(y2);f=(0:N-1)/N*fs;%ƵÂÊÐòÁÐaxes(handles.axes2);plot(f,angle(y2));xlabel('ƵÂÊ');ylabel('Ïàλ');title('Ô­¼¡µçÏàÆµ');endcount=1;% plot(handles.axes1,f,angle(y));%»æÖÆÏàÆµÌØÐÔͼ% --- Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global a;global t;[C L]=wavedec(a,3,'db5');cA3=appcoef(C,L,'db5',3);cD1=detcoef(C,L,1);cD2=detcoef(C,L,2);cD3=detcoef(C,L,3);thr1=thselect(cD1,'rigrsure');thr2=thselect(cD2,'rigrsure');thr3=thselect(cD3,'rigrsure');TR=[thr1,thr2,thr3];SORH='s';[XC,CXC,LXC,PERFO,PERF2]=wdencmp('lvd',a,...'db5',3,TR,SORH);y1=fft(XC,20000);fs=2000;N=length(y1);f=(0:N-1)/N*fs;axes(handles.axes2);plot(f,angle(y1));xlabel('ƵÂÊ');ylabel('Ïàλ');title('È¥Ôëºó¼¡µçÏàÆµ');% --- Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles)% hObject handle to pushbutton7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)trydelete(allchild(handles.axes1));delete(allchild(handles.axes2));set(handles.edit1,'string','');set(handles.edit1,'string','');set(handles.edit3,'string','');set(handles.edit4,'string','');set(handles.edit5,'string','');set(handles.edit6,'string','');end% --- Executes on button press in pushbutton8.function pushbutton8_Callback(hObject, eventdata, handles)% hObject handle to pushbutton8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global a;global t;global s;y=fft(a,20000);fs=2000;N=length(y);mag=abs(y);f=(0:N-1)/N*fs;power1=(mag.^2)/20000;axes(handles.axes1);plot(f,power1);xlabel('ƵÂÊ');ylabel('¹¦ÂÊÆ×');title('Ô­¼¡µç¹¦ÂÊÆ×');global count;global a2;global t2;global s2;if count==2y2=fft(a2,20000);fs=2000;N=length(y2);mag=abs(y2);f=(0:N-1)/N*fs;power1=(mag.^2)/20000;axes(handles.axes2);plot(f,power1);xlabel('ƵÂÊ');ylabel('¹¦ÂÊÆ×');title('Ô­¼¡µç¹¦ÂÊÆ×');endcount=1;% --- Executes on button press in pushbutton9.function pushbutton9_Callback(hObject, eventdata, handles)% hObject handle to pushbutton9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global a;global t;global s;s=fft(a,2000);[C L]=wavedec(a,3,'db5');cA3=appcoef(C,L,'db5',3);cD1=detcoef(C,L,1);cD2=detcoef(C,L,2);cD3=detcoef(C,L,3);thr1=thselect(cD1,'rigrsure');thr2=thselect(cD2,'rigrsure');thr3=thselect(cD3,'rigrsure');TR=[thr1,thr2,thr3];SORH='s';[XC,CXC,LXC,PERFO,PERF2]=wdencmp('lvd',a,...'db5',3,TR,SORH);y1=fft(XC,20000);fs=2000;N=length(y1);mag=abs(y1);f=(0:N-1)/N*fs;power1=(mag.^2)/20000;%axes(handles.axes2);plot(f,power1);xlabel('ƵÂÊ');ylabel('¹¦ÂÊÆ×');title('È¥Ôëºó¼¡µç¹¦ÂÊÆ×');% --- Executes on button press in pushbutton10.function pushbutton10_Callback(hObject, eventdata, handles)% hObject handle to pushbutton10 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)%Çó¾ùÖµglobal a;set(handles.edit1,'string',mean(a));function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double% --- Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in pushbutton11.function pushbutton11_Callback(hObject, eventdata, handles)% hObject handle to pushbutton11 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global a;set(handles.edit3,'string',sqrt(var(a)));function edit3_Callback(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit3 as text% str2double(get(hObject,'String')) returns contents of edit3 as a double% --- Executes during object creation, after setting all properties.function edit3_CreateFcn(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in pushbutton12.function pushbutton12_Callback(hObject, eventdata, handles)% hObject handle to pushbutton12 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global a;set(handles.edit4,'string',var(a));function edit4_Callback(hObject, eventdata, handles)% hObject handle to edit4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit4 as text% str2double(get(hObject,'String')) returns contents of edit4 as a double% --- Executes during object creation, after setting all properties.function edit4_CreateFcn(hObject, eventdata, handles)% hObject handle to edit4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in pushbutton13.function pushbutton13_Callback(hObject, eventdata, handles)% hObject handle to pushbutton13 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%Çó»ý·Ö¼¡µçÖµIEMGglobal a;set(handles.edit5,'string',mean(abs(a)));function edit5_Callback(hObject, eventdata, handles)% hObject handle to edit5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit5 as text% str2double(get(hObject,'String')) returns contents of edit5 as a double% --- Executes during object creation, after setting all properties.function edit5_CreateFcn(hObject, eventdata, handles)% hObject handle to edit5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in pushbutton14.function pushbutton14_Callback(hObject, eventdata, handles)% hObject handle to pushbutton14 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%Çó¾ù·½¸ùÓÐЧֵRMSglobal a;set(handles.edit6,'string',sqrt(mean(a.^2)));function edit6_Callback(hObject, eventdata, handles)% hObject handle to edit6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit6 as text% str2double(get(hObject,'String')) returns contents of edit6 as a double% --- Executes during object creation, after setting all properties.function edit6_CreateFcn(hObject, eventdata, handles)% hObject handle to edit6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in pushbutton15.function pushbutton15_Callback(hObject, eventdata, handles)% hObject handle to pushbutton15 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global a;global t;global s;y=fft(a,20000);fs=2000;N=length(y);mag=abs(y);f=(0:N-1)/N*fs;power1=(mag.^2)/20000;ss=sum(power1);m2=0.5*ss;df=fs/N;m1=0.5*df*(sum(power1(1:N-1))+sum(power1(2:N)));MPF=m1/m2;set(handles.edit7,'string',MPF);function edit7_Callback(hObject, eventdata, handles)function edit7_Callback(hObject, eventdata, handles)% hObject handle to edit7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit7 as text% str2double(get(hObject,'String')) returns contents of edit7 as a double% --- Executes during object creation, after setting all properties.function edit7_CreateFcn(hObject, eventdata, handles)% hObject handle to edit7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end。

相关文档
最新文档