ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:282.04KB ,
资源ID:2774944      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2774944.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(第04课-matlab心电信号R波检测.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第04课-matlab心电信号R波检测.doc

1、完整版)第04课 matlab心电信号R波检测 《生物医学信号处理》实习报告 学生姓名: 学号: 实验室名称: 项目名称:心电信号的R波检测 项目内容: 1) 总结常用的QRS波检测算法; 2) 选择一种QRS波检测算法,理解该检测算法; 3) 编写程序,检测不含噪声的模拟ECG信号中R波 4) 对模拟ECG信号加高斯噪声生成含噪声的模拟ECG信号; 5) 利用前面编写的QRS波检测算法,检测含噪声模拟ECG信号的R波; 6) 分别检测不含噪声和含噪声的心率失常ECG信号(任务一中得到的MIT—BIH数据) 原理(写出具体的计算公式) 心电信号是体表电极

2、测量的心电电压幅度随时间变化的函数,属于时域波形信号,虽然从人体体表不同部位的不同导联上所测得的心电波形各异,且不同个体的心电信号存在差异,但所有正常的心电波形周期均可划分为P波!P一R段!QRS波群!S一T段!T波等几个主要部分,且每个特征子波段都代表着一定的生理学意义,如图(2一1)所示"如果心脏发生了病变,就会使得心电信号在周期和波形形态上发生某些畸变,有关的心电图学专著二中给出了大量心脏病变的心电图示例,足以说明心电波形的复杂多变性和电生理机理的复杂性”由于ECG信号容易受到各种噪声干扰的影响和其本身波形形态的复杂多变,一般情况下,直接利用ECG信号的时域波形进行信号分类和疾病诊断比较

3、困难,更多的是要对时域ECG信号进行某种变换或处理,提取ECG信号的变换域特征进行分析和判断"体表心电图时域波形信号的幅度范围一般在IOuV一4mv之间,典型值为lmv左右”从时域波形中可以看出,ECG信号特征段的分界处是波形上的拐点,即波形变化起伏最大的点,这也是ECG信号波形检测与定位时最关注的点,关于心电信号中典型波段及特征点所代表的生理学意义将在下一节中进行较为详细的论述" 图1-1标准的心电波形图 不同导联所记录的心电图,在波形表现上会有所不同,但一个正常的心电波形周期图基本上都是由一个P波,一个QRS披群,一个T波以及过渡期所组成”有时在T波后,还会出现一个小的U波"心电

4、信号的这些特征波形和过渡期均代表着一定的生理学意义,现以MLH导联的正常心电图波形为例,如图(1一l)所示,对心电波形的主要组成及其特点进行简要介绍”。 (1)P波:也叫心房去极波,反映的是左右两心房去极化过程的电位变化”波形一般圆钝光滑,历时0。08一0。11:,波幅不超过0.25mV"两心房复极化过程所产生的电位变化称为Ta波,它通常与P一R段!QRS波群或S一T段重叠在一起,且波幅很低,在心电图上不易辨认"。 (2)P一R间期(或称P一Q间期):是P波起点到QRS波群起点之间的时间间隔,反映了自心房除极开始至心室除极开始的一段时间"正常成人的P一R间期为0。12一0.20

5、"若超过0.205,一般表明有房室传导阻滞的发生”P一R间期的长短与年龄及心率有关。 (3)QRS波群:反映两心室去极化过程的电位变化”典型的QRS波群包括三个紧密相连的电位波动:第一个向下的波称为Q波;紧接着是向上!高而尖峭的R波;最后是向下的S波"在不同导联中,这三个波不一定都出现,各波的幅度变化也较大”历时约0.06一0.105"。 (4)S一T段:指QRS波群终点与T波起点之间的线段,一般与零电位基线平齐”在这段时期内,因心室各部分都已全部进入除极化状态,但尚未开始复极,故心室各部分之间没有电位差存在,心电曲线恢复到基线水平”但若有冠状动脉供血不足或心肌梗死等情况发生

