医学数字信号处理实验教程-基于MATLAB -课件全套 - 第1-11章 - MATLAB概述 - -血压控制与脉搏波袖带压信号处理实验_第1页
医学数字信号处理实验教程-基于MATLAB -课件全套 - 第1-11章 - MATLAB概述 - -血压控制与脉搏波袖带压信号处理实验_第2页
医学数字信号处理实验教程-基于MATLAB -课件全套 - 第1-11章 - MATLAB概述 - -血压控制与脉搏波袖带压信号处理实验_第3页
医学数字信号处理实验教程-基于MATLAB -课件全套 - 第1-11章 - MATLAB概述 - -血压控制与脉搏波袖带压信号处理实验_第4页
医学数字信号处理实验教程-基于MATLAB -课件全套 - 第1-11章 - MATLAB概述 - -血压控制与脉搏波袖带压信号处理实验_第5页
已阅读5页,还剩217页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第1章:MATLAB概述卓越工程师培养系列2目录《医学数字信号处理实验教程—基于MATLAB》-配套讲义1.MATLAB软件介绍2.MATLAB工作环境3.M文件4.MATLAB中的函数5.程序结构与控制命令6.MATLAB程序调试7.本章任务8.本章习题31.MATLAB软件介绍1.1MATLAB简介1.2MATLAB特点与应用1.3MATLAB安装与启动《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义41.1MATLAB简介《现代医学电子仪器原理与设计实验教程》-配套讲义 MATLAB主要包括MATLAB和Simulink两大部分。MATLAB是由MATrix和LABoratory两个单词的前3个字母组合而成,意为矩阵实验室。 MATLAB将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成于一个易于使用的视窗环境中,为科学研究、工程设计和需要进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式编程语言(如C、Fortran)的编辑模式。《医学数字信号处理实验教程—基于MATLAB》-配套讲义51.1MATLAB简介《现代医学电子仪器原理与设计实验教程》-配套讲义 MATLAB有矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等功能,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式非常相似,故解决相同的问题,MATLAB比C,Fortran等语言操作简捷,同时MATLAB也吸收了其他软件的优点,因而成为一个强大的数学软件。在新的版本中也加入了对C、Fortran、C++,Java等语言的支持。《医学数字信号处理实验教程—基于MATLAB》-配套讲义61.2MATLAB特点与应用《现代医学电子仪器原理与设计实验教程》-配套讲义(1)强大易用(2)跨平台(3)函数库(4)强大的绘图能力(5)用户图形界面《医学数字信号处理实验教程—基于MATLAB》-配套讲义71.3MATLAB安装与启动《现代医学电子仪器原理与设计实验教程》-配套讲义

根据书中的步骤完成MATLAB的安装与启动。《医学数字信号处理实验教程—基于MATLAB》-配套讲义82.MATLAB工作环境2.1菜单/工具栏2.2当前文件夹窗口2.3命令行窗口2.4工作区窗口《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义92.1菜单/工具栏《现代医学电子仪器原理与设计实验教程》-配套讲义

菜单/工具栏有3个标签页,分别是主页、绘图和APP。其中,在主页标签下有新建文件、打开文件、导入数据、保存数据、设置工作路径等功能;在绘图标签下有数据的绘图功能;在APP标签页下有各应用程序的入口。《医学数字信号处理实验教程—基于MATLAB》-配套讲义102.2当前文件夹窗口《现代医学电子仪器原理与设计实验教程》-配套讲义

MATLAB借鉴Windows资源管理器管理磁盘、文件夹和文件的思想,设计了当前文件夹窗口。用户可以对该窗口中的文件夹进行新建、复制、删除和重命名等操作,还可以通过该窗口打开、编辑和运行M文件以及载入MAT文件等。注意,MATLAB的当前文件夹窗口的路径可以在工具栏下方的工作路径栏中修改。《医学数字信号处理实验教程—基于MATLAB》-配套讲义112.3命令行窗口《现代医学电子仪器原理与设计实验教程》-配套讲义

MATLAB的命令行窗口提供了非常友好的交互功能,用户可以在此窗口中输入变量、函数和表达式等,回车之后系统即可执行相应的操作。光标放在命令行窗口,单击键盘上的向上方向键,可以调出命令历史记录窗口,通过该窗口可以追溯、查找历史语句。《医学数字信号处理实验教程—基于MATLAB》-配套讲义122.4工作区窗口《现代医学电子仪器原理与设计实验教程》-配套讲义

MATLAB要处理各种数据,就需要一个专门的内存空间,这个地方称为工作区窗口。工作区窗口中的变量既可以被命令行窗口中的命令调用,还可以被脚本文件和函数文件中的命令调用。双击该窗口中的变量名,就会弹出变量编辑窗口,在该窗口不仅可以查看变量的内容,还可以对变量进行各种编辑操作。《医学数字信号处理实验教程—基于MATLAB》-配套讲义133.M文件3.1脚本文件与函数文件3.2M文件编辑器《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义143.1脚本文件与函数文件《现代医学电子仪器原理与设计实验教程》-配套讲义

M文件分为脚本文件和函数文件,这两个文件的后缀均为.m,脚本文件的图标是

,函数文件的图标是

。脚本文件不需要输入参数,也不需要输出参数,按照文件指定的顺序执行命令,计算过程中的变量保存在基本工作区,即脚本文件中的变量相当于全局变量。函数文件既可以有输入参数,也可以有输出参数,函数文件中的变量只在运行期间有效,运行完毕就自动从内存中自动清除,因此,函数文件中的变量相当于局部变量。《医学数字信号处理实验教程—基于MATLAB》-配套讲义153.2M文件编辑器《现代医学电子仪器原理与设计实验教程》-配套讲义 MATLAB软件在启动时,通常不会同时启动M文件编辑器,用户可以通过命令将其打开。MATLAB软件有记忆功能,因此,如果在没有关闭编辑器中的M文件的情况下直接关闭MATLAB软件,在下次启动MATLAB软件时,会同时打开文件编辑器及上次关闭时编辑器打开的所有M文件。文件编辑器不仅可以编辑M文件,还可以对M文件进行交互式调试。《医学数字信号处理实验教程—基于MATLAB》-配套讲义164.MATLAB中的函数4.1函数结构4.2函数类型《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义174.1函数结构《现代医学电子仪器原理与设计实验教程》-配套讲义

