2016-10-29 4 views
1

私はPythonの言語とコーディングで新しいです。Pythonでシグナルの派生を取る方法は?

私は、USBシリアルを使用してArduino UNOボードからライブ信号を取得し、差別化しようとしています。これまでは問題なくデータを取得していますが、差別化の方法についての情報は得られません。

あなたは私にそれを手伝ってもらえますか、私にこの情報に関する情報を得ることができるかを教えてください。

本当にありがとうございます。正しい応じのようですが、「信号を区別するために」D

# -*- coding: utf-8 -*- 

from collections import deque 
import serial 
import pyqtgraph as pg 
from pyqtgraph.Qt import QtCore, QtGui 
import numpy as np 
arduinoData = serial.Serial('COM4', 4800) 

win = pg.GraphicsWindow() 
win.setWindowTitle('pyqtgraph example: Scrolling Plots') 

# In these examples, the array size is fixed. 
p1 = win.addPlot() 
p2 = win.addPlot() 

data1= [0,0] 
vector=deque() 

for i in range(300): 

    string = arduinoData.readline() 
    stringx = string.split(',') 

    time=float(stringx[0]) 
    distance=float(stringx[1]) 
    vector=(time, distance) 
    vectorx = np.array(vector) 
    data1=np.vstack((data1,vectorx)) 

curve1 = p1.plot(data1) 
curve2 = p2.plot(data1) 
ptr1 = 0 



def update1(): 
    global data1, curve1, ptr1 

    data1[:-1] = data1[1:] 

    string = arduinoData.readline() 

    stringx = string.split(',') 
    time=float(stringx[0]) 
    distance=float(stringx[1]) 
    vector=(time, distance) 
    vectorx=np.array(vector) 
    data1[-1]=vectorx 
    #print(data1) 

    curve1.setData(data1) 

    ptr1 += 1 
    curve2.setData(data1) 
    curve2.setPos(ptr1, 0) 

# update all plots 
def update(): 
    update1() 

timer = pg.QtCore.QTimer() 
timer.timeout.connect(update) 
timer.start(50) 



## Start Qt event loop unless running in interactive mode or using pyside. 
if __name__ == '__main__': 
    import sys 
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'): 
     QtGui.QApplication.instance().exec_() 
+0

*ライブデータと何を区別したいのですか? *デッド*データ? – zvone

+0

それは深刻な問題です。差別化したいことは説明していませんでした。あなたがUSBから取得するすべてのデータは*ライブデータ*ですね。 – zvone

+0

さて、お詫び申し上げます。私は "距離"信号を "時間"信号と区別したいと思っています。あなたが私にそれを学ぶことができるか、私に何か手がかりを与える場所を教えてくれませんか?おかげさまで –

答えて

0

は(ほとんど英語で使用されていない式である:ここでは

は私のコードは

OBS:私はbegginer午前ですグーグルへ)。だから、あなたと@zvoneは誤解を持っていました。おそらく、信号の「微分係数」を取ることを望むと言いましょう。

とにかく、numpy.gradient関数がこれを行うことができます。

+0

非常にtitusjanと@zvoneありがとうございます。私は誤解をお詫びします。 –

+0

私は同意しません。微分は、微積分から始まる一般的に使用される用語です。微分方程式のクラスは、工場工学の学位を取得するための非常に一般的な要件です。 – Brian

関連する問題