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

Python 如何读取UDP包并将其转换为我可以使用FFT的矩阵?,python,numpy,fft,ethernet,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) 您可以使用该库将字节流解压到Python数据结构中。您需要使用与数据中的C数据类型对应的格式字符来表示传入流。例如,如果您知道输入流是由5个无符号整数组成的一系列,表示为4个字节,则可以使用 struct.unpack('h

我需要如何处理
p1
才能使FFT工作

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

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

struct.unpack('hhhhh', p1[0])
(文档说明它返回一个元组(string,address),其中string是接收到的数据)


这将返回5个整数的元组。据我所知,元组列表是
numpy.fft
的有效输入,但当然,在将元组馈送给numpy之前,您可以根据需要对元组进行预处理。

首先,您需要阅读基于UDP的协议的文档,以了解数据的格式。@Krumelur如果我知道哪个字节携带什么信息,我如何将它们分离,并将它们排列在矩阵中?嗯,这个问题的任何答案都取决于你是否知道这一点。数据是如何序列化的?原始二进制?JSON?Protobuf?XML?@Krumelur在本例中是原始二进制文件。