一个函数由函数定义行、帮助文本和函数主体组成。下面以一个计算m的n次方函数CalcPower介绍函数结构,保存该函数的文件名为CalcPower.m,该函数完整的代码如下:《医学数字信号处理实验教程—基于MATLAB》-配套讲义184.2函数类型《现代医学电子仪器原理与设计实验教程》-配套讲义

(1)主函数与子函数

(2)嵌套函数

(3)匿名函数

(4)私有函数

(5)重载函数《医学数字信号处理实验教程—基于MATLAB》-配套讲义195.程序结构与控制命令《现代医学电子仪器原理与设计实验教程》-配套讲义5.1顺序结构5.2选择结构5.3循环结构5.4控制命令《医学数字信号处理实验教程—基于MATLAB》-配套讲义205.1顺序结构《现代医学电子仪器原理与设计实验教程》-配套讲义

顺序结构是最简单的结构,顺序语句是指组成程序的代码按照由上至下的顺序依次执行,直到程序的最后一行代码。顺序结构的程序比较容易编写,由于它不包含其他的控制语句,程序结构比较单一,因此实现的功能也比较有限。《医学数字信号处理实验教程—基于MATLAB》-配套讲义215.2选择结构《现代医学电子仪器原理与设计实验教程》-配套讲义

选择结构按照不同的条件执行相应的语句,在MATLAB中,有两种选择结构语句,分别是if语句和switch语句。(1)if语句

在if语句中,当某一表达式为真时,就执行相应的语句,if语句又分为单分支if语句,双分支if语句和多分支if语句。《医学数字信号处理实验教程—基于MATLAB》-配套讲义225.2选择结构《现代医学电子仪器原理与设计实验教程》-配套讲义(2)switch语句 switch语句与多分支if语句的功能类似,switch语句格式如右图所示。但与C语言的swich语句不同,在MATLAB语言中,当其中一个case条件为真时,switch语句就不会对其后的case语句进行判断,也就是说即使有多条case条件为真,也仅执行所遇到的第一条case条件为真的语句,这样就不必像C语言那样,在每条case语句后加上break语句以防止继续执行后面case条件为真的语句。《医学数字信号处理实验教程—基于MATLAB》-配套讲义235.3循环结构《现代医学电子仪器原理与设计实验教程》-配套讲义

循环结构有规律地重复相应运算或操作的语句,在MATLAB中,有两种循环结构语句,分别是for循环语句和while循环语句。(1)for循环语句

循环次数确定时可以使用for循环语句,for循环语句的格式如下:《医学数字信号处理实验教程—基于MATLAB》-配套讲义

其中,表达式1为循环变量的初值;表达式2为步长;表达式3为循环变量的终值。当步长为1时,表达式2可以省略。245.3循环结构《现代医学电子仪器原理与设计实验教程》-配套讲义(2)while循环语句

循环次数不确定时可以时候用while循环语句,while循环语句的格式如下:《医学数字信号处理实验教程—基于MATLAB》-配套讲义

在while循环语句中,当表达式为真时,就执行循环体内的语句,否则,退出循环体。while循环语句中必须有可以修改循环控制变量的命令,否则,就会陷入死循环,除非循环体中有控制退出循环的命令,如break或continue命令。255.4控制命令《现代医学电子仪器原理与设计实验教程》-配套讲义(1)break命令 break命令的作用是终止本次循环,跳出最内层的循环,即不必等到循环的结束,而是根据条件来退出循环。它的用法与continue类似,常常与if、for或while语句联合使用以强制终止循环,但break和continue命令不同的是:break语句将终止整个循环;continue语句将结束本次循环,并进入下一次循环。(2)continue命令

continue命令的作用是结束本次循环,即跳过本次循环中尚未执行的语句,进入下一次是否执行循环的判断。《医学数字信号处理实验教程—基于MATLAB》-配套讲义265.4控制命令《现代医学电子仪器原理与设计实验教程》-配套讲义(3)return命令 return命令可以使正在执行的函数正常退出。return命令经常用于函数的末尾,以正常结束函数的运行,也可以在某一个条件满足时通过return退出该函数。(4)try…catch…命令

try…catch…命令可以提高程序的容错能力,提高程序设计的灵活性。先试探性地执行try和catch之间的语句1,如果出错,则将错误信息存入系统保留变量lasterr,然后再执行语句2;如果未出错,则转向执行end之后的语句。try…catch…命令的格式如下:《医学数字信号处理实验教程—基于MATLAB》-配套讲义276.MATLAB程序调试《现代医学电子仪器原理与设计实验教程》-配套讲义6.1设置断点6.2运行调试6.3单步调试6.4退出调试《医学数字信号处理实验教程—基于MATLAB》-配套讲义286.1设置断点《现代医学电子仪器原理与设计实验教程》-配套讲义

在TestBubbleSort.m文件的第6行和BubbleSort.m文件的第2和9行设置断点:单击文件编辑器序号旁边的“-”,设置成功后对应的代码行会出现红色圆点,如右图所示,表示在此行设置了断点。取消断点,只需要再次单击“-”即可。《医学数字信号处理实验教程—基于MATLAB》-配套讲义296.2运行调试《现代医学电子仪器原理与设计实验教程》-配套讲义

按F5键运行调试,绿色小箭头指示当前程序运行的位置。由于TestBubbleSort.m文件的第6行设置了断点,因此,运行调试后绿色箭头指向第6行,同时,工作区新增了变量x,命令行窗口打印两行信息(对应第4至5行代码),提示符“>>”变为“K>>”,如右图所示,表示已经进入了调试模式。《医学数字信号处理实验教程—基于MATLAB》-配套讲义306.3单步调试《现代医学电子仪器原理与设计实验教程》-配套讲义

按F11键运行下一行并单步执行函数。由于BubbleSort函数是在BubbleSort.m文件中实现的,并且在该文件的第2行设置了断点,所以绿色箭头会跳转到BubbleSort.m文件的第2行。继续按F11键单步执行到该函数的第10行,此时,工作区又增加了变量len、m和n,如右图所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义316.4退出调试《现代医学电子仪器原理与设计实验教程》-配套讲义