6、时,S一T段常会偏离基线,并超过一定的幅度范围”. (5)T波:反映两心室复极化过程的电位变化"波形圆钝,升降支并不完全对称,波形的前支较长而后支较短,占时约0。05一0.255"T波方向应与QRS波群的主波方向一致”在以R波为主的导联中,其波幅应不低于本导联R波的1/10。 (6)Q一T间期:指从QRS波群起点到T波终点之间的时间,它代表心室开始去极化到全部复极化完毕所需的时间"这一间期的长短与心率密切相关”心率越快,Q一T间期越短:反之,则Q一T间期越长"正常的Q一T间期依心率!年龄及性别不同而有所不同。当心率为75次/分时,Q一T间期为0。30一0.405”分析Q一T间期

7、的变化,对疾病的早期诊断和分析抗心律失常药物对心脏的影响,可起到一定的辅助作用”由于Q一T间期受心率的影响比较大,临床上经常采用修正的Q一T间期,即采用Bazett公式计算: (7)U波:T波后0。02一0.04:可能会出现一个与T波方向一致的低宽U波,其成因和生理意义目前尚不十分清楚"。 本文注重于QRS波的检测,而在查阅一些文献资料以后,发现QRS波的检测主要分为基于小波变换的心电信号ORS波检测与基于EMO与Marr小波变换的心电信号ORS波检测两种. 基于小波变换的心电信号ORS波检测 小波变换可以分为连续小波变换(CWT)、离散栅格小波变换(DWT

8、)和离散序列的小波变换(DSwT)。信号x(t)的小波变换定义式是:其中是基本小波又称母小波函数是母小波经过移位和伸缩所 生的一组函数,称之为小波基函数,a是尺度因子,它实现对母小波函数的伸缩变换,b是时移变量,它实现对母小波函数的移位变换,以确定对信号分析的时间中心"在连续小波变换中,a、b、t均是连续变量,而在离散小波变换中,需对它们进行离散化,常取 当时就称之为二进离散小波变换,然而取 时,在实际信号分析中有时显得尺度跳跃跨度太大,当希望尺度a在a>O的范围内取任意值进行分析时就需要进行连续小波变换"下面将根据心电信号的连续小波变换模极大值线检测和定位R波峰。 心电信号的R

9、波峰是奇异点,而且它具有较大的幅度和较高的斜率等典型特征,根据基于小波变换的信号奇异性检测理论可知,每个R波的位置都对应于小波变换的模极大值的汇聚点,所以本算法首先对心电信号作连续小波变换并对信号按照心动周期进行分段,以便分别对一个心动周期内的波形进行奇异性分析,然后分别在每一个心动周期内检测模极大值点,它们的连线就是模极大值线由此确定R波的位置,并剔除李氏指数为负对应为噪声产生的模极值线以及应用不应期策略减少噪声干扰,提高检测准确率. 具体算法实现步骤如下: (1)对给定的心电信号作连续小波变换,小波基选用Haar小波,分解尺度a=32分解后得到的小波系数可在一个尺度一时间平

10、面上以灰度图的形式表示。 (2)对心电信号按心动周期进行分段,分段算法是首先对尺度一时间图按尺度a的方向进行累加,从而得到在尺度方向上小波变换的积分值随时间变化的曲线”对于Haar小波而言,该曲线在R波之前有一个波峰,R波之后有一个波谷”再分别选其正!负极大值的一半作为正负闭值,对积分值随时间变化的曲线进行闭值化处理,并令大于正阂值的点为+l,小于负阂值的点为一1,在两者之间的点等于0,这样在每一个R波位置的之前就有一个+l,之后有一个一1,两者之间的区域为0”把某一个一1位置和其后出现的第一个+l位置这一段数据的中点定为心动周期的分割点,从而实现了信号的分段,每一段都包括一个心动周期

11、而其R波在该段的中部. (3)对每个心动周期段信号的尺度一时间图,分别找出在每一个尺度下的正的极大值点和负的极大值点,将其连成线得到正!负模极大值线"由每条正!负模极大值线的斜率求出该点对应的李氏指数,根据李氏指数判据剔除李氏指数小于O和大于1所对应的模极值线. (4)因为信号的连续小波变换的模极值线有可能出现中断现象,所以需对每一条正!负模极大值线进行直线拟合,以分别求出它们在尺度a二0的时间位置,若在a=0时正。负模极大值并不收敛于同一个点,则取二者的平均值作为R波的初步位置。 (5)在初步确定为R波的位置对应10ms时间范围内,检测原信号的极值点,并将其最终确定

