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

How to read an UDP package and convert it to matrix that i can FFT?

我需要用 p1 做什么才能使 FFT 起作用?

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

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

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

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

这将是 return 一个包含 5 个整数的元组。根据我的理解,元组列表是 numpy.fft 的有效输入,但当然您可以预处理元组,但是在将其提供给 numpy 之前需要进行预处理。