完成调试之后,按“Shift+F5”键即可退出调试,提示符还原为“>>”,如右图所示。可以看到工作区中只剩下变量x和y,而函数中使用到的len、m和n已经被自动清除,这是因为TestBubbleSort.m是脚本文件,而BubbleSort.m文件是函数文件,脚本文件中的变量是全局变量,函数文件中的变量是局部变量。《医学数字信号处理实验教程—基于MATLAB》-配套讲义327.本章任务

完成本章的学习后,在计算机上安装MATLAB软件,建议安装MATLABR2018b版本。《现代医学电子仪器原理与设计实验教程》-配套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义338.本章习题 1.MATLAB都有哪些显著特点?主要应用在哪些领域? 2.脚本文件和函数文件有什么区别? 3.通常情况下一个函数由函数定义行、帮助文本和函数主体组成,通过“help+函数名”命令可以查看哪些信息?通过“lookfor+函数名”命令又可以查看哪些信息? 4.主函数和子函数有什么区别?又有什么关系? 5.MATLAB语言和C语言中的case语句有什么区别? 6.在程序调试过程中,单步调试进入函数时,函数中的变量会随着语句的执行逐步出现在工作区,退出函数时函数中的变量是否还会在工作区?《现代医学电子仪器原理与设计实验教程》-配套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义34《现代医学电子仪器原理与设计实验教程》-配套讲义谢谢观看!《医学数字信号处理实验教程—基于MATLAB》-配套讲义35第2章:MATLAB脚本语言基础卓越工程师培养系列36目录《医学数字信号处理实验教程—基于MATLAB》-配套讲义1.变量与常量2.基本数据类型3.数组与矩阵4.运算符5.本章任务6.本章习题371.变量与常量1.1变量

在程序运行过程中可以改变其值的量称为变量,变量由变量名表示。MATLAB中的变量命名必须遵照以下规则:

(1)变量名必须以字母开头,而且只能由字母、数字、下画线组成,不能含有空格和标点符号。

(2)变量名区分大小写。如ECG和ecg为两个不同的变量名,COS不代表余弦函数。

(3)变量名不能超过63个字符,如果超出限制范围,从第64个字符开始,其后的字符都将被忽略。

(4)关键字(如if、for、while)不允许作为变量名。

(5)不建议使用特殊常量符号(pi、i、j)作为变量名。《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义381.变量与常量1.2常量 MATLAB中有一些预定义的特殊变量,称为常量,MATLAB常用常量如下表2-1所示。《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义392.基本数据类型2.1浮点类型2.2整数类型2.3逻辑类型2.4字符串2.5元胞数组2.6结构体《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义402.1浮点类型《现代医学电子仪器原理与设计实验教程》-配套讲义

在MATLAB中,浮点数又分为单精度浮点数(single)和双精度浮点数(double),其中,双精度浮点数是MATLAB中默认的数据类型。如果用户在定义一个变量时未指定数据类型,则默认为双精度浮点数类型。如果不希望是双精度浮点数类型,也可以在定义变量时指定其他数据类型,或者给变量赋值为其他类型的值,或者通过函数进行数据类型转换。 MATLAB中的双精度浮点数占用8个字节(64位),其中第63位为符号位,0为正,1为负,第52至62位表示指数部分,第0至51位表示小数部分;单精度浮点数占用4个字节(32位),其中第31位为符号位,0位正,1为负,第23至30位表示指数部分,第0至22位表示小数部分。《医学数字信号处理实验教程—基于MATLAB》-配套讲义412.2整数类型《现代医学电子仪器原理与设计实验教程》-配套讲义

MATLAB提供了8种整数类型,不同的整数类型在计算机内存中占用的字节数不同。有符号数有一位用来表示符号,因此表示的数据范围和相应的无符号整数类型不同。 MATLAB中变量的默认数据类型是双精度浮点型,可以通过整数类型关键字(如int8)将双精度浮点型变量转换为整型变量。在转换中,小数点之后的数按照四舍五入的原则,比如3.5转换为整型变量之后即为4,3.14转换为整型变量之后即为3。MATLAB还提供了多种取整函数,如表2‑3所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义422.3逻辑类型《现代医学电子仪器原理与设计实验教程》-配套讲义

在MATLAB中,逻辑型数据仅具有两种状态,分别是逻辑真(true)和逻辑假(false),其中,逻辑真用逻辑1表示,逻辑假用逻辑0表示。任何数值都可以参与逻辑运算,其中,非零值看作逻辑真,零值看作逻辑假。

通过书中的实例说明逻辑型变量与数据型变量的区别。分别定义一个逻辑型变量a和一个数据型变量b,并通过whos列出它们的信息,最后,通过islogical和isnumeric对这两个变量的数据类型进行判断。islogical判断输入数据是否为逻辑类型;isnumeric判断输入数据是否为数值类型。《医学数字信号处理实验教程—基于MATLAB》-配套讲义432.4字符串《现代医学电子仪器原理与设计实验教程》-配套讲义

(1)字符串

①单引号创建一维字符数组

②中括号[]创建一维字符数组

③中括号[]创建二维字符数组

④char函数创建二维字符数组

(2)字符串元胞数组

无论是使用中括号[]还是char函数创建二维字符数组,如果字符串长度不一致,就需要在部分字符串后添加空格。在MATLAB中,还可以使用元胞数组,因为元胞数组可以容纳不同大小和类型的数据。可以使用大括号{}创建字符串元胞数组。《医学数字信号处理实验教程—基于MATLAB》-配套讲义442.4字符串《现代医学电子仪器原理与设计实验教程》-配套讲义

(3)字符串操作函数 MATLAB提供了大量的字符串操作函数,本书中使用到的如表2‑4所示,所介绍的函数用法主要是围绕本书中的例程,需要了解其他函数的其他用法,读者可以查找其他相关资料。《医学数字信号处理实验教程—基于MATLAB》-配套讲义452.5元胞数组《现代医学电子仪器原理与设计实验教程》-配套讲义

(1)元胞数组

