使用python接受tgam的脑波的方法

  介绍

这篇文章主要讲解了使用python接受tgam的脑波的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

废话不多说,来看看实例吧!

 # - * -编码:utf - 8 - *
  进口系列
  
  文件名=& # 39;yjy.txt& # 39;
  t=serial.Serial (& # 39; COM5& # 39;, 57600)
  b=t.read (3)
  vaul=[]
  我=0
  y=0
  p=0
  而b [0] !=170或b [1] !=170或b [2] !=4:
  b=t.read (3)
  打印(b)
  如果b [0]==b[1]==170和b [2]==4:
  a=b + t.read (5)
  print ()
  如果一个[0]==170和170年[1]==[2]==4和[3]==128和[4]==2:
  而1:
  我+ 1=#打印(我)
  一个=t.read (8)
  # print ()
  金额=((0 x80 + 0 x02 + [5] + [6]) ^ 0 xffffffff), 0 xff
  如果一个[1][0]====170 [2]==32:
  y=1
  其他:
  y=0
  如果一个[0]==170和170年[1]==[2]==4和[3]==128和[4]==2:
  p=1
  其他:
  p=0
  如果金额!=[7]和y !=1,p !=1:
  打印(“wrroy1")
  b=t.read (3)
  c=b [0]
  d=b [1]
  e=b [2]
  打印(b)
  而c !=170或d !=170或e !=4:
  c=d
  d=e
  e=t.read ()
  打印(“c:“)
  打印(c)
  打印(“d:“)
  打印(d)
  打印(“e:“)
  打印(e)
  如果c==(b # 39; \ xaa& # 39;或170)和d==(b # 39; \ xaa& # 39;或170)和e==b # 39; \ x04& # 39;:
  g=t.read (5)
  打印(g)
  如果c==b # 39; \ xaa& # 39;和d==b # 39; \ xaa& # 39;和e==b # 39; \ x04& # 39;和g[0]==128和g [1]==2:
  一个=t.read (8)
  print ()
  打破
  
  #如果[0]==[1]==170 [2]==4:
  #打印(类型(a))
  
  如果一个[0]==170和170年[1]==[2]==4和[3]==128和[4]==2:
  高=[5]
  低=[6]
  # print ()
  rawdata=https://www.yisu.com/zixun/(高<8)|低
  如果rawdata> 32768:
  rawdata=rawdata - 65536
  # vaul.append (rawdata)
  金额=((0 x80 + 0 x02 +高+低)^ 0 xffffffff) &0xff
  如果金额==[7]:
  vaul.append (rawdata)
  如果和!=[7]:
  print (“wrroy2”)
  b=t.read (3)
  c=b [0]
  d=b [1]
  e=b [2]
  #打印(b)
  而c !=170或d !=170或e !=4:
  c=d
  d=e
  e=t.read ()
  如果c==b/xaa和d==b/xaa和e==b/x04”:
  g=t.read (5)
  打印(g)
  如果c==b/xaa和d==b/xaa和e==b/x04和g[0]==128和g [1]==2:
  一个=t.read (8)
  print ()
  打破
  如果一个[1][0]====170 [2]==32:
  c=a + t.read (28)
  打印(vaul)
  print (len (vaul))
  在vaul v的:
  w=0
  如果v <=102:
  w +=v
  q=w/len (vaul)
  q=str (q)
  与open (filename, a) file_object:
  file_object.write (q)
  file_object.write (“/n”)
  如果102  

<强> Python处理脑电数据:PCA数据降维

PCA。py

# !编码:utf - 8 -   从numpy进口*   进口numpy np      def loadDataSet(文件名,delim=& # 39; \ t # 39;):   fr=开放(文件名)   stringArr=[line.strip () .split fr.readlines (delim)行())   datArr=[地图(浮动,线)在stringArr)   返回垫(datArr)      def percentage2n (eigVals百分比):   sortArray=np.sort (eigVals) #升序   sortArray=sortArray(1:: 1) #逆转,即降序   arraySum=总和(sortArray)   tmpSum=0   num=0   因为我在sortArray:   tmpSum +=我   num +=1   如果tmpSum>=arraySum *百分比:   返回num      def pca (dataMat topNfeat=9999999):   meanVals=意味着(dataMat轴=0)   meanRemoved=dataMat - meanVals #删除的意思   covMat=x (meanRemoved rowvar=0)   eigVals eigVects=linalg.eig(垫(covMat))   eigValInd=argsort (eigVals) #排序,排序最小到最大   eigValInd=eigValInd [: - (topNfeat + 1): 1) #切断不必要的维度   redEigVects=eigVects [: eigValInd] #重组eig vects最大最小   lowData_N=meanRemoved * redEigVects #将数据转换成新的维度   reconMat_N=(lowData_N * redEigVects.T) + meanVals   返回lowData_N reconMat_N      def pcaPerc (dataMat,比例=1):   meanVals=意味着(dataMat轴=0)   meanRemoved=dataMat - meanVals #删除的意思   covMat=x (meanRemoved rowvar=0)   eigVals eigVects=linalg.eig(垫(covMat))   eigValInd=argsort (eigVals) #排序,排序最小到最大   n=percentage2n (eigVals百分比)   n_eigValIndice=eigValInd [1: - (n + 1): 1)   n_eigVect=eigVects [: n_eigValIndice]   lowData_P=meanRemoved * n_eigVect   reconMat_P=(lowData_P * n_eigVect.T) + meanVals   返回lowData_P reconMat_P

使用python接受tgam的脑波的方法