12、为R波位置. (6)应用不应期判据”由于心肌细胞除极化和复极化需要一个过程,存在一个绝对不应期,所以除了室颤和室扑外一般人的心率小于300次/分.一个QRS波群产生以后,其后一定时间间隔内都不会出现另一个QRS波群,我们把这个时间间隔称为不应期”本算法中的不应期设置为Zooms"所以检测到一个R波后将其后Zooms内的模极值都忽略,这样可以避免很多由噪声干扰所引起的误检。 基于EMO与Marr小波变换的心电信号ORS波检测 针对常规的基于EMD的QRS波检测算法在信号存在严重高频干扰的情况下会出现较多错检导致检测准确率较低的问题,本文将基于离散小波变换的QRS波检测算法

13、与EMD方法相结合,提出一种基于EMD分解与Marr小波变换的心电信号QRS波检测新算法,来克服以上算法的不足,即尝试利用EMD分解法将非平稳心电信号分解为一系列具有不同特征尺度的IMF分量,然后利用Marr小波变换对相应低阶IMF分量叠加得到的重构信号进行奇异性分析,从而实现对原始心电信号QRS波的准确检测和定位。 EMD分解: EMD分解的低阶本征模态分量中包含原信号的骤变部分,而高阶本征模态分量中包含缓变部分。在心电信号中,对于高瞬时幅频的QRS波群自然就被分配到低阶高频模态分量中,而且R波的局部特征在第一、二本征模函数分量中得到了明显体现。但EMD算法中包含局部求极值!

14、样条插值!边界效应处理等步骤,其计算量相当可观,使得处理速度非常缓慢,而且目前没有快速算法,因此无法满足实时动态检测的要求"而且每分解出一个本征模函数分量,计算量将增大一倍,所以本文根据心电信号的时频特性和检测的实时性要求,提出只对心电信号作三层经验模式分解处理,然后将分解得到的第一、二、三本征模函数分量直接相加重构得到一个新信号,通过对此新信号进行奇异性分析来实现QRS波的检测和定位,这样不仅可以有效抑制基线漂移,高幅P波!T波以及伪差信号等低频干扰以及边界效应,而且还能将处理速度提高几倍。但是由第一、二、三模函数分量相加所构成的信号中往往还会包含QRS波带宽以外的频率分量,所以直接对它进行

15、阂值判决的R波检测算法的正确检测率必然不高,而且容易受到高频噪声的干扰,抗干扰能力较差,但是把它作为定位R波的预处理信号是不错的选择"另外EMD分解中筛选过程的中止准则常用方差,但也可根据信号特点手动设定筛选次数"研究发现,筛选次数小,QRS波在本征模函数域对应的分量越不明显;而筛选次数越多,中心频率越大,特别是运算量成倍增长”通过反复实验尝试,本研究通过对心电数据进行8次筛选,以极小的分解损失换取高的计算速度,而且丝毫不影响QRS波的提取效果。 小波基的选取 由前面的讨论可知,在基于离散小波变换的QRS检测中,定位算法及检测效果与小波基函数的选择密切相关,Marr小波(又称M

16、exicanhat小波)具有良好的连续性、对称性以及指数衰减性,并且还具有一阶消失矩等性质,非常适合对信号进行奇异性检测。Marr小波的母函数是高斯函数的二阶导数与常数的乘积,表达式为: 因为它像墨西哥帽的截面,所以也常称之为墨西哥帽小波.Marr小波函数属于二次微分小波,在时域和频域都有很好的局部化,并且满。由于Marr小波函数具有无限光滑性以及无穷次可微,并且不对单独的噪声点敏感,再加上其独特的时域性质,能使包含信息的特征点特别突出,因此本文选用Marr小波基进行R波峰值奇异点检测,应具有良好的定位特性和分析精度"根据Marr小波基函数,计算得到相应的小波分解低通和高通滤波器的