元胞数组的创建方法有很多种,最常用的是使用大括号{}将不同类型和尺寸的数据组合在一起构成一个元胞数组。

(2)元胞数组操作函数 MATLAB提供了大量的元胞数组操作函数,本书仅使用到了cell2mat和iscell两个函数。iscell函数用于判断输入是否为元胞数组,是则返回逻辑1,否则返回逻辑0《医学数字信号处理实验教程—基于MATLAB》-配套讲义462.6结构体《现代医学电子仪器原理与设计实验教程》-配套讲义

结构体的定义有两种方式:直接赋值和通过struct函数。

直接赋值需要指出结构体的属性名称,以指针操作符“.”连接结构体变量名与属性名。

使用struct函数定义结构体时,其调用格式如下:

结构体变量名=struct(属性名1,属性值1,属性名1,属性值1,…) MATLAB中结构体的相关操作函数如表2‑5所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义473.数组与矩阵3.1数组的创建3.2数组的访问3.3矩阵的创建3.4矩阵的访问3.5矩阵的拼接《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义483.1数组的创建《现代医学电子仪器原理与设计实验教程》-配套讲义

通过将元素放于中括号[]内,就可以创建一个一维数组。行数组(n个元素排成一行的数组,又称为行向量)中的元素使用空格或逗号分隔。

列数组(m个元素排成一列的数组,又称为列向量)中的元素使用分号分隔。

使用冒号创建数组。《医学数字信号处理实验教程—基于MATLAB》-配套讲义493.2数组的访问《现代医学电子仪器原理与设计实验教程》-配套讲义

数组的访问既可以访问数组的一个元素,也可以访问数组的若干个连续或不连续的元素。《医学数字信号处理实验教程—基于MATLAB》-配套讲义503.3矩阵的创建《现代医学电子仪器原理与设计实验教程》-配套讲义

通过将数值放于中括号[]内,同行元素之间用空格或逗号分隔,行与行之间用分号分隔,这样就可以创建一个矩阵。《医学数字信号处理实验教程—基于MATLAB》-配套讲义513.4矩阵的访问《现代医学电子仪器原理与设计实验教程》-配套讲义

矩阵的访问主要包括单元素访问和多元素访问,下面介绍这两种方法。(1)单元素访问

数学上引用矩阵中具体元素时,通常采用全下标标识法,即指出某一元素是在第几行第几列,优点是数学概念清晰、引用简单。因此,这种方法在MATLAB访问和赋值中使用最为频繁。其实,尽管在MATLAB中是以矩阵作为基本的计算单元,但是矩阵的在计算机的存储形式并不像显示出来的那样呈现矩阵排列,而是按照单下标标识法作为一列存储在内存中。单下标标识法与全下标标识法不同,只需要一个下标即可指出元素在矩阵中的位置。《医学数字信号处理实验教程—基于MATLAB》-配套讲义523.4矩阵的访问《现代医学电子仪器原理与设计实验教程》-配套讲义(2)多元素访问

使用冒号可以访问该矩阵的某一行或某一列的若干个元素、访问若干行或若干列的元素、访问子矩阵的所有元素以及访问矩阵所有元素等。①A(m:l:n)用于访问矩阵A中步长为l的从序号为m到n的所有元素。②A([mnl])用于访问矩阵A中序号为m、n和l的三个元素。③A[:,j]用于访问矩阵A中第j列所有元素。④A[i,:]用于访问矩阵A中第i行的所有元素。⑤A(i:i+m,:)用于访问矩阵A中第i至(i+m)行的所有元素。⑥A(:,k:k+n)用于访问矩阵A中第k至(k+n)列的所有元素。⑦A(i:i+m,k:k+n)表示访问矩阵A中第i至(i+m)行、第k至(k+n)列的所有元素。《医学数字信号处理实验教程—基于MATLAB》-配套讲义533.5矩阵的拼接《现代医学电子仪器原理与设计实验教程》-配套讲义

两个或者两个以上的单个矩阵,按照一定的方向进行拼接,生成新的矩阵就是矩阵的拼接。矩阵的拼接分为水平方向拼接和垂直方向拼接。对矩阵A和B进行拼接,如果按照水平方向拼接,则要求矩阵A和B的行数相同,如果按照垂直方向拼接,则要求矩阵A和B的列数相同。《医学数字信号处理实验教程—基于MATLAB》-配套讲义544.运算符4.1算术运算符4.2关系运算符4.3逻辑运算符4.4运算符优先级《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义554.1算术运算符《现代医学电子仪器原理与设计实验教程》-配套讲义

根据处理对象的不同,分为数组运算符和矩阵运算符。数组算术运算符如表2‑6所示。对于数组的算术运算,无论是加减乘除,还是乘幂,算术运算都是元素间的运算,即对应下标元素一对一的运算。《医学数字信号处理实验教程—基于MATLAB》-配套讲义564.1算术运算符《现代医学电子仪器原理与设计实验教程》-配套讲义

矩阵算术运算符如表2‑7所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义574.2关系运算符《现代医学电子仪器原理与设计实验教程》-配套讲义

关系运算用于比较两个操作数之间的大小,返回值为逻辑型变量,表2‑8为关系运算符。《医学数字信号处理实验教程—基于MATLAB》-配套讲义584.3逻辑运算符《现代医学电子仪器原理与设计实验教程》-配套讲义 MATLAB中常见的逻辑运算包括与、或、非、快速与、快速或,返回值为逻辑型变量,表2‑9为MATLAB中常见的逻辑运算符。《医学数字信号处理实验教程—基于MATLAB》-配套讲义594.4运算符优先级《现代医学电子仪器原理与设计实验教程》-配套讲义

一般情况下,在一个表达式中,算术运算符优先级最高,其次是关系运算符,最后是逻辑运算符,表2‑10是运算符优先次序。表2‑10中,运算符的优先次序按照从上到下的顺序,分别由高到低,而同一行的各运算符具有相同的优先级。《医学数字信号处理实验教程—基于MATLAB》-配套讲义605.本章任务

