Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matplotlib 如何将Arduino信号从Python转换为快速傅立叶变换? 我现在正试图用Python将信号转换成快速傅里叶变换,并绘制一个图形。我和伦有点问题。我怎样才能解决这个问题?有人对转换快速傅里叶变换有其他想法吗?_Matplotlib_Arduino - Fatal编程技术网

Matplotlib 如何将Arduino信号从Python转换为快速傅立叶变换? 我现在正试图用Python将信号转换成快速傅里叶变换,并绘制一个图形。我和伦有点问题。我怎样才能解决这个问题?有人对转换快速傅里叶变换有其他想法吗?

Matplotlib 如何将Arduino信号从Python转换为快速傅立叶变换? 我现在正试图用Python将信号转换成快速傅里叶变换,并绘制一个图形。我和伦有点问题。我怎样才能解决这个问题?有人对转换快速傅里叶变换有其他想法吗?,matplotlib,arduino,Matplotlib,Arduino,发生异常:TypeError 类型为“method”的对象没有len() 这是我的问题 from PyQt5.QtWidgets import* from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure import matplotlib.pyplot as plt import random from PyQt5 im

发生异常:TypeError

类型为“method”的对象没有len() 这是我的问题

from PyQt5.QtWidgets import*
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
import matplotlib.pyplot as plt
import random
from PyQt5 import QtCore, QtGui, QtWidgets
import datetime
import serial
import time
import random
import numpy as np
from matplotlib import animation
from collections import deque
import threading


x = 0
value = [0]

ser = serial.Serial('com5', 9600)

class scope : 

    def data(self) :
        if ser.readable() :
            time.sleep(0.01)
            reciving = ser.readline(ser.inWaiting())           
            str = reciving.decode()
            if len(str) > 0  :         
                if str[:1] == 'X' :
                    value[0] = str[1:]
                    #print(float(value[5]))
                    time.sleep(0.5)
                    x = float(value[0])
        return x

s = scope()

n = len(s.data)

Ts = 0.01
Fs = 1/Ts                     
                    # length of the signal
k = np.arange(n)
T = n/Fs
freq = k/T                  # two sides frequency range
freq = freq[range(int(n/2))]            # one side frequency range

Y = np.fft.fft(x)/n                 # fft computing and normalization
Y = Y[range(int(n/2))]

fig, ax = plt.subplots(2, 1)

ax.plot(freq, abs(Y), 'r', linestyle=' ', marker='^') 
ax.set_xlabel('Freq (Hz)')
ax.set_ylabel('|Y(freq)|')
#3ax.vlines(freq, [0], abs(Y))
ax.grid(True)

t = threading.Thread(target= s.data)
t.daemon = True
t.start()

plt.show()

s、 data是scope类的一个方法,因此需要使用括号调用该方法。请尝试
n=len(s.data())
请问
值[0]是多少?