17、系数l和h,如下图2-1所示:根据人和气就可以利用Mallat算法递归计算出信号的小波变换。 图2-1 基于Marr小波变换的R波峰值奇异点定位 由前面的讨论可知,信号x(t)的所有奇异点在尺度一时间平面的模极大值线上,且其小波变换在 充分接近于零时,其模极大值点就是信号的突变点。由于Marr小波是二次微分小波,而且图形是以原点左右对称的,因此原始信号的奇异点在其小波变换的各层细节信号上仍然保持为极大值,这就使得对原始心电信号R波峰值奇异点的检测可以转化为对特征尺度上细节信号的极大值点的检测"相比之下,Marr小波能克服采用一次微分小波检测信号奇异点时存在的以下缺陷:(

18、l)一次微分小波检测算法需通过检测小波模极大值对的过零点来定位信号奇异点,而过零点易受到噪声干扰,使得定位精度的稳定性难以保证。(2)一次微分小波变换算法中需借助于一对相邻的模极值点位置及两者之间的斜率间接确定R波位置,并且还要根据特征尺度进行时移修正,其计算过程相对比较复杂和繁琐。 而我们以软件为主的方法实现QRS波的检测滤波之后的信号一般经过一些变换以提高QRS波的份量,进而采用一系列阈值进行判别,这些阈值有固定阈值法,也有可变阈值法。前者由于可能的干扰或高P、高T波的存在,若其滤波后超过其阈值便会产生假阳性(FP,falsepositive)结果;另外,当心律失常或QRS波幅度变

19、小,阈值设置过高,会导致漏检产生假阴性(FN,falsenegative)结果。由于固定阈值的这些缺点,有研究者提出了用可变阈值检测,以提高检测的精确率,所采用的可变阈值包括幅度阈值、斜率阈值和时间间隔阈值等。 编写的源程序: Q波和S波通常是低幅高频波,一般Q波位于S波之前,S波位于R波之后 ,由于他们是一般向下的波,所以他们的峰值点和极值是对应的。因次在检测到R波向左和向右分别搜寻到极值点,对应的就是Q波和S波。而现在我们只需要检测到R波,所以就不需要检测Q波与S波的极值点了。 具体程序如下: ECG—R波检测: clear all; clc; z=te

20、xtread('ECG。txt’); ECG=z(:,1); input=ECG(1:256); rate=ECG(100); sig=input; lensig=length(sig); wtsig1=cwt(sig,6,’mexh'); lenwtsig1=length(wtsig1); wtsig1(1:20)=0; wtsig1(lenwtsig1—20:lenwtsig1)=0; y=wtsig1; yabs=abs(y); %? sigtemp=y; siglen=length(y); sigmax=[]; for i=1:s

21、iglen—2 if (y(i+1)〉y(i)&y(i+1)〉y(i+2))|(y(i+1)

22、gmax); thrlen=length(sigmax); thr=0; for i=(thrlen-7):thrlen thr=thr+thrtemp(i); end; thrmax=thr/8; %最大幅度平均值,8个最大幅值点的平均值 zerotemp=sort(y); zerovalue=0; for i=1:100 zerovalue=zerovalue+zerotemp(i); end; zerovalue=zerovalue/100; %最小幅度平均值,对消幅度,100个最小幅值点的平均值 t

23、hr=(thrmax—zerovalue)*0.3; %最大、最小幅度的差值的30%为判别R波的阈值 %定位R波 rvalue=[]; for i=1:thrlen if sigmax(i,1)〉thr rvalue=[rvalue;sigmax(i,2)]; end; end; rvalue_1=rvalue; %排除误检,如果相邻两个极大值间距小于0.4,则去掉幅度较小的一个 lenvalue=length(rvalue); i=2; while i<=lenvalue

24、 if (rvalue(i)-rvalue(i—1))*rate〈0.4 if yabs(rvalue(i))>yabs(rvalue(i—1)) rvalue(i—1)=[]; else rvalue(i)=[]; end; lenvalue=length(rvalue); i=i—1; end; i=i+1; end; lenvalue=length(rval

25、ue); %在原信号上精确校准 for i=1:lenvalue if (wtsig1(rvalue(i))〉0) k=(rvalue(i)—5):(rvalue(i)+5); [a,b]=max(sig(k)); rvalue(i)=rvalue(i)—6+b; else k=(rvalue(i)—5):(rvalue(i)+5); [a,b]=min(sig(k)); rvalue(i)=rvalue(i)—6+b; end; end;