本章有大量的MATLAB实例,在MATLAB软件中验证这些实例,并举一反三。《现代医学电子仪器原理与设计实验教程》-配套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义616.本章习题 1.在MATLAB中,变量名是否区分大小写?能否使用pi作为变量名? 2.在MATLAB中,无符号8位整数能否与有符号16位整数进行运算? 3.通过round、fix、floor和ceil函数对1.25和1.7进行取整操作,结果分别是什么? 4.MATLAB中的一个字符在计算机的内存中占用几个字节空间? 5.简述MATLAB中元胞数组和结构体的异同。 6.简述MATLAB中标量、向量、矩阵、数组的区别。 7.数组乘法和矩阵乘法有什么区别? 8.逻辑与(&)和快速逻辑与(&&)有什么区别?《现代医学电子仪器原理与设计实验教程》-配套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义62《现代医学电子仪器原理与设计实验教程》-配套讲义谢谢观看!《医学数字信号处理实验教程—基于MATLAB》-配套讲义63第3章:打包解包小工具设计实验卓越工程师培养系列64目录《医学数字信号处理实验教程—基于MATLAB》-配套讲义1.实验内容2.实验原理3.实验步骤4.本章任务5.本章习题651.实验内容

学习PCT通信协议,以及MATLAB中的部分控件,如触控按钮(PushButton)、静态文本(StaticText)、可编辑文本(EditText)和面板(Panel)。然后,设计一个打包解包小工具,可以根据用户输入的模块ID、二级ID以及6字节数据,通过“打包”按钮实现打包操作,并将打包结果显示到打包结果显示区,同时,还可以根据用户输入的10字节待解包数据,通过“解包”按钮实现解包操作,并将解包结果显示到解包结果显示区。《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义662.实验原理2.1PCT通信协议2.2控件及其属性2.3本章使用到的控件2.4控件的回调函数《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义672.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

主机与从机之间的打包解包通信过程如图3‑2所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义682.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(1)PCT通信协议格式 PCT通信协议规定:

①数据包由1字节模块ID+1字节数据头+1字节二级ID+6字节数据+1字节校验和构成,共计10个字节。

②数据包中有6个数据,每个数据为1字节。

③模块ID的最高位bit7固定为0。

④模块ID的取值范围为0x00~0x7F,最多128种类型。

⑤数据头的最高位bit7固定为1,数据头的低7位按照从最低位到最高位顺序,依次存放二级ID的最高位bit7、数据1的最高位bit7、数据2的最高位bit7、数据3的最高位bit7、数据4的最高位bit7、数据5的最高位bit7和数据6的最高位bit7。《医学数字信号处理实验教程—基于MATLAB》-配套讲义692.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(1)PCT通信协议格式

⑥二级ID、数据1、数据2、…、数据6的最高位bit7存放于数据头。校验和的低7位为模块ID+数据头+二级ID+数据1+数据2+…+数据6求和的结果(取低7位)。

⑦二级ID、数据1、数据2、…、数据6和校验和的最高位bit7固定为1。《医学数字信号处理实验教程—基于MATLAB》-配套讲义702.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(2)PCT通信协议打包过程 PCT通信协议的打包过程分为4步。第1步,准备原始数据,原始数据由模块ID(0x00~0x7F)、二级ID、数据1、数据2、…、数据6组成,如图3‑4所示。其中,模块ID的取值范围为0x00~0x7F,二级ID和数据的取值范围为0x00~0xFF。《医学数字信号处理实验教程—基于MATLAB》-配套讲义712.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(2)PCT通信协议打包过程

第2步,依次取出二级ID、数据1、数据2、…、数据6的最高位bit7,将其存放于数据头的低7位,按照从最低位到最高位的顺序依次存放二级ID、数据1、数据2、…、数据6的最高位bit7,如图3‑5所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义722.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(2)PCT通信协议打包过程

第3步,对模块ID、数据头、二级ID、数据1、数据2、…、数据6的低7位求和,取求和结果的低7位,将其存放于校验和的低7位,如图3‑6所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义732.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(2)PCT通信协议打包过程

第4步,将数据头、二级ID、数据1、数据2、…、数据6和校验和的最高位置1,如图3‑7所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义742.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(3)PCT通信协议解包过程

PCT通信协议的解包过程也分为4步。第1步,准备解包前的数据包,原始数据包由模块ID、数据头、二级ID、数据1、数据2、…、数据6组成,如图3‑8所示。其中,模块ID的最高位为0,其余字节的最高位均为1。《医学数字信号处理实验教程—基于MATLAB》-配套讲义752.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(3)PCT通信协议解包过程

第2步,对模块ID、数据头、二级ID、数据1、数据2、…、数据6的最低7位求和,如图3‑9所示,取求和结果的低7位与数据包的校验和低7位对比,如果两个值的结果相等,则说明校验正确。《医学数字信号处理实验教程—基于MATLAB》-配套讲义762.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(3)PCT通信协议解包过程

第3步,数据头的最低位bit0与二级ID的低7位拼接之后作为最终的二级ID,数据头的bit1与数据1的低7位拼接之后作为最终的数据1,数据头的bit2与数据2的低7位拼接之后作为最终的数据2,以此类推,如图3‑10所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义772.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(3)PCT通信协议解包过程

第4步,图3‑11所示即为解包之后的结果,由模块ID、二级ID、数据1、数据2、…、数据6组成。其中,模块ID的取值范围为0x00~0x7F,二级ID和数据的取值范围为0x00~0xFF。《医学数字信号处理实验教程—基于MATLAB》-配套讲义782.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(4)PCT通信协议实现

