如何读取UDP包并将其转换为可以FFT的矩阵?

时间:2016-04-20 21:51:46

标签: python numpy fft ethernet

使用p1进行FFT工作需要做什么?

from numpy.fft import fft  
p1 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)   
p1.recvfrom(1040)  
mat = fft(p1)

1 个答案:

答案 0 :(得分:1)

您可以使用struct库将字节流解压缩到Python数据结构中。您需要使用与数据中的C数据类型对应的格式字符来表示传入流。例如,如果您知道输入流是一系列5个无符号整数,表示为4个字节,则可以使用

struct.unpack('hhhhh', p1[0])

recvfrom文档说它返回一个元组(字符串,地址),其中string是收到的数据。)

这将返回5个整数的元组。根据我的理解,元组列表是numpy.fft的有效输入,但是当然你可以在将它提供给numpy之前预先处理元组。