26、 %打印纠正及校准前后的R波信号 figure(2); subplot(2,1,1),plot(1:lensig,wtsig1,rvalue_1,wtsig1(rvalue_1),'r.’); title('ECG纠正及校准前的R波信号’); subplot(2,1,2),plot(1:lensig,sig,rvalue,sig(rvalue),’r。’); title(’ECG纠正及校准后的R波信号’); NOISYECG—R波检测: clear all; clc; z=textread(’NOISYECG。txt'); ECG=z(:,1); inpu

27、t=ECG(1:256); rate=ECG(100); sig=input; lensig=length(sig); wtsig1=cwt(sig,6,'mexh'); lenwtsig1=length(wtsig1); wtsig1(1:20)=0; wtsig1(lenwtsig1—20:lenwtsig1)=0; y=wtsig1; yabs=abs(y); %? sigtemp=y; siglen=length(y); sigmax=[]; for i=1:siglen—2 if (y(i+1)〉y(i)&y(i+1)〉y

28、i+2))|(y(i+1)〈y(i)&y(i+1)〈y(i+2)) sigmax=[sigmax;abs(sigtemp(i+1)),i+1]; end; end; %打印原信号及变换信号 figure(1); subplot(2,1,1),plot(sig); title('NOISYECG原信号'); subplot(2,1,2),plot(wtsig1); title('NOISYECG变换信号’); %取阈值,阈值为相对幅值的差的60% thrtemp=sort(sigmax); thrlen=length(si

29、gmax); thr=0; for i=(thrlen-7):thrlen thr=thr+thrtemp(i); end; thrmax=thr/8; %最大幅度平均值,8个最大幅值点的平均值 zerotemp=sort(y); zerovalue=0; for i=1:100 zerovalue=zerovalue+zerotemp(i); end; zerovalue=zerovalue/100; %最小幅度平均值,对消幅度,100个最小幅值点的平均值 thr=(thrmax—zerovalue)*0。

30、3; %最大、最小幅度的差值的30%为判别R波的阈值 %定位R波 rvalue=[]; for i=1:thrlen if sigmax(i,1)〉thr rvalue=[rvalue;sigmax(i,2)]; end; end; rvalue_1=rvalue; %排除误检,如果相邻两个极大值间距小于0。4,则去掉幅度较小的一个 lenvalue=length(rvalue); i=2; while i<=lenvalue if (rvalue(i)—rvalue(

31、i—1))*rate〈0.4 if yabs(rvalue(i))〉yabs(rvalue(i—1)) rvalue(i—1)=[]; else rvalue(i)=[]; end; lenvalue=length(rvalue); i=i-1; end; i=i+1; end; lenvalue=length(rvalue); %在原信号上精确校准 for i=

32、1:lenvalue if (wtsig1(rvalue(i))>0) k=(rvalue(i)-5):(rvalue(i)+5); [a,b]=max(sig(k)); rvalue(i)=rvalue(i)-6+b; else k=(rvalue(i)—5):(rvalue(i)+5); [a,b]=min(sig(k)); rvalue(i)=rvalue(i)-6+b; end; end; %打印纠正及校准前后的R波信号 figure

33、2); subplot(2,1,1),plot(1:lensig,wtsig1,rvalue_1,wtsig1(rvalue_1),’r。’); title('NOISYECG纠正及校准前的R波信号’); subplot(2,1,2),plot(1:lensig,sig,rvalue,sig(rvalue),'r.’); title(’NOISYECG纠正及校准后的R波信号'); 结论(画出要求的图形): ECG-R波检测所获得的结果如下图3-1与图4—1所示: 图3-1 图4—1 而NOISYECG—R波检测所获得的结果如下图5—1与图6—1所示: 图5-1 图6—1 总结: 实习报告分数: 指导教师:

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服