PCT通信协议既可以使用面向过程语言(如C语言)实现,也可以使用面向对象语言(如C++或C#语言)实现,还可以用硬件描述语言(VerilogHDL或VHDL)实现。当然,也可以使用类似于MATLAB的脚本语言,本章将PackUnpack模块分为Pack和Unpack两个模块,具体实现可以参见3.3.6节。《医学数字信号处理实验教程—基于MATLAB》-配套讲义792.2控件及其属性《现代医学电子仪器原理与设计实验教程》-配套讲义

MATLABGUI是由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。基本图形对象分为控件对象和用户界面菜单对象,简称控件和菜单。MATLAB中常用的控件如书中的表3‑1所示。

每一个控件都不可能完全符合界面设计的要求,因此,用户需要对其属性进行设置,以获得所需的界面显示效果,比如,调整触控按钮的字体和尺寸。如何设置控件的属性?在GUI设计界面的工具栏中,单击属性检查器图标

,在弹出的属性检查器中就可以设置控件的各属性值。《医学数字信号处理实验教程—基于MATLAB》-配套讲义802.3本章使用到的控件《现代医学电子仪器原理与设计实验教程》-配套讲义

打包解包小工具主要使用到四种控件,分别是触控按钮(PushButton)、可编辑文本(EditText)、静态文本(StaticText)和面板(Panel)。《医学数字信号处理实验教程—基于MATLAB》-配套讲义812.4控件的回调函数《现代医学电子仪器原理与设计实验教程》-配套讲义

用户对控件进行操作(如鼠标单击、双击、移动,键盘输入等)的时候,控件对该操作进行响应,所指定执行的函数,就是该控件的回调函数,也称Callback函数。该函数不会主动执行,只在用户对控件执行特定操作的时候执行。GUI的设计有两种方法:(1)使用函数编写GUI;(2)使用Guide工具箱创建GUI。在本书中,主要使用Guide工具箱创建GUI,即在命令行通过输入guide命令,调出GUI设计界面,然后进行GUI设计。《医学数字信号处理实验教程—基于MATLAB》-配套讲义823.实验步骤3.1步骤1:MATLAB软件标准化设置3.2步骤2∶新建存放所有工程的文件夹3.3步骤3∶新建打包解包小工具工程文件夹3.4步骤4:打开GUI界面3.5步骤5:打包解包小工具GUI界面设计3.6步骤6:打包解包小工具程序设计3.7步骤7∶验证打包解包小工具《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义834.本章任务

本章的打包解包小工具功能有限,比如,“输入裸数据区”文本框输入的数据必须是6个字节,否则,单击“打包”按钮,会出错,这种情况同样存在于“输入待解包数据”文本框、“模块ID”文本框和“二级ID”文本框。尝试解决这些问题,当这些文本框的输入不是要求的字节数或为空时,弹出提示窗,允许用户重新输入。《现代医学电子仪器原理与设计实验教程》-配套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义845.本章习题 1.根据PCT通信协议,模块ID最多有多少种?二级ID最多有多少种? 2.根据PCT通信协议,为什么打包之后的数据包中的二级ID最高位为1? 3.本实验中的,如何通过属性检查器将“解包”按钮的字体设置为大小10? 4.本实验中的,“打包”按钮的回调函数pushbutton_pack_Callback有三个参数,第一个参数hObject和第三个参数handles分别代表什么? 5.如何通过set函数将对象h的String属性设置为“确认”? 6.如何通过get函数获取对象h的String属性?《现代医学电子仪器原理与设计实验教程》-配套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义85《现代医学电子仪器原理与设计实验教程》-配套讲义谢谢观看!《医学数字信号处理实验教程—基于MATLAB》-配套讲义86第4章:串口助手小工具设计实验卓越工程师培养系列87目录《医学数字信号处理实验教程—基于MATLAB》-配套讲义1.实验内容2.实验原理3.实验步骤4.本章任务5.本章习题881.实验内容

学习串口通信协议,以及MATLAB中的部分控件和串口相关函数,如serial、fopen、fclose、fread和fwrite等。然后,设计一个具有以下功能的串口助手小工具:(1)可以选择计算机上可用的串口号;(2)可以选择波特率、校验位、数据位和停止位;(3)可以将串口接收到的数据显示到串口“接收区”,并允许用户使用“清除接收区”按钮清除串口“接收区”中的内容;(4)可以通过“发送”按钮将串口“发送区”发送到其他设备,并允许用户使用“清除发送区”按钮清除串口“发送区”中的内容;(5)允许用户设置发送间隔,实现定时发送功能。《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义892.实验原理2.1串口通信协议2.2串口对象的属性2.3串口的基本操作2.4串口的常用函数2.5本章使用到的控件《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义902.1串口通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(1)串口物理层

串口是异步串行全双工通信,因此串口通信没有时钟线,只需两根数据线就可以实现双向同时传输。收发数据一位一位地在各自数据线上传输,所以串口最多只有一根发送数据线和一根接收数据线。数据线是高低逻辑电平传输,因此还必须有参照的地线,最简单的串口接口由发送数据线TXD、接收数据线RXD和GND共3根线组成。《医学数字信号处理实验教程—基于MATLAB》-配套讲义912.1串口通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(2)串口数据格式

串口数据按照一定的格式打包成帧,微控制器或计算机在物理层上以帧为单位进行传输。串口的一帧数据由起始位、数据位、校验位、停止位和空闲位组成,如图4‑2所示。需要说明的是,一个完整的串口数据帧必须有起始位、数据位和停止位,但是不一定有校验位和空闲位。《医学数字信号处理实验教程—基于MATLAB》-配套讲义922.1串口通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义

(3)串口传输速率

串口传输速率用比特率来表示。比特率是每秒传输的二进制位数,单位为bps(bitpersecond)。波特率,即每秒传送码元的个数,单位为baud。由于串口使用NRZ(Non-ReturntoZero,不归零)编码,因此串口的波特率和比特率是相同的。在实际应用中,常用的串口传输速率有1200、2400、4800、9600、19200、38400、57600和115200。《医学数字信号处理实验教程—基于MATLAB》-配套讲义932.2串口对象的属性《现代医学电子仪器原理与设计实验教程》-配套讲义

串口对象有很多属性,可以使用命令“instrhelpserial”查看串口对象的相关函数和属性。书中按照通信相关属性、读写操作属性、回调函数相关属性对串口对象的常用属性进行介绍。《医学数字信号处理实验教程—基于MATLAB》-配套讲义942.3串口的基本操作《现代医学电子仪器原理与设计实验教程》-配套讲义

串口的基本操作分为4个步骤,分别是创建串口、连接串口、读写串口、关闭串口。

(1)创建串口

使用serial函数创建串口对象;

通过串口对象obj设置串口的属性;

同时设置串口对象的多个属性;

在创建串口对象的同时,设置其属性;《医学数字信号处理实验教程—基于MATLAB》-配套讲义952.3串口的基本操作《现代医学电子仪器原理与设计实验教程》-配套讲义

(2)连接串口

串口读写数据前,必须使用fopen函数打开串口,也就是将创建的串口对象连接到物理端口。

当串口对象连接到物理端口时:(1)输入缓冲区和输出缓冲区清空;(2)Status属性值为open;(3)BytesAvailable、VaulesReceived、ValuesSent和BytesToOutput属性值为0.

另外,有些串口属性在串口对象连接到物理端口之后,就变为只读,如InputBufferSize和OutputBufferSize等,所以必须要在使用fopen函数连接之前完成这些属性的配置。《医学数字信号处理实验教程—基于MATLAB》-配套讲义962.3串口的基本操作《现代医学电子仪器原理与设计实验教程》-配套讲义

(3)读写串口

读写串口函数很多,本书主要使用fwrite函数写数据到其他串口设备,使用fread函数从其他串口设备读取数据。

比如,通过串口对象obj连接的物理串口向其他串口设备发送数据(sendData):

从串口对象obj连接的物理串口读取n个数据,并将读取的数据赋值给readData:《医学数字信号处理实验教程—基于MATLAB》-配套讲义972.3串口的基本操作《现代医学电子仪器原理与设计实验教程》-配套讲义

(4)关闭串口

当不再使用串口时,使用fclose函数断开串口对象与物理端口的连接。

可以通过obj.Status查看是否断开连接,open为连接状态,closed为断开状态。断开连接之后,建议再使用delete函数将串口对象从内存中删除。

可以通过isvalid函数查看串口对象是否已删除,返回值为0表示已经删除。《医学数字信号处理实验教程—基于MATLAB》-配套讲义982.3串口的基本操作《现代医学电子仪器原理与设计实验教程》-配套讲义

(4)关闭串口

如果希望更完美一些,还可以通过clear函数从MATLAB工作空间清除串口对象

注意,当不再使用串口时,通过fclose函数断开连接是必须的,如果不断开连接,下次再创建串口对象建立连接时,有可能会出现无法连接的现象。而清除内存和MATLAB工作空间是非必需的。《医学数字信号处理实验教程—基于MATLAB》-配套讲义992.4串口的常用函数《现代医学电子仪器原理与设计实验教程》-配套讲义

串口相关的函数有很多,本书中使用的串口相关函数如表4‑4所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义1002.5本章使用到的控件《现代医学电子仪器原理与设计实验教程》-配套讲义

串口助手工具主要使用到6种控件,除了触控按钮(PushButton)、可编辑文本(EditText)、静态文本(StaticText)和面板(Panel)之外,还使用到了复选框(CheckBox)和弹出式菜单(Pop-upMenu)。《医学数字信号处理实验教程—基于MATLAB》-配套讲义1013.实验步骤3.1步骤1∶新建串口助手小工具工程文件夹3.2步骤2∶打开GUI界面3.3步骤3∶串口助手小工具GUI界面设计3.4步骤4∶串口助手小工具程序设计3.5步骤5∶安装虚拟串口软件3.6步骤6∶验证串口助手小工具《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义1024.本章任务

按照本章的实验步骤完成串口助手小工具的设计之后,继续增加以下功能:(1)在串口助手小工具的左下方增加两个静态文本,用于动态指示串口接收字节数和发送字节数;(2)单击“清除接收区”之后,接收字节数清零;(3)单击“清除发送区”之后,发送字节数清零。《现代医学电子仪器原理与设计实验教程》-配套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义1035.本章习题

1.两个串口设备在进行互相通信时,除了将设备A的发送数据线TXD和设备B的接收数据线RXD相连接,将设备A的接收数据线RXD与设备B的发送数据线TXD相连接之外,是否还需要其他连接? 2.串口的传输速率用什么表示?传输速率的单位是什么? 3.如果串口的数据位为8位,校验为奇校验,停止位为1位,波特率为9600,计算每2ms最多可以发送多少字节数据? 4.串口配置为奇校验时,如果传输的二进制数据为“10011000”,校验位应该是什么? 5.在属性检查器中,弹出式菜单控件的String属性和Value属性分别代表什么? 6.使用serial函数创建一个端口号为COM1的串口对象,即“obj=serial('COM1');”,如何将该串口对象的波特率属性设置为9600? 7.假如串口对象为obj,如何通过函数打开串口?如何通过函数关闭串口? 8.假如图形对象为h,变量标识为hr,变量为val,如何使用setappdata和getappdata函数实现参数传递。《现代医学电子仪器原理与设计实验教程》-配套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义104《现代医学电子仪器原理与设计实验教程》-配套讲义谢谢观看!《医学数字信号处理实验教程—基于MATLAB》-配套讲义105第5章:数据处理小工具设计实验卓越工程师培养系列106目录《医学数字信号处理实验教程—基于MATLAB》-配套讲义1.实验内容2.实验原理3.实验步骤4.本章任务5.本章习题1071.实验内容

学习MATLAB中的部分控件和文件读取、处理(显示)和保存相关函数,如uigetfile、uiputfile、fprintf和plot等。然后,设计一个具有以下功能的数据处理小工具:(1)可以加载计算机中的数据;(2)静态显示模式下,将加载的数据显示到文本显示区和波形显示区;(3)动态显示模式下,根据加载的数据动态播放连续的波形;(4)可以将文本显示区中的数据保存到计算机中。《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义1082.实验原理2.1文件打开与保存对话框2.2数据格式化输出2.3基本的二维绘图2.4定时器2.5本章使用到的控件《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义1092.1文件打开与保存对话框《现代医学电子仪器原理与设计实验教程》-配套讲义

文件打开对话框由uigetfile函数创建,通过对话框获取用户的输入,返回选择的路径和文件名,以便对该文件进行读写操作。uigetfile函数的常用调用格式如下:

文件保存对话框由uiputfile函数创建,通过对话框获取用户的输入,返回用户选择的路径和设置的文件名字符串,以便对该文件进行写操作。uiputfile调用格式为:《医学数字信号处理实验教程—基于MATLAB》-配套讲义1102.2数据格式化输出《现代医学电子仪器原理与设计实验教程》-配套讲义

fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式如下: fid为文件句柄,format用于指定数据输出时采用的格式,A是用于存放数据的矩阵。例如,将存放数据的矩阵saveData以小数格式(%f)写入到文件句柄为fid的文件中,在数据的最后还需要换行(\n),代码如下:《医学数字信号处理实验教程—基于MATLAB》-配套讲义1112.3基本的二维绘图《现代医学电子仪器原理与设计实验教程》-配套讲义

plot函数是最基本、最常用的绘图函数,用于绘制线性二维图,即将数据绘制在坐标轴上并用线连起来,形成连续的曲线图形。《医学数字信号处理实验教程—基于MATLAB》-配套讲义1122.4定时器《现代医学电子仪器原理与设计实验教程》-配套讲义

定时器对象与GUI对象不同,它是一类特殊的对象,适用于对数据的实时处理。定时器对象由函数timer创建,调用格式如下:其中t为该定时器对象的句柄。可以使用命令“get(t)”查看定时器对象t的属性。

定时器的常用基本操作函数如表5‑2所示。当不再使用定时器时,建议通过stop函数关闭定时器。当然,如果希望更完美一些,还可以使用delete函数从内存中删除该定时器对象,并通过clear函数将其从MATLAB工作空间清除。《医学数字信号处理实验教程—基于MATLAB》-配套讲义1132.5本章使用到的控件《现代医学电子仪器原理与设计实验教程》-配套讲义

数据处理小工具主要使用到六种控件,除了触控按钮(PushButton)、可编辑文本(EditText)和静态文本(StaticText),还使用到了坐标轴(axes)、按钮组(ButtonGroup)和单选按钮(RadioButton)。《医学数字信号处理实验教程—基于MATLAB》-配套讲义1143.实验步骤3.1步骤1∶新建数据处理小工具工程文件夹3.2步骤2∶打开GUI界面3.3步骤3∶数据处理小工具GUI界面设计3.4步骤4∶数据处理小工具程序设计3.5步骤5∶验证数据处理小工具3.6步骤6∶验证串口助手小工具《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义1154.本章任务

按照本章的实验步骤完成数据处理小工具的设计之后,继续增加以下功能:(1)在数据处理小工具的坐标轴中,显示网格线;(2)将波形显示的颜色改为红色;(3)显示坐标轴的X轴标签为“时间”,Y轴标签为“信号”;(4)显示坐标轴标题为“心电信号”。《现代医学电子仪器原理与设计实验教程》-配套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义1165.本章习题 1.如何通过uigetfile函数打开一个对话框,对话框打开后,“文件名”栏显示ProcData.m? 2.函数fprintf和fwrite的区别是什么? 3.如何使用plot函数在同一个坐标轴绘制正弦波和余弦波,并且正弦波为蓝色,余弦波为绿色? 4.在本实验中,动态显示模式下,尝试将右半部分波形颜色改为红色。 5.创建定时器对象的timer函数的定时周期属性Period和启动时延属性StartDelay分别表示什么?这两个属性值的单位是什么? 6.假如定时器对象为t,如何判断该定时器是否正在执行?如何关闭该定时器? 7.将数据处理小工具中的“存储数据”按钮的Enable属性设置为off的作用是什么?《现代医学电子仪器原理与设计实验教程》-配套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义117《现代医学电子仪器原理与设计实验教程》-配套讲义谢谢观看!《医学数字信号处理实验教程—基于MATLAB》-配套讲义118第7章:体温信号处理实验卓越工程师培养系列119目录《医学数字信号处理实验教程—基于MATLAB》-配套讲义1.实验内容2.实验原理3.实验步骤4.本章任务5.本章习题1201.实验内容

了解体温测量原理、体温测量硬件系统和体温算法设计过程,学习体温数据包的PCT协议和MATLAB中的部分函数和命令。然后,通过MATLAB语言实现体温算法模块,如计算体温系数模块(CalcTempCoef)和计算体温值(CalcTempVal),通过TempMain.m文件静态验证体温算法;最后,基于医学信号采集平台,完善体温信号处理MATLAB软件系统,动态验证体温算法。《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义1212.实验原理2.1体温测量原理2.2体温测量硬件系统2.3体温算法设计2.4体温数据包的PCT协议2.5本章使用到的函数及命令《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义1222.1体温测量原理《现代医学电子仪器原理与设计实验教程》-配套讲义(1)热敏电阻

热敏电阻是一种电阻式温度传感器。按照温度系数不同分为正温度系数热敏电阻器(PTC)和负温度系数热敏电阻器(NTC),同属于半导体器件。

热敏电阻器的典型特点是对温度敏感,不同温度下表现出不同的电阻值。正温度系数就是温度升高,阻值增大;负温度系数则是温度升高,阻值减小。在测温领域通常都采用负温度系数热敏电阻器,由于其线性度较好,在测量中引起的误差小,所以使用最广泛。《医学数字信号处理实验教程—基于MATLAB》-配套讲义1232.1体温测量原理《现代医学电子仪器原理与设计实验教程》-配套讲义(2)体温探头

按照测量的部位,体温探头可以分为体表和体腔两类。按照标称阻值Rc的不同,可以分为CY型和YSI型两类。标称阻值Rc一般指环境温度为25℃时,热敏电阻器的实际电阻值。对于CY型探头而言,Rc=10kΩ;对于YSI型探头而言,Rc=2.25kΩ。本实验中的探头类型为YSI型。《医学数字信号处理实验教程—基于MATLAB》-配套讲义1242.1体温测量原理《现代医学电子仪器原理与设计实验教程》-配套讲义(3)温度特性曲线

YSI型探头的温度特性曲线如图7‑1所示,横轴表示温度值,单位为0.1℃;纵轴表示热敏电阻阻值,单位为0.1Ω。从图7‑1可以得出:温度越高,阻值越低。例如,横轴250对应纵轴的22530,即25℃对应2253Ω,约为2.25kΩ。《医学数字信号处理实验教程—基于MATLAB》-配套讲义1252.2体温测量硬件系统《现代医学电子仪器原理与设计实验教程》-配套讲义

体温测量硬件系统如图7‑2所示,按照功能可以分为四个部分,分别是体